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.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){ |                 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){ |                     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"); |                         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.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){ |                 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){ |                     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"); |                         socket.emit("toast", "suggested_description"); | ||||||
|                     }); |                     }); | ||||||
|                 } |                 } | ||||||
|   | |||||||
| @@ -87,6 +87,7 @@ List = require('./handlers/list.js'); | |||||||
| Suggestions = require('./handlers/suggestions.js'); | Suggestions = require('./handlers/suggestions.js'); | ||||||
| ListSettings = require('./handlers/list_settings.js'); | ListSettings = require('./handlers/list_settings.js'); | ||||||
| Frontpage = require('./handlers/frontpage.js'); | Frontpage = require('./handlers/frontpage.js'); | ||||||
|  | Notifications = require('./handlers/notifications.js'); | ||||||
| Search = require('./handlers/search.js'); | Search = require('./handlers/search.js'); | ||||||
| crypto = require('crypto'); | crypto = require('crypto'); | ||||||
| node_cryptojs = require('node-cryptojs-aes'); | node_cryptojs = require('node-cryptojs-aes'); | ||||||
|   | |||||||
| @@ -65,7 +65,6 @@ function root(req, res, next) { | |||||||
|                 javascript_file: "main.min.js", |                 javascript_file: "main.min.js", | ||||||
|                 captcha: res.recaptcha |                 captcha: res.recaptcha | ||||||
|             } |             } | ||||||
|             console.log(data.recaptcha); |  | ||||||
|             res.render('layouts/frontpage', data); |             res.render('layouts/frontpage', data); | ||||||
|         } |         } | ||||||
|     } catch(e) { |     } catch(e) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user