Move userLog function where it belongs

Fixes #438
This commit is contained in:
Pavel Djundik 2017-09-14 10:41:50 +03:00
parent 676cc01203
commit 79eb83d82f
2 changed files with 16 additions and 18 deletions

View File

@ -5,7 +5,6 @@ var colors = require("colors/safe");
var pkg = require("../package.json"); var pkg = require("../package.json");
var Chan = require("./models/chan"); var Chan = require("./models/chan");
var crypto = require("crypto"); var crypto = require("crypto");
var userLog = require("./userLog");
var Msg = require("./models/msg"); var Msg = require("./models/msg");
var Network = require("./models/network"); var Network = require("./models/network");
var ircFramework = require("irc-framework"); var ircFramework = require("irc-framework");
@ -114,23 +113,6 @@ Client.prototype.emit = function(event, data) {
if (this.sockets !== null) { if (this.sockets !== null) {
this.sockets.in(this.id).emit(event, data); this.sockets.in(this.id).emit(event, data);
} }
if (this.config.log === true) {
if (event === "msg") {
var target = this.find(data.chan);
if (target) {
var chan = target.chan.name;
if (target.chan.type === Chan.Type.LOBBY) {
chan = target.network.host;
}
userLog.write(
this.name,
target.network.host,
chan,
data.msg
);
}
}
}
}; };
Client.prototype.find = function(channelId) { Client.prototype.find = function(channelId) {

View File

@ -2,6 +2,7 @@
var _ = require("lodash"); var _ = require("lodash");
var Helper = require("../helper"); var Helper = require("../helper");
const userLog = require("../userLog");
const storage = require("../plugins/storage"); const storage = require("../plugins/storage");
module.exports = Chan; module.exports = Chan;
@ -57,6 +58,10 @@ Chan.prototype.pushMessage = function(client, msg, increasesUnread) {
this.messages.push(msg); this.messages.push(msg);
if (client.config.log === true) {
writeUserLog(client, msg);
}
if (Helper.config.maxHistory >= 0 && this.messages.length > Helper.config.maxHistory) { if (Helper.config.maxHistory >= 0 && this.messages.length > Helper.config.maxHistory) {
const deleted = this.messages.splice(0, this.messages.length - Helper.config.maxHistory); const deleted = this.messages.splice(0, this.messages.length - Helper.config.maxHistory);
@ -127,3 +132,14 @@ Chan.prototype.toJSON = function() {
clone.messages = clone.messages.slice(-100); clone.messages = clone.messages.slice(-100);
return clone; return clone;
}; };
function writeUserLog(client, msg) {
const target = client.find(this.id);
userLog.write(
client.name,
target.network.host, // TODO: Fix #1392, multiple connections to same server results in duplicate logs
this.type === Chan.Type.LOBBY ? target.network.host : this.name,
msg
);
}