You are here

function advuser_filter_ui in Advanced User 6.3

Same name and namespace in other branches
  1. 7.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 12
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 where'),
    '#theme' => 'advuser_filters',
    '#collapsible' => TRUE,
    '#collapsed' => FALSE,
  );
  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;
  foreach ($filters as $filter) {
    list($field, $conjunction, $operations, $data) = array_values($filter);
    $params = array(
      '%property' => $filter_fields[$field]['title'],
      '%value' => _advuser_filter_ui_data_display($field, $data),
    );
    if ($i++ > 0) {
      $form['filters']['current'][] = array(
        '#prefix' => '<li>',
        '#suffix' => '</li>',
        '#value' => t('<em>' . $conjunction . '</em> where <strong>%property</strong> ' . _advuser_filter_ui_symbols($operations) . ' <strong>%value</strong>', $params) . ($i == count($filters) ? ')' : ''),
      );
    }
    else {
      $form['filters']['current'][] = array(
        '#prefix' => '<ul><li>',
        '#suffix' => $i == count($filters) ? '</li></ul>' : '</li>',
        '#value' => t('(<strong>%property</strong> ' . _advuser_filter_ui_symbols($operations) . ' <strong>%value</strong>', $params) . ($i == count($filters) ? ')' : ''),
      );
    }
  }
  $function = "_advuser_filter_ui_{$phase['id']}";
  $function($form, $form_state);
  return $form;
}