You are here

function notifications_subscriptions_filter_form in Notifications 6.4

Same name and namespace in other branches
  1. 6 notifications.manage.inc \notifications_subscriptions_filter_form()
  2. 6.2 notifications.manage.inc \notifications_subscriptions_filter_form()
  3. 6.3 notifications.manage.inc \notifications_subscriptions_filter_form()

Return form for node administration filters.

Parameters

$admin: Whether this is for the site admin page, will display more options

2 calls to notifications_subscriptions_filter_form()
notifications_admin_manage_subscriptions in ./notifications.admin.inc
Menu callback: subscriptions administration.
notifications_manage_user_subscriptions in ./notifications.manage.inc
Menu callback: user subscriptions management
2 string references to 'notifications_subscriptions_filter_form'
notifications_admin_manage_subscriptions in ./notifications.admin.inc
Menu callback: subscriptions administration.
notifications_manage_user_subscriptions in ./notifications.manage.inc
Menu callback: user subscriptions management

File

./notifications.manage.inc, line 442
Common functions for bulk management of subscriptions

Code

function notifications_subscriptions_filter_form($admin = FALSE) {
  $session =& $_SESSION['subscriptions_overview_filter'];
  $session = is_array($session) ? $session : array();
  $filters = notifications_subscriptions_filters($admin);
  $i = 0;
  $form['filters'] = array(
    '#type' => 'fieldset',
    '#title' => t('Show only items where'),
    '#theme' => 'node_filters',
  );
  $form['#submit'][] = 'notifications_subscriptions_filter_form_submit';
  foreach ($session as $filter) {
    list($type, $value) = $filter;
    $value = $filters[$type]['options'][$value];
    $form['filters']['current'][] = array(
      '#value' => t('<strong>%a</strong> is <strong>%b</strong>', array(
        '%a' => $filters[$type]['title'],
        '%b' => $value,
      )),
    );
  }
  foreach ($filters as $key => $filter) {
    $names[$key] = $filter['title'];
    $form['filters']['status'][$key] = array(
      '#type' => 'select',
      '#options' => $filter['options'],
    );
  }
  $form['filters']['filter'] = array(
    '#type' => 'radios',
    '#options' => $names,
    '#default_value' => 'status',
  );
  $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'),
    );
  }
  drupal_add_js('misc/form.js', 'core');
  return $form;
}