/** * Returns a user object with raw data from ldap * * @param Tinebase_Model_User $_user * @param array $_ldapEntry * @return Tinebase_Record_Abstract */ protected function _ldap2User(Tinebase_Model_User $_user, array &$_ldapEntry) { $smtpUser = parent::_ldap2User($_user, $_ldapEntry); $emailAliases = array(); $allowedDomains = explode(',', Tinebase_EmailUser::getConfig(Tinebase_Config::SMTP)['secondarydomains']); if (isset($_ldapEntry['mail'])) { foreach ($_ldapEntry['mail'] as $mail) { if (isset($_user['accountEmailAddress']) && $_user['accountEmailAddress'] != $mail) { in_array(substr(strrchr($mail, "@"), 1), $allowedDomains) ? $emailAliases[] = $mail : ($this->_unmanagedMailAdresses[] = $mail); } } } $smtpUser['emailAliases'] = $emailAliases; $smtpUser['emailForwardOnly'] = null; $smtpUser['emailForwards'] = array(); if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) { Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' ' . print_r($smtpUser, true)); } return $smtpUser; }
/** * (non-PHPdoc) * @see Tinebase_EmailUser_Ldap::_ldap2User() */ protected function _ldap2User(Tinebase_Model_User $_user, array &$_ldapEntry) { $originalUser = parent::_ldap2User($_user, $_ldapEntry); if ($this->_ldapRawData === null) { if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' read ldap simpleMail schema'); } // replace wildcards in config array_walk_recursive($this->_simpleMailConfig, function (&$value, $property, $userdata) { if (strpos($value, '%s') !== false) { $value = str_replace('%s', $userdata['dn'], $value); } elseif (strpos($value, '%u') !== false) { $value = str_replace('%u', $userdata['user'], $value); } }, array('dn' => $_ldapEntry['dn'], 'user' => $_user['accountLoginName'])); $this->_getSpecialResultDataFromLdap(); } foreach ($this->_propertyMapping as $property => $ldapName) { $originalUser[$property] = $this->_getPropertiesFromLdapRawData($ldapName); } if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) { Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' simpleMail - Tinebase_EmailUser combined with ldap: ' . print_r($originalUser, true)); } return $originalUser; }