mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 09:50:24 +00:00
93 lines
4.7 KiB
JavaScript
93 lines
4.7 KiB
JavaScript
function thumbnail(msg, coll, guid, offline, socket) {
|
|
if(msg.thumbnail && msg.channel && msg.adminpass && msg.thumbnail.indexOf("i.imgur.com") > -1){
|
|
if(typeof(msg.channel) != "string" || typeof(msg.thumbnail) != "string" ||
|
|
typeof(msg.adminpass) != "string" || typeof(msg.pass) != "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;
|
|
}
|
|
msg.thumbnail = msg.thumbnail.replace(/^https?\:\/\//i, "");
|
|
if(msg.thumbnail.substring(0,2) != "//") msg.thumbnail = "//" + msg.thumbnail;
|
|
var channel = msg.channel.toLowerCase();
|
|
var hash = Functions.hash_pass(Functions.decrypt_string(socket.zoff_id, 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 == 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");
|
|
});
|
|
}
|
|
} else {
|
|
socket.emit("auth_required");
|
|
}
|
|
});
|
|
} else {
|
|
socket.emit("toast", "thumbnail_denied");
|
|
}
|
|
}
|
|
|
|
function description(msg, coll, guid, offline, socket) {
|
|
if(msg.description && msg.channel && msg.adminpass && msg.description.length < 100){
|
|
if(typeof(msg.channel) != "string" || typeof(msg.description) != "string" ||
|
|
typeof(msg.adminpass) != "string" || typeof(msg.pass) != "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;
|
|
}
|
|
var channel = msg.channel.toLowerCase();
|
|
var hash = Functions.hash_pass(Functions.decrypt_string(socket.zoff_id, 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 == 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");
|
|
});
|
|
}
|
|
} else {
|
|
socket.emit("auth_required");
|
|
}
|
|
});
|
|
} else {
|
|
socket.emit("toast", "description_denied");
|
|
}
|
|
}
|
|
|
|
module.exports.thumbnail = thumbnail;
|
|
module.exports.description = description;
|