コード例 #1
0
 /**
  * Check if user is member of specific group
  *
  * @access private
  * @param array user data
  * @param array user_data
  * 
  */
 private function isGroupMember($a_user_data)
 {
     global $ilLog;
     if ($this->isMemberAttributeDN()) {
         $user_cmp = $a_user_data['dn'];
     } else {
         $user_cmp = $a_user_data['ilExternalAccount'];
     }
     include_once 'Services/LDAP/classes/class.ilLDAPQuery.php';
     include_once 'Services/LDAP/classes/class.ilLDAPServer.php';
     $server = ilLDAPServer::getInstanceByServerId(ilLDAPServer::_getFirstActiveServer());
     try {
         $query = new ilLDAPQuery($server);
         $query->bind();
         $res = $query->query($this->getDN(), sprintf('(%s=%s)', $this->getMemberAttribute(), $user_cmp), IL_LDAP_SCOPE_BASE, array('dn'));
         return $res->numRows() ? true : false;
     } catch (ilLDAPQueryException $e) {
         $ilLog->write(__METHOD__ . ': Caught Exception: ' . $e->getMessage());
         return false;
     }
 }