1
0
mirror of https://github.com/e107inc/e107.git synced 2025-05-01 17:57:56 +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'];
}
// print_a($title);
$this->getResponse()->appendTitle($title);
if($meta) $this->addMetaTitle($title);
return $this;
@ -3580,6 +3581,12 @@ class e_admin_controller_ui extends e_admin_controller
// filter for WHERE and FROM clauses
$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($var['type'] == 'int' || $var['type'] == 'integer')
@ -3765,7 +3772,7 @@ class e_admin_controller_ui extends e_admin_controller
// Debug Filter Query.
// echo $qry.'<br />';
// print_a($_GET);
// print_a($_GET);
return $qry;
}
@ -5534,6 +5541,7 @@ class e_admin_form_ui extends e_form
$text = '';
$textsingle = '';
foreach($this->getController()->getFields() as $key=>$val)
{
if(!varset($val[$type]))
@ -5755,7 +5763,17 @@ class e_admin_form_ui extends e_form
break;
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;
}

View File

@ -2776,6 +2776,7 @@ class e_form
case 'user_customtitle':
case 'user_email':*/
case 'user':
/*if(is_numeric($value))
{
$value = get_user_data($value);
@ -2790,7 +2791,7 @@ class e_form
}*/
// Dirty, but the only way for now
$id = 0;
$ttl = '';
$ttl = LAN_ANONYMOUS;
//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;
}
break;
case 'bool':