update german passphrase, adding texte for passphrase page, update style and translation system

This commit is contained in:
Dario 2020-02-25 13:31:51 +01:00
parent c72b37c7e9
commit 8a0bafcffc
18 changed files with 585 additions and 269 deletions

View File

@ -1,2 +1,2 @@
#!/bin/bash
xgettext -D src/cpp -p src/LOCALE -o messages.pot --files-from=files_to_translate.txt
xgettext -D src/cpp -p src/LOCALE -o messages.pot --from-code=UTF-8 --files-from=files_to_translate.txt

View File

@ -1,6 +1,7 @@
HTTPInterface/LoginPage.cpp
HTTPInterface/CheckEmailPage.cpp
HTTPInterface/ResetPassword.cpp
HTTPInterface/PassphrasePage.cpp
model/Session.cpp
model/Email/Email.cpp
model/Email/EmailCustomReply.cpp

Binary file not shown.

View File

@ -7,66 +7,81 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-06 15:18+0100\n"
"PO-Revision-Date: 2020-01-06 15:22+0100\n"
"POT-Creation-Date: 2020-02-25 09:44+0100\n"
"PO-Revision-Date: 2020-02-25 09:50+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.4\n"
"X-Generator: Poedit 2.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:77
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:93
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:85
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:124
msgid "Login"
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:77
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:85
msgid "E-Mail or password isn't right, please try again!"
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:80
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:88
msgid "Passwort"
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:88
msgid ""
"Passwort wird noch berechnet, bitte versuche es in etwa 1 Minute erneut."
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:91
msgid "Account"
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:80
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:91
msgid "E-Mail Address not checked, do you already get one?"
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:93
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:124
msgid "Username and password are needed!"
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:160
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:43
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:47
#: model/Session.cpp:158 model/Session.cpp:183
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:175
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:50
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:54
#: model/Session.cpp:157 model/Session.cpp:164 model/Session.cpp:203
#: model/Session.cpp:228
msgid "E-Mail"
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:163
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:178
msgid "Password"
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:165
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:180
msgid " Login "
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:167
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:182
msgid "You haven't any account yet? Please follow the link to create one."
msgstr "Don't have an account yet?"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:168
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:183
msgid "Create New Account"
msgstr "Sign Up"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:186
msgid "Passwort vergessen"
msgstr "Reset Password"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:97
msgid "Bitte gebe deinen E-Mail Verification Code ein:"
msgstr "Please enter your E-Mail Verification Code:"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:98
#: model/Session.cpp:180
msgid "Email Verification Code"
msgstr ""
@ -91,119 +106,300 @@ msgid "Schicke uns eine E-Mail und wir kümmern uns darum: "
msgstr "Send us a E-Mail and we take care of it:"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:110
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:133
msgid "E-Mail an Support schicken"
msgstr "Send E-Mail to support"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:43
msgid "E-Mail Adresse nicht gefunden werden oder ist nicht aktiviert."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:50
msgid "E-Mail Adresse konnte nicht gefunden werden oder ist nicht aktiviert."
msgstr "E-Mail not found or not activated."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:47
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:54
msgid "E-Mail Adresse nicht angegeben."
msgstr "Please give your E-Mail Address."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:52
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:63
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:59
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:74
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:22
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:123
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:182
#: model/Session.cpp:485 model/Session.cpp:494 model/Session.cpp:502
msgid "Passphrase"
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:52
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:59
msgid "Bitte wähle eine Option aus."
msgstr "Please choose one Option."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:63
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:74
msgid "Ungültige Option"
msgstr "Invalid option"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:111
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:107
msgid "Gebe bitte hier deine E-Mail Adresse an:"
msgstr "Please enter a valid email."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:113
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:109
msgid "Hast du dir deine Passphrase notiert oder gemerkt?"
msgstr "Do you memorized your passphrase?"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:117
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:113
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:162
msgid "Ja"
msgstr "Yes"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:122
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:118
msgid "Nein"
msgstr "No"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:127
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:123
msgid "Absenden"
msgstr "Send"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:131
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:127
msgid "Dir wird eine E-Mail zugeschickt um dein Passwort zurückzusetzen."
msgstr "You get an E-Mail to reset your password."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:133
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:129
msgid "Der Admin hat eine E-Mail bekommen und wird sich bei dir melden."
msgstr "The Admin get an E-Mail, wait on his replay."
#: model/Session.cpp:150
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:131
msgid ""
"Du hast bereits eine E-Mail bekommen. Bitte schau auch in dein Spam-"
"Verzeichnis nach. "
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:132
msgid ""
"Du hast wirklich keine E-Mail erhalten und auch schon ein paar Minuten "
"gewartet?"
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:23
msgid "Neues Konto anlegen"
msgstr "Create new Account"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:24
msgid "3/3"
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:98
msgid "2/3"
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:101
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:104
msgid "1/3"
msgstr ""
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:103
msgid "Neues Passwort anlegen"
msgstr "Create new Password"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:119
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:154
msgid "Was zu tun ist:"
msgstr "What to do:"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:120
msgid ""
"Schreibe dir deine Passphrase auf und packe sie gut weg. Du brauchst sie um "
"deine Adresse wiederherzustellen. Wenn du sie verlierst, sind auch deine "
"Gradidos verloren."
msgstr ""
"Write down your passphrase and put it away well. You need it to restore "
"your address. If you lose them, your Gradidos are lost too."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:127
msgid "Was ist eine Passphrase?"
msgstr "What is a passphrase?"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:128
msgid ""
"Die Passphrase kommt aus dem Crypto-Bereich und ist ein Weg einen "
"komplizierte kryptografischen Schlüssel in einer lesbaren Form darzustellen."
msgstr ""
"The passphrase comes from the crypto area and is a way to represent a "
"complicated cryptographic key in a legible form."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:129
msgid ""
"Der neue Gradido basiert technisch auf einer Kryptowährung (wie z.B. "
"Bitcoin) um maximale Sicherheit zu erreichen."
msgstr ""
"The new Gradido is technically based on a cryptocurrency (such as Bitcoin) "
"to achieve maximum security."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:131
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:210
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:215
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:228
msgid "Weiter"
msgstr "Next"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:155
msgid "Hast du dir deine Passphrase gemerkt?"
msgstr "Do you memorized your passphrase?"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:156
msgid ""
"Dann zeig es mir. Zur Unterstützung gebe ich dir deine Wörter aber in "
"anderer Reihenfolge."
msgstr ""
"Then show me. I will give you your words in a different order as support."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:157
msgid "Klicke sie an um sie einzusetzen."
msgstr "Click on it to use it."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:161
msgid ""
"Weil du kein Javascript verwendest geht es direkt weiter. Hast du dir deine "
"Passphrase gemerkt oder aufgeschrieben?"
msgstr ""
"Because you don't use javascript it goes straight on. Did you remember or "
"write down your passphrase?"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:183
msgid "Deine E-Mail Adresse wurde erfolgreich bestätigt."
msgstr "Your email address has been successfully confirmed."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:187
msgid "Neue Gradido Adresse anlegen / wiederherstellen"
msgstr "Create / restore new Gradido address"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:188
msgid ""
"Möchtest Du ein bestehendes* Gradido-Konto wiederherstellen oder ein neues "
"anlegen?"
msgstr ""
"Do you want to restore an existing * Gradido account or create a new one?"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:189
msgid "*Das Konto muss nach dem 01.09.2019 angelegt worden sein."
msgstr "* The account must have been created after September 1st, 2019."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:197
msgid "Nein, bitte ein neues erstellen!"
msgstr "No, please create a new one!"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:204
msgid "Ja, bitte wiederherstellen!"
msgstr "Yes, please restore !!"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:223
msgid "Konto wiederherstellen / Neues Passwort anlegen"
msgstr "Restore account / create new password"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:224
msgid ""
"Um dein Konto wiederherzustellen, dir ein Neues Passwort auswählen zu "
"können, tippe hier bitte die Wörter deiner Passphrase in der richtigen "
"Reihenfolge ein, welche du dir aufgeschrieben hast."
msgstr ""
"To restore your account and to be able to choose a new password, please "
"type in the words of your passphrase in the correct order, which you have "
"written down."
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:238
msgid "Fehler"
msgstr "Erro"
#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:239
msgid ""
"Ungültige Seite, wenn du das siehst stimmt hier etwas nicht. Bitte wende "
"dich an den Server-Admin."
msgstr ""
"Invalid page, if you see that something is wrong here. Please contact the "
"server admin."
#: model/Session.cpp:143 model/Session.cpp:174 model/Session.cpp:687
#: model/Session.cpp:693 model/Session.cpp:953
msgid "Benutzer"
msgstr "User"
#: model/Session.cpp:143
msgid "Eingeloggter Benutzer ist kein Admin"
msgstr "Logged in user is not admin"
#: model/Session.cpp:149 model/Session.cpp:195
msgid "Vorname"
msgstr "Firstname"
#: model/Session.cpp:150 model/Session.cpp:154
#: model/Session.cpp:149 model/Session.cpp:153 model/Session.cpp:195
#: model/Session.cpp:199
msgid ""
"Bitte gebe einen Namen an. Mindestens 3 Zeichen, keines folgender Zeichen "
"<>&;"
msgstr "Please enter your Name. At least 3 Character, without <>& and ;"
#: model/Session.cpp:154
#: model/Session.cpp:153 model/Session.cpp:199
msgid "Nachname"
msgstr "Lastname"
#: model/Session.cpp:158
#: model/Session.cpp:157 model/Session.cpp:203
msgid "Bitte gebe eine g&uuml;ltige E-Mail Adresse an."
msgstr "Please enter a valid email."
#: model/Session.cpp:183
#: model/Session.cpp:164 model/Session.cpp:228
msgid "F&uuml;r diese E-Mail Adresse gibt es bereits einen Account"
msgstr "This email has an account already."
#: model/Session.cpp:318 model/Session.cpp:323 model/Session.cpp:375
#: model/Session.cpp:718
#: model/Session.cpp:174 model/Session.cpp:180
msgid "Fehler beim speichern!"
msgstr ""
#: model/Session.cpp:373 model/Session.cpp:432 model/Session.cpp:835
#: model/Session.cpp:843
msgid "E-Mail Verification"
msgstr ""
#: model/Session.cpp:318
#: model/Session.cpp:373
msgid "Du hast dein Konto bereits aktiviert!"
msgstr "You already activated your account!"
#: model/Session.cpp:323
msgid ""
"Der Code stimmt nicht, bitte &uuml;berpr&uuml;fe ihn nochmal oder "
"registriere dich erneut oder wende dich an den Server-Admin"
msgstr ""
"The email verification code isn't correct. Please check at spell errors and "
"try again or ask the server admin."
#: model/Session.cpp:375
#: model/Session.cpp:432
msgid "Falscher Code f&uuml;r aktiven Login"
msgstr "Wrong Code for active Login."
#: model/Session.cpp:572 model/Session.cpp:578 model/Session.cpp:834
msgid "Benutzer"
msgstr "User"
#: model/Session.cpp:485
msgid "Deine Passphrase ist ung&uuml;tig"
msgstr ""
#: model/Session.cpp:572
#: model/Session.cpp:494
msgid "Ein Fehler trat auf, bitte versuche es erneut"
msgstr ""
#: model/Session.cpp:502
msgid "Das ist nicht die richtige Passphrase."
msgstr "This is not the correct passphrase."
#: model/Session.cpp:687
msgid "Konnte Community Server nicht erreichen. E-Mail an den Admin ist raus."
msgstr "Couldn't connect to the community server, send E-Mail to admin."
#: model/Session.cpp:578
#: model/Session.cpp:693
msgid ""
"Fehler beim L&ouml;schen des Accounts. Bitte logge dich erneut ein und "
"versuche es nochmal."
msgstr "Error by deleting the account. Please re-login and try again."
#: model/Session.cpp:718
msgid "Konnte keinen passenden Account finden."
#: model/Session.cpp:835
msgid "Konnte kein passendes Konto finden."
msgstr "This Account didn't seem to exist."
#: model/Session.cpp:834
#: model/Session.cpp:843
msgid "Fehler beim laden des Benutzers."
msgstr ""
#: model/Session.cpp:953
msgid "Kein g&uuml;ltiger Benutzer, bitte logge dich erneut ein."
msgstr "Invalid User, please re-login."
#~ msgid ""
#~ "Der Code stimmt nicht, bitte &uuml;berpr&uuml;fe ihn nochmal oder "
#~ "registriere dich erneut oder wende dich an den Server-Admin"
#~ msgstr ""
#~ "The email verification code isn't correct. Please check at spell errors "
#~ "and try again or ask the server admin."

View File

@ -97,6 +97,7 @@ int Mnemonic::init(void(*fill_words_func)(unsigned char*), unsigned int original
}
//printf("c[Mnemonic::%s] before freeing buffer \n", __FUNCTION__);
free(buffer);
return -5;
}

File diff suppressed because one or more lines are too long

View File

@ -43,6 +43,7 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
auto em = ErrorManager::getInstance();
auto lang = chooseLanguage(request);
printf("choose language return: %d\n", lang);
auto langCatalog = lm->getFreeCatalog(lang);
std::string presetEmail("");
@ -52,7 +53,11 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
if(!form.empty()) {
bool langUpdatedByBtn = false;
auto langBtn = form.get("lang-btn", "");
auto langBtn = form.get("lang", "");
if(langBtn != "") {
langUpdatedByBtn = true;
}
/*
auto langInput = form.get("lang", "");
auto updatedLang = LANG_NULL;
if(langBtn != "") {
@ -66,7 +71,7 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
lang = updatedLang;
langCatalog = lm->getFreeCatalog(lang);
}
*/
auto email = form.get("login-email", "");
auto password = form.get("login-password", "");
@ -151,6 +156,9 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
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;
@ -163,19 +171,27 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
responseStream << "<meta charset=\"UTF-8\">\n";
responseStream << "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n";
responseStream << "<title>Gradido Login Server: ";
#line 9 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
#line 11 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
responseStream << ( pageName );
responseStream << "</title>\n";
responseStream << "<link rel=\"stylesheet\" type=\"text/css\" href=\"";
#line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
#line 12 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "css/loginServer/style.css\">\n";
#line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
if(withMaterialIcons) { responseStream << "\n";
responseStream << "<link rel=\"stylesheet\" type=\"text/css\" href=\"";
#line 14 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "css/materialdesignicons.min.css\">\n";
#line 15 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
} responseStream << "\n";
responseStream << "</head>\n";
responseStream << "<body class=\"header-fixed\">\n";
responseStream << "<div class=\"versionstring dev-info\">\n";
responseStream << "\t<p class=\"grd_small\">Login Server in Entwicklung</p>\n";
responseStream << "\t<p class=\"grd_small\">Alpha ";
#line 15 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
#line 20 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
responseStream << ( ServerConfig::g_versionString );
responseStream << "</p>\n";
responseStream << "</div>\n";
@ -183,7 +199,7 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
responseStream << "\t<div class=\"grd-left-bar-section\">\n";
responseStream << "\t\t<ul class=\"grd-no-style\">\n";
responseStream << "\t\t <li><a href=\"";
#line 20 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
#line 25 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "\" class=\"grd-nav-bn\">Startseite</a>\n";
responseStream << "\t\t <li><a href=\"./account/logout\" class=\"grd-nav-bn\">Logout</a></li>\n";
@ -206,20 +222,20 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
responseStream << " <div class=\"row\">\n";
responseStream << " <div class=\"col-12 logo-section\">\n";
responseStream << " <a href=\"";
#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
#line 152 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "\" class=\"logo\">\n";
responseStream << "\t\t\t<picture>\n";
responseStream << "\t\t\t\t<source srcset=\"";
#line 149 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
#line 154 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "img/logo_schrift.webp\" type=\"image/webp\">\n";
responseStream << "\t\t\t\t<source srcset=\"";
#line 150 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
#line 155 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "img/logo_schrift.png\" type=\"image/png\"> \n";
responseStream << "\t\t\t\t<img src=\"";
#line 151 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
#line 156 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "img/logo_schrift.png\" alt=\"logo\" />\n";
responseStream << "\t\t\t</picture>\n";
@ -231,92 +247,99 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
responseStream << " <div class=\"grid\">\n";
responseStream << "\t\t\t<div class=\"center-ul-container\">\n";
responseStream << "\t\t\t\t";
#line 160 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
#line 165 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( getErrorsHtml() );
responseStream << "\t \n";
responseStream << "\t\t\t</div>\n";
responseStream << " <div class=\"grid-body\">\n";
responseStream << " <form action=\"";
#line 163 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << " \n";
responseStream << "\t\t\t <!--<input type=\"hidden\" name=\"lang\" value=\"";
#line 169 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( LanguageManager::keyForLanguage(lang) );
responseStream << "\">-->\n";
responseStream << "\t\t\t ";
// begin include flags.cpsp
responseStream << "<form method=\"GET\" action=\"\">\n";
responseStream << "\t<div class=\"row pull-right-row\">\n";
responseStream << "\t <div class=\"equel-grid pull-right\">\n";
responseStream << "\t\t<div class=\"grid-body-small text-center\">\n";
responseStream << "\t\t\t<button id=\"flag-england\" name=\"lang\" value=\"en\" title=\"English\" type=\"submit\" ";
#line 5 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
if(lang != LANG_EN) { responseStream << "class=\"btn btn-outline-secondary flag-btn\"";
#line 5 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
}
else { responseStream << "class=\"btn btn-secondary disabled flag-btn\" disabled";
#line 6 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
} responseStream << ">\n";
responseStream << "\t\t\t <span class=\"flag-england\"></span>\n";
responseStream << "\t\t\t</button>\n";
responseStream << "\t\t</div>\n";
responseStream << "\t </div>\n";
responseStream << "\t <div class=\"equel-grid pull-right\">\n";
responseStream << "\t\t<div class=\"grid-body-small text-center\">\n";
responseStream << "\t\t\t<button id=\"flag-germany\" name=\"lang\" value=\"de\" title=\"Deutsch\" type=\"submit\" ";
#line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
if(lang != LANG_DE) { responseStream << "class=\"btn btn-outline-secondary flag-btn\"";
#line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
}
else { responseStream << "class=\"btn btn-secondary disabled flag-btn\" disabled";
#line 14 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
} responseStream << ">\n";
responseStream << "\t\t\t <span class=\"flag-germany\"></span>\n";
responseStream << "\t\t\t</button>\n";
responseStream << "\t\t</div>\n";
responseStream << "\t </div>\n";
responseStream << "\t</div>\n";
responseStream << "</form>";
// end include flags.cpsp
responseStream << "\n";
responseStream << "\t\t\t <form action=\"";
#line 171 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( ServerConfig::g_serverPath );
responseStream << "/\" method=\"POST\">\n";
responseStream << "\t\t\t <input type=\"hidden\" name=\"lang\" value=\"";
#line 164 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( LanguageManager::keyForLanguage(lang) );
responseStream << "\">\n";
responseStream << " <div class=\"row pull-right-row\">\n";
responseStream << " <div class=\"equel-grid pull-right\">\n";
responseStream << " <div class=\"grid-body-small text-center\">\n";
responseStream << " <button id=\"flag-england\" name=\"lang-btn\" value=\"en\" title=\"English\" type=\"submit\" ";
#line 168 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
if(lang != LANG_EN) { responseStream << "class=\"btn btn-outline-secondary flag-btn\"";
#line 168 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
}
else { responseStream << "class=\"btn btn-secondary disabled flag-btn\" disabled";
#line 169 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
} responseStream << ">\n";
responseStream << " <span class=\"flag-england\"></span>\n";
responseStream << " </button>\n";
responseStream << " </div>\n";
responseStream << " </div>\n";
responseStream << " <div class=\"equel-grid pull-right\">\n";
responseStream << " <div class=\"grid-body-small text-center\">\n";
responseStream << " <button id=\"flag-germany\" name=\"lang-btn\" value=\"de\" title=\"Deutsch\" type=\"submit\" ";
#line 176 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
if(lang != LANG_DE) { responseStream << "class=\"btn btn-outline-secondary flag-btn\"";
#line 176 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
}
else { responseStream << "class=\"btn btn-secondary disabled flag-btn\" disabled";
#line 177 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
} responseStream << ">\n";
responseStream << " <span class=\"flag-germany\"></span>\n";
responseStream << " </button>\n";
responseStream << " </div>\n";
responseStream << " </div>\n";
responseStream << " </div>\n";
responseStream << " <div class=\"row display-block\">\n";
responseStream << " <div class=\"col-lg-7 col-md-8 col-sm-9 col-12 mx-auto form-wrapper\">\n";
responseStream << " <div class=\"form-group input-rounded\">\n";
responseStream << " <input type=\"text\" class=\"form-control\" name=\"login-email\" placeholder=\"";
#line 186 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
#line 175 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( langCatalog->gettext("E-Mail") );
responseStream << "\" value=\"";
#line 186 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
#line 175 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( presetEmail );
responseStream << "\"/>\n";
responseStream << " </div>\n";
responseStream << " <div class=\"form-group input-rounded\">\n";
responseStream << " <input type=\"password\" class=\"form-control\" name=\"login-password\" placeholder=\"";
#line 189 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
#line 178 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( langCatalog->gettext("Password") );
responseStream << "\" />\n";
responseStream << " </div>\n";
responseStream << " <button type=\"submit\" name=\"submit\" class=\"btn btn-primary btn-block\">";
#line 191 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
#line 180 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( langCatalog->gettext(" Login ") );
responseStream << "</button>\n";
responseStream << " <div class=\"signup-link\">\n";
responseStream << " <p>";
#line 193 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
#line 182 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( langCatalog->gettext("You haven't any account yet? Please follow the link to create one.") );
responseStream << "</p>\n";
responseStream << " <a href=\"https://gradido.com\">";
#line 194 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
#line 183 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( langCatalog->gettext("Create New Account") );
responseStream << "</a>\n";
responseStream << " </div>\n";
responseStream << "\t\t\t\t\t<div class=\"reset-pwd-link\">\n";
responseStream << "\t\t\t\t\t\t<a href=\"";
#line 197 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
#line 186 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( ServerConfig::g_serverPath );
responseStream << "/resetPassword\">";
#line 197 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
#line 186 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
responseStream << ( langCatalog->gettext("Passwort vergessen") );
responseStream << "</a>\n";
responseStream << "\t\t\t\t\t</div>\n";
responseStream << " </div>\n";
responseStream << " </div>\n";
responseStream << " </form>\n";
responseStream << "\t\t\t </form>\n";
responseStream << " </div>\n";
responseStream << " </div>\n";
responseStream << " </div>\n";

View File

@ -6,7 +6,7 @@
//const Poco::RegularExpression PageRequestMessagedHandler::mDetectLanguageGET("^(?:/[a-zA-Z0-9_-]*)?/(en|de)");
// detect also lang field from form get
const Poco::RegularExpression PageRequestMessagedHandler::mDetectLanguageGET("^(?:/[a-zA-Z0-9_-]*)?(?:/(en|de)|\\?.*lang=(en|de))");
const Poco::RegularExpression PageRequestMessagedHandler::mDetectLanguageGET("^(?:/[a-zA-Z0-9/_-]*)?(?:/(en|de)|\\?.*lang=(en|de))");
Languages PageRequestMessagedHandler::chooseLanguage(Poco::Net::HTTPServerRequest& request, std::string lang_btn /*= ""*/)
{
@ -20,6 +20,9 @@ Languages PageRequestMessagedHandler::chooseLanguage(Poco::Net::HTTPServerReques
//std::string lang_str;
mDetectLanguageGET.split(uri, matches);
if (matches.size() > 0) {
//for (auto it = matches.begin(); it != matches.end(); it++) {
// printf("Matches: %s\n", it->data());
//}
lang = LanguageManager::languageFromString(matches[matches.size()-1]);
}
else {

View File

@ -23,7 +23,7 @@ protected:
static const Poco::RegularExpression mDetectLanguageGET;
inline const char* gettext(Session* session, const char* text) { if (!session || !session->getLanguageCatalog()) return text; return session->getLanguageCatalog()->gettext(text); }
Languages chooseLanguage(Poco::Net::HTTPServerRequest& request, std::string lang_btn = "");
virtual Languages chooseLanguage(Poco::Net::HTTPServerRequest& request, std::string lang_btn = "");
unsigned long long getLastGetAsU64(const std::string& uri);

View File

@ -8,6 +8,7 @@
#line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#include "../SingletonManager/SessionManager.h"
#include "../SingletonManager/LanguageManager.h"
#include "../Crypto/KeyPair.h"
#include "../ServerConfig.h"
//#include "Poco/Net/HTTPServerParams.h"
@ -38,18 +39,28 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
if (_compressResponse) response.set("Content-Encoding", "gzip");
Poco::Net::HTMLForm form(request, request.stream());
#line 21 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 22 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
chooseLanguage(request);
const char* pageName = gettext("Passphrase");
std::string pageTitle = gettext("Ein neues Konto anlegen");
std::string pageSubtitle = gettext("Passphrase");
std::string pageTitle = gettext("Neues Konto anlegen");
std::string pageSubtitle = gettext("2/3");
PageState state = PAGE_ASK_PASSPHRASE;
// variable needed for flags
auto lang = mSession->getLanguage();
auto sm = SessionManager::getInstance();
auto lm = LanguageManager::getInstance();
auto uri_start = ServerConfig::g_serverPath;//request.serverParams().getServerName();
//Mnemonic* wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER];
Mnemonic* wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER];
Mnemonic* wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER];
if(lang == LANG_DE) {
wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER];
}
// remove old cookies if exist
sm->deleteLoginCookies(request, response, mSession);
@ -64,6 +75,7 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
auto btnNext = form.get("nextEnsure", "");
auto btnChecked = form.get("btnChecked", "");
auto langBtn = form.get("lang", "");
if(btnChecked != "") {
mSession->updateState(SESSION_STATE_PASSPHRASE_SHOWN);
@ -73,7 +85,7 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
if(btnNext != "") {
state = PAGE_ASK_ENSURE_PASSPHRASE;
} else {
} else if(langBtn == "") {
auto registerKeyChoice = form.get("passphrase", "no");
std::string oldPassphrase = "";
if (registerKeyChoice == "no") {
@ -107,25 +119,39 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
}
}
}
// double check passphrase
auto passphrase = mSession->getPassphrase();
auto langWordSource = wordSource;
if("" != passphrase && !User::validatePassphrase(passphrase, &wordSource)) {
addError(new Error(gettext("Intern error"), gettext("Invalid Passphrase")));
addError(new ParamError(gettext("Passphrase"), gettext("Passphrase"), passphrase.data()));
//response.redirect(ServerConfig::g_serverPath + "/error500");
//return;
}
if(wordSource != langWordSource) {
mSession->generatePassphrase();
User::validatePassphrase(passphrase, &wordSource);
}
if(mSession->getSessionState() == SESSION_STATE_PASSPHRASE_GENERATED && state != PAGE_ASK_ENSURE_PASSPHRASE) {
state = PAGE_SHOW_PASSPHRASE;
//mSession->updateState(SESSION_STATE_PASSPHRASE_SHOWN);
}
if(state == PAGE_ASK_ENSURE_PASSPHRASE) {
pageSubtitle = gettext("Passphrase überprüfen");
pageSubtitle = gettext("3/3");
}
else if(state == PAGE_ASK_PASSPHRASE) {
pageSubtitle = gettext("Passphrase erfragen");
pageSubtitle = gettext("1/3");
} else if(state == PAGE_FORCE_ASK_PASSPHRASE) {
pageTitle = gettext("Neues Passwort anlegen");
pageSubtitle = gettext("Passphrase erfragen");
pageSubtitle = gettext("1/3");
}
getErrors(mSession);
#line 3 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
bool withMaterialIcons = false;
#line 104 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 130 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
withMaterialIcons = true; std::ostream& _responseStream = response.send();
Poco::DeflatingOutputStream _gzipStream(_responseStream, Poco::DeflatingStreamBuf::STREAM_GZIP, 1);
std::ostream& responseStream = _compressResponse ? _gzipStream : _responseStream;
@ -211,97 +237,112 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
responseStream << " </div>\n";
responseStream << " <div class=\"grid-body\">";
// end include login_header.cpsp
responseStream << "\n";
#line 131 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
if(state == PAGE_ASK_ENSURE_PASSPHRASE) { responseStream << "<div style=\"display:none\"> ";
#line 131 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
} responseStream << "\n";
responseStream << "\t";
// begin include flags.cpsp
responseStream << "<div class=\"row pull-right-row\">\n";
responseStream << " <div class=\"equel-grid pull-right\">\n";
responseStream << "\t<div class=\"grid-body-small text-center\">\n";
responseStream << "\t\t<button id=\"flag-england\" name=\"lang\" value=\"en\" title=\"English\" type=\"submit\" ";
#line 4 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
if(lang != LANG_EN) { responseStream << "class=\"btn btn-outline-secondary flag-btn\"";
#line 4 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
}
else { responseStream << "class=\"btn btn-secondary disabled flag-btn\" disabled";
responseStream << "<form method=\"GET\" action=\"\">\n";
responseStream << "\t<div class=\"row pull-right-row\">\n";
responseStream << "\t <div class=\"equel-grid pull-right\">\n";
responseStream << "\t\t<div class=\"grid-body-small text-center\">\n";
responseStream << "\t\t\t<button id=\"flag-england\" name=\"lang\" value=\"en\" title=\"English\" type=\"submit\" ";
#line 5 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
if(lang != LANG_EN) { responseStream << "class=\"btn btn-outline-secondary flag-btn\"";
#line 5 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
} responseStream << ">\n";
responseStream << "\t\t <span class=\"flag-england\"></span>\n";
responseStream << "\t\t</button>\n";
responseStream << "\t</div>\n";
responseStream << " </div>\n";
responseStream << " <div class=\"equel-grid pull-right\">\n";
responseStream << "\t<div class=\"grid-body-small text-center\">\n";
responseStream << "\t\t<button id=\"flag-germany\" name=\"lang\" value=\"de\" title=\"Deutsch\" type=\"submit\" ";
#line 12 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
if(lang != LANG_DE) { responseStream << "class=\"btn btn-outline-secondary flag-btn\"";
#line 12 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
}
else { responseStream << "class=\"btn btn-secondary disabled flag-btn\" disabled";
#line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
else { responseStream << "class=\"btn btn-secondary disabled flag-btn\" disabled";
#line 6 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
} responseStream << ">\n";
responseStream << "\t\t <span class=\"flag-germany\"></span>\n";
responseStream << "\t\t</button>\n";
responseStream << "\t\t\t <span class=\"flag-england\"></span>\n";
responseStream << "\t\t\t</button>\n";
responseStream << "\t\t</div>\n";
responseStream << "\t </div>\n";
responseStream << "\t <div class=\"equel-grid pull-right\">\n";
responseStream << "\t\t<div class=\"grid-body-small text-center\">\n";
responseStream << "\t\t\t<button id=\"flag-germany\" name=\"lang\" value=\"de\" title=\"Deutsch\" type=\"submit\" ";
#line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
if(lang != LANG_DE) { responseStream << "class=\"btn btn-outline-secondary flag-btn\"";
#line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
}
else { responseStream << "class=\"btn btn-secondary disabled flag-btn\" disabled";
#line 14 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\flags.cpsp"
} responseStream << ">\n";
responseStream << "\t\t\t <span class=\"flag-germany\"></span>\n";
responseStream << "\t\t\t</button>\n";
responseStream << "\t\t</div>\n";
responseStream << "\t </div>\n";
responseStream << "\t</div>\n";
responseStream << " </div>\n";
responseStream << "</div>";
responseStream << "</form>";
// end include flags.cpsp
responseStream << "\n";
responseStream << "<div class=\"row mb-3\">\n";
responseStream << "\t<h2>";
#line 106 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 133 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
if(state == PAGE_ASK_ENSURE_PASSPHRASE) { responseStream << "</div> ";
#line 133 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
} responseStream << "\n";
responseStream << "<div class=\"row mb-3\" ";
#line 134 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
if(state != PAGE_ASK_ENSURE_PASSPHRASE) { responseStream << " style=\"margin-top:70px;\" ";
#line 134 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
} responseStream << ">\n";
responseStream << "\t<h2 class=\"mx-auto\">";
#line 135 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( pageTitle );
responseStream << "</h2>\n";
responseStream << "\t<h3 class=\"mx-auto\">";
#line 107 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ": ";
#line 135 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( pageSubtitle );
responseStream << "</h3>\n";
responseStream << "</h2>\n";
responseStream << "</div>\n";
responseStream << "<div class=\"item-wrapper\">\n";
responseStream << "\t<div class=\"row mb-3\">\n";
responseStream << "\t";
#line 111 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 139 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
if(state == PAGE_SHOW_PASSPHRASE) { responseStream << "\n";
responseStream << "\t <div class=\"col-md-10 mx-auto\">\n";
responseStream << "\t\t<div class=\"form-group row showcase_row_area\">\n";
responseStream << "\t\t\t<form method=\"POST\" action=\"";
#line 114 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 142 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( uri_start );
responseStream << "/passphrase\">\n";
responseStream << "\t\t\t <div class=\"col-md-12 col-lg-12 \">\n";
responseStream << "\t\t\t\t<div class=\"alert alert-orange\">\n";
responseStream << "\t\t\t\t <h5 class=\"alert-heading\">";
#line 117 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 145 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Was zu tun ist:") );
responseStream << "</h5>\n";
responseStream << "\t\t\t\t <p>";
#line 118 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 146 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Schreibe dir deine Passphrase auf und packe sie gut weg. Du brauchst sie um deine Adresse wiederherzustellen. Wenn du sie verlierst, sind auch deine Gradidos verloren.") );
responseStream << "</p>\n";
responseStream << "\t\t\t\t</div>\n";
responseStream << "\t\t\t\t<div class=\"col-lg-8 col-md-10 mx-auto alert alert-primary\" style=\"text-align:center\">\n";
responseStream << "\t\t\t\t<div class=\"col-lg-12 col-md-12 mx-auto alert alert-primary\" style=\"text-align:center\">\n";
responseStream << "\t\t\t\t <h5 class=\"alert-heading\">";
#line 121 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 149 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Passphrase") );
responseStream << "</h5>\n";
responseStream << "\t\t\t\t <p>";
#line 122 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 150 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( mSession->getPassphrase() );
responseStream << "</p>\n";
responseStream << "\t\t\t\t</div>\n";
responseStream << "\t\t\t\t<div class=\"alert alert-secondary\">\n";
responseStream << "\t\t\t\t <h5 class=\"alert-heading\">";
#line 125 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 153 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Was ist eine Passphrase?") );
responseStream << "</h5>\n";
responseStream << "\t\t\t\t <p>";
#line 126 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 154 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Die Passphrase kommt aus dem Crypto-Bereich und ist ein Weg einen komplizierte kryptografischen Schlüssel in einer lesbaren Form darzustellen.") );
responseStream << "</p>\n";
responseStream << "\t\t\t\t <p>";
#line 127 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 155 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Der neue Gradido basiert technisch auf einer Kryptowährung (wie z.B. Bitcoin) um maximale Sicherheit zu erreichen.") );
responseStream << "</p>\n";
responseStream << "\t\t\t\t</div>\n";
responseStream << "\t\t\t\t<input type=\"submit\" class=\"btn btn-sm btn-primary pull-right\" name=\"nextEnsure\" value=\"";
#line 129 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 157 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Weiter") );
responseStream << "\"/>\n";
responseStream << "\t\t\t </div>\n";
@ -309,7 +350,7 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
responseStream << "\t\t</div>\n";
responseStream << "\t </div>\n";
responseStream << "\t ";
#line 134 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 162 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
} else if(state == PAGE_ASK_ENSURE_PASSPHRASE) { responseStream << "\n";
responseStream << "\t <style type=\"text/css\">\n";
responseStream << "\t\tbutton:disabled {\n";
@ -324,41 +365,41 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
responseStream << "\t\t\t<div class=\"row mb-3\">\n";
responseStream << "\t\t\t <div class=\"col-md-10 mx-auto\">\n";
responseStream << "\t\t\t\t<form method=\"POST\" action=\"";
#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 175 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( uri_start );
responseStream << "/passphrase\">\n";
responseStream << "\t\t\t\t <div class=\"form-group row showcase_row_area\">\n";
responseStream << "\t\t\t\t\t<form method=\"POST\" action=\"";
#line 149 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 177 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( uri_start );
responseStream << "/passphrase\">\n";
responseStream << "\t\t\t\t\t\t<div class=\"col-md-12 col-lg-12 \">\n";
responseStream << "\t\t\t\t\t\t <div class=\"alert alert-orange\">\n";
responseStream << "\t\t\t\t\t\t\t<h5 class=\"alert-heading\">";
#line 152 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 180 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Was zu tun ist:") );
responseStream << "</h5>\n";
responseStream << "\t\t\t\t\t\t\t<p>";
#line 153 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 181 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Hast du dir deine Passphrase gemerkt?") );
responseStream << "</p>\n";
responseStream << "\t\t\t\t\t\t\t<p>";
#line 154 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 182 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Dann zeig es mir. Zur Unterstützung gebe ich dir deine Wörter aber in anderer Reihenfolge.") );
responseStream << "<p>\n";
responseStream << "\t\t\t\t\t\t\t<p>";
#line 155 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 183 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Klicke sie an um sie einzusetzen.") );
responseStream << "</p>\n";
responseStream << "\t\t\t\t\t\t </div>\n";
responseStream << "\t\t\t\t\t\t <div id=\"gradido-mithril-passphrase\"></div>\n";
responseStream << "\t\t\t\t\t\t <noscript>\n";
responseStream << "\t\t\t\t\t\t\t<p>";
#line 159 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 187 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Weil du kein Javascript verwendest geht es direkt weiter. Hast du dir deine Passphrase gemerkt oder aufgeschrieben?") );
responseStream << "</p>\n";
responseStream << "\t\t\t\t\t\t\t<input type=\"submit\" class=\"btn btn-sm btn-primary pull-right\" name=\"btnChecked\" value=\"";
#line 160 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 188 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Ja") );
responseStream << "\"/>\n";
responseStream << "\t\t\t\t\t\t </noscript>\n";
@ -372,48 +413,48 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
responseStream << "\t\t</div>\n";
responseStream << "\t\t<script type=\"text/javascript\">\n";
responseStream << "\t\t\tvar mnemonicWords = ";
#line 171 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 199 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
wordSource->getSortedWordList().stringify(responseStream); responseStream << ";\n";
responseStream << "\t\t\tvar passphrase = \"";
#line 172 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 200 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( mSession->getPassphrase() );
responseStream << "\";\n";
responseStream << "\t\t\tlanguage = \"";
#line 201 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( lm->keyForLanguage(lang) );
responseStream << "\";\n";
responseStream << "\t\t</script>\n";
responseStream << "\t\t<script src=\"";
#line 174 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 203 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "js/ensurePassphrase.js\" type=\"text/javascript\"></script>\n";
responseStream << "\t ";
#line 175 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 204 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
} else if(state == PAGE_ASK_PASSPHRASE) { responseStream << "\n";
responseStream << "\t <div class=\"col-md-10 mx-auto\">\n";
responseStream << "\t\t<div class=\"form-group row showcase_row_area\">\n";
responseStream << "\t\t <div class=\"col-md-12 col-lg-12 \">\n";
responseStream << "\t\t\t<div class=\"col-lg-8 col-md-10 mx-auto alert alert-primary\" style=\"text-align:center\">\n";
responseStream << "\t\t\t <h5 class=\"alert-heading\">";
#line 180 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Passphrase") );
responseStream << "</h5>\n";
responseStream << "\t\t\t<div class=\"col-lg-12 col-md-12 mx-auto alert alert-primary\" style=\"text-align:center\">\n";
responseStream << "\t\t\t <p>";
#line 181 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 209 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Deine E-Mail Adresse wurde erfolgreich bestätigt.") );
responseStream << "</p>\n";
responseStream << "\t\t\t</div>\n";
responseStream << "\t\t\t<form method=\"POST\" action=\"";
#line 183 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 211 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( uri_start );
responseStream << "/passphrase\">\n";
responseStream << "\t\t\t\t<div class=\"alert alert-orange\">\n";
responseStream << "\t\t\t\t <h5 class=\"alert-heading\">";
#line 185 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 213 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Neue Gradido Adresse anlegen / wiederherstellen") );
responseStream << "</h5>\n";
responseStream << "\t\t\t\t <p>";
#line 186 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 214 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Möchtest Du ein bestehendes* Gradido-Konto wiederherstellen oder ein neues anlegen?") );
responseStream << "</p>\n";
responseStream << "\t\t\t\t <p>";
#line 187 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 215 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("*Das Konto muss nach dem 01.09.2019 angelegt worden sein.") );
responseStream << "</p>\n";
responseStream << "\t\t\t\t</div>\n";
@ -424,7 +465,7 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
responseStream << "\t\t\t\t\t\t\t\t<label for=\"passphrase-new-yes\" class=\"radio-label mr-4\">\n";
responseStream << "\t\t\t\t\t\t\t\t\t<input id=\"passphrase-new-yes\" name=\"passphrase\" type=\"radio\" value=\"yes\" checked/>\n";
responseStream << "\t\t\t\t\t\t\t\t\t";
#line 195 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 223 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Nein, bitte ein neues erstellen!") );
responseStream << "\n";
responseStream << "\t\t\t\t\t\t\t\t\t<i class=\"input-frame\"></i>\n";
@ -434,7 +475,7 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
responseStream << "\t\t\t\t\t\t\t\t<label for=\"passphrase-new-no\" class=\"radio-label mr-4\">\n";
responseStream << "\t\t\t\t\t\t\t\t\t<input id=\"passphrase-new-no\" name=\"passphrase\" type=\"radio\" value=\"no\"/>\n";
responseStream << "\t\t\t\t\t\t\t\t\t";
#line 202 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 230 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Ja, bitte wiederherstellen!") );
responseStream << "\n";
responseStream << "\t\t\t\t\t\t\t\t\t<i class=\"input-frame\"></i>\n";
@ -442,11 +483,11 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
responseStream << "\t\t\t\t\t\t\t</div>\n";
responseStream << "\t\t\t\t\t\t</div>\n";
responseStream << "\t\t\t\t\t\t<textarea class=\"form-control\" name=\"passphrase-existing\" cols=\"12\" rows=\"5\">";
#line 207 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 235 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( !form.empty() ? form.get("passphrase-existing", "") : "" );
responseStream << "</textarea>\n";
responseStream << "\t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-sm btn-primary pull-right\" name=\"submit\">";
#line 208 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 236 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Weiter") );
responseStream << "</button>\n";
responseStream << "\t\t\t\t\t</div>\n";
@ -454,40 +495,40 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
responseStream << "\t\t\t</form>\n";
responseStream << "\t\t </div>\n";
responseStream << "\t\t <!--<a href=\"";
#line 213 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 241 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( uri_start );
responseStream << "/passphrase\" class=\"btn btn-sm btn-primary pull-right\" name=\"next\">";
#line 213 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 241 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Weiter") );
responseStream << "</a>-->\n";
responseStream << "\t\t</div>\n";
responseStream << "\t </div>\n";
responseStream << "\t ";
#line 216 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 244 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
} else if(state == PAGE_FORCE_ASK_PASSPHRASE) { responseStream << "\n";
responseStream << "\t <div class=\"col-md-10 mx-auto\">\n";
responseStream << "\t\t<div class=\"form-group row showcase_row_area\">\n";
responseStream << "\t\t <div class=\"col-md-12 col-lg-12 \">\n";
responseStream << "\t\t\t<div class=\"col-lg-8 col-md-10 mx-auto alert alert-primary\" style=\"text-align:center\">\n";
responseStream << "\t\t\t <h5 class=\"alert-heading\">";
#line 221 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 249 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Konto wiederherstellen / Neues Passwort anlegen") );
responseStream << "</h5>\n";
responseStream << "\t\t\t <p>";
#line 222 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 250 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Um dein Konto wiederherzustellen, dir ein Neues Passwort auswählen zu können, tippe hier bitte die Wörter deiner Passphrase in der richtigen Reihenfolge ein, welche du dir aufgeschrieben hast.") );
responseStream << "</p>\n";
responseStream << "\t\t\t</div>\n";
responseStream << "\t\t\t<form method=\"POST\" action=\"";
#line 224 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 252 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( uri_start );
responseStream << "/passphrase\">\n";
responseStream << "\t\t\t\t<textarea class=\"form-control\" name=\"passphrase-existing\" cols=\"12\" rows=\"5\">";
#line 225 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 253 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( !form.empty() ? form.get("passphrase-existing", "") : "" );
responseStream << "</textarea>\n";
responseStream << "\t\t\t\t<button type=\"submit\" class=\"btn btn-sm btn-primary pull-right\" name=\"submit\">";
#line 226 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 254 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Weiter") );
responseStream << "</button>\n";
responseStream << "\t\t\t</form>\n";
@ -495,18 +536,18 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
responseStream << "\t\t</div>\n";
responseStream << "\t </div>\n";
responseStream << "\t ";
#line 231 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 259 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
} else { responseStream << "\n";
responseStream << "\t\t<div class=\"col-md-10 mx-auto\">\n";
responseStream << "\t\t\t<div class=\"form-group row showcase_row_area\">\n";
responseStream << "\t\t\t <div class=\"col-md-12 col-lg-12 \">\n";
responseStream << "\t\t\t\t<div class=\"col-lg-8 col-md-10 mx-auto alert alert-danger\" style=\"text-align:center\">\n";
responseStream << "\t\t\t\t <h5 class=\"alert-heading\">";
#line 236 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 264 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Fehler") );
responseStream << "</h5>\n";
responseStream << "\t\t\t\t <p>";
#line 237 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 265 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
responseStream << ( gettext("Ungültige Seite, wenn du das siehst stimmt hier etwas nicht. Bitte wende dich an den Server-Admin.") );
responseStream << "</p>\n";
responseStream << "\t\t\t\t</div>\n";
@ -514,7 +555,7 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::
responseStream << "\t\t\t</div>\n";
responseStream << "\t\t</div>\n";
responseStream << "\t ";
#line 242 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
#line 270 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
} responseStream << "\n";
responseStream << "\t</div>\n";
responseStream << "</div>\n";

View File

@ -1,6 +1,25 @@
#include "SessionHTTPRequestHandler.h"
Languages SessionHTTPRequestHandler::chooseLanguage(Poco::Net::HTTPServerRequest& request, std::string lang_btn /*= ""*/)
{
Languages lang = LANG_NULL;
if (mSession) {
lang = mSession->getLanguage();
}
Languages langCurrent = PageRequestMessagedHandler::chooseLanguage(request, lang_btn);
if (langCurrent != LANG_NULL && lang != langCurrent) {
lang = langCurrent;
if (mSession) {
mSession->setLanguage(langCurrent);
}
}
return lang;
}

View File

@ -14,6 +14,7 @@ public:
protected:
Session* mSession;
Languages chooseLanguage(Poco::Net::HTTPServerRequest& request, std::string lang_btn = "");
inline const char* gettext(const char* text) { if (!mSession || !mSession->getLanguageCatalog()) return text; return mSession->getLanguageCatalog()->gettext(text); }
};

View File

@ -22,7 +22,7 @@ int main(int argc, char** argv)
printf("error initing sodium, early exit\n");
return -1;
}
ServerConfig::g_versionString = "0.20.KW03.02";
ServerConfig::g_versionString = "0.20.KW08.02";
printf("User size: %d Bytes, Session size: %d Bytes\n", sizeof(User), sizeof(Session));
printf("model sizes: User: %d Bytes, EmailOptIn: %d Bytes\n", sizeof(model::table::User), sizeof(model::table::EmailOptIn));

View File

@ -698,6 +698,7 @@ bool Session::deleteUser()
void Session::setLanguage(Languages lang)
{
printf("[Session::setLanguage] new language: %d\n", lang);
lock("Session::setLanguage");
if (mLanguageCatalog.isNull() || mLanguageCatalog->getLanguage() != lang) {
auto lm = LanguageManager::getInstance();
@ -924,7 +925,13 @@ bool Session::useOrGeneratePassphrase(const std::string& passphase)
*/
bool Session::generatePassphrase()
{
mPassphrase = User::generateNewPassphrase(&ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER]);
auto lang = getLanguage();
if (lang == LANG_EN) {
mPassphrase = User::generateNewPassphrase(&ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER]);
}
else {
mPassphrase = User::generateNewPassphrase(&ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER]);
}
updateState(SESSION_STATE_PASSPHRASE_GENERATED);
return true;

View File

@ -487,7 +487,7 @@ std::string User::generateNewPassphrase(Mnemonic* word_source)
unsigned int phrase_buffer_size = 0;
bool errorReloadingMnemonicWordList = false;
int loopTrys = 0;
Poco::RegularExpression checkValidWord("^[a-zäöüß]*$");
Poco::RegularExpression checkValidWord("^[a-zA-ZÄÖÜäöüß&;]*$");
// TODO: make sure words didn't double
for (int i = 0; i < PHRASE_WORD_COUNT; i++) {
@ -549,7 +549,12 @@ bool User::validatePassphrase(const std::string& passphrase, Mnemonic** wordSour
Mnemonic& m = ServerConfig::g_Mnemonic_WordLists[i];
bool existAll = true;
for (auto it = results.begin(); it != results.end(); it++) {
if (*it == "\0" || *it == "" || it->size() < 3) continue;
if (!m.isWordExist(*it)) {
if (i == 1) {
int zahl = 0;
}
printf("wordlist: %d, word not found: %s\n", i, it->data());
existAll = false;
continue;
}

View File

@ -1,18 +1,20 @@
<div class="row pull-right-row">
<div class="equel-grid pull-right">
<div class="grid-body-small text-center">
<button id="flag-england" name="lang" value="en" title="English" type="submit" <% if(lang != LANG_EN) { %>class="btn btn-outline-secondary flag-btn"<% }
else { %>class="btn btn-secondary disabled flag-btn" disabled<% } %>>
<span class="flag-england"></span>
</button>
<form method="GET" action="">
<div class="row pull-right-row">
<div class="equel-grid pull-right">
<div class="grid-body-small text-center">
<button id="flag-england" name="lang" value="en" title="English" type="submit" <% if(lang != LANG_EN) { %>class="btn btn-outline-secondary flag-btn"<% }
else { %>class="btn btn-secondary disabled flag-btn" disabled<% } %>>
<span class="flag-england"></span>
</button>
</div>
</div>
<div class="equel-grid pull-right">
<div class="grid-body-small text-center">
<button id="flag-germany" name="lang" value="de" title="Deutsch" type="submit" <% if(lang != LANG_DE) { %>class="btn btn-outline-secondary flag-btn"<% }
else { %>class="btn btn-secondary disabled flag-btn" disabled<% } %>>
<span class="flag-germany"></span>
</button>
</div>
</div>
</div>
</div>
<div class="equel-grid pull-right">
<div class="grid-body-small text-center">
<button id="flag-germany" name="lang" value="de" title="Deutsch" type="submit" <% if(lang != LANG_DE) { %>class="btn btn-outline-secondary flag-btn"<% }
else { %>class="btn btn-secondary disabled flag-btn" disabled<% } %>>
<span class="flag-germany"></span>
</button>
</div>
</div>
</div>
</form>

View File

@ -22,6 +22,7 @@
auto em = ErrorManager::getInstance();
auto lang = chooseLanguage(request);
printf("choose language return: %d\n", lang);
auto langCatalog = lm->getFreeCatalog(lang);
std::string presetEmail("");
@ -31,7 +32,11 @@
if(!form.empty()) {
bool langUpdatedByBtn = false;
auto langBtn = form.get("lang-btn", "");
auto langBtn = form.get("lang", "");
if(langBtn != "") {
langUpdatedByBtn = true;
}
/*
auto langInput = form.get("lang", "");
auto updatedLang = LANG_NULL;
if(langBtn != "") {
@ -45,7 +50,7 @@
lang = updatedLang;
langCatalog = lm->getFreeCatalog(lang);
}
*/
auto email = form.get("login-email", "");
auto password = form.get("login-password", "");
@ -160,26 +165,10 @@
<%= getErrorsHtml() %>
</div>
<div class="grid-body">
<form action="<%= ServerConfig::g_serverPath %>/" method="POST">
<input type="hidden" name="lang" value="<%= LanguageManager::keyForLanguage(lang) %>">
<div class="row pull-right-row">
<div class="equel-grid pull-right">
<div class="grid-body-small text-center">
<button id="flag-england" name="lang-btn" value="en" title="English" type="submit" <% if(lang != LANG_EN) { %>class="btn btn-outline-secondary flag-btn"<% }
else { %>class="btn btn-secondary disabled flag-btn" disabled<% } %>>
<span class="flag-england"></span>
</button>
</div>
</div>
<div class="equel-grid pull-right">
<div class="grid-body-small text-center">
<button id="flag-germany" name="lang-btn" value="de" title="Deutsch" type="submit" <% if(lang != LANG_DE) { %>class="btn btn-outline-secondary flag-btn"<% }
else { %>class="btn btn-secondary disabled flag-btn" disabled<% } %>>
<span class="flag-germany"></span>
</button>
</div>
</div>
</div>
<!--<input type="hidden" name="lang" value="<%= LanguageManager::keyForLanguage(lang) %>">-->
<%@ include file="flags.cpsp" %>
<form action="<%= ServerConfig::g_serverPath %>/" method="POST">
<div class="row display-block">
<div class="col-lg-7 col-md-8 col-sm-9 col-12 mx-auto form-wrapper">
<div class="form-group input-rounded">
@ -198,7 +187,7 @@
</div>
</div>
</div>
</form>
</form>
</div>
</div>
</div>

View File

@ -6,6 +6,7 @@
<%@ page compressed="true" %>
<%!
#include "../SingletonManager/SessionManager.h"
#include "../SingletonManager/LanguageManager.h"
#include "../Crypto/KeyPair.h"
#include "../ServerConfig.h"
//#include "Poco/Net/HTTPServerParams.h"
@ -19,16 +20,26 @@ enum PageState
};
%>
<%%
chooseLanguage(request);
const char* pageName = gettext("Passphrase");
std::string pageTitle = gettext("Ein neues Konto anlegen");
std::string pageSubtitle = gettext("Passphrase");
std::string pageTitle = gettext("Neues Konto anlegen");
std::string pageSubtitle = gettext("2/3");
PageState state = PAGE_ASK_PASSPHRASE;
// variable needed for flags
auto lang = mSession->getLanguage();
auto sm = SessionManager::getInstance();
auto lm = LanguageManager::getInstance();
auto uri_start = ServerConfig::g_serverPath;//request.serverParams().getServerName();
//Mnemonic* wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER];
Mnemonic* wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER];
Mnemonic* wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER];
if(lang == LANG_DE) {
wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER];
}
// remove old cookies if exist
sm->deleteLoginCookies(request, response, mSession);
@ -43,6 +54,7 @@ enum PageState
auto btnNext = form.get("nextEnsure", "");
auto btnChecked = form.get("btnChecked", "");
auto langBtn = form.get("lang", "");
if(btnChecked != "") {
mSession->updateState(SESSION_STATE_PASSPHRASE_SHOWN);
@ -52,7 +64,7 @@ enum PageState
if(btnNext != "") {
state = PAGE_ASK_ENSURE_PASSPHRASE;
} else {
} else if(langBtn == "") {
auto registerKeyChoice = form.get("passphrase", "no");
std::string oldPassphrase = "";
if (registerKeyChoice == "no") {
@ -86,25 +98,41 @@ enum PageState
}
}
}
// double check passphrase
auto passphrase = mSession->getPassphrase();
auto langWordSource = wordSource;
if("" != passphrase && !User::validatePassphrase(passphrase, &wordSource)) {
addError(new Error(gettext("Intern error"), gettext("Invalid Passphrase")));
addError(new ParamError(gettext("Passphrase"), gettext("Passphrase"), passphrase.data()));
//response.redirect(ServerConfig::g_serverPath + "/error500");
//return;
}
if(wordSource != langWordSource) {
mSession->generatePassphrase();
User::validatePassphrase(passphrase, &wordSource);
}
if(mSession->getSessionState() == SESSION_STATE_PASSPHRASE_GENERATED && state != PAGE_ASK_ENSURE_PASSPHRASE) {
state = PAGE_SHOW_PASSPHRASE;
//mSession->updateState(SESSION_STATE_PASSPHRASE_SHOWN);
}
if(state == PAGE_ASK_ENSURE_PASSPHRASE) {
pageSubtitle = gettext("Passphrase überprüfen");
pageSubtitle = gettext("3/3");
}
else if(state == PAGE_ASK_PASSPHRASE) {
pageSubtitle = gettext("Passphrase erfragen");
pageSubtitle = gettext("1/3");
} else if(state == PAGE_FORCE_ASK_PASSPHRASE) {
pageTitle = gettext("Neues Passwort anlegen");
pageSubtitle = gettext("Passphrase erfragen");
pageSubtitle = gettext("1/3");
}
getErrors(mSession);
%><%@ include file="login_header.cpsp" %><%% withMaterialIcons = true; %><%@ include file="flags.cpsp" %>
<div class="row mb-3">
<h2><%= pageTitle %></h2>
<h3 class="mx-auto"><%= pageSubtitle %></h3>
%><%@ include file="login_header.cpsp" %><%% withMaterialIcons = true; %>
<% if(state == PAGE_ASK_ENSURE_PASSPHRASE) { %><div style="display:none"> <% } %>
<%@ include file="flags.cpsp" %>
<% if(state == PAGE_ASK_ENSURE_PASSPHRASE) { %></div> <% } %>
<div class="row mb-3" <% if(state != PAGE_ASK_ENSURE_PASSPHRASE) { %> style="margin-top:70px;" <% } %>>
<h2 class="mx-auto"><%= pageTitle %>: <%= pageSubtitle %></h2>
</div>
<div class="item-wrapper">
<div class="row mb-3">
@ -117,7 +145,7 @@ enum PageState
<h5 class="alert-heading"><%= gettext("Was zu tun ist:") %></h5>
<p><%= gettext("Schreibe dir deine Passphrase auf und packe sie gut weg. Du brauchst sie um deine Adresse wiederherzustellen. Wenn du sie verlierst, sind auch deine Gradidos verloren.") %></p>
</div>
<div class="col-lg-8 col-md-10 mx-auto alert alert-primary" style="text-align:center">
<div class="col-lg-12 col-md-12 mx-auto alert alert-primary" style="text-align:center">
<h5 class="alert-heading"><%= gettext("Passphrase") %></h5>
<p><%= mSession->getPassphrase() %></p>
</div>
@ -170,14 +198,14 @@ enum PageState
<script type="text/javascript">
var mnemonicWords = <% wordSource->getSortedWordList().stringify(responseStream); %>;
var passphrase = "<%= mSession->getPassphrase() %>";
language = "<%= lm->keyForLanguage(lang) %>";
</script>
<script src="<%= ServerConfig::g_php_serverPath %>js/ensurePassphrase.js" type="text/javascript"></script>
<script src="<%= ServerConfig::g_php_serverPath %>js/ensurePassphrase.min.js" type="text/javascript"></script>
<% } else if(state == PAGE_ASK_PASSPHRASE) { %>
<div class="col-md-10 mx-auto">
<div class="form-group row showcase_row_area">
<div class="col-md-12 col-lg-12 ">
<div class="col-lg-8 col-md-10 mx-auto alert alert-primary" style="text-align:center">
<h5 class="alert-heading"><%= gettext("Passphrase") %></h5>
<div class="col-lg-12 col-md-12 mx-auto alert alert-primary" style="text-align:center">
<p><%= gettext("Deine E-Mail Adresse wurde erfolgreich bestätigt.") %></p>
</div>
<form method="POST" action="<%= uri_start %>/passphrase">