You are here

function state_flow_filter_form in State Machine 7.2

Same name and namespace in other branches
  1. 7.3 modules/state_flow/state_flow.admin.inc \state_flow_filter_form()

Return form for node administration filters.

1 call to state_flow_filter_form()
state_flow_content_page in modules/state_flow/state_flow.admin.inc
Menu callback: content administration.

File

modules/state_flow/state_flow.admin.inc, line 30
Revision Content administration.

Code

function state_flow_filter_form() {
  $session = isset($_SESSION['node_revision_filter']) ? $_SESSION['node_revision_filter'] : array();
  $filters = state_flow_revision_filters();
  $i = 0;
  $form['filters'] = array(
    '#type' => 'fieldset',
    '#title' => t('Show only items where'),
    '#theme' => 'exposed_filters__node',
  );
  foreach ($session as $filter_key => $filter) {
    $filters[$filter_key]['form']['#default_value'] = $filter;
  }
  $form['filters']['status']['filters'] = array(
    '#type' => 'container',
    '#attributes' => array(
      'class' => array(
        'filters',
      ),
    ),
  );
  foreach ($filters as $key => $filter) {
    $form['filters']['status']['filters'][$key] = $filter['form'];
  }
  $form['filters']['status']['actions'] = array(
    '#type' => 'actions',
    '#attributes' => array(
      'class' => array(
        'container-inline',
      ),
    ),
  );
  $form['filters']['status']['actions']['submit'] = array(
    '#type' => 'submit',
    '#value' => count($session) ? t('Refine') : t('Filter'),
  );
  if (count($session)) {
    $form['filters']['status']['actions']['undo'] = array(
      '#type' => 'submit',
      '#value' => t('Undo'),
    );
    $form['filters']['status']['actions']['reset'] = array(
      '#type' => 'submit',
      '#value' => t('Reset'),
    );
  }
  drupal_add_js('misc/form.js');
  return $form;
}