/** * 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; } }