function advuser_admin_filter_form in Advanced User 5
1 string reference to 'advuser_admin_filter_form'
File
- ./
advuser.module, line 166
Code
function advuser_admin_filter_form() {
//print_r($_SESSION['advuser_user_filter']);
$sess =& $_SESSION['advuser_user_filter'];
$sess = is_array($sess) ? $sess : array();
$session = $sess;
asort($session);
$filters = advuser_admin_filters();
$i = 0;
$form['filters'] = array(
'#type' => 'fieldset',
'#title' => t('Show only items where'),
'#theme' => 'advuser_filters',
);
$types_used = array();
foreach ($session as $filter) {
list($type, $value) = $filter;
$original = $filters[$type];
$em = 'and';
if (array_search($type, $types_used) !== FALSE) {
$em = 'or';
}
$string = $i++ ? '<em>' . $em . '</em> where <strong>%a</strong> is <strong>%b</strong>' : '<strong>%a</strong> is <strong>%b</strong>';
$txt_value = $value;
if ($original['type'] == 'selection') {
$txt_value = $original['options'][$value];
}
$form['filters']['current'][] = array(
'#value' => t($string, array(
'%a' => $filters[$type]['title'],
'%b' => $txt_value,
)),
);
$types_used[] = $type;
}
foreach ($filters as $key => $filter) {
$names[$key] = $filter['title'];
if ($filter['type'] == 'selection') {
$form['filters']['status'][$key] = array(
'#type' => 'select',
'#options' => $filter['options'],
);
}
else {
$form['filters']['status'][$key] = array(
'#type' => 'textfield',
);
}
}
$names_keys = array_keys($names);
$form['filters']['filter'] = array(
'#type' => 'radios',
'#options' => $names,
'#default_value' => $names_keys[0],
);
$form['filters']['buttons']['submit'] = array(
'#type' => 'submit',
'#value' => count($session) ? t('Refine') : t('Filter'),
);
if (count($session)) {
$form['filters']['buttons']['undo'] = array(
'#type' => 'submit',
'#value' => t('Undo'),
);
$form['filters']['buttons']['reset'] = array(
'#type' => 'submit',
'#value' => t('Reset'),
);
}
// return drupal_get_form('advuser_admin_filter_form', $form);
return $form;
}