function advuser_query_advuser_FILTER_QUERY_alter in Advanced User 7.4
Implements hook_query_TAG_alter().
File
- ./
advuser.module, line 360 - advuser.module
Code
function advuser_query_advuser_FILTER_QUERY_alter(QueryAlterableInterface $query) {
$session = advuser_filter_get_all();
if (!empty($session)) {
$filters = advuser_filters();
$subquery = new EntityFieldQuery();
$subquery
->entityCondition('entity_type', 'user');
foreach ($filters as $group_key => &$group) {
foreach ($group as $key => &$meta) {
foreach ($session as $filter_key => &$filter) {
$field = $filter['field'];
$operator = $filter['operator'];
$value = $filter['value'];
if ($key == $field && !empty($value)) {
if (!empty($meta['#columns'])) {
$subquery
->{$group_key}($field, $meta['#columns'][0], $value, $operator);
}
else {
$subquery
->{$group_key}($field, $value, $operator);
}
}
}
}
}
$users = array(
0,
);
$results = $subquery
->execute();
if (!empty($results)) {
$users = array_keys($results['user']);
}
$query
->condition('u.uid', $users, 'IN');
}
}