mirror of
				https://github.com/KevinMidboe/zoff.git
				synced 2025-10-29 18:00:23 +00:00 
			
		
		
		
	Prettified som more files and fixed some logging of missing files so they are more similar in fashion
This commit is contained in:
		| @@ -1,183 +1,284 @@ | ||||
| var Functions = require(pathThumbnails + '/handlers/functions.js'); | ||||
| var Notifications = require(pathThumbnails + '/handlers/notifications.js'); | ||||
| var crypto = require('crypto'); | ||||
| var db = require(pathThumbnails + '/handlers/db.js'); | ||||
| var Functions = require(pathThumbnails + "/handlers/functions.js"); | ||||
| var Notifications = require(pathThumbnails + "/handlers/notifications.js"); | ||||
| var crypto = require("crypto"); | ||||
| var db = require(pathThumbnails + "/handlers/db.js"); | ||||
|  | ||||
| function thumbnail(msg, coll, guid, offline, socket) { | ||||
|     if(msg.thumbnail != undefined && msg.channel && msg.channel != undefined && Functions.isUrl(msg.thumbnail)){ | ||||
|         if(typeof(msg.channel) != "string" || typeof(msg.thumbnail) != "string") | ||||
|              { | ||||
|                 var result = { | ||||
|                     channel: { | ||||
|                         expected: "string", | ||||
|                         got: msg.hasOwnProperty("channel") ? typeof(msg.channel) : undefined, | ||||
|                     }, | ||||
|                     pass: { | ||||
|                         expected: "string", | ||||
|                         got: msg.hasOwnProperty("pass") ? typeof(msg.pass) : undefined, | ||||
|                     }, | ||||
|                     thumbnail: { | ||||
|                         expected: "string", | ||||
|                         got: msg.hasOwnProperty("thumbnail") ? typeof(msg.thumbnail) : undefined, | ||||
|                     }, | ||||
|                     adminpass: { | ||||
|                         expected: "string", | ||||
|                         got: msg.hasOwnProperty("adminpass") ? typeof(msg.adminpass) : undefined, | ||||
|                     }, | ||||
|                 }; | ||||
|                 socket.emit("update_required", result); | ||||
|                 return; | ||||
|             } | ||||
|             //coll = coll.replace(/ /g,''); | ||||
|         Functions.getSessionAdminUser(Functions.getSession(socket), coll, function(userpass, adminpass) { | ||||
|             if(userpass != "" || msg.pass == undefined) { | ||||
|                 msg.pass = userpass; | ||||
|             } else if(msg.hasOwnProperty("pass")){ | ||||
|                 msg.pass = crypto.createHash('sha256').update(Functions.decrypt_string(msg.pass)).digest("base64"); | ||||
|             } | ||||
|             if(adminpass != "" || msg.adminpass == undefined) { | ||||
|                 msg.adminpass = Functions.hash_pass(adminpass); | ||||
|             } else { | ||||
|                 msg.adminpass = Functions.hash_pass(Functions.hash_pass(Functions.decrypt_string(msg.adminpass),true)); | ||||
|             } | ||||
|             if(msg.thumbnail != "") { | ||||
|                 msg.thumbnail = msg.thumbnail.replace(/^https?\:\/\//i, ""); | ||||
|                 if(msg.thumbnail.substring(0,2) != "//") msg.thumbnail = "//" + msg.thumbnail; | ||||
|             } | ||||
|             var channel = msg.channel.toLowerCase(); | ||||
|             var hash = msg.adminpass; | ||||
|             db.collection(channel + "_settings").find({id: "config"}, function(err, docs){ | ||||
|                 if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == 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"); | ||||
|                         }); | ||||
|                     } | ||||
|                 } else { | ||||
|                     socket.emit("auth_required"); | ||||
|                 } | ||||
|             }); | ||||
|         }); | ||||
|     } else { | ||||
|         socket.emit("toast", "thumbnail_denied"); | ||||
|   if ( | ||||
|     msg.thumbnail != undefined && | ||||
|     msg.channel && | ||||
|     msg.channel != undefined && | ||||
|     Functions.isUrl(msg.thumbnail) | ||||
|   ) { | ||||
|     if (typeof msg.channel != "string" || typeof msg.thumbnail != "string") { | ||||
|       var result = { | ||||
|         channel: { | ||||
|           expected: "string", | ||||
|           got: msg.hasOwnProperty("channel") ? typeof msg.channel : undefined | ||||
|         }, | ||||
|         pass: { | ||||
|           expected: "string", | ||||
|           got: msg.hasOwnProperty("pass") ? typeof msg.pass : undefined | ||||
|         }, | ||||
|         thumbnail: { | ||||
|           expected: "string", | ||||
|           got: msg.hasOwnProperty("thumbnail") | ||||
|             ? typeof msg.thumbnail | ||||
|             : undefined | ||||
|         }, | ||||
|         adminpass: { | ||||
|           expected: "string", | ||||
|           got: msg.hasOwnProperty("adminpass") | ||||
|             ? typeof msg.adminpass | ||||
|             : undefined | ||||
|         } | ||||
|       }; | ||||
|       socket.emit("update_required", result); | ||||
|       return; | ||||
|     } | ||||
|     //coll = coll.replace(/ /g,''); | ||||
|     Functions.getSessionAdminUser(Functions.getSession(socket), coll, function( | ||||
|       userpass, | ||||
|       adminpass | ||||
|     ) { | ||||
|       if (userpass != "" || msg.pass == undefined) { | ||||
|         msg.pass = userpass; | ||||
|       } else if (msg.hasOwnProperty("pass")) { | ||||
|         msg.pass = crypto | ||||
|           .createHash("sha256") | ||||
|           .update(Functions.decrypt_string(msg.pass)) | ||||
|           .digest("base64"); | ||||
|       } | ||||
|       if (adminpass != "" || msg.adminpass == undefined) { | ||||
|         msg.adminpass = Functions.hash_pass(adminpass); | ||||
|       } else { | ||||
|         msg.adminpass = Functions.hash_pass( | ||||
|           Functions.hash_pass(Functions.decrypt_string(msg.adminpass), true) | ||||
|         ); | ||||
|       } | ||||
|       if (msg.thumbnail != "") { | ||||
|         msg.thumbnail = msg.thumbnail.replace(/^https?\:\/\//i, ""); | ||||
|         if (msg.thumbnail.substring(0, 2) != "//") | ||||
|           msg.thumbnail = "//" + msg.thumbnail; | ||||
|       } | ||||
|       var channel = msg.channel.toLowerCase(); | ||||
|       var hash = msg.adminpass; | ||||
|       db.collection(channel + "_settings").find({ id: "config" }, function( | ||||
|         err, | ||||
|         docs | ||||
|       ) { | ||||
|         if ( | ||||
|           docs.length > 0 && | ||||
|           (docs[0].userpass == undefined || | ||||
|             docs[0].userpass == "" || | ||||
|             (msg.hasOwnProperty("pass") && docs[0].userpass == 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"); | ||||
|               } | ||||
|             ); | ||||
|           } | ||||
|         } else { | ||||
|           socket.emit("auth_required"); | ||||
|         } | ||||
|       }); | ||||
|     }); | ||||
|   } else { | ||||
|     socket.emit("toast", "thumbnail_denied"); | ||||
|   } | ||||
| } | ||||
|  | ||||
| function description(msg, coll, guid, offline, socket) { | ||||
|     if(msg.description && msg.channel && msg.description.length < 100){ | ||||
|         if(typeof(msg.channel) != "string" || typeof(msg.description) != "string") { | ||||
|                 var result = { | ||||
|                     channel: { | ||||
|                         expected: "string", | ||||
|                         got: msg.hasOwnProperty("channel") ? typeof(msg.channel) : undefined, | ||||
|                     }, | ||||
|                     pass: { | ||||
|                         expected: "string", | ||||
|                         got: msg.hasOwnProperty("pass") ? typeof(msg.pass) : undefined, | ||||
|                     }, | ||||
|                     description: { | ||||
|                         expected: "string", | ||||
|                         got: msg.hasOwnProperty("description") ? typeof(msg.description) : undefined, | ||||
|                     }, | ||||
|                     adminpass: { | ||||
|                         expected: "string", | ||||
|                         got: msg.hasOwnProperty("adminpass") ? typeof(msg.adminpass) : undefined, | ||||
|                     }, | ||||
|                 }; | ||||
|                 socket.emit("update_required", result); | ||||
|                 return; | ||||
|             } | ||||
|             //coll = coll.replace(/ /g,''); | ||||
|         Functions.getSessionAdminUser(Functions.getSession(socket), coll, function(userpass, adminpass, gotten) { | ||||
|             if(userpass != "" || msg.pass == undefined) { | ||||
|                 msg.pass = userpass; | ||||
|             } else if(msg.hasOwnProperty("pass")) { | ||||
|                 msg.pass = crypto.createHash('sha256').update(Functions.decrypt_string(msg.pass)).digest("base64"); | ||||
|             } | ||||
|             if(adminpass != "" || msg.adminpass == undefined) { | ||||
|                 msg.adminpass = Functions.hash_pass(adminpass); | ||||
|             } else { | ||||
|                 msg.adminpass = Functions.hash_pass(Functions.hash_pass(Functions.decrypt_string(msg.adminpass), true)); | ||||
|             } | ||||
|             var channel = msg.channel.toLowerCase(); | ||||
|             var hash = msg.adminpass; | ||||
|             db.collection(channel + "_settings").find({id: "config"}, function(err, docs){ | ||||
|                 if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == 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"); | ||||
|                         }); | ||||
|                     } | ||||
|                 } else { | ||||
|                     socket.emit("auth_required"); | ||||
|                 } | ||||
|             }); | ||||
|         }); | ||||
|     } else { | ||||
|         socket.emit("toast", "description_denied"); | ||||
|   if (msg.description && msg.channel && msg.description.length < 100) { | ||||
|     if (typeof msg.channel != "string" || typeof msg.description != "string") { | ||||
|       var result = { | ||||
|         channel: { | ||||
|           expected: "string", | ||||
|           got: msg.hasOwnProperty("channel") ? typeof msg.channel : undefined | ||||
|         }, | ||||
|         pass: { | ||||
|           expected: "string", | ||||
|           got: msg.hasOwnProperty("pass") ? typeof msg.pass : undefined | ||||
|         }, | ||||
|         description: { | ||||
|           expected: "string", | ||||
|           got: msg.hasOwnProperty("description") | ||||
|             ? typeof msg.description | ||||
|             : undefined | ||||
|         }, | ||||
|         adminpass: { | ||||
|           expected: "string", | ||||
|           got: msg.hasOwnProperty("adminpass") | ||||
|             ? typeof msg.adminpass | ||||
|             : undefined | ||||
|         } | ||||
|       }; | ||||
|       socket.emit("update_required", result); | ||||
|       return; | ||||
|     } | ||||
|     //coll = coll.replace(/ /g,''); | ||||
|     Functions.getSessionAdminUser(Functions.getSession(socket), coll, function( | ||||
|       userpass, | ||||
|       adminpass, | ||||
|       gotten | ||||
|     ) { | ||||
|       if (userpass != "" || msg.pass == undefined) { | ||||
|         msg.pass = userpass; | ||||
|       } else if (msg.hasOwnProperty("pass")) { | ||||
|         msg.pass = crypto | ||||
|           .createHash("sha256") | ||||
|           .update(Functions.decrypt_string(msg.pass)) | ||||
|           .digest("base64"); | ||||
|       } | ||||
|       if (adminpass != "" || msg.adminpass == undefined) { | ||||
|         msg.adminpass = Functions.hash_pass(adminpass); | ||||
|       } else { | ||||
|         msg.adminpass = Functions.hash_pass( | ||||
|           Functions.hash_pass(Functions.decrypt_string(msg.adminpass), true) | ||||
|         ); | ||||
|       } | ||||
|       var channel = msg.channel.toLowerCase(); | ||||
|       var hash = msg.adminpass; | ||||
|       db.collection(channel + "_settings").find({ id: "config" }, function( | ||||
|         err, | ||||
|         docs | ||||
|       ) { | ||||
|         if ( | ||||
|           docs.length > 0 && | ||||
|           (docs[0].userpass == undefined || | ||||
|             docs[0].userpass == "" || | ||||
|             (msg.hasOwnProperty("pass") && docs[0].userpass == 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"); | ||||
|               } | ||||
|             ); | ||||
|           } | ||||
|         } else { | ||||
|           socket.emit("auth_required"); | ||||
|         } | ||||
|       }); | ||||
|     }); | ||||
|   } else { | ||||
|     socket.emit("toast", "description_denied"); | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| function rules(msg, coll, guid, offline, socket) { | ||||
|     if(msg.rules && msg.channel && msg.rules.length < 250){ | ||||
|         if(typeof(msg.channel) != "string" || typeof(msg.rules) != "string") { | ||||
|                 var result = { | ||||
|                     channel: { | ||||
|                         expected: "string", | ||||
|                         got: msg.hasOwnProperty("channel") ? typeof(msg.channel) : undefined, | ||||
|                     }, | ||||
|                     pass: { | ||||
|                         expected: "string", | ||||
|                         got: msg.hasOwnProperty("pass") ? typeof(msg.pass) : undefined, | ||||
|                     }, | ||||
|                     rules: { | ||||
|                         expected: "string", | ||||
|                         got: msg.hasOwnProperty("rules") ? typeof(msg.rules) : undefined, | ||||
|                     }, | ||||
|                     adminpass: { | ||||
|                         expected: "string", | ||||
|                         got: msg.hasOwnProperty("adminpass") ? typeof(msg.adminpass) : undefined, | ||||
|                     }, | ||||
|                 }; | ||||
|                 socket.emit("update_required", result); | ||||
|                 return; | ||||
|             } | ||||
|             //coll = coll.replace(/ /g,''); | ||||
|         Functions.getSessionAdminUser(Functions.getSession(socket), coll, function(userpass, adminpass, gotten) { | ||||
|             if(userpass != "" || msg.pass == undefined) { | ||||
|                 msg.pass = userpass; | ||||
|             } else if(msg.hasOwnProperty("pass")) { | ||||
|                 msg.pass = crypto.createHash('sha256').update(Functions.decrypt_string(msg.pass)).digest("base64"); | ||||
|             } | ||||
|             if(adminpass != "" || msg.adminpass == undefined) { | ||||
|                 msg.adminpass = Functions.hash_pass(adminpass); | ||||
|             } else { | ||||
|                 msg.adminpass = Functions.hash_pass(Functions.hash_pass(Functions.decrypt_string(msg.adminpass), true)); | ||||
|             } | ||||
|             var channel = msg.channel.toLowerCase(); | ||||
|             var hash = msg.adminpass; | ||||
|             db.collection(channel + "_settings").find({id: "config"}, function(err, docs){ | ||||
|                 if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == msg.pass))) { | ||||
|                     if(docs !== null && docs.length !== 0 && docs[0].adminpass !== "" && docs[0].adminpass == hash){ | ||||
|                         db.collection("suggested_rules").update({channel: channel}, {$set:{rules: msg.rules}}, {upsert:true}, function(err, docs){ | ||||
|                             Notifications.requested_change("rules", msg.rules, channel); | ||||
|                             socket.emit("toast", "suggested_rules"); | ||||
|                         }); | ||||
|                     } | ||||
|                 } else { | ||||
|                     socket.emit("auth_required"); | ||||
|                 } | ||||
|             }); | ||||
|         }); | ||||
|     } else { | ||||
|         socket.emit("toast", "rules_denied"); | ||||
|   if (msg.rules && msg.channel && msg.rules.length < 250) { | ||||
|     if (typeof msg.channel != "string" || typeof msg.rules != "string") { | ||||
|       var result = { | ||||
|         channel: { | ||||
|           expected: "string", | ||||
|           got: msg.hasOwnProperty("channel") ? typeof msg.channel : undefined | ||||
|         }, | ||||
|         pass: { | ||||
|           expected: "string", | ||||
|           got: msg.hasOwnProperty("pass") ? typeof msg.pass : undefined | ||||
|         }, | ||||
|         rules: { | ||||
|           expected: "string", | ||||
|           got: msg.hasOwnProperty("rules") ? typeof msg.rules : undefined | ||||
|         }, | ||||
|         adminpass: { | ||||
|           expected: "string", | ||||
|           got: msg.hasOwnProperty("adminpass") | ||||
|             ? typeof msg.adminpass | ||||
|             : undefined | ||||
|         } | ||||
|       }; | ||||
|       socket.emit("update_required", result); | ||||
|       return; | ||||
|     } | ||||
|     //coll = coll.replace(/ /g,''); | ||||
|     Functions.getSessionAdminUser(Functions.getSession(socket), coll, function( | ||||
|       userpass, | ||||
|       adminpass, | ||||
|       gotten | ||||
|     ) { | ||||
|       if (userpass != "" || msg.pass == undefined) { | ||||
|         msg.pass = userpass; | ||||
|       } else if (msg.hasOwnProperty("pass")) { | ||||
|         msg.pass = crypto | ||||
|           .createHash("sha256") | ||||
|           .update(Functions.decrypt_string(msg.pass)) | ||||
|           .digest("base64"); | ||||
|       } | ||||
|       if (adminpass != "" || msg.adminpass == undefined) { | ||||
|         msg.adminpass = Functions.hash_pass(adminpass); | ||||
|       } else { | ||||
|         msg.adminpass = Functions.hash_pass( | ||||
|           Functions.hash_pass(Functions.decrypt_string(msg.adminpass), true) | ||||
|         ); | ||||
|       } | ||||
|       var channel = msg.channel.toLowerCase(); | ||||
|       var hash = msg.adminpass; | ||||
|       db.collection(channel + "_settings").find({ id: "config" }, function( | ||||
|         err, | ||||
|         docs | ||||
|       ) { | ||||
|         if ( | ||||
|           docs.length > 0 && | ||||
|           (docs[0].userpass == undefined || | ||||
|             docs[0].userpass == "" || | ||||
|             (msg.hasOwnProperty("pass") && docs[0].userpass == msg.pass)) | ||||
|         ) { | ||||
|           if ( | ||||
|             docs !== null && | ||||
|             docs.length !== 0 && | ||||
|             docs[0].adminpass !== "" && | ||||
|             docs[0].adminpass == hash | ||||
|           ) { | ||||
|             db.collection("suggested_rules").update( | ||||
|               { channel: channel }, | ||||
|               { $set: { rules: msg.rules } }, | ||||
|               { upsert: true }, | ||||
|               function(err, docs) { | ||||
|                 Notifications.requested_change("rules", msg.rules, channel); | ||||
|                 socket.emit("toast", "suggested_rules"); | ||||
|               } | ||||
|             ); | ||||
|           } | ||||
|         } else { | ||||
|           socket.emit("auth_required"); | ||||
|         } | ||||
|       }); | ||||
|     }); | ||||
|   } else { | ||||
|     socket.emit("toast", "rules_denied"); | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| module.exports.thumbnail = thumbnail; | ||||
| module.exports.description = description; | ||||
| module.exports.rules = rules; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user