domain_strict_domaingrants

Versions
domain
domain_strict_domaingrants(&$grants, $account, $op)

Implement hook_domaingrants()

In Domain Strict, we only let users see content on domains that they are registered with. So we check the $user object in order to set our grants rather than using the default module grants.

Code

domain_strict/domain_strict.module, line 24

<?php
function domain_strict_domaingrants(&$grants, $account, $op) {
  global $_domain;
  // We only act on the 'view' operation.
  if ($op != 'view') {
    return;
  }
  // Erase the default domain_id grants.
  $grants['domain_id'] = array();
  // Get the user-assigned domains.
  $domains = domain_get_user_domains($account);
  if (!empty($domains)) {
    foreach ($domains as $key => $value) {
      // The -1 is the root domain, since 0 cannot be stored by checkboxes.
      ($value == -1) ? $id = 0 : $id = $value;
      // If the user has access to the current domain, set that grant.
      if (abs($value) > 0 && $id == $_domain['domain_id']) {
        $grants['domain_id'][] = $id;
      }
    }
  }
}
?>

Contact

  • agentrickard [at] gmail [dot] com

Donations

My Amazon.com Wish List