/** * import users from typo3 * * @param array | optional $_options [options hash passed through the whole setup initialization process] * */ public function importUsers($_options = null) { $sqlGroupBackend = new Tinebase_Group_Sql(); $t3users = $this->_getUsersFromBackend(NULL, 'Tinebase_Model_FullUser'); foreach ($t3users as $user) { if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' user: '******'::' . __LINE__ . ' Could not add user "' . $user->accountLoginName . '" => Skipping'); Tinebase_Core::getLogger()->warn(__METHOD__ . '::' . __LINE__ . ' classname ' . get_class($user) . ' attributes: ' . print_r($user, 1)); continue; } $sqlGroupBackend->addGroupMember($user->accountPrimaryGroup, $user); // we directly can import password as its also md5 $select = $this->_t3db->select()->from('be_users')->where("`uid` LIKE '{$user->getId()}'"); $t3user = $select->query()->fetchAll(Zend_Db::FETCH_ASSOC); $md5passwd = $t3user[0]['password']; // import contactdata(phone, address, fax, birthday. photo) //$contact = $this->_getContactFromBackend($user); //Addressbook_Backend_Factory::factory(Addressbook_Backend_Factory::SQL)->update($contact); } }
/** * * @param Tinebase_Record_Abstract $record * @param array $members */ protected function _handleGroupMemberShip($record, $members) { $be = new Tinebase_Group_Sql(); $group = $be->getGroupByName($record->name); $oldMembers = $be->getGroupMembers($group->getId()); $newMembers = $this->_resolveUsers($members); foreach ($oldMembers as $oldMember) { if (!in_array($oldMember, $newMembers)) { $be->removeGroupMember($record->getId(), $oldMember); } } foreach ($newMembers as $newMember) { if (!in_array($newMember, $oldMembers)) { $be->addGroupMember($record->getId(), $newMember); } } }