domain_views_access

Versions
domain
domain_views_access($domains, $strict = TRUE, $member = FALSE)

Access callback for use with domain_views_plugin_access.

Parameters

$domains An array of domain ids that may access this view.

$strict Boolean value indicating if strict rules should be applied.

$member Boolean value indicating if membership rules should be applied.

Return value

Boolean TRUE or FALSE.

Code

domain_views/domain_views.module, line 75

<?php
function domain_views_access($domains, $strict = TRUE, $member = FALSE) {
  global $_domain, $user;
  $account = $user;
  $check = FALSE;
  // Apply membership rules?
  if ($member) {
    $grants['domain_id'] = domain_get_user_domains($account);
    if (isset($grants['domain_id'][-1])) {
      $grants['domain_id'][0] = 0;
      unset($grants['domain_id'][-1]);
    }
    $check = TRUE;
  }
  // Apply strict rules? These are harsher than membership and get applied last.
  if ($strict) {
    $grants = domain_views_get_grants();
    $check = TRUE;
  }
  // If no grants, stop.
  if ($check && (empty($grants['domain_id']) || !in_array($_domain['domain_id'], $grants['domain_id']))) {
    return FALSE;
  }
  // None of the above, just match the current domain.
  else if (!$check) {
    $grants['domain_id'] = array($_domain['domain_id']);
  }
  // Otherwise, convert and check.
  foreach ($grants['domain_id'] as $grant) {
    if ($grant == 0) {
      $grant = -1;
    }
    if (in_array($grant, $domains)) {
      return TRUE;
    }
  }
  return FALSE;
}
?>

Contact

  • agentrickard [at] gmail [dot] com

Donations

My Amazon.com Wish List