#555128 by Dave Reid | moshe weitzman: Return boolean value from node_access() with grant query.
							parent
							
								
									3da4e0e015
								
							
						
					
					
						commit
						a667251eee
					
				| 
						 | 
				
			
			@ -2185,7 +2185,7 @@ function node_search_validate($form, &$form_state) {
 | 
			
		|||
 *   Optional, a user object representing the user for whom the operation is to
 | 
			
		||||
 *   be performed. Determines access for a user other than the current user.
 | 
			
		||||
 * @return
 | 
			
		||||
 *   TRUE if the operation may be performed.
 | 
			
		||||
 *   TRUE if the operation may be performed, FALSE otherwise.
 | 
			
		||||
 */
 | 
			
		||||
function node_access($op, $node, $account = NULL) {
 | 
			
		||||
  global $user;
 | 
			
		||||
| 
						 | 
				
			
			@ -2234,13 +2234,14 @@ function node_access($op, $node, $account = NULL) {
 | 
			
		|||
  // node_access table.
 | 
			
		||||
  if ($op != 'create' && $node->nid) {
 | 
			
		||||
    $query = db_select('node_access');
 | 
			
		||||
    $query->addExpression('COUNT(*)');
 | 
			
		||||
    $query->addExpression('1');
 | 
			
		||||
    $query->condition('grant_' . $op, 1, '>=');
 | 
			
		||||
    $nids = db_or()->condition('nid', $node->nid);
 | 
			
		||||
    if ($node->status) {
 | 
			
		||||
      $nids->condition('nid', 0);
 | 
			
		||||
    }
 | 
			
		||||
    $query->condition($nids);
 | 
			
		||||
    $query->range(0, 1);
 | 
			
		||||
 | 
			
		||||
    $grants = db_or();
 | 
			
		||||
    foreach (node_access_grants($op, $account) as $realm => $gids) {
 | 
			
		||||
| 
						 | 
				
			
			@ -2251,10 +2252,10 @@ function node_access($op, $node, $account = NULL) {
 | 
			
		|||
        );
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    if (count($grants) > 0 ) {
 | 
			
		||||
    if (count($grants) > 0) {
 | 
			
		||||
      $query->condition($grants);
 | 
			
		||||
    }
 | 
			
		||||
    return $query
 | 
			
		||||
    return (bool) $query
 | 
			
		||||
      ->execute()
 | 
			
		||||
      ->fetchField();
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue