diff --git a/core/entryController.js b/core/entryController.js index 25ca23c..eac2f43 100644 --- a/core/entryController.js +++ b/core/entryController.js @@ -284,7 +284,7 @@ exports.verifyEntry = function (request, response) { exports.disableEntry = function (request, response) { db.getUserByHash(request.params.k, function (results, err) { if (!err) { - ejs.renderFile(__dirname + "/../templates/delete-confirm.ejs", { hash : request.params.k }, function (err, data) { + ejs.renderFile(__dirname + "/../templates/deleteConfirm.ejs", { hash : request.params.k }, function (err, data) { if (err) { response.writeHead(404); response.write('Whoops! File not found!'); diff --git a/core/mailer.js b/core/mailer.js index 99cb230..1cc5e64 100644 --- a/core/mailer.js +++ b/core/mailer.js @@ -2,7 +2,9 @@ let nodeMailer = require('nodemailer'), ejs = require("ejs"), - transporter = undefined; + transporter = undefined, + fs = require('fs'), + path = require("path"); function initTransporter(){ @@ -19,42 +21,31 @@ function initTransporter(){ } } -exports.sendVerifySuccess = function(recipient){ +exports.sendVerificationMail = function(key, recipient, callback = null){ initTransporter(); - ejs.renderFile(__dirname + "/../mails/entry/verifySuccess.ejs", { firstname : recipient.firstname }, function (err, data) { - if (err) { - console.log(err); - } else { - let mailOptions = { - from: '"Human Connection - Uhr des Wandels" ', // sender address - to: recipient.email, // list of receivers - subject: "Deine E-Mail Adresse wurde bestätigt!", // Subject line - html: data // html body - }; - - transporter.sendMail(mailOptions, (error, info) => { - if (error) { - return console.log(error); - } - console.log('Message %s sent: %s', info.messageId, info.response); - }); - } - }); -}; + const replacementVariables = { + '{{{firstname}}}': recipient.firstname, + '{{{key}}}': key + }; + + fs.readFile( + path.resolve(__dirname + '/../mails/entry/registerSuccess.txt'), + 'utf8', + function(error, data) { + if (error) { + throw error; + } -exports.sendVerificationMail = function(key, recipient, callback = null){ - initTransporter(); + for (const [key, value] of Object.entries(replacementVariables)) { + data = data.replace(new RegExp(key, 'g'), value) + } - ejs.renderFile(__dirname + "/../mails/entry/verify.ejs", { key: key, firstname : recipient.firstname }, function (err, data) { - if (err) { - console.log(err); - } else { - let mailOptions = { - from: '"Human Connection Clock" ', // sender address + const mailOptions = { + from: '"Human Connection Clock" ', // sender address to: recipient.email, // list of receivers - subject: "Human Connection Uhr Eintrag erfolgeich", // Subject line - html: data // html body + subject: "Human Connection Clock entry successful", // Subject line + text: data, }; transporter.sendMail(mailOptions, (error, info) => { @@ -63,6 +54,5 @@ exports.sendVerificationMail = function(key, recipient, callback = null){ } console.log('Message %s sent: %s', info.messageId, info.response); }); - } - }); + }) }; diff --git a/mails/entry/registerSuccess.txt b/mails/entry/registerSuccess.txt new file mode 100644 index 0000000..4ba592f --- /dev/null +++ b/mails/entry/registerSuccess.txt @@ -0,0 +1,25 @@ +Hallo {{{firstname}}}, + +WILLKOMMEN bei der Human Connection-Uhr! VIELEN DANK, dass Du mit dabei bist! Zusammen setzen wir ein Zeichen! Wenn du deinen Eintrag deaktivieren möchtest, klicke bitte auf den folgende Link: + +https://api.clockofchange.org/entries/disable/{{{key}}} + +Wir würden uns sehr über Deine Unterstützung freuen! Mit einer einmaligen oder monatlichen Spende kannst du unsere Arbeit unterstützen. +Human Connection ist wegen Förderung internationaler Gesinnung, der Toleranz auf allen Gebieten der Kultur und des Völkerverständigungsgedankens als gemeinnützig anerkannt. Alle Spenden dienen dem Gemeinwohl. + +UNTERSTÜTZE UNSERE ARBEIT - https://human-connection.org/spenden/ + +Es gibt jetzt außerdem die Möglichkeit die Human Connection-Uhr als lebensechtes Modell zum Aufstellen vorzubestellen - erfahre mehr unter https://human-connection.org/vorbestellen/ + +BANKVERBINDUNG +GLS Bank +IBAN: DE08 4306 0967 7024 1934 00 +BIC / SWIFT: GENODEM1GLS + +Kennst Du schon das Förderprogramm von Human Connection? Als Förderer können Sie Ihren ganz besonderen Beitrag leisten und sich zusammen mit uns für ein gesellschaftliches, besseres Miteinander einsetzen. + +FÖRDERER WERDEN - https://human-connection.org/foerderer-werden/ + +CEO und Gründer: Dennis Hack - Registergericht Stuttgart - HRB 741951 +Steuernummer: 69042/06453 VAT-ID: DE284651760 +www.human-connection.org - info@human-connection.org diff --git a/public/.gitignore b/public/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/public/images/de.png b/public/images/de.png new file mode 100644 index 0000000..eea2e58 Binary files /dev/null and b/public/images/de.png differ diff --git a/public/images/en.png b/public/images/en.png new file mode 100644 index 0000000..f1e0e12 Binary files /dev/null and b/public/images/en.png differ diff --git a/public/images/es.png b/public/images/es.png new file mode 100644 index 0000000..f589a83 Binary files /dev/null and b/public/images/es.png differ diff --git a/public/images/fr.png b/public/images/fr.png new file mode 100644 index 0000000..fcfa7ca Binary files /dev/null and b/public/images/fr.png differ diff --git a/server.js b/server.js index edc537f..f07f5d1 100644 --- a/server.js +++ b/server.js @@ -12,6 +12,7 @@ const app = express(); // config app.set('view engine', 'ejs'); app.use('/uploads', express.static(__dirname + '/uploads')); +app.use(express.static(__dirname + '/public')); app.use(bodyParser.urlencoded({ extended: false })); diff --git a/templates/delete-confirm.ejs b/templates/delete-confirm.ejs deleted file mode 100644 index 14195b7..0000000 --- a/templates/delete-confirm.ejs +++ /dev/null @@ -1,62 +0,0 @@ - - - - - Human Connection Clock - Delete Entry - - - - - -
-

Human Connection Clock - Delete Entry

-

You are about to delete your entry for the Human Connection Clock.

-

When you proceed, all data will be deleted and can't be recovered.

-

- - -

-
- - diff --git a/templates/deleteConfirm.ejs b/templates/deleteConfirm.ejs new file mode 100644 index 0000000..e0beea7 --- /dev/null +++ b/templates/deleteConfirm.ejs @@ -0,0 +1,125 @@ + + + + + Human Connection Clock - Delete Entry + + + + + +
+

Human Connection Clock - Delete Entry

+
+
+ English +
+
+

You are about to delete your entry for the Human Connection Clock.

+

When you proceed, all data will be deleted and can't be recovered.

+
+
+
+
+
+ English +
+
+

Vous êtes en train de supprimer votre saisie pour l'horloge Human Connection

+

Si vous continuez, toutes vos données seront effacées et ne pourront pas être récupérées

+
+
+
+
+
+ English +
+
+

Está a punto de borrar su entrada por el reloj Human Connection

+

Cuando proceda, todos los datos serán borrados y no podrán ser recuperados.

+
+
+
+
+
+ English +
+
+

Sie sind dabei Ihren Eintrag für die Human Connection Uhr zu löschen.

+

Wenn Sie fortfahren werden alle Ihre Daten gelöscht und können nicht wieder hergestellt werden.

+
+
+
+

+ + +

+
+ +