You are here

function flag_node::type_access_multiple in Flag 6.2

Same name and namespace in other branches
  1. 7.3 includes/flag/flag_node.inc \flag_node::type_access_multiple()
  2. 7.2 flag.inc \flag_node::type_access_multiple()

File

./flag.inc, line 1331
Implements various flags. Uses object oriented style inspired by that of Views 2.

Class

flag_node
Implements a node flag.

Code

function type_access_multiple($content_ids, $account) {
  $access = array();

  // Ensure that only flaggable node types are granted access. This avoids a
  // node_load() on every type, usually done by applies_to_content_id().
  $nids = implode(',', array_map('intval', array_keys($content_ids)));
  $placeholders = implode(',', array_fill(0, sizeof($this->types), "'%s'"));
  $result = db_query("SELECT nid as content_id FROM {node} WHERE nid IN ({$nids}) AND type NOT IN ({$placeholders})", $this->types);
  while ($row = db_fetch_object($result)) {
    $access[$row->content_id] = FALSE;
  }
  return $access;
}