node_build_filter_query

Versions
4.7 – 6
node_build_filter_query()
7
node_build_filter_query(SelectQueryInterface $query)

Apply filters for node administration filters based on session.

Parameters

$query A SelectQuery to which the filters should be applied.

Code

modules/node/node.admin.inc, line 127

<?php
function node_build_filter_query(SelectQueryInterface $query) {
  // Build query
  $filter_data = isset($_SESSION['node_overview_filter']) ? $_SESSION['node_overview_filter'] : array();
  $counter = 0;
  foreach ($filter_data as $index => $filter) {
    list($key, $value) = $filter;
    switch ($key) {
      case 'term':
        $index = 'tn' . $counter++;
        $query->join('taxonomy_term_node', $index, "n.nid = $index.nid");
        $query->condition($index . '.tid', $value);
        break;
      case 'status':
        // Note: no exploitable hole as $key/$value have already been checked when submitted
        list($key, $value) = explode('-', $value, 2);
      case 'type':
      case 'language':
        $query->condition('n.' . $key, $value);
        break;
    }
  }
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.