diff --git a/js/client-chat.js b/js/client-chat.js
index 740bf10d9..fdf7277fe 100644
--- a/js/client-chat.js
+++ b/js/client-chat.js
@@ -1475,62 +1475,40 @@
this.joinLeave[action].push(user.group + user.name);
var message = '';
if (this.joinLeave['join'].length) {
- var preList = this.joinLeave['join'];
- var list = [];
- var named = {};
- for (var j = 0; j < preList.length; j++) {
- if (!named[preList[j]]) list.push(preList[j]);
- named[preList[j]] = true;
- }
- for (var j = 0; j < list.length; j++) {
- if (j >= 5) {
- message += ', and ' + (list.length - 5) + ' others';
- break;
- }
- if (j > 0) {
- if (j == 1 && list.length == 2) {
- message += ' and ';
- } else if (j == list.length - 1) {
- message += ', and ';
- } else {
- message += ', ';
- }
- }
- message += BattleLog.escapeHTML(list[j]);
- }
- message += ' joined';
+ message += this.displayJoinLeaves(this.joinLeave['join'], 'joined');
}
if (this.joinLeave['leave'].length) {
- if (this.joinLeave['join'].length) {
- message += '; ';
- }
- var preList = this.joinLeave['leave'];
- var list = [];
- var named = {};
- for (var j = 0; j < preList.length; j++) {
- if (!named[preList[j]]) list.push(preList[j]);
- named[preList[j]] = true;
- }
- for (var j = 0; j < list.length; j++) {
- if (j >= 5) {
- message += ', and ' + (list.length - 5) + ' others';
- break;
- }
- if (j > 0) {
- if (j == 1 && list.length == 2) {
- message += ' and ';
- } else if (j == list.length - 1) {
- message += ', and ';
- } else {
- message += ', ';
- }
- }
- message += BattleLog.escapeHTML(list[j]);
- }
- message += ' left
';
+ if (this.joinLeave['join'].length) message += '; ';
+ message += this.displayJoinLeaves(this.joinLeave['leave'], 'left') + '
';
}
this.$joinLeave.html('' + message + '');
},
+ displayJoinLeaves: function (preList, action) {
+ var message = '';
+ var list = [];
+ var named = {};
+ for (var j = 0; j < preList.length; j++) {
+ if (!named[preList[j]]) list.push(preList[j]);
+ named[preList[j]] = true;
+ }
+ for (var j = 0; j < list.length; j++) {
+ if (j >= 5) {
+ message += ', and ' + (list.length - 5) + ' others';
+ break;
+ }
+ if (j > 0) {
+ if (j == 1 && list.length == 2) {
+ message += ' and ';
+ } else if (j == list.length - 1) {
+ message += ', and ';
+ } else {
+ message += ', ';
+ }
+ }
+ message += BattleLog.escapeHTML(list[j]);
+ }
+ return message + ' ' + action;
+ },
addChat: function (name, message, pm, msgTime) {
var userid = toUserid(name);