You are here

function node_limit_role_node_limit_applies_in_context in Node Limit 8

Same name and namespace in other branches
  1. 6 node_limit_role/node_limit_role.module \node_limit_role_node_limit_applies_in_context()
  2. 7 node_limit_role/node_limit_role.module \node_limit_role_node_limit_applies_in_context()

Implements hook_node_limit_applies_in_context().

File

old/node_limit_role/node_limit_role.module, line 28
Module to restrict the number of nodes by role.

Code

function node_limit_role_node_limit_applies_in_context($lid, $node, $user) {
  $limit = node_limit_role_node_limit_load($lid);
  $applies = NODE_LIMIT_LIMIT_DOESNT_APPLY;
  if (empty($limit)) {
    $applies = NODE_LIMIT_LIMIT_NEUTRAL;
  }
  elseif (!empty($user)) {
    $isRoleAnonymous = $limit['node_limit_role']['rid'] == DRUPAL_ANONYMOUS_RID;
    $isRoleAuth = $limit['node_limit_role']['rid'] == DRUPAL_AUTHENTICATED_RID;
    if (isset($user->roles[$limit['node_limit_role']['rid']]) || $user->uid > 0 && $isRoleAnonymous || $user->uid == 0 && $isRoleAuth) {
      $applies = NODE_LIMIT_LIMIT_DOES_APPLY;
    }
  }
  return array(
    'node_limit_role' => $applies,
  );
}