gradido/login_server/src/cpsp/TranslatePassphrase.cpsp
2021-05-20 13:45:47 +02:00

95 lines
3.9 KiB
Plaintext

<%@ page class="TranslatePassphrasePage" %>
<%@ page baseClass="SessionHTTPRequestHandler" %>
<%@ page ctorArg="Session*" %>
<%@ header include="HTTPInterface/SessionHTTPRequestHandler.h" %>
<%@ page form="true" %>
<%!
#include "Crypto/KeyPairEd25519.h"
#include "ServerConfig.h"
%>
<%%
chooseLanguage(request);
// variable needed for flags
auto lang = mSession->getLanguage();
auto uri_start = ServerConfig::g_serverPath;
const char* pageName = gettext("Passphrase Transformieren");
std::string passphrase;
auto role = mSession->getNewUser()->getModel()->getRole();
std::string inputPassphrase;
Mnemonic* wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER];
Mnemonic* targetSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER_FIXED_CASES];
if(lang == LANG_DE) {
wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER_FIXED_CASES];
targetSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER];
}
if(!form.empty())
{
inputPassphrase = form.get("inputPassphrase", "");
auto localPassphrase = Passphrase::filter(inputPassphrase);
auto btnGenerate = form.get("btnGenerate", "");
if("" != btnGenerate) {
auto passphrase_gen = Passphrase::generate(wordSource);
localPassphrase = passphrase_gen->getString();
inputPassphrase = localPassphrase;
}
auto passphrase_object = Passphrase::create(localPassphrase, wordSource);
if(localPassphrase != "" && passphrase_object.isNull() || !passphrase_object->checkIfValid()) {
addError(new Error(
gettext("Fehler"),
gettext("Diese Passphrase ist ung&uuml;ltig, bitte &uuml;berpr&uuml;fen oder neu generieren (lassen).")
), false);
} else {
if(wordSource == &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER]) {
targetSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER_FIXED_CASES];
} else {
targetSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER];
}
auto transformed_passphrase_obj = passphrase_object->transform(targetSource);
passphrase = transformed_passphrase_obj->getString();
}
}
%><%@ include file="include/login_header.cpsp" %><%@ include file="include/flags.cpsp" %>
<div class="row mb-3" style="margin-top:70px;">
<h2 class="mx-auto"><%= gettext("Passphrase umwandeln") %></h2>
</div>
<div class="item-wrapper">
<div class="row mb-3">
<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="alert alert-orange">
<h5 class="alert-heading"><%= gettext("Was zu tun ist:") %></h5>
<p><%= gettext("Kopiere/schreibe deine Passphrase in die Textbox und du bekommst sie in die jeweils andere Sprache umgewandelt.") %></p>
<p><%= gettext("Du kannst mit beiden Varianten dein Konto wiederherstellen oder dein Passwort ändern.") %></p>
</div>
</div>
<div class="col-lg-12 col-md-12 mb-5">
<form action="<%= uri_start %>/transform_passphrase">
<div class="form-group row-showcase_row_area">
<textarea name="inputPassphrase" cols="20" rows="10" id="inputPassphrase" class="form-control" placeholder="<%= gettext("deine Passphrase") %>"><%= inputPassphrase %></textarea>
</div>
<input name="btnTransform" type="submit" value="Umwandeln" class="btn btn btn-orange">
<% if(model::table::ROLE_ADMIN == role) { %>
<input name="btnGenerate" type="submit" value="Neue generieren" class="btn btn-secondary">
<% } %>
</form>
</div>
<% if(passphrase != "") { %>
<div class="col-lg-12 col-md-12">
<div class="alert alert-success">
<h5 class="alert-heading">Umgewandelte Passphrase: </h5>
<p><%= passphrase %></p>
</div>
</div>
<% } %>
</div>
</div>
</div>
<%@ include file="include/footer_ripple.cpsp" %>