/** * Init filter */ function initFilter() { global $lng, $rbacreview, $ilUser; include_once "./Services/User/classes/class.ilAccountCode.php"; // code include_once "./Services/Form/classes/class.ilTextInputGUI.php"; $ti = new ilTextInputGUI($lng->txt("user_account_code"), "query"); $ti->setMaxLength(ilAccountCode::CODE_LENGTH); $ti->setSize(20); $ti->setSubmitFormOnEnter(true); $this->addFilterItem($ti); $ti->readFromSession(); $this->filter["code"] = $ti->getValue(); // generated include_once "./Services/Form/classes/class.ilSelectInputGUI.php"; $options = array("" => $lng->txt("user_account_code_generated_all")); foreach ((array) ilAccountCode::getGenerationDates() as $date) { $options[$date] = ilDatePresentation::formatDate(new ilDateTime($date, IL_CAL_UNIX)); } $si = new ilSelectInputGUI($lng->txt("user_account_code_generated"), "generated"); $si->setOptions($options); $this->addFilterItem($si); $si->readFromSession(); $this->filter["generated"] = $si->getValue(); }
protected function processCode() { global $lng, $ilAuth, $ilCtrl; $uname = $_POST["uname"]; $form = $this->initCodeForm($uname); if ($uname && $form->checkInput()) { $code = $form->getInput("code"); include_once "Services/User/classes/class.ilAccountCode.php"; if (ilAccountCode::isUnusedCode($code)) { $valid_until = ilAccountCode::getCodeValidUntil($code); if (!($user_id = ilObjUser::_lookupId($uname))) { $this->showLogin(); return false; } $invalid_code = false; $user = new ilObjUser($user_id); if ($valid_until === "0") { $user->setTimeLimitUnlimited(true); } else { if (is_numeric($valid_until)) { $valid_until = strtotime("+" . $valid_until . "days"); } else { $valid_until = explode("-", $valid_until); $valid_until = mktime(23, 59, 59, $valid_until[1], $valid_until[2], $valid_until[0]); if ($valid_until < time()) { $invalid_code = true; } } if (!$invalid_code) { $user->setTimeLimitUnlimited(false); $user->setTimeLimitUntil($valid_until); } } if (!$invalid_code) { $user->setActive(true); ilAccountCode::useCode($code); // apply registration code role assignments ilAccountCode::applyRoleAssignments($user, $code); // apply registration code time limits ilAccountCode::applyAccessLimits($user, $code); $user->update(); $ilCtrl->setParameter($this, "cu", 1); $ilCtrl->redirect($this, "showLogin"); } } $lng->loadLanguageModule("user"); $field = $form->getItemByPostVar("code"); $field->setAlert($lng->txt("user_account_code_not_valid")); } $form->setValuesByPost(); $this->showCodeForm($uname, $form); }
function exportCodes() { global $ilAccess, $ilErr, $lng; if (!$ilAccess->checkAccess('read', '', $this->ref_id)) { $ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->MESSAGE); } include_once "./Services/User/classes/class.ilAccountCodesTableGUI.php"; $utab = new ilAccountCodesTableGUI($this, "listCodes"); include_once './Services/User/classes/class.ilAccountCode.php'; $codes = ilAccountCode::getCodesForExport($utab->filter["code"], $utab->filter["valid_until"], $utab->filter["generated"]); if (sizeof($codes)) { // #13497 ilUtil::deliverData(implode("\r\n", $codes), "ilias_account_codes_" . date("d-m-Y") . ".txt", "text/plain"); } else { ilUtil::sendFailure($lng->txt("account_export_codes_no_data")); $this->listCodes(); } }