Updated get-history to include channel-password if exists

This commit is contained in:
Kasper Rynning-Tønnesen
2018-03-06 13:39:49 +01:00
parent 64e4a84012
commit 259ef0fe7e
3 changed files with 30 additions and 5 deletions

View File

@@ -1,4 +1,4 @@
function get_history(channel, all, socket) { function get_history(channel, all, socket, pass) {
var query = {}; var query = {};
if(all) { if(all) {
query = { query = {
@@ -10,6 +10,18 @@ function get_history(channel, all, socket) {
channel: channel, channel: channel,
}; };
} }
if(!query.all) {
db.collection(channel + "_settings").find({id: "config"}, function(err, conf) {
if(conf.length > 0 && conf[0].userpass == "" || conf[0].userpass == Functions.decrypt_string(socket.zoff_id, pass)) {
getAndSendLogs(channel, all, socket, pass, query);
}
});
} else {
getAndSendLogs(channel, all, socket, pass, query);
}
}
function getAndSendLogs(channel, all, socket, pass, query) {
db.collection("chat_logs").find(query, { db.collection("chat_logs").find(query, {
from: 1, from: 1,
createdAt: 1, createdAt: 1,

View File

@@ -179,6 +179,7 @@ module.exports = function() {
socket.on('get_history', function(msg) { socket.on('get_history', function(msg) {
if(!msg.hasOwnProperty("channel") || !msg.hasOwnProperty("all") || if(!msg.hasOwnProperty("channel") || !msg.hasOwnProperty("all") ||
!msg.hasOwnProperty("pass") || typeof(msg.pass) != "string" ||
typeof(msg.channel) != "string" || typeof(msg.all) != "boolean") { typeof(msg.channel) != "string" || typeof(msg.all) != "boolean") {
var result = { var result = {
all: { all: {
@@ -197,7 +198,7 @@ module.exports = function() {
socket.emit('update_required', result); socket.emit('update_required', result);
return; return;
} }
Chat.get_history(msg.channel, msg.all, socket); Chat.get_history(msg.channel, msg.all, socket, msg.pass);
}); });
socket.on('chat', function (msg) { socket.on('chat', function (msg) {

View File

@@ -103,6 +103,7 @@ var Channel = {
} }
Crypt.init(); Crypt.init();
setup_auth_listener(); setup_auth_listener();
if(Crypt.get_offline()){ if(Crypt.get_offline()){
@@ -198,9 +199,7 @@ var Channel = {
setup_admin_listener(); setup_admin_listener();
setup_list_listener(); setup_list_listener();
setup_chat_listener(); setup_chat_listener();
get_history();
socket.emit("get_history", {channel: chan.toLowerCase(), all: false});
socket.emit("get_history", {channel: chan.toLowerCase(), all: true});
if(!Helper.msieversion() && !Helper.mobilecheck()) Notification.requestPermission(); if(!Helper.msieversion() && !Helper.mobilecheck()) Notification.requestPermission();
@@ -618,3 +617,16 @@ var Channel = {
} }
} }
} }
function get_history() {
if(socket.id) {
var p = Crypt.get_userpass();
var c = Crypt.crypt_pass(p, true);
socket.emit("get_history", {channel: chan.toLowerCase(), all: false, pass: embed ? '' : c});
socket.emit("get_history", {channel: chan.toLowerCase(), all: true, pass: ""});
} else {
setTimeout(function() {
get_history();
}, 50);
}
}