You are here

public function LdapAuthorizationConsumerOG::og1Grants in Lightweight Directory Access Protocol (LDAP) 8.2

1 call to LdapAuthorizationConsumerOG::og1Grants()
LdapAuthorizationConsumerOG::grantsAndRevokes in ldap_authorization/ldap_authorization_og/LdapAuthorizationConsumerOG.class.php

File

ldap_authorization/ldap_authorization_og/LdapAuthorizationConsumerOG.class.php, line 580

Class

LdapAuthorizationConsumerOG

Code

public function og1Grants($og_actions, &$user, &$user_auth_data) {
  foreach ($og_actions['grants'] as $gid => $rids) {
    $existing_roles = og_get_user_roles($gid, $user->uid);
    if (!in_array($this->defaultMembershipRid, array_values($existing_roles))) {
      $user->{OG_AUDIENCE_FIELD}[LANGUAGE_NONE][] = array(
        'gid' => $gid,
      );
      og_entity_presave($user, 'user');
      $consumer_id = ldap_authorization_og_authorization_id($gid, $this->defaultMembershipRid);
      $user_auth_data[$consumer_id] = array(
        'date_granted' => time(),
        'consumer_id_mixed_case' => $consumer_id,
      );
    }
    foreach ($rids as $rid) {
      if ($rid != $this->defaultMembershipRid && $rid != $this->anonymousRid) {
        og_role_grant($gid, $user->uid, $rid);
        $consumer_id = ldap_authorization_og_authorization_id($gid, $rid);
        $user_auth_data[$consumer_id] = array(
          'date_granted' => time(),
          'consumer_id_mixed_case' => $consumer_id,
        );
      }
    }
  }
}