$html = new SimpleSAML_XHTML_Template($config, 'selfregister:step3_register.tpl.php', 'selfregister:selfregister'); $html->data['formHtml'] = $formHtml; $html->show(); } catch (sspmod_selfregister_Error_UserException $e) { // Invalid token $terr = new SimpleSAML_XHTML_Template($config, 'selfregister:step1_email.tpl.php', 'selfregister:selfregister'); $error = $terr->t($e->getMesgId(), $e->getTrVars()); $terr->data['error'] = htmlspecialchars($error); $terr->data['systemName'] = $systemName; $terr->show(); } } elseif (array_key_exists('sender', $_POST)) { try { // Add or update user object $listValidate = sspmod_selfregister_Util::genFieldView($viewAttr); $validator = new sspmod_selfregister_Registration_Validation($formFields, $listValidate); $validValues = $validator->validateInput(); $userInfo = sspmod_selfregister_Util::processInput($validValues, $viewAttr); $store = sspmod_selfregister_Storage_UserCatalogue::instantiateStorage(); $store->addUser($userInfo); $html = new SimpleSAML_XHTML_Template($config, 'selfregister:step4_complete.tpl.php', 'selfregister:selfregister'); $html->data['systemName'] = $systemName; $html->show(); } catch (sspmod_selfregister_Error_UserException $e) { // Some user error detected $formGen = new sspmod_selfregister_XHTML_Form($formFields, 'newUser.php'); $showFields = sspmod_selfregister_Util::genFieldView($viewAttr); $formGen->fieldsToShow($showFields); $formGen->setReadOnly('mail'); $values = $validator->getRawInput(); $hidden = array();
$html = new SimpleSAML_XHTML_Template($config, 'selfregister:lostPassword_changePassword.tpl.php', 'selfregister:selfregister'); $html->data['formHtml'] = $formHtml; $html->data['uid'] = $userValues[$store->userIdAttr]; $html->show(); } catch (sspmod_selfregister_Error_UserException $e) { // Invalid token $terr = new SimpleSAML_XHTML_Template($config, 'selfregister:lostPassword_email.tpl.php', 'selfregister:selfregister'); $error = $terr->t($e->getMesgId(), $e->getTrVars()); $terr->data['error'] = htmlspecialchar($error); $terr->show(); } } elseif (array_key_exists('sender', $_POST)) { try { // Add or update user object $listValidate = array('pw1', 'pw2'); $validator = new sspmod_selfregister_Registration_Validation($formFields, $listValidate); $email = filter_input(INPUT_POST, 'emailconfirmed', FILTER_VALIDATE_EMAIL); if (!$email) { throw new SimpleSAML_Error_Exception('E-mail parameter in request is lost'); } $tg = new SimpleSAML_Auth_TimeLimitedToken($tokenLifetime); $tg->addVerificationData($email); $token = $_REQUEST['token']; if (!$tg->validate_token($token)) { throw new sspmod_selfregister_Error_UserException('invalid_token'); } $userValues = $store->findAndGetUser('mail', $email); $validValues = $validator->validateInput(); $newPw = sspmod_selfregister_Util::validatePassword($validValues); $store->changeUserPassword($userValues[$store->userIdAttr], $newPw); $html = new SimpleSAML_XHTML_Template($config, 'selfregister:lostPassword_complete.tpl.php', 'selfregister:selfregister');