node_filter_form
function node_filter_form
node_filter_form()
Returns the node administration filters form array to node_admin_content().
See also
node_multiple_delete_confirm()
node_multiple_delete_confirm_submit()
Related topics
File
- modules/node/node.admin.inc, line 156
- Content administration and module settings UI.
Code
function node_filter_form() { $session = isset($_SESSION['node_overview_filter']) ? $_SESSION['node_overview_filter'] : array(); $filters = node_filters(); $i = 0; $form['filters'] = array( '#type' => 'fieldset', '#title' => t('Show only items where'), '#theme' => 'exposed_filters__node', ); foreach ($session as $filter) { list($type, $value) = $filter; if ($type == 'term') { // Load term name from DB rather than search and parse options array. $value = module_invoke('taxonomy', 'term_load', $value); $value = $value->name; } elseif ($type == 'language') { $value = $value == LANGUAGE_NONE ? t('Language neutral') : module_invoke('locale', 'language_name', $value); } else { $value = $filters[$type]['options'][$value]; } $t_args = array('%property' => $filters[$type]['title'], '%value' => $value); if ($i++) { $form['filters']['current'][] = array('#markup' => t('and where %property is %value', $t_args)); } else { $form['filters']['current'][] = array('#markup' => t('where %property is %value', $t_args)); } if (in_array($type, array('type', 'language'))) { // Remove the option if it is already being filtered on. unset($filters[$type]); } } $form['filters']['status'] = array( '#type' => 'container', '#attributes' => array('class' => array('clearfix')), '#prefix' => ($i ? '<div class="additional-filters">' . t('and where') . '</div>' : ''), ); $form['filters']['status']['filters'] = array( '#type' => 'container', '#attributes' => array('class' => array('filters')), ); foreach ($filters as $key => $filter) { $form['filters']['status']['filters'][$key] = array( '#type' => 'select', '#options' => $filter['options'], '#title' => $filter['title'], '#default_value' => '[any]', ); } $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; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/modules!node!node.admin.inc/function/node_filter_form/7.x