starting styles

This commit is contained in:
Gradido2 2020-07-10 16:28:05 +00:00 committed by Dario
parent 105b884699
commit 18da186cea
3 changed files with 78 additions and 83 deletions

View File

@ -1,5 +1,15 @@
<div class="grd-time-used dev-info"> <div class="center-bottom">
<%= mTimeProfiler.string() %> <p>Copyright © Gradido 2020</p>
</div> </div>
</div>
<div class="bottomleft">
<%= mTimeProfiler.string() %>
</div>
<div class="bottomright">
<p>Login Server in Entwicklung</p>
<p>Alpha <%= ServerConfig::g_versionString %></p>
</div>
</div>
</body> </body>
</html> </html>

View File

@ -1,7 +1,7 @@
<%! <%!
#include "../ServerConfig.h" #include "../ServerConfig.h"
%><%% %><%%
bool withMaterialIcons = false; bool withMaterialIcons = false;
%> %>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
@ -9,21 +9,21 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Gradido Login Server: <%= pageName %></title> <title>Gradido Login Server: <%= pageName %></title>
<link rel="stylesheet" type="text/css" href="<%= ServerConfig::g_php_serverPath %>css/loginServer/style.css"> <link rel="stylesheet" type="text/css" href="<%= ServerConfig::g_php_serverPath %>css/main.css">
<% if(withMaterialIcons) { %> <% if(withMaterialIcons) { %>
<link rel="stylesheet" type="text/css" href="<%= ServerConfig::g_php_serverPath %>css/materialdesignicons.min.css"> <link rel="stylesheet" type="text/css" href="<%= ServerConfig::g_php_serverPath %>css/materialdesignicons.min.css">
<% } %> <% } %>
</head> </head>
<body class="header-fixed"> <body>
<div class="versionstring dev-info"> <div class="layout">
<p class="grd_small">Login Server in Entwicklung</p> <div class="center-form-single">
<p class="grd_small">Alpha <%= ServerConfig::g_versionString %></p> <div class="center-form-header">
</div> <a href="<%= ServerConfig::g_php_serverPath %>" class="center-logo">
<!--<nav class="grd-left-bar expanded" data-topbar role="navigation"> <picture>
<div class="grd-left-bar-section"> <source srcset="<%= ServerConfig::g_php_serverPath %>img/logo_schrift.webp" type="image/webp">
<ul class="grd-no-style"> <source srcset="<%= ServerConfig::g_php_serverPath %>img/logo_schrift.png" type="image/png">
<li><a href="<%= ServerConfig::g_php_serverPath %>" class="grd-nav-bn">Startseite</a> <img src="<%= ServerConfig::g_php_serverPath %>img/logo_schrift.png" alt="logo" />
<li><a href="./account/logout" class="grd-nav-bn">Logout</a></li> </picture>
</ul> </a>
</div> </div>
</nav>--> <%= getErrorsHtml() %>

View File

@ -3,79 +3,79 @@
<%@ page baseClass="PageRequestMessagedHandler" %> <%@ page baseClass="PageRequestMessagedHandler" %>
<%@ header include="PageRequestMessagedHandler.h" %> <%@ header include="PageRequestMessagedHandler.h" %>
<%@ page compressed="true" %> <%@ page compressed="true" %>
<%! <%!
#include "../SingletonManager/LanguageManager.h" #include "../SingletonManager/LanguageManager.h"
#include "../SingletonManager/SessionManager.h" #include "../SingletonManager/SessionManager.h"
#include "../SingletonManager/EmailManager.h" #include "../SingletonManager/EmailManager.h"
#include "../controller/User.h" #include "../controller/User.h"
#include "../controller/UserBackups.h" #include "../controller/UserBackups.h"
enum PageState { enum PageState {
PAGE_EMAIL_ASK, PAGE_EMAIL_ASK,
PAGE_ASK, PAGE_ASK,
PAGE_WAIT_EMAIL, PAGE_WAIT_EMAIL,
PAGE_WAIT_ADMIN, PAGE_WAIT_ADMIN,
PAGE_EMAIL_ALREADY_SEND PAGE_EMAIL_ALREADY_SEND
}; };
%><%% %><%%
PageState state = PAGE_EMAIL_ASK; PageState state = PAGE_EMAIL_ASK;
auto lm = LanguageManager::getInstance(); auto lm = LanguageManager::getInstance();
auto sm = SessionManager::getInstance(); auto sm = SessionManager::getInstance();
auto adminReceiver = EmailManager::getInstance()->getAdminReceiver(); auto adminReceiver = EmailManager::getInstance()->getAdminReceiver();
const char* pageName = "Passwort vergessen"; const char* pageName = "Passwort vergessen";
auto lang = chooseLanguage(request); auto lang = chooseLanguage(request);
// class="btn btn-outline-secondary flag-btn" // class="btn btn-outline-secondary flag-btn"
// class="btn btn-secondary disabled flag-btn" disabled // class="btn btn-secondary disabled flag-btn" disabled
std::string eng_btn_classes = ""; std::string eng_btn_classes = "";
std::string de_btn_classes = ""; std::string de_btn_classes = "";
auto langCatalog = lm->getFreeCatalog(lang); auto langCatalog = lm->getFreeCatalog(lang);
std::string emailInputClass = "form-control"; std::string emailInputClass = "form-control";
std::string passphraseRadioClass = "group"; std::string passphraseRadioClass = "group";
std::string email = ""; std::string email = "";
if(!form.empty()) { if(!form.empty()) {
auto session = sm->getNewSession(); auto session = sm->getNewSession();
email = form.get("email", ""); email = form.get("email", "");
auto passphraseMemorized = form.get("passphrase_memorized", ""); auto passphraseMemorized = form.get("passphrase_memorized", "");
auto user = controller::User::create(); auto user = controller::User::create();
auto ask = form.get("ask_passphrase", ""); auto ask = form.get("ask_passphrase", "");
if(email != "") if(email != "")
{ {
bool user_exist = false; bool user_exist = false;
bool sendUserEmail = false; bool sendUserEmail = false;
if(!sm->isValid(email, VALIDATE_EMAIL)) { if(!sm->isValid(email, VALIDATE_EMAIL)) {
addError(new Error(gettext(session, "E-Mail"), gettext(session, "Das ist keine g&uuml;ltige E-Mail Adresse")), false); addError(new Error(gettext(session, "E-Mail"), gettext(session, "Das ist keine g&uuml;ltige E-Mail Adresse")), false);
emailInputClass += " is-invalid"; emailInputClass += " is-invalid";
} }
user_exist = user->load(email) == 1; user_exist = user->load(email) == 1;
if(ask == "true") if(ask == "true")
{ {
if(passphraseMemorized == "") { if(passphraseMemorized == "") {
addError(new Error(gettext(session, "Passphrase"), gettext(session, "Bitte w&auml;hle eine Option aus.")), false); addError(new Error(gettext(session, "Passphrase"), gettext(session, "Bitte w&auml;hle eine Option aus.")), false);
passphraseRadioClass += " group-is-invalid"; passphraseRadioClass += " group-is-invalid";
} else if(passphraseMemorized == "true") { } else if(passphraseMemorized == "true") {
sendUserEmail = true; sendUserEmail = true;
} }
} }
else else
{ {
if(user_exist && (!user->tryLoadPassphraseUserBackup() || !user->hasPublicKey())) { if(user_exist && (!user->tryLoadPassphraseUserBackup() || !user->hasPublicKey())) {
sendUserEmail = true; sendUserEmail = true;
} }
} }
if(!errorCount()) if(!errorCount())
{ {
// send reset password email // send reset password email
int result = 0; int result = 0;
@ -90,56 +90,41 @@ enum PageState {
} else { } else {
state = PAGE_WAIT_ADMIN; state = PAGE_WAIT_ADMIN;
} }
} }
} }
else else
{ {
addError(new Error(gettext(session, "E-Mail"), gettext(session, "E-Mail Adresse nicht angegeben.")), false); addError(new Error(gettext(session, "E-Mail"), gettext(session, "E-Mail Adresse nicht angegeben.")), false);
emailInputClass += " is-invalid"; emailInputClass += " is-invalid";
} }
}
%><%@ include file="login_header.cpsp" %>
<style type="text/css">
.group {
padding-left:10px;
padding-top:10px;
padding-bottom:10px;
}
.group-is-invalid {
background-color: rgba(240,130,95,.2);
border-color:#dc3545;
padding-right:calc(1.5em + .75rem);
background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");
background-repeat:no-repeat;
background-position:center right calc(.375em + .1875rem);
background-size:calc(.75em + .375rem) calc(.75em + .375rem)
}
.group-is-invalid .radio label .input-frame::before {
border-color:red;
}
</style> }
%><%@ include file="header.cpsp" %>
<% if(state == PAGE_EMAIL_ASK) { %> <% if(state == PAGE_EMAIL_ASK) { %>
<form action="<%= ServerConfig::g_serverPath %>/resetPassword"> <div class="center-form-container">
<div class="item-wrapper"> <div class="center-form-title">
<div class="form-group"> <h1>Passwort zurücksetzen</h1>
<label for="email"><%= langCatalog->gettext("Gebe bitte hier deine E-Mail Adresse an:") %>&nbsp;&nbsp;&nbsp;&nbsp;</label> </div>
<input type="text" class="<%= emailInputClass %>" name="email" id="email" placeholder="E-Mail" value="<%= email %>"> <div class="center-form-form">
</div> <form action="<%= ServerConfig::g_serverPath %>/resetPassword">
<button type="submit" class="btn btn-sm btn-primary" ><%= langCatalog->gettext("Bestätigen") %></button> <div class="item-wrapper">
</div> <div class="form-group">
</form> <label for="email"><%= langCatalog->gettext("Gib bitte hier deine E-Mail Adresse an:") %></label>
<input type="text" class="<%= emailInputClass %>" name="email" id="email" placeholder="E-Mail" value="<%= email %>">
</div>
<button type="submit" class="btn btn-sm btn-primary" ><%= langCatalog->gettext("Bestätigen") %></button>
</div>
</form>
<% } else if(state == PAGE_ASK) { %> <% } else if(state == PAGE_ASK) { %>
<%@ include file="flags.cpsp" %> <%@ include file="flags.cpsp" %>
<form action="<%= ServerConfig::g_serverPath %>/resetPassword"> <form action="<%= ServerConfig::g_serverPath %>/resetPassword">
<div class="item-wrapper"> <div class="item-wrapper">
<div class="form-group"> <div class="form-group">
<label for="email"><%= langCatalog->gettext("Gebe bitte hier deine E-Mail Adresse an:") %>&nbsp;&nbsp;&nbsp;&nbsp;</label> <label for="email"><%= langCatalog->gettext("Gib bitte hier deine E-Mail Adresse an:") %></label>
<input type="text" class="<%= emailInputClass %>" name="email" id="email" placeholder="E-Mail" value="<%= email %>"> <input type="text" class="<%= emailInputClass %>" name="email" id="email" placeholder="E-Mail" value="<%= email %>">
<label><%= langCatalog->gettext("Hast du dir deine Passphrase notiert oder gemerkt?") %></label> <label><%= langCatalog->gettext("Hast du dir deine Passphrase notiert oder gemerkt?") %></label>
<input type="hidden" name="ask_passphrase" value="true"> <input type="hidden" name="ask_passphrase" value="true">
<div class="<%= passphraseRadioClass %>"> <div class="<%= passphraseRadioClass %>">
<div class="radio"> <div class="radio">
@ -166,7 +151,7 @@ enum PageState {
<p><%= langCatalog->gettext("Du hast wirklich keine E-Mail erhalten und auch schon ein paar Minuten gewartet?") %></p> <p><%= langCatalog->gettext("Du hast wirklich keine E-Mail erhalten und auch schon ein paar Minuten gewartet?") %></p>
<p><b><a href="mailto:<%= adminReceiver %>?subject=Error Reset Password email&amp;body=Hallo Dario,%0D%0A%0D%0Aich habe keine Passwort zurücksetzen E-Mail erhalten,%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> <p><b><a href="mailto:<%= adminReceiver %>?subject=Error Reset Password email&amp;body=Hallo Dario,%0D%0A%0D%0Aich habe keine Passwort zurücksetzen E-Mail erhalten,%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>
</div> </div>
</div> </div>