mirror of
				https://github.com/KevinMidboe/zoff.git
				synced 2025-10-29 18:00:23 +00:00 
			
		
		
		
	Sending mail when description or thumbnail is requested
This commit is contained in:
		
							
								
								
									
										39
									
								
								server/handlers/notifications.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								server/handlers/notifications.js
									
									
									
									
									
										Normal 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; | ||||
| @@ -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"); | ||||
|                     }); | ||||
|                 } | ||||
|   | ||||
| @@ -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'); | ||||
|   | ||||
| @@ -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) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user