/** * constructs a contacts ldap backend * * @param array $options Options used in connecting, binding, etc. */ public function __construct(array $_options) { $this->_options = $_options; $this->_ldap = new Tinebase_Ldap($_options); $this->_ldap->bind(); //$this->_baseDn = "ou=contacts,ou=von-und-zu-weiss.de,dc=d80-237-148-76"; $this->baseDn = $this->_options['userDn']; $this->_checkSchemas(); }
/** * the constructor * * @param array $_options Options used in connecting, binding, etc. * @throws Tinebase_Exception_Backend_Ldap */ public function __construct(array $_options = array()) { parent::__construct($_options); if (empty($_options['userUUIDAttribute'])) { $_options['userUUIDAttribute'] = 'entryUUID'; } if (empty($_options['groupUUIDAttribute'])) { $_options['groupUUIDAttribute'] = 'entryUUID'; } if (empty($_options['baseDn'])) { $_options['baseDn'] = $_options['userDn']; } if (empty($_options['userFilter'])) { $_options['userFilter'] = 'objectclass=posixaccount'; } if (empty($_options['userSearchScope'])) { $_options['userSearchScope'] = Zend_Ldap::SEARCH_SCOPE_SUB; } if (empty($_options['groupFilter'])) { $_options['groupFilter'] = 'objectclass=posixgroup'; } if (isset($_options['requiredObjectClass'])) { $this->_requiredObjectClass = (array) $_options['requiredObjectClass']; } if (isset($_options['readonly']) || array_key_exists('readonly', $_options)) { $this->_isReadOnlyBackend = (bool) $_options['readonly']; } if (isset($_options['ldap']) || array_key_exists('ldap', $_options)) { $this->_ldap = $_options['ldap']; } $this->_options = $_options; if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) { Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . " Registering " . print_r($this->_options, true)); } $this->_userUUIDAttribute = strtolower($this->_options['userUUIDAttribute']); $this->_groupUUIDAttribute = strtolower($this->_options['groupUUIDAttribute']); $this->_baseDn = $this->_options['baseDn']; $this->_userBaseFilter = $this->_options['userFilter']; $this->_userSearchScope = $this->_options['userSearchScope']; $this->_groupBaseFilter = $this->_options['groupFilter']; $this->_rowNameMapping['accountId'] = $this->_userUUIDAttribute; if (!$this->_ldap instanceof Tinebase_Ldap) { $this->_ldap = new Tinebase_Ldap($this->_options); try { $this->_ldap->bind(); } catch (Zend_Ldap_Exception $zle) { // @todo move this to Tinebase_Ldap? throw new Tinebase_Exception_Backend_Ldap('Could not bind to LDAP: ' . $zle->getMessage()); } } foreach ($this->_plugins as $plugin) { if ($plugin instanceof Tinebase_User_Plugin_LdapInterface) { $this->registerLdapPlugin($plugin); } } }
/** * the constructor * * @param array $_options Options used in connecting, binding, etc. * @throws Tinebase_Exception_Backend_Ldap */ public function __construct(array $_options = array()) { parent::__construct($_options); if (empty($_options['userUUIDAttribute'])) { $_options['userUUIDAttribute'] = 'entryUUID'; } if (empty($_options['groupUUIDAttribute'])) { $_options['groupUUIDAttribute'] = 'entryUUID'; } if (empty($_options['baseDn'])) { $_options['baseDn'] = $_options['userDn']; } if (empty($_options['userFilter'])) { $_options['userFilter'] = 'objectclass=posixaccount'; } if (empty($_options['userSearchScope'])) { $_options['userSearchScope'] = Zend_Ldap::SEARCH_SCOPE_SUB; } if (empty($_options['groupFilter'])) { $_options['groupFilter'] = 'objectclass=posixgroup'; } if (isset($_options['requiredObjectClass'])) { $this->_requiredObjectClass = (array) $_options['requiredObjectClass']; } if (array_key_exists('readonly', $_options)) { $this->_isReadOnlyBackend = (bool) $_options['readonly']; } $this->_options = $_options; $this->_userUUIDAttribute = strtolower($this->_options['userUUIDAttribute']); $this->_groupUUIDAttribute = strtolower($this->_options['groupUUIDAttribute']); $this->_baseDn = $this->_options['baseDn']; $this->_userBaseFilter = $this->_options['userFilter']; $this->_userSearchScope = $this->_options['userSearchScope']; $this->_groupBaseFilter = $this->_options['groupFilter']; $this->_rowNameMapping['accountId'] = $this->_userUUIDAttribute; try { $this->_ldap = new Tinebase_Ldap($this->_options); $this->_ldap->bind(); } catch (Zend_Ldap_Exception $zle) { // @todo move this to Tinebase_Ldap? throw new Tinebase_Exception_Backend_Ldap('Could not bind to LDAP: ' . $zle->getMessage()); } foreach ($this->_plugins as $plugin) { if ($plugin instanceof Tinebase_User_Plugin_LdapInterface) { $plugin->setLdap($this->_ldap); $this->_ldapPlugins[] = $plugin; } } }
/** * the constructor * * @param array $options Options used in connecting, binding, etc. */ public function __construct(array $_options) { parent::__construct(); if (empty($_options['userUUIDAttribute'])) { $_options['userUUIDAttribute'] = 'entryUUID'; } if (empty($_options['groupUUIDAttribute'])) { $_options['groupUUIDAttribute'] = 'entryUUID'; } if (empty($_options['baseDn'])) { $_options['baseDn'] = $_options['userDn']; } if (empty($_options['userFilter'])) { $_options['userFilter'] = 'objectclass=posixaccount'; } if (empty($_options['userSearchScope'])) { $_options['userSearchScope'] = Zend_Ldap::SEARCH_SCOPE_SUB; } if (empty($_options['groupFilter'])) { $_options['groupFilter'] = 'objectclass=posixgroup'; } if (isset($_options['requiredObjectClass'])) { $this->_requiredObjectClass = (array) $_options['requiredObjectClass']; } if (array_key_exists('readonly', $_options)) { $this->_isReadOnlyBackend = (bool) $_options['readonly']; } $this->_options = $_options; $this->_userUUIDAttribute = strtolower($this->_options['userUUIDAttribute']); $this->_groupUUIDAttribute = strtolower($this->_options['groupUUIDAttribute']); $this->_baseDn = $this->_options['baseDn']; $this->_userBaseFilter = $this->_options['userFilter']; $this->_userSearchScope = $this->_options['userSearchScope']; $this->_groupBaseFilter = $this->_options['groupFilter']; $this->_ldap = new Tinebase_Ldap($_options); $this->_ldap->bind(); $this->_sql = new Tinebase_Group_Sql(); foreach ($_options['plugins'] as $className) { $this->_plugins[$className] = new $className($this->_ldap, $this->_options); } }