diff --git a/src/cpp/HTTPInterface/CheckEmailPage.cpp b/src/cpp/HTTPInterface/CheckEmailPage.cpp index ef21375fd..c81957f3b 100644 --- a/src/cpp/HTTPInterface/CheckEmailPage.cpp +++ b/src/cpp/HTTPInterface/CheckEmailPage.cpp @@ -8,6 +8,7 @@ #line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" #include "../SingletonManager/SessionManager.h" +#include "../SingletonManager/LanguageManager.h" enum PageState { @@ -33,9 +34,29 @@ void CheckEmailPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: if (_compressResponse) response.set("Content-Encoding", "gzip"); Poco::Net::HTMLForm form(request, request.stream()); -#line 16 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" +#line 17 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" const char* pageName = "Email Verification"; + auto lm = LanguageManager::getInstance(); + + auto lang = chooseLanguage(request); + auto langCatalog = lm->getFreeCatalog(lang); + unsigned long long verificationCode = 0; + + if(!form.empty()) { + auto langBtn = form.get("lang-btn", ""); + auto verficationCodeStr = form.get("email-verification-code", "0"); + try { + verificationCode = stoull(verficationCodeStr); + } catch(...) { + verificationCode = 0; + } + auto updatedLang = LANG_NULL; + if(langBtn != "") { + lang = chooseLanguage(request, langBtn); + langCatalog = lm->getFreeCatalog(lang); + } + } // remove old cookies if exist auto sm = SessionManager::getInstance(); @@ -47,7 +68,10 @@ void CheckEmailPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: //state = MAIL_NOT_SEND; } } - + auto hasErrors = errorCount() > 0; + if(!verificationCode) { + verificationCode = getLastGetAsU64(request.getURI()); + } std::ostream& _responseStream = response.send(); Poco::DeflatingOutputStream _gzipStream(_responseStream, Poco::DeflatingStreamBuf::STREAM_GZIP, 1); @@ -64,59 +88,21 @@ void CheckEmailPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: #line 9 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" responseStream << ( pageName ); responseStream << "\n"; - responseStream << "\n"; responseStream << "\n"; - responseStream << "\n"; + responseStream << "css/loginServer/style.css\">\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "
\n"; responseStream << "\t

Login Server in Entwicklung

\n"; - responseStream << "\t

Alpha 0.6.0

\n"; + responseStream << "\t

Alpha 0.8.0

\n"; responseStream << "
\n"; responseStream << ""; // end include header.cpsp responseStream << "\n"; - responseStream << "
\n"; - responseStream << "\t\n"; - responseStream << "\t

Einen neuen Account anlegen

\n"; - responseStream << "\t"; -#line 35 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << " \n"; + responseStream << " \"logo\"\n"; + responseStream << " \n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << " "; +#line 68 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" responseStream << ( getErrorsHtml() ); responseStream << "\n"; - responseStream << "\t"; -#line 36 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" - if(state == MAIL_NOT_SEND) { responseStream << "\n"; - responseStream << "\t\t
\n"; - responseStream << "\t\t\t

Die E-Mail wurde noch nicht verschickt, bitte habe noch etwas Geduld.

\n"; - responseStream << "\t\t\t

Versuche es einfach in 1-2 Minuten erneut.

\n"; - responseStream << "\t\t
\n"; - responseStream << "\t"; -#line 41 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" - } else if(state == ASK_VERIFICATION_CODE) { responseStream << "\n"; - responseStream << "\t
\n"; - responseStream << "\t\t

Bitte gebe deinen E-Mail Verification Code ein.

\n"; - responseStream << "\t\t"; -#line 44 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" - if(mSession && !mSession->getUser().isNull()) { responseStream << "\n"; - responseStream << "\t\t\t

Er wurde an deine E-Mail Adresse: "; -#line 45 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" - responseStream << ( mSession->getUser()->getEmail() ); - responseStream << " gesendet.

\n"; - responseStream << "\t\t"; -#line 46 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" - } responseStream << "\n"; - responseStream << "\t\t\n"; - responseStream << "\t\t\n"; - responseStream << "\t\t

Du hast bisher keinen Code erhalten?

\n"; - responseStream << "\t\t

E-Mail erneut zuschicken (in Arbeit)

\n"; - responseStream << "\t
\n"; - responseStream << "\t"; -#line 52 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" - } else { responseStream << "\n"; - responseStream << "\t
\n"; - responseStream << "\t\t\tUngültige Seite, wenn du das siehst stimmt hier etwas nicht. Bitte wende dich an den Server-Admin. \n"; - responseStream << "\t\t
\n"; - responseStream << "\t"; -#line 56 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" - } responseStream << "\n"; - responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << " \n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << " \n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << " \n"; + responseStream << " gettext("Email Verification Code")); + responseStream << "\" "; +#line 93 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" + if(verificationCode) { responseStream << "value=\""; +#line 93 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" + responseStream << ( verificationCode ); + responseStream << "\" "; +#line 93 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" + } responseStream << ">\n"; + responseStream << "
\n"; + responseStream << " \n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << " \n"; + responseStream << "

\n"; + responseStream << "\t\t\t\t"; +#line 103 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" + responseStream << ( langCatalog->gettext("Funktioniert dein E-Mail Verification Code nicht?")); + responseStream << "
\n"; + responseStream << "\t\t\t\t"; +#line 104 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp" + responseStream << ( langCatalog->gettext("Schicke mir eine E-Mail und ich kümmere mich darum: ")); + responseStream << "
\n"; + responseStream << " E-Mail\n"; + responseStream << "\t\t\t

\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "

© Gradido 2019

\n"; + responseStream << "
\n"; + responseStream << "
\n"; // begin include footer.cpsp responseStream << "\t
\n"; responseStream << "\t\t\t"; diff --git a/src/cpp/HTTPInterface/ElopageWebhook.cpp b/src/cpp/HTTPInterface/ElopageWebhook.cpp index 02cac9291..dfd70a90c 100644 --- a/src/cpp/HTTPInterface/ElopageWebhook.cpp +++ b/src/cpp/HTTPInterface/ElopageWebhook.cpp @@ -2,6 +2,7 @@ #include "Poco/Net/HTTPServerRequest.h" #include "Poco/Net/HTTPServerResponse.h" #include "Poco/URI.h" +#include "Poco/Logger.h" #include "Poco/Data/Binding.h" using namespace Poco::Data::Keywords; @@ -102,7 +103,6 @@ void ElopageWebhook::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: return; } - // write stream result also to file static Poco::Mutex mutex; @@ -112,7 +112,9 @@ void ElopageWebhook::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: Poco::FileOutputStream file("elopage_webhook_requests.txt", std::ios::out | std::ios::app); if (!file.good()) { - printf("[ElopageWebhook::handleRequest] error creating file with name: elopage_webhook_requests.txt\n"); + Poco::Logger& logging(Poco::Logger::get("errorLog")); + logging.error("[ElopageWebhook::handleRequest] error creating file with name: elopage_webhook_requests.txt"); + //printf("[ElopageWebhook::handleRequest] error creating file with name: elopage_webhook_requests.txt\n"); mutex.unlock(); return; } @@ -172,6 +174,7 @@ void HandleElopageRequestTask::writeUserIntoDB() use(mEmail), use(mFirstName), use(mLastName); try { insert.execute(); + //printf("user written into db\n"); } catch (Poco::Exception& ex) { addError(new ParamError(__FUNCTION__, "mysql error", ex.displayText().data())); @@ -233,7 +236,7 @@ int HandleElopageRequestTask::run() std::cerr << __FUNCTION__ << "Unknown error" << '\n'; } std::string order_id = mRequestData.get("order_id", ""); - addError(new ParamError("HandleElopageRequestTask", "order_id", order_id.data())); + auto param_error_order_id = new ParamError("HandleElopageRequestTask", "order_id", order_id.data()); // only for product 36001 and 43741 create user accounts and send emails if (product_id == 36001 || product_id == 43741) { @@ -241,22 +244,25 @@ int HandleElopageRequestTask::run() mFirstName = mRequestData.get("payer[first_name]", ""); mLastName = mRequestData.get("payer[last_name]", ""); - printf("LastName: %s\n", mLastName.data()); + /* printf("LastName: %s\n", mLastName.data()); for (int i = 0; i < mLastName.size(); i++) { char c = mLastName.data()[i]; printf("%d ", c); } printf("\n\n"); + */ // validate input if (!validateInput()) { // if input is invalid we can stop now + addError(param_error_order_id); sendErrorsAsEmail(); return -1; } // if user exist we can stop now if (getUserIdFromDB()) { + addError(param_error_order_id); sendErrorsAsEmail(); return -2; } @@ -277,6 +283,7 @@ int HandleElopageRequestTask::run() // we didn't get a user_id, something went wrong if (!user_id) { addError(new Error("User loadEntryDBId", "user_id is zero")); + addError(param_error_order_id); sendErrorsAsEmail(); return -3; } @@ -288,6 +295,7 @@ int HandleElopageRequestTask::run() if (!emailVerification->getCode()) { // exit if email verification code is empty addError(new Error("Email verification", "code is empty, error in random?")); + addError(param_error_order_id); sendErrorsAsEmail(); return -4; } @@ -322,8 +330,10 @@ int HandleElopageRequestTask::run() // if errors occured, send via email if (errorCount() > 1) { + addError(param_error_order_id); sendErrorsAsEmail(); } + delete param_error_order_id; return 0; } \ No newline at end of file diff --git a/src/cpp/HTTPInterface/HandleFileRequest.h b/src/cpp/HTTPInterface/HandleFileRequest.h index dd5f99ea8..b11a3c721 100644 --- a/src/cpp/HTTPInterface/HandleFileRequest.h +++ b/src/cpp/HTTPInterface/HandleFileRequest.h @@ -9,6 +9,9 @@ class HandleFileRequest : public Poco::Net::HTTPRequestHandler { public: void handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response); + +protected: + }; diff --git a/src/cpp/HTTPInterface/LoginPage.cpp b/src/cpp/HTTPInterface/LoginPage.cpp index f32c53d40..32b797b36 100644 --- a/src/cpp/HTTPInterface/LoginPage.cpp +++ b/src/cpp/HTTPInterface/LoginPage.cpp @@ -136,7 +136,7 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net:: responseStream << "\n"; responseStream << "
\n"; responseStream << "\t

Login Server in Entwicklung

\n"; - responseStream << "\t

Alpha 0.7.0

\n"; + responseStream << "\t

Alpha 0.8.0

\n"; responseStream << "
\n"; responseStream << " +

+ <%= langCatalog->gettext("Funktioniert dein E-Mail Verification Code nicht?")%>
+ <%= langCatalog->gettext("Schicke mir eine E-Mail und ich kümmere mich darum: ")%>
+ E-Mail +

+
+ + + + + <%@ include file="footer.cpsp" %> diff --git a/src/cpsp/footer.cpsp b/src/cpsp/footer.cpsp index 42fcef91c..138607f4d 100644 --- a/src/cpsp/footer.cpsp +++ b/src/cpsp/footer.cpsp @@ -1,6 +1,5 @@
<%= mTimeProfiler.string() %>
- \ No newline at end of file diff --git a/src/cpsp/header.cpsp b/src/cpsp/header.cpsp index ed055b430..3fd21f9e1 100644 --- a/src/cpsp/header.cpsp +++ b/src/cpsp/header.cpsp @@ -12,7 +12,7 @@

Login Server in Entwicklung

-

Alpha 0.7.0

+

Alpha 0.8.0