1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-05 06:07:32 +02:00

Admin-ui: Added option to filter by type=user

This commit is contained in:
Cameron
2014-01-01 17:38:46 -08:00
parent d26012d0c2
commit 195baaf84d
2 changed files with 23 additions and 3 deletions

View File

@@ -1828,6 +1828,7 @@ class e_admin_controller
} }
$title = $res['caption']; $title = $res['caption'];
} }
// print_a($title);
$this->getResponse()->appendTitle($title); $this->getResponse()->appendTitle($title);
if($meta) $this->addMetaTitle($title); if($meta) $this->addMetaTitle($title);
return $this; return $this;
@@ -3580,6 +3581,12 @@ class e_admin_controller_ui extends e_admin_controller
// filter for WHERE and FROM clauses // filter for WHERE and FROM clauses
$searchable_types = array('text', 'textarea', 'bbarea', 'email', 'int', 'integer', 'str', 'string'); //method? 'user', $searchable_types = array('text', 'textarea', 'bbarea', 'email', 'int', 'integer', 'str', 'string'); //method? 'user',
if($var['type'] == 'method' && ($var['data'] == 'string' || $var['data'] == 'str'))
{
$searchable_types[] = 'method';
}
if(trim($searchQuery) !== '' && in_array($var['type'], $searchable_types) && $var['__tableField']) if(trim($searchQuery) !== '' && in_array($var['type'], $searchable_types) && $var['__tableField'])
{ {
if($var['type'] == 'int' || $var['type'] == 'integer') if($var['type'] == 'int' || $var['type'] == 'integer')
@@ -3765,7 +3772,7 @@ class e_admin_controller_ui extends e_admin_controller
// Debug Filter Query. // Debug Filter Query.
// echo $qry.'<br />'; // echo $qry.'<br />';
// print_a($_GET); // print_a($_GET);
return $qry; return $qry;
} }
@@ -5533,6 +5540,7 @@ class e_admin_form_ui extends e_form
$table = $this->getController()->getTableName(); $table = $this->getController()->getTableName();
$text = ''; $text = '';
$textsingle = ''; $textsingle = '';
foreach($this->getController()->getFields() as $key=>$val) foreach($this->getController()->getFields() as $key=>$val)
{ {
@@ -5755,7 +5763,17 @@ class e_admin_form_ui extends e_form
break; break;
case 'user': // TODO - User Filter case 'user': // TODO - User Filter
//$option[$key.'__'.$k] = $name;
$sql = e107::getDb();
$field = $val['field'];
$query = "SELECT d.".$field.", u.user_name FROM #".$val['table']." AS d LEFT JOIN #user AS u ON d.".$field." = u.user_id WHERE u.user_name != '' GROUP BY d.".$field." ORDER BY u.user_name";
$row = $sql->retrieve($query,true);
foreach($row as $data)
{
$k = $data[$field];
$option[$key.'__'.$k] = $data['user_name'];
}
break; break;
} }

View File

@@ -2776,6 +2776,7 @@ class e_form
case 'user_customtitle': case 'user_customtitle':
case 'user_email':*/ case 'user_email':*/
case 'user': case 'user':
/*if(is_numeric($value)) /*if(is_numeric($value))
{ {
$value = get_user_data($value); $value = get_user_data($value);
@@ -2790,7 +2791,7 @@ class e_form
}*/ }*/
// Dirty, but the only way for now // Dirty, but the only way for now
$id = 0; $id = 0;
$ttl = ''; $ttl = LAN_ANONYMOUS;
//Defaults to user_id and user_name (when present) and when idField and nameField are not present. //Defaults to user_id and user_name (when present) and when idField and nameField are not present.
@@ -2817,6 +2818,7 @@ class e_form
{ {
$value = $ttl; $value = $ttl;
} }
break; break;
case 'bool': case 'bool':