function advuser_filter_ui in Advanced User 7.3
Same name and namespace in other branches
- 6.3 forms/advuser_filter_ui.inc \advuser_filter_ui()
The phase controller.
1 string reference to 'advuser_filter_ui'
- advuser_admin in forms/
advuser_admin.inc - Callback form controller.
File
- forms/
advuser_filter_ui.inc, line 13 - This provides a multipart form for the filtering options.
Code
function advuser_filter_ui($form_state) {
$advuser =& $_SESSION['advuser'];
$phase =& $advuser['phase'];
$filters =& $advuser['filters'];
$accounts =& $advuser['accounts'];
$selectall =& $advuser['selectall'];
$form['filters'] = array(
'#type' => 'fieldset',
'#title' => t('Show only users'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
'#theme' => 'exposed_filters__user',
);
if (empty($phase)) {
$phase['id'] = 0;
}
if ($phase['id'] == 0 && (count($accounts) || $selectall)) {
$form['filters']['#collapsed'] = TRUE;
}
if (empty($filters)) {
$filters = array();
}
$filter_fields = advuser_filters();
$i = 0;
$filtersCnt = count($filters);
foreach ($filters as $filter) {
list($field, $conjunction, $operations, $data) = array_values($filter);
$conjunction = $conjunction == ') OR (' ? 'OR' : $conjunction;
if ($i == 0) {
$oparen = '(';
}
elseif ($filtersCnt > 1) {
$oparen = '';
}
if ($i == $filtersCnt - 1) {
$cparen = ')';
}
if ($i + 1 < $filtersCnt) {
if ($filters[$i + 1]['conjunction'] == ') OR (') {
$cparen = ')';
}
else {
$cparen = '';
}
}
if ($conjunction == 'OR') {
$oparen = '(';
}
$params = array(
'%property' => $filter_fields[$field]['title'],
'%value' => _advuser_filter_ui_data_display($field, $data),
);
$form['filters']['current'][] = array(
'#markup' => t((!empty($conjunction) ? "<em>{$conjunction}</em> " : NULL) . $oparen . 'where <strong>%property</strong> ' . _advuser_filter_ui_symbols($operations) . ' <strong>%value</strong>', $params) . $cparen,
);
$oparen = '';
$i++;
}
$function = "_advuser_filter_ui_{$phase['id']}";
$function($form, $form_state);
drupal_add_library('system', 'drupal.form');
return $form;
}