_node_access_where_sql
- Versions
- 4.6 – 5
_node_access_where_sql($op = 'view', $node_access_alias = 'na',$uid= NULL)- 6
_node_access_where_sql($op = 'view', $node_access_alias = 'na', $account = NULL)
Generate an SQL where clause for use in fetching a node listing.
Parameters
$op The operation that must be allowed to return a node.
$node_access_alias If the node_access table has been given an SQL alias other than the default "na", that must be passed here.
Return value
An SQL where clause.
Related topics
Code
modules/node.module, line 1942
<?php
function _node_access_where_sql($op = 'view', $node_access_alias = 'na', $uid = NULL) {
if (user_access('administer nodes')) {
return;
}
$sql = $node_access_alias .'.grant_'. $op .' = 1 AND CONCAT('. $node_access_alias .'.realm, '. $node_access_alias .'.gid) IN (';
$grants = array();
foreach (node_access_grants($op, $uid) as $realm => $gids) {
foreach ($gids as $gid) {
$grants[] = "'". $realm . $gid ."'";
}
}
$sql .= implode(',', $grants) .')';
return $sql;
}
?>Login or register to post comments 