#include "RegisterDirectPage.h" #include "Poco/Net/HTTPServerRequest.h" #include "Poco/Net/HTTPServerResponse.h" #include "Poco/Net/HTMLForm.h" #include "Poco/DeflatingStream.h" #line 6 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\registerDirect.cpsp" #include "../SingletonManager/SessionManager.h" #include "../controller/Group.h" #include "../lib/DataTypeConverter.h" #include "Poco/Net/HTTPCookie.h" #line 1 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" #include "../ServerConfig.h" void RegisterDirectPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response) { response.setChunkedTransferEncoding(true); response.setContentType("text/html"); bool _compressResponse(request.hasToken("Accept-Encoding", "gzip")); if (_compressResponse) response.set("Content-Encoding", "gzip"); Poco::Net::HTMLForm form(request, request.stream()); #line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\registerDirect.cpsp" const char* pageName = "Registrieren"; auto sm = SessionManager::getInstance(); bool userReturned = false; if(!form.empty()) { if(form.get("register-password2", "") != form.get("register-password", "")) { addError(new Error("Passwort", "Passwörter sind nicht identisch."), false); } else { auto session = sm->getSession(request); if(!session) { session = sm->getNewSession(); auto user_host = request.clientAddress().host(); session->setClientIp(user_host); response.addCookie(session->getLoginCookie()); } userReturned = session->createUserDirect( form.get("register-first-name", ""), form.get("register-last-name", ""), form.get("register-email", ""), form.get("register-password", "") ); getErrors(session); if(!errorCount()) { auto user_host = request.clientAddress().host(); session->setClientIp(user_host); response.addCookie(session->getLoginCookie()); response.redirect(ServerConfig::g_serverPath + "/userUpdateGroup"); return; } } } else { // on enter login page with empty form // remove old cookies if exist sm->deleteLoginCookies(request, response); } #line 3 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" bool withMaterialIcons = false; std::ostream& _responseStream = response.send(); Poco::DeflatingOutputStream _gzipStream(_responseStream, Poco::DeflatingStreamBuf::STREAM_GZIP, 1); std::ostream& responseStream = _compressResponse ? _gzipStream : _responseStream; responseStream << "\n"; // begin include header.cpsp responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "
\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "Copyright © Gradido 2020
\n"; responseStream << "Login Server in Entwicklung
\n"; responseStream << "Alpha "; #line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp" responseStream << ( ServerConfig::g_versionString ); responseStream << "
\n"; responseStream << "