_node_access_where_sql
modules/node/node.module, строка 2847
- Версии
- 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.
Параметры
$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.
Возвращаемое значение
An SQL where clause.
Связанные темы
Код
<?php
function _node_access_where_sql($op = 'view', $node_access_alias = 'na', $uid = NULL) {
if (user_access('administer nodes')) {
return;
}
$grants = array();
foreach (node_access_grants($op, $uid) as $realm => $gids) {
foreach ($gids as $gid) {
$grants[] = "($node_access_alias.gid = $gid AND $node_access_alias.realm = '$realm')";
}
}
$grants_sql = '';
if (count($grants)) {
$grants_sql = 'AND ('. implode(' OR ', $grants) .')';
}
$sql = "$node_access_alias.grant_$op >= 1 $grants_sql";
return $sql;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии