Beispiel #1
0
 /**
  * return contact information for user
  *
  * @param  Tinebase_Model_FullUser    $_user
  * @param  Addressbook_Model_Contact  $_contact
  */
 public function updateContactFromSyncBackend(Tinebase_Model_FullUser $_user, Addressbook_Model_Contact $_contact)
 {
     $userData = $this->_getMetaData($_user);
     $userData = $this->_ldap->getEntry($userData['dn']);
     $this->_ldap2Contact($userData, $_contact);
     #if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . "  synced user object: " . print_r($_contact->toArray(), true));
 }
Beispiel #2
0
 /**
  * create a new group in sync backend
  *
  * @param  Tinebase_Model_Group  $_group
  * 
  * @return Tinebase_Model_Group
  */
 public function addGroupInSyncBackend(Tinebase_Model_Group $_group)
 {
     if ($this->_isReadOnlyBackend) {
         return;
     }
     $dn = $this->_generateDn($_group);
     $objectClass = array('top', 'posixGroup');
     $gidNumber = $this->_generateGidNumber();
     $ldapData = array('objectclass' => $objectClass, 'gidnumber' => $gidNumber, 'cn' => $_group->name, 'description' => $_group->description);
     if (isset($this->_options['useRfc2307bis']) && $this->_options['useRfc2307bis'] == true) {
         $ldapData['objectclass'][] = 'groupOfNames';
         // the member attribute can not be emtpy, seems to be common praxis
         // to set the member attribute to the group dn itself for empty groups
         $ldapData['member'] = $dn;
     }
     foreach ($this->_plugins as $plugin) {
         $plugin->inspectAddGroup($_group, $ldapData);
     }
     if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . '  $dn: ' . $dn);
     }
     if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
         Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . '  $ldapData: ' . print_r($ldapData, true));
     }
     $this->_ldap->add($dn, $ldapData);
     $groupId = $this->_ldap->getEntry($dn, array($this->_groupUUIDAttribute));
     $groupId = $groupId[$this->_groupUUIDAttribute][0];
     $group = $this->getGroupByIdFromSyncBackend($groupId);
     return $group;
 }