Working CSS

This commit is contained in:
Gradido2 2020-07-14 15:20:01 +00:00 committed by Dario
parent b07902b807
commit 214cb9a73a
7 changed files with 136 additions and 199 deletions

7
.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
src/cpsp/lib*
src/cpsp/cpspc
src/cpsp/compile_unix.sh
src/cpsp/*.h
src/cpsp/*.cpp
src/cpp/proto/
build*/

View File

@ -65,50 +65,33 @@ enum PageState
}
}
%><%@ include file="header.cpsp" %>
<div class="grid-body">
<form action="<%= ServerConfig::g_php_serverPath %>account/checkEmail" method="GET">
<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>
<% if(EMAIL_ACTIVATED == state) { %>
<p><%= langCatalog->gettext("Deine E-Mail wurde erfolgreich bestätigt. Du kannst nun Gradidos versenden.") %></p>
<a class="btn btn-sm btn-primary" href="<%= ServerConfig::g_php_serverPath %>"><%= langCatalog->gettext("Zur Startseite") %></a>
<% } else { %>
<div class="item-wrapper">
<div class="form-group">
<label for="email-verification-code"><%= langCatalog->gettext("Bitte gebe deinen E-Mail Verification Code ein:")%></label>
<input type="number" class="form-control" name="email-verification-code" id="email-verification-code" placeholder="<%= langCatalog->gettext("Email Verification Code")%>" <% if(verificationCode) { %>value="<%= verificationCode %>" <% } %>>
</div>
<button type="submit" class="btn btn-sm btn-primary"><%= langCatalog->gettext("&Uuml;berpr&uuml;fe Code")%></button>
</div>
</form>
<!--<p class="margin-top-10">
<%= langCatalog->gettext("Du hast bisher keinen Code erhalten?")%><br>
<%= langCatalog->gettext("E-Mail erneut zuschicken (in Arbeit)")%>
</p>-->
<p class="margin-top-10">
<%= langCatalog->gettext("Funktioniert dein E-Mail Verification Code nicht?")%><br>
<%= langCatalog->gettext("Schicke uns eine E-Mail und wir k&uuml;mmern uns darum: ")%><br>
<b><a href="mailto:<%= em->getAdminReceiver()%>?subject=Invalid E-Mail Verification Code&amp;body=Hallo Dario,%0D%0A%0D%0Amein E-Mail Verification-Code: <%= verificationCode %> funktioniert nicht,%0D%0Akannst du das prüfen?%0D%0A%0D%0AMit freundlichen Grüßen%0D%0A"><%= langCatalog->gettext("E-Mail an Support schicken")%></a></b>
</p>
<% } %>
</div>
</div>
</div>
</div>
<%= getErrorsHtml() %>
<div class="center-form-container">
<%@ include file="flags.cpsp" %>
<div class="center-form-title">
<h1><%= langCatalog->gettext("E-Mail verifizieren") %></h1>
</div>
<div class="center-form-form">
<form action="<%= ServerConfig::g_php_serverPath %>account/checkEmail" method="GET">
<% if(EMAIL_ACTIVATED == state) { %>
<p><%= langCatalog->gettext("Deine E-Mail wurde erfolgreich bestätigt. Du kannst nun Gradidos versenden.") %></p>
<a class="link-button" href="<%= ServerConfig::g_php_serverPath %>"><%= langCatalog->gettext("Zur Startseite") %></a>
<% } else { %>
<label class="form-label" for="email-verification-code"><%= langCatalog->gettext("Bitte gib deinen E-Mail Verification Code ein:")%></label>
<input class="form-control" type="number" name="email-verification-code" id="email-verification-code" placeholder="<%= langCatalog->gettext("Email Verification Code")%>" <% if(verificationCode) { %>value="<%= verificationCode %>" <% } %>>
<button type="submit" class="center-form-submit form-button"><%= langCatalog->gettext("&Uuml;berpr&uuml;fe Code")%></button>
</form>
<!--<p>
<%= langCatalog->gettext("Du hast bisher keinen Code erhalten?")%><br>
<%= langCatalog->gettext("E-Mail erneut zuschicken (in Arbeit)")%>
</p>-->
<p>
<%= langCatalog->gettext("Funktioniert dein E-Mail Verification Code nicht?")%><br>
<%= langCatalog->gettext("Schicke uns eine E-Mail und wir k&uuml;mmern uns darum: ")%><br>
<b><a href="mailto:<%= em->getAdminReceiver()%>?subject=Invalid E-Mail Verification Code&amp;body=Hallo Dario,%0D%0A%0D%0Amein E-Mail Verification-Code: <%= verificationCode %> funktioniert nicht,%0D%0Akannst du das prüfen?%0D%0A%0D%0AMit freundlichen Grüßen%0D%0A"><%= langCatalog->gettext("E-Mail an Support schicken")%></a></b>
</p>
</form>
<% } %>
</div>
</div>
<%@ include file="footer.cpsp" %>

View File

@ -25,5 +25,4 @@
<img src="<%= ServerConfig::g_php_serverPath %>img/logo_schrift.png" alt="logo" />
</picture>
</a>
</div>
<%= getErrorsHtml() %>
</div>

View File

@ -4,7 +4,7 @@
<%@ page ctorArg="Session*" %>
<%@ header include="SessionHTTPRequestHandler.h" %>
<%@ page compressed="true" %>
<%!
<%!
#include "../gettext.h"
#include "Poco/Net/HTTPCookie.h"
@ -13,25 +13,25 @@
#include "../SingletonManager/SessionManager.h"
#include "../SingletonManager/LanguageManager.h"
#include "../SingletonManager/ErrorManager.h"
%>
<%%
<%%
const char* pageName = "Login";
auto sm = SessionManager::getInstance();
auto lm = LanguageManager::getInstance();
auto em = ErrorManager::getInstance();
auto lang = chooseLanguage(request);
//printf("choose language return: %d\n", lang);
auto langCatalog = lm->getFreeCatalog(lang);
std::string presetEmail("");
if(mSession && mSession->getUser()) {
presetEmail = mSession->getUser()->getEmail();
}
if(!form.empty()) {
bool langUpdatedByBtn = false;
auto langBtn = form.get("lang", "");
if(langBtn != "") {
@ -46,7 +46,7 @@
} else if(langInput != "") {
updatedLang = chooseLanguage(request, langInput);
}
if(updatedLang != LANG_NULL && updatedLang != lang) {
lang = updatedLang;
langCatalog = lm->getFreeCatalog(lang);
@ -54,12 +54,12 @@
*/
auto email = form.get("login-email", "");
auto password = form.get("login-password", "");
if(email != "" && password != "") {
//auto session = sm->getSession(request);
//if(!mSession) mSession = sm->findByEmail(email);
if(!mSession) {
mSession = sm->getNewSession();
mSession = sm->getNewSession();
mSession->setLanguageCatalog(langCatalog);
// get language
// first check url, second check language header
@ -77,7 +77,7 @@
}
auto userState = mSession->loadUser(email, password);
auto user = mSession->getNewUser();
if(userState >= USER_LOADED_FROM_DB && !user->getModel()->getPublicKey()) {
if(mSession->generateKeys(true, true)) {
userState = USER_COMPLETE;
@ -86,24 +86,24 @@
}
}
} else {
//printf("pubkey exist: %p\n",user->getModel()->getPublicKey());
//printf("pubkey exist: %p\n",user->getModel()->getPublicKey());
}
getErrors(mSession);
auto uri_start = request.serverParams().getServerName();
auto lastExternReferer = mSession->getLastReferer();
//printf("userState: %d\n", userState);
switch(userState) {
case USER_EMPTY:
case USER_EMPTY:
case USER_PASSWORD_INCORRECT:
addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("E-Mail or password isn't right, please try again!")), false);
break;
case USER_PASSWORD_ENCRYPTION_IN_PROCESS:
case USER_PASSWORD_ENCRYPTION_IN_PROCESS:
addError(new Error(langCatalog->gettext("Passwort"), langCatalog->gettext("Passwort wird noch berechnet, bitte versuche es in etwa 1 Minute erneut.")), false);
break;
case USER_KEYS_DONT_MATCH:
case USER_KEYS_DONT_MATCH:
addError(new Error(langCatalog->gettext("User"), langCatalog->gettext("Error in saved data, the server admin will look at it.")));
break;
case USER_DISABLED:
@ -125,8 +125,8 @@
if(lastExternReferer != "") {
//printf("redirect to: %s\n", lastExternReferer.data());
response.redirect(lastExternReferer);
} else if(refererString != "" &&
refererString.find("login") == std::string::npos &&
} else if(refererString != "" &&
refererString.find("login") == std::string::npos &&
refererString.find("logout") == std::string::npos &&
refererString.find("user_delete") == std::string::npos &&
refererString != ServerConfig::g_serverPath + request.getURI()) {
@ -139,13 +139,13 @@
}
return;
}
} else if(!langUpdatedByBtn) {
addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("Username and password are needed!")), false);
}
} else {
// on enter login page with empty form
//auto session = sm->getSession(request);
// remove old cookies and session if exist
@ -154,69 +154,30 @@
sm->releaseSession(mSession);
}
sm->deleteLoginCookies(request, response);
}
}
%><%@ include file="header.cpsp" %>
<style type="text/css">
@media (max-width: 400px) {
.authentication-theme.auth-style_1 .signup-link {
position:relative;
}
.authentication-theme .signup-link {
isplay:initial;
}
}
</style>
<div class="authentication-theme auth-style_1">
<div class="row">
<div class="col-12 logo-section">
<a href="<%= ServerConfig::g_php_serverPath %>" class="logo">
<picture>
<source srcset="<%= ServerConfig::g_php_serverPath %>img/logo_schrift.webp" type="image/webp">
<source srcset="<%= ServerConfig::g_php_serverPath %>img/logo_schrift.png" type="image/png">
<img src="<%= ServerConfig::g_php_serverPath %>img/logo_schrift.png" alt="logo" />
</picture>
</a>
</div>
</div>
<div class="row">
<div class="col-lg-5 col-md-7 col-sm-9 col-11 mx-auto">
<div class="grid">
<div class="center-ul-container">
<%= getErrorsHtml() %>
</div>
<div class="grid-body">
<!--<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">
<input type="text" class="form-control" name="login-email" placeholder="<%= langCatalog->gettext("E-Mail") %>" value="<%= presetEmail %>"/>
</div>
<div class="form-group input-rounded">
<input type="password" class="form-control" name="login-password" placeholder="<%= langCatalog->gettext("Password") %>" />
</div>
<button type="submit" name="submit" class="btn btn-primary btn-block"><%= langCatalog->gettext(" Login ") %></button>
<div class="signup-link">
<p><%= langCatalog->gettext("You haven't any account yet? Please follow the link to create one.") %></p>
<a href="<%= ServerConfig::g_serverPath %>/registerDirect">
<%= langCatalog->gettext("Create New Account") %>
</a>
</div>
<div class="reset-pwd-link">
<a href="<%= ServerConfig::g_serverPath %>/resetPassword"><%= langCatalog->gettext("Passwort vergessen") %></a>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="auth_footer">
<p class="text-muted text-center">© Gradido 2019</p>
</div>
<%= getErrorsHtml() %>
<!--<input type="hidden" name="lang" value="<%= LanguageManager::keyForLanguage(lang) %>">-->
<div class="center-form-container">
<%@ include file="flags.cpsp" %>
<div class="center-form-form">
<form action="<%= ServerConfig::g_serverPath %>/" method="POST">
<input class="form-control" type="text" name="login-email" placeholder="<%= langCatalog->gettext("E-Mail") %>" value="<%= presetEmail %>"/>
<input class="form-control" type="password" name="login-password" placeholder="<%= langCatalog->gettext("Password") %>" />
<button type="submit" name="submit" class="center-form-submit form-button"><%= langCatalog->gettext(" Login ") %></button>
</form>
</div>
<div class="center-form-bottom">
<div class="signup-link">
<p><%= langCatalog->gettext("You haven't any account yet? Please follow the link to create one.") %></p>
<a href="<%= ServerConfig::g_serverPath %>/registerDirect">
<%= langCatalog->gettext("Create New Account") %>
</a>
</div>
<div class="reset-pwd-link">
<a href="<%= ServerConfig::g_serverPath %>/resetPassword"><%= langCatalog->gettext("Passwort vergessen") %></a>
</div>
</div>
</div>
<%@ include file="footer.cpsp" %>

View File

@ -10,30 +10,30 @@
<%%
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&ouml;rter sind nicht identisch."), false);
} else {
auto session = sm->getSession(request);
if(!session) {
session = sm->getNewSession();
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);
@ -42,44 +42,32 @@
return;
}
}
} else {
// on enter login page with empty form
// remove old cookies if exist
sm->deleteLoginCookies(request, response);
}
%><%@ include file="header_old.cpsp" %>
<div class="grd_container">
<h1>Einen neuen Account anlegen</h1>
<%= getErrorsHtml() %>
<form method="POST">
<fieldset class="grd_container_small">
<legend>Account anlegen</legend>
<p>Bitte gebe deine Daten um einen Account anzulegen</p>
<p class="grd_small">
<label for="register-first-name">Vorname</label>
<input id="register-first-name" type="text" name="register-first-name" value="<%= !form.empty() ? form.get("register-first-name") : "" %>"/>
</p>
<p class="grd_small">
<label for="register-last-name">Nachname</label>
<input id="register-last-name" type="text" name="register-last-name" value="<%= !form.empty() ? form.get("register-last-name") : "" %>"/>
</p>
<p class="grd_small">
<label for="register-email">E-Mail</label>
<input id="register-email" type="email" name="register-email" value="<%= !form.empty() ? form.get("register-email") : "" %>"/>
</p>
<p class="grd_small">
<label for="register-password">Passwort</label>
<input id="register-password" type="password" name="register-password"/>
</p>
<p class="grd_small">
<label for="register-password">Passwort Best&auml;tigung</label>
<input id="register-password2" type="password" name="register-password2"/>
</p>
</fieldset>
<input class="grd-form-bn grd-form-bn-succeed" type="submit" name="submit" value="Anmelden">
%><%@ include file="header.cpsp" %>
<%= getErrorsHtml() %>
<div class="center-form-container">
<div class="center-form-title">
<h1>Einen neuen Account anlegen</h1>
</div>
<div class="center-form-form">
<form method="POST">
<p>Bitte gib deine Daten um einen Account anzulegen:</p>
<label class="form-label" for="register-first-name">Vorname</label>
<input class="form-control" id="register-first-name" type="text" name="register-first-name" value="<%= !form.empty() ? form.get("register-first-name") : "" %>"/>
<label class="form-label" for="register-last-name">Nachname</label>
<input class="form-control" id="register-last-name" type="text" name="register-last-name" value="<%= !form.empty() ? form.get("register-last-name") : "" %>"/>
<label class="form-label" for="register-email">E-Mail</label>
<input class="form-control" id="register-email" type="email" name="register-email" value="<%= !form.empty() ? form.get("register-email") : "" %>"/>
<label class="form-label" for="register-password">Passwort</label>
<input class="form-control" id="register-password" type="password" name="register-password"/>
<label class="form-label" for="register-password">Passwort Best&auml;tigung</label>
<input class="form-control" id="register-password2" type="password" name="register-password2"/>
<input class="center-form-submit form-button" type="submit" name="submit" value="Anmelden">
</form>
</div>
<%@ include file="footer.cpsp" %>

View File

@ -80,7 +80,7 @@ enum PageState {
if(user_exist) {
result = session->sendResetPasswordEmail(user, sendUserEmail);
}
if(2 == result) {
state = PAGE_EMAIL_ALREADY_SEND;
} else if(sendUserEmail) {
@ -100,6 +100,7 @@ enum PageState {
%><%@ include file="header.cpsp" %>
<%= getErrorsHtml() %>
<div class="center-form-container">
<div class="center-form-title">
<h1>Passwort zurücksetzen</h1>

View File

@ -20,12 +20,12 @@ enum PageState {
auto sm = SessionManager::getInstance();
auto uri_start = ServerConfig::g_serverPath;
PageState state = PAGE_STATE_ASK_PASSWORD;
// 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 != "") {
@ -33,12 +33,12 @@ enum PageState {
mSession->addError(new Error("Passwort", "Passw&ouml;rter sind nicht identisch."), false);
} else if(SessionManager::getInstance()->checkPwdValidation(pwd, mSession)) {
auto sessionState = mSession->getSessionState();
if(user->setNewPassword(pwd) >= 0) {
//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
// I think we can savly assume that this session was loaded from verification code
//! \return 1 = konto already activated
//! -1 = invalid code
//! -2 = critical error
@ -72,31 +72,29 @@ enum PageState {
}
//getErrors(user);
//printf("session state end [UpdateUserPassword Page]: %s\n", mSession->getSessionStateString());
%><%@ include file="header_old.cpsp" %>
<div class="grd_container">
%><%@ include file="header.cpsp" %>
<%= getErrorsHtml() %>
<div class="center-form-container">
<% if(PAGE_STATE_ASK_PASSWORD == state ) { %>
<h1>Passwort bestimmen</h1>
<%= getErrorsHtml() %>
<form method="POST">
<fieldset class="grd_container_small">
<div class="grd_text">
Bitte denke dir ein sicheres Passwort aus, das mindestens 8 Zeichen lang ist, ein Klein- und einen Gro&szlig;buchstaben enth&auml;lt,
<div class="center-form-title">
<h1>Passwort bestimmen</h1>
</div>
<div class="center-form-form">
<form method="POST">
<p>
Bitte denke dir ein sicheres Passwort aus, das mindestens 8 Zeichen lang ist, einen Klein- und einen Gro&szlig;buchstaben enth&auml;lt,
eine Zahl und eines der folgenden Sonderzeichen: @$!%*?&+-
</div>
<p class="grd_small">
<label for="register-password">Passwort</label>
<input id="register-password" type="password" name="register-password"/>
</p>
<p class="grd_small">
<label for="register-password2">Passwort Best&auml;tigung</label>
<input id="register-password2" type="password" name="register-password2"/>
</p>
</fieldset>
<input class="grd-form-bn grd-form-bn-succeed grd_clickable" type="submit" name="submit" value="&Auml;nderung(en) speichern">
</form>
<label class="form-label" for="register-password">Passwort</label>
<input class="form-control" id="register-password" type="password" name="register-password"/>
<label class="form-label" for="register-password2">Passwort Best&auml;tigung</label>
<input class="form-control" id="register-password2" type="password" name="register-password2"/>
<input class="grd-form-bn grd-form-bn-succeed grd_clickable" type="submit" name="submit" value="&Auml;nderung(en) speichern">
</form>
<% } else if(PAGE_STATE_SUCCEED == state) { %>
<p>Deine Daten werden jetzt mit dem neuen Passwort verschl&uuml;sselt. Du kannst dich in etwa 1 Minute mit deinem neuen Passwort einloggen</p>
<a href="<%= uri_start %>/login" class="grd-form-bn grd-form-bn-succeed">Zum Login</a>
<a class="link-button" href="<%= uri_start %>/login">Zum Login</a>
<% } %>
</div>
</div>
<%@ include file="footer.cpsp" %>