/** * (non-PHPdoc) * @see Tinebase_EmailUser_Ldap::_user2Ldap() */ protected function _user2Ldap(Tinebase_Model_FullUser $_user, array &$_ldapData, array &$_ldapEntry = array()) { if (empty($_user->accountEmailAddress)) { foreach ($this->_propertyMapping as $ldapKeyName) { $_ldapData[$ldapKeyName] = array(); } $_ldapData['objectclass'] = array_unique(array_diff($_ldapData['objectclass'], $this->_requiredObjectClass)); } else { parent::_user2Ldap($_user, $_ldapData, $_ldapEntry); } if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) { Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' $ldapData: ' . print_r($_ldapData, true)); } }
/** * populate mail attribute(s) * * (non-PHPdoc) * @see Tinebase_EmailUser_Ldap::_user2Ldap() */ protected function _user2Ldap(Tinebase_Model_FullUser $_user, array &$_ldapData, array &$_ldapEntry = array()) { if (!empty($_user->smtpUser) && $_user->smtpUser->emailAliases && !empty($_user->smtpUser->emailAliases)) { $mail = $_user->smtpUser->emailAliases; array_unshift($mail, $_user->accountEmailAddress); } else { $mail = $_user->accountEmailAddress; } $mail = array_merge($mail, $this->_unmanagedMailAdresses); $_ldapData['mail'] = $mail; parent::_user2Ldap($_user, $_ldapData, $_ldapEntry); if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) { Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' $ldapData: ' . print_r($_ldapData, true)); } }
/** * (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; }