/**
  * Constructor Method
  *
  */
 function __construct($consumer_type = NULL)
 {
     $this->ogVersion = ldap_authorization_og_og_version();
     $params = ldap_authorization_og_ldap_authorization_consumer();
     if ($this->ogVersion == 1) {
         $this->ogRoles = og_roles(0);
         $this->ogRolesByName = array_flip($this->ogRoles);
     } else {
         $this->_setConsumerIDs();
     }
     parent::__construct('og_group', $params['og_group']);
 }
 /**
  * Constructor Method
  *
  */
 function __construct($consumer_type = NULL)
 {
     $params = ldap_authorization_drupal_role_ldap_authorization_consumer();
     $this->refreshConsumerIDs();
     parent::__construct('drupal_role', $params['drupal_role']);
 }
 /**
  * @param string $op 'grant' or 'revoke' signifying what to do with the $consumer_ids
  * @param drupal user object $object
  * @param array $user_auth_data is array specific to this consumer_type.  Stored at $user->data['ldap_authorizations'][<consumer_type>]
  * @param $consumers as associative array in form of LdapAuthorizationConsumerAbstract::populateConsumersFromConsumerIds
  * @param array $ldap_entry, when available user's ldap entry.
  * @param boolean $user_save indicates is user data array should be saved or not.  this is always overridden for og
  */
 public function authorizationDiff($existing, $desired)
 {
     if ($this->ogVersion != 1) {
         return parent::authorizationDiff($existing, $desired);
     }
     /**
      * for og 1.5, goal is not to recognize X-2 consumer ids if X-N exist
      * since X-2 consumer ids are granted as a prerequisite of X-N
      */
     $diff = array_diff($existing, $desired);
     $desired_group_ids = array();
     foreach ($desired as $i => $consumer_id) {
         list($gid, $rid) = $this->og1ConsumerIdParts($consumer_id);
         $desired_group_ids[$gid] = TRUE;
     }
     foreach ($diff as $i => $consumer_id) {
         list($gid, $rid) = $this->og1ConsumerIdParts($consumer_id);
         // if there are still roles in this group that are desired, do
         // not remove default mambership role id
         if ($rid == $this->defaultMembershipRid && !empty($desired_group_ids[$gid])) {
             unset($diff[$i]);
         }
     }
     // dpm("diff"); dpm($diff); dpm("existing"); dpm($existing);  dpm("desired"); dpm($desired); dpm("final diff"); dpm($diff);
     return $diff;
 }
 function __construct($consumer_type)
 {
     $this->ogVersion = ldap_authorization_og_og_version();
     $params = ldap_authorization_og_ldap_authorization_consumer();
     parent::__construct('og_group', $params['og_group']);
 }