Sending mail when description or thumbnail is requested

This commit is contained in:
Kasper Rynning-Tønnesen
2018-01-29 13:16:06 +01:00
parent 6c437ba258
commit 26fcc9f6cb
4 changed files with 42 additions and 1 deletions

View File

@@ -0,0 +1,39 @@
var path = require('path');
function requested_change(type, string, channel) {
try {
var nodemailer = require('nodemailer');
var mailconfig = require(path.join(__dirname, '../config/mailconfig.js'));
let transporter = nodemailer.createTransport(mailconfig);
transporter.verify(function(error, success) {
if (error) {
return;
} else {
var message = "A " + type + " change was requested on <b>" + channel + "</b><br><br>New supposed value is: <br><br><b>" + string + "</b><br><br><br> \
Go to <a href='https://admin.zoff.me/'>https://admin.zoff.me/</a> to accept or decline the request.";
var msg = {
from: 'no-reply@zoff.no',
to: 'kasper@zoff.no',
subject: 'ZOFF: Requested new ' + type,
text: message,
html: message,
}
transporter.sendMail(msg, (error, info) => {
if (error) {
transporter.close();
return;
}
transporter.close();
});
}
});
} catch(e) {
console.log(e);
console.log("Mail is not configured and wont work");
console.log("Seems you forgot to create a mailconfig.js in /server/config/. Have a look at the mailconfig.example.js.");
}
}
module.exports.requested_change = requested_change;

View File

@@ -8,6 +8,7 @@ function thumbnail(msg, coll, guid, offline, socket) {
if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == Functions.decrypt_string(socketid, msg.pass)))) {
if(docs !== null && docs.length !== 0 && docs[0].adminpass !== "" && docs[0].adminpass == hash){
db.collection("suggested_thumbnails").update({channel: channel}, {$set:{thumbnail: msg.thumbnail}}, {upsert:true}, function(err, docs){
Notifications.requested_change("thumbnail", msg.thumbnail, channel);
socket.emit("toast", "suggested_thumbnail");
});
}
@@ -28,6 +29,7 @@ function description(msg, coll, guid, offline, socket) {
if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == Functions.decrypt_string(socketid, msg.pass)))) {
if(docs !== null && docs.length !== 0 && docs[0].adminpass !== "" && docs[0].adminpass == hash){
db.collection("suggested_descriptions").update({channel: channel}, {$set:{description: msg.description}}, {upsert:true}, function(err, docs){
Notifications.requested_change("description", msg.description, channel);
socket.emit("toast", "suggested_description");
});
}

View File

@@ -87,6 +87,7 @@ List = require('./handlers/list.js');
Suggestions = require('./handlers/suggestions.js');
ListSettings = require('./handlers/list_settings.js');
Frontpage = require('./handlers/frontpage.js');
Notifications = require('./handlers/notifications.js');
Search = require('./handlers/search.js');
crypto = require('crypto');
node_cryptojs = require('node-cryptojs-aes');

View File

@@ -65,7 +65,6 @@ function root(req, res, next) {
javascript_file: "main.min.js",
captcha: res.recaptcha
}
console.log(data.recaptcha);
res.render('layouts/frontpage', data);
}
} catch(e) {