/** * adds a new user * * @param Tinebase_Model_FullUser $_account * @return Tinebase_Model_FullUser */ public function addUser(Tinebase_Model_FullUser $_account) { $newDn = $this->_generateDn($_account); $ldapData = $this->_user2ldap($_account); $ldapData['uidnumber'] = $this->_generateUidNumber(); $ldapData['objectclass'] = $this->_requiredObjectClass; if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' $dn: ' . $newDn); } if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' $ldapData: ' . print_r($ldapData, true)); } $this->_backend->insert($newDn, $ldapData); return $this->getFullUserByLoginName($_account->accountLoginName); }
/** * create a new group * * @param string $_groupName * @return unknown */ public function addGroup(Tinebase_Model_Group $_group) { $dn = $this->_generateDn($_group); $objectClass = array('top', 'posixGroup'); // NOTE: Usage of groupOfNames and namedObject is exclusive if ($this->_options['useRfc2307bis']) { //$objectClass[] = 'groupOfNames'; $objectClass[] = 'namedObject'; } $gidNumber = $this->_generateGidNumber(); $data = array('objectclass' => $objectClass, 'gidnumber' => $gidNumber, 'cn' => $_group->name, 'description' => $_group->description); if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' $dn: ' . $dn); } if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' $data: ' . print_r($data, true)); } $this->_ldap->insert($dn, $data); return $this->getGroupById($gidNumber); }