mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
adding impressum, datenschutzs, decodeTransaction, change search always search first_email, last_name or email instead email only if string is valid email
This commit is contained in:
parent
9a35b846dc
commit
8327d83d70
@ -498,8 +498,8 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
|
||||
responseStream << " <div class=\"row\">\n";
|
||||
responseStream << " <div class=\"col-sm-6 text-center text-sm-right order-sm-1\">\n";
|
||||
responseStream << " <ul class=\"text-gray\">\n";
|
||||
responseStream << " <li><a href=\"#\">Terms of use</a></li>\n";
|
||||
responseStream << " <li><a href=\"#\">Privacy Policy</a></li>\n";
|
||||
responseStream << "\t\t\t\t<li><a href=\"https://gradido.net/de/datenschutz/\" target=\"_blank\">Datenschutzerklärung</a></li>\n";
|
||||
responseStream << " <li><a href=\"https://gradido.net/de/impressum/\" target=\"_blank\">Impressum</a></li>\n";
|
||||
responseStream << " </ul>\n";
|
||||
responseStream << " </div>\n";
|
||||
responseStream << " <div class=\"col-sm-6 text-center text-sm-left mt-3 mt-sm-0\">\n";
|
||||
|
||||
@ -19,6 +19,8 @@
|
||||
#include "CheckTransactionPage.h"
|
||||
#include "ResetPassword.h"
|
||||
|
||||
#include "DecodeTransactionPage.h"
|
||||
|
||||
|
||||
#include "../SingletonManager/SessionManager.h"
|
||||
|
||||
@ -64,6 +66,13 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::createRequestHandler(c
|
||||
return pageRequestHandler;
|
||||
}
|
||||
|
||||
if (url_first_part == "/decode_transaction") {
|
||||
mLogging.information(dateTimeString + " decode");
|
||||
auto pageRequestHandler = new DecodeTransactionPage;
|
||||
pageRequestHandler->setProfiler(timeUsed);
|
||||
return pageRequestHandler;
|
||||
}
|
||||
|
||||
// check if user has valid session
|
||||
Poco::Net::NameValueCollection cookies;
|
||||
request.getCookies(cookies);
|
||||
|
||||
@ -39,14 +39,14 @@ namespace controller {
|
||||
|
||||
std::vector<model::table::UserTuple> resultFromDB;
|
||||
// check if search string is email
|
||||
if (sm->isValid(searchString, VALIDATE_EMAIL)) {
|
||||
/*if (sm->isValid(searchString, VALIDATE_EMAIL)) {
|
||||
resultFromDB = db->loadFromDB <std::string, model::table::UserTuple>("email", globalSearch);
|
||||
}
|
||||
else {
|
||||
std::vector<std::string> fieldNames = { "first_name", "last_name" };
|
||||
std::vector<std::string> fieldValues = { globalSearch, globalSearch };
|
||||
else {*/
|
||||
std::vector<std::string> fieldNames = { "first_name", "last_name", "email" };
|
||||
std::vector<std::string> fieldValues = { globalSearch, globalSearch, globalSearch };
|
||||
resultFromDB = db->loadFromDB<std::string, model::table::UserTuple>(fieldNames, fieldValues, model::table::MYSQL_CONDITION_OR);
|
||||
}
|
||||
//}
|
||||
|
||||
db->release();
|
||||
db = nullptr;
|
||||
|
||||
@ -22,7 +22,7 @@ int main(int argc, char** argv)
|
||||
printf("error initing sodium, early exit\n");
|
||||
return -1;
|
||||
}
|
||||
ServerConfig::g_versionString = "0.11.0";
|
||||
ServerConfig::g_versionString = "0.20.KW03.01";
|
||||
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));
|
||||
|
||||
|
||||
@ -198,8 +198,6 @@ int SigningTransaction::run() {
|
||||
sendErrorsAsEmail();
|
||||
return -8;
|
||||
}
|
||||
|
||||
//Poco::Thread::sleep(10000);
|
||||
|
||||
return 0;
|
||||
}
|
||||
85
src/cpsp/decodeTransaction.cpsp
Normal file
85
src/cpsp/decodeTransaction.cpsp
Normal file
@ -0,0 +1,85 @@
|
||||
<%@ page class="DecodeTransactionPage" %>
|
||||
<%@ page form="true" %>
|
||||
<%@ page compressed="true" %>
|
||||
<%@ page baseClass="PageRequestMessagedHandler" %>
|
||||
<%@ header include="PageRequestMessagedHandler.h" %>
|
||||
<%!
|
||||
#include "sodium.h"
|
||||
#include "../proto/gradido/TransactionBody.pb.h"
|
||||
%>
|
||||
<%%
|
||||
const char* pageName = "Decode Transaction";
|
||||
model::messages::gradido::TransactionBody transactionBody;
|
||||
bool decoded = false;
|
||||
if(!form.empty()) {
|
||||
auto base64 = form.get("transaction", "");
|
||||
if(base64 != "") {
|
||||
unsigned char* binBuffer = (unsigned char*)malloc(base64.size());
|
||||
size_t resultingBinSize = 0;
|
||||
size_t base64_size = base64.size();
|
||||
if (sodium_base642bin(
|
||||
binBuffer, base64_size,
|
||||
base64.data(), base64_size,
|
||||
nullptr, &resultingBinSize, nullptr,
|
||||
sodium_base64_VARIANT_ORIGINAL))
|
||||
{
|
||||
free(binBuffer);
|
||||
addError(new Error("ProcessingTransaction", "error decoding base64"));
|
||||
} else {
|
||||
std::string binString((char*)binBuffer, resultingBinSize);
|
||||
free(binBuffer);
|
||||
|
||||
if (!transactionBody.ParseFromString(binString)) {
|
||||
addError(new Error("ProcessingTransaction", "error creating Transaction from binary Message"));
|
||||
} else {
|
||||
decoded = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
char *sodium_bin2hex(char * const hex, const size_t hex_maxlen,
|
||||
const unsigned char * const bin, const size_t bin_len);
|
||||
*/
|
||||
%><%@ include file="header_old.cpsp" %>
|
||||
<div class="grd_container">
|
||||
<h1>Transaktion dekodieren</h1>
|
||||
<%= getErrorsHtml() %>
|
||||
<form method="POST">
|
||||
<fieldset class="grd_container_small">
|
||||
<legend>Transaktion dekodieren</legend>
|
||||
<textarea style="width:100%;height:100px" name="transaction"><%= !form.empty() ? form.get("transaction", "") : "" %></textarea>
|
||||
</fieldset>
|
||||
<input class="grd-form-bn grd-form-bn-succeed" type="submit" name="submit" value="Dekodieren">
|
||||
</form>
|
||||
<% if(decoded) { %>
|
||||
<p><b>Verwendungszweck:</b></p>
|
||||
<p><%= transactionBody.memo() %></p>
|
||||
<% if(transactionBody.has_transfer()) {
|
||||
auto transfer = transactionBody.transfer();
|
||||
%>
|
||||
<h3>Transfer</h3>
|
||||
<b>Sender</b>
|
||||
<% for(int i = 0; i < transfer.senderamounts_size(); i++) {
|
||||
auto sender = transfer.senderamounts(i);
|
||||
char hex[65]; memset(hex, 0, 65);
|
||||
sodium_bin2hex(hex, 65, (const unsigned char*)sender.ed25519_sender_pubkey().data(), sender.ed25519_sender_pubkey().size());
|
||||
%>
|
||||
<p>pubkey: <%= hex %></p>
|
||||
<p>amount: <%= sender.amount() %></p>
|
||||
<% } %>
|
||||
<b>Receiver</b>
|
||||
<% for(int i = 0; i < transfer.receiveramounts_size(); i++) {
|
||||
auto receiver = transfer.receiveramounts(i);
|
||||
char hex[65]; memset(hex, 0, 65);
|
||||
sodium_bin2hex(hex, 65, (const unsigned char*)receiver.ed25519_receiver_pubkey().data(), receiver.ed25519_receiver_pubkey().size());
|
||||
%>
|
||||
<p>pubkey: <%= hex %></p>
|
||||
<p>amount: <%= receiver.amount() %></p>
|
||||
<% } %>
|
||||
<% } else if(transactionBody.has_creation()) { %>
|
||||
<h3>Creation</h3>
|
||||
<% } %>
|
||||
<% } %>
|
||||
</div>
|
||||
<%@ include file="footer.cpsp" %>
|
||||
@ -6,8 +6,8 @@
|
||||
<div class="row">
|
||||
<div class="col-sm-6 text-center text-sm-right order-sm-1">
|
||||
<ul class="text-gray">
|
||||
<li><a href="#">Terms of use</a></li>
|
||||
<li><a href="#">Privacy Policy</a></li>
|
||||
<li><a href="https://gradido.net/de/datenschutz/" target="_blank">Datenschutzerklärung</a></li>
|
||||
<li><a href="https://gradido.net/de/impressum/" target="_blank">Impressum</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-sm-6 text-center text-sm-left mt-3 mt-sm-0">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user