%@ page class="UpdateUserPasswordPage" %> <%@ page baseClass="SessionHTTPRequestHandler" %> <%@ page ctorArg="Session*" %> <%@ header include="SessionHTTPRequestHandler.h" %> <%@ page compressed="true" %> <%! #include "../SingletonManager/SessionManager.h" #include "Poco/Net/HTTPCookie.h" %> <%% const char* pageName = "Passwort bestimmen"; auto user = mSession->getUser(); auto sm = SessionManager::getInstance(); auto uri_start = ServerConfig::g_serverPath; // remove old cookies if exist sm->deleteLoginCookies(request, response, mSession); // save login cookie, because maybe we've get an new session response.addCookie(mSession->getLoginCookie()); if(!form.empty()) { auto pwd = form.get("register-password", ""); if(pwd != "") { if(pwd != form.get("register-password2", "")) { mSession->addError(new Error("Passwort", "Passwörter sind nicht identisch.")); } else if(SessionManager::getInstance()->checkPwdValidation(pwd, mSession)) { if(user->setNewPassword(form.get("register-password"))) { //std::string referUri = request.get("Referer", uri_start + "/"); //printf("[updateUserPasswordPage] redirect to referUri: %s\n", referUri.data()); // I think we can savly assume that this session was loaded from verification code mSession->updateEmailVerification(mSession->getEmailVerificationCode()); mSession->getErrors(user); response.redirect(uri_start + "/passphrase"); return; } } } } getErrors(mSession); getErrors(user); %><%@ include file="header.cpsp" %>