/** * @return bool */ public function execute() { $objUsersources = new class_usersources_source_ldap(); $objUsersources->updateUserData(); //trigger again return false; }
/** * @see interface_admin_systemtask::executeTask() * @return string */ public function executeTask() { if (!class_module_system_module::getModuleByName("ldap")->rightEdit()) { return $this->getLang("commons_error_permissions"); } $objUsersources = new class_usersources_source_ldap(); $bitSync = $objUsersources->updateUserData(); if ($bitSync) { return $this->objToolkit->getTextRow($this->getLang("systemtask_ldapsync_success")); } else { return $this->objToolkit->getTextRow($this->getLang("systemtask_ldapsync_error")); } }
/** * Returns an array of user-ids associated with the current group. * If possible, pageing should be supported * * @param int $intStart * @param int $intEnd * * @return array */ public function getUserIdsForGroup($intStart = null, $intEnd = null) { $arrReturn = array(); //load all members from ldap $objLdap = class_ldap::getInstance($this->intCfg); $arrMembers = $objLdap->getMembersOfGroup($this->getStrDn()); $objSource = new class_usersources_source_ldap(); foreach ($arrMembers as $strOneMemberDn) { //check if the user exists in the kajona-database $objUser = $objSource->getUserByDn($strOneMemberDn); if ($objUser != null) { $arrReturn[] = $objUser->getSystemid(); } else { //import the user into the system transparently $arrSingleUser = $objLdap->getUserDetailsByDN($strOneMemberDn); $objUser = new class_module_user_user(); $objUser->setStrUsername($arrSingleUser["username"]); $objUser->setStrSubsystem("ldap"); $objUser->setIntActive(1); $objUser->setIntAdmin(1); $objUser->updateObjectToDb(); $objSourceUser = $objUser->getObjSourceUser(); if ($objSourceUser instanceof class_usersources_user_ldap) { $objSourceUser->setStrDN($arrSingleUser["identifier"]); $objSourceUser->setStrFamilyname($arrSingleUser["familyname"]); $objSourceUser->setStrGivenname($arrSingleUser["givenname"]); $objSourceUser->setStrEmail($arrSingleUser["mail"]); $objSourceUser->updateObjectToDb(); $this->objDB->flushQueryCache(); } $arrReturn[] = $objUser->getSystemid(); } } return $arrReturn; }
/** * Returns the list of group-ids the current user is assigned to * @return array */ public function getGroupIdsForUser() { $arrReturn = array(); $objLdap = class_ldap::getInstance($this->intCfg); $objLdapSource = new class_usersources_source_ldap(); $arrLdapGroups = $objLdapSource->getAllGroupIds(); foreach ($arrLdapGroups as $strOneGroupId) { $objGroup = new class_usersources_group_ldap($strOneGroupId); if ($objGroup->getIntCfg() == $this->intCfg && $objLdap->isUserMemberOfGroup($this->getStrDN(), $objGroup->getStrDn())) { $arrReturn[] = $strOneGroupId; } } return $arrReturn; }