diff --git a/public/src/admin/advanced/logs.js b/public/src/admin/advanced/logs.js
index e756bea7d8..42aebba080 100644
--- a/public/src/admin/advanced/logs.js
+++ b/public/src/admin/advanced/logs.js
@@ -15,25 +15,25 @@ define('admin/advanced/logs', function () {
var action = btnEl.attr('data-action');
switch (action) {
- case 'reload':
- socket.emit('admin.logs.get', function (err, logs) {
- if (!err) {
- logsEl.text(logs);
- logsEl.scrollTop(logsEl.prop('scrollHeight'));
- } else {
- app.alertError(err.message);
- }
- });
- break;
+ case 'reload':
+ socket.emit('admin.logs.get', function (err, logs) {
+ if (!err) {
+ logsEl.text(logs);
+ logsEl.scrollTop(logsEl.prop('scrollHeight'));
+ } else {
+ app.alertError(err.message);
+ }
+ });
+ break;
- case 'clear':
- socket.emit('admin.logs.clear', function (err) {
- if (!err) {
- app.alertSuccess('[[admin/advanced/logs:clear-success]]');
- btnEl.prev().click();
- }
- });
- break;
+ case 'clear':
+ socket.emit('admin.logs.clear', function (err) {
+ if (!err) {
+ app.alertSuccess('[[admin/advanced/logs:clear-success]]');
+ btnEl.prev().click();
+ }
+ });
+ break;
}
});
};
diff --git a/public/src/admin/extend/rewards.js b/public/src/admin/extend/rewards.js
index acfcb0bb39..413fd07c73 100644
--- a/public/src/admin/extend/rewards.js
+++ b/public/src/admin/extend/rewards.js
@@ -56,18 +56,18 @@ define('admin/extend/rewards', ['translator', 'benchpress'], function (translato
function select(el) {
el.val(el.attr('data-selected'));
switch (el.attr('name')) {
- case 'rid':
- selectReward(el);
- break;
+ case 'rid':
+ selectReward(el);
+ break;
}
}
function update(el) {
el.attr('data-selected', el.val());
switch (el.attr('name')) {
- case 'rid':
- selectReward(el);
- break;
+ case 'rid':
+ selectReward(el);
+ break;
}
}
@@ -94,15 +94,15 @@ define('admin/extend/rewards', ['translator', 'benchpress'], function (translato
inputs.forEach(function (input) {
html += '
';
});
diff --git a/public/src/admin/manage/group.js b/public/src/admin/manage/group.js
index 5d0b925bec..6300d5a225 100644
--- a/public/src/admin/manage/group.js
+++ b/public/src/admin/manage/group.js
@@ -45,36 +45,36 @@ define('admin/manage/group', [
var action = btnEl.attr('data-action');
switch (action) {
- case 'toggleOwnership':
- socket.emit('groups.' + (isOwner ? 'rescind' : 'grant'), {
- toUid: uid,
- groupName: groupName,
- }, function (err) {
- if (err) {
- return app.alertError(err.message);
- }
- ownerFlagEl.toggleClass('invisible');
- });
- break;
-
- case 'kick':
- bootbox.confirm('[[admin/manage/groups:edit.confirm-remove-user]]', function (confirm) {
- if (!confirm) {
- return;
- }
- socket.emit('admin.groups.leave', {
- uid: uid,
+ case 'toggleOwnership':
+ socket.emit('groups.' + (isOwner ? 'rescind' : 'grant'), {
+ toUid: uid,
groupName: groupName,
}, function (err) {
if (err) {
return app.alertError(err.message);
}
- userRow.slideUp().remove();
+ ownerFlagEl.toggleClass('invisible');
});
- });
- break;
- default:
- break;
+ break;
+
+ case 'kick':
+ bootbox.confirm('[[admin/manage/groups:edit.confirm-remove-user]]', function (confirm) {
+ if (!confirm) {
+ return;
+ }
+ socket.emit('admin.groups.leave', {
+ uid: uid,
+ groupName: groupName,
+ }, function (err) {
+ if (err) {
+ return app.alertError(err.message);
+ }
+ userRow.slideUp().remove();
+ });
+ });
+ break;
+ default:
+ break;
}
});
diff --git a/public/src/admin/manage/groups.js b/public/src/admin/manage/groups.js
index bab28bfa16..5a70d96d99 100644
--- a/public/src/admin/manage/groups.js
+++ b/public/src/admin/manage/groups.js
@@ -58,21 +58,21 @@ define('admin/manage/groups', ['translator', 'benchpress'], function (translator
var groupName = el.parents('tr[data-groupname]').attr('data-groupname');
switch (action) {
- case 'delete':
- bootbox.confirm('[[admin/manage/groups:alerts.confirm-delete]]', function (confirm) {
- if (confirm) {
- socket.emit('groups.delete', {
- groupName: groupName,
- }, function (err) {
- if (err) {
- return app.alertError(err.message);
- }
+ case 'delete':
+ bootbox.confirm('[[admin/manage/groups:alerts.confirm-delete]]', function (confirm) {
+ if (confirm) {
+ socket.emit('groups.delete', {
+ groupName: groupName,
+ }, function (err) {
+ if (err) {
+ return app.alertError(err.message);
+ }
- ajaxify.refresh();
- });
- }
- });
- break;
+ ajaxify.refresh();
+ });
+ }
+ });
+ break;
}
});
};
diff --git a/public/src/admin/settings.js b/public/src/admin/settings.js
index b1f2127214..4460f503b0 100644
--- a/public/src/admin/settings.js
+++ b/public/src/admin/settings.js
@@ -156,17 +156,17 @@ define('admin/settings', ['uploader'], function (uploader) {
if (field.is('input')) {
inputType = field.attr('type');
switch (inputType) {
- case 'text':
- case 'password':
- case 'hidden':
- case 'textarea':
- case 'number':
- value = field.val();
- break;
+ case 'text':
+ case 'password':
+ case 'hidden':
+ case 'textarea':
+ case 'number':
+ value = field.val();
+ break;
- case 'checkbox':
- value = field.prop('checked') ? '1' : '0';
- break;
+ case 'checkbox':
+ value = field.prop('checked') ? '1' : '0';
+ break;
}
} else if (field.is('textarea') || field.is('select')) {
value = field.val();
diff --git a/public/src/app.js b/public/src/app.js
index 74617732d5..67d92a7f84 100644
--- a/public/src/app.js
+++ b/public/src/app.js
@@ -275,25 +275,25 @@ app.cacheBuster = null;
function showAlert(type, message) {
switch (messages[type].format) {
- case 'alert':
- app.alert({
- type: 'success',
- title: messages[type].title,
- message: messages[type].message,
- timeout: 5000,
- });
- break;
+ case 'alert':
+ app.alert({
+ type: 'success',
+ title: messages[type].title,
+ message: messages[type].message,
+ timeout: 5000,
+ });
+ break;
- case 'modal':
- require(['translator'], function (translator) {
- translator.translate(message || messages[type].message, function (translated) {
- bootbox.alert({
- title: messages[type].title,
- message: translated,
+ case 'modal':
+ require(['translator'], function (translator) {
+ translator.translate(message || messages[type].message, function (translated) {
+ bootbox.alert({
+ title: messages[type].title,
+ message: translated,
+ });
});
});
- });
- break;
+ break;
}
}
diff --git a/public/src/client/account/settings.js b/public/src/client/account/settings.js
index a6fb10073c..595bd774e5 100644
--- a/public/src/client/account/settings.js
+++ b/public/src/client/account/settings.js
@@ -61,13 +61,13 @@ define('forum/account/settings', ['forum/account/header', 'components', 'sounds'
}
switch (input.attr('type')) {
- case 'text':
- case 'textarea':
- settings[setting] = input.val();
- break;
- case 'checkbox':
- settings[setting] = input.is(':checked') ? 1 : 0;
- break;
+ case 'text':
+ case 'textarea':
+ settings[setting] = input.val();
+ break;
+ case 'checkbox':
+ settings[setting] = input.is(':checked') ? 1 : 0;
+ break;
}
});
diff --git a/public/src/client/chats.js b/public/src/client/chats.js
index a2a0083208..b3e21858c4 100644
--- a/public/src/client/chats.js
+++ b/public/src/client/chats.js
@@ -157,18 +157,18 @@ define('forum/chats', [
var action = this.getAttribute('data-action');
switch (action) {
- case 'edit':
- var inputEl = $('[data-roomid="' + roomId + '"] [component="chat/input"]');
- messages.prepEdit(inputEl, messageId, roomId);
- break;
+ case 'edit':
+ var inputEl = $('[data-roomid="' + roomId + '"] [component="chat/input"]');
+ messages.prepEdit(inputEl, messageId, roomId);
+ break;
- case 'delete':
- messages.delete(messageId, roomId);
- break;
+ case 'delete':
+ messages.delete(messageId, roomId);
+ break;
- case 'restore':
- messages.restore(messageId, roomId);
- break;
+ case 'restore':
+ messages.restore(messageId, roomId);
+ break;
}
});
};
diff --git a/public/src/client/flags/detail.js b/public/src/client/flags/detail.js
index dfa2916cdf..70e380d990 100644
--- a/public/src/client/flags/detail.js
+++ b/public/src/client/flags/detail.js
@@ -13,44 +13,44 @@ define('forum/flags/detail', ['forum/flags/list', 'components', 'translator', 'b
var uid = $(this).parents('[data-uid]').attr('data-uid');
switch (action) {
- case 'update':
- socket.emit('flags.update', {
- flagId: ajaxify.data.flagId,
- data: $('#attributes').serializeArray(),
- }, function (err, history) {
- if (err) {
- return app.alertError(err.message);
- }
- app.alertSuccess('[[flags:updated]]');
- Detail.reloadHistory(history);
- });
- break;
+ case 'update':
+ socket.emit('flags.update', {
+ flagId: ajaxify.data.flagId,
+ data: $('#attributes').serializeArray(),
+ }, function (err, history) {
+ if (err) {
+ return app.alertError(err.message);
+ }
+ app.alertSuccess('[[flags:updated]]');
+ Detail.reloadHistory(history);
+ });
+ break;
- case 'appendNote':
- socket.emit('flags.appendNote', {
- flagId: ajaxify.data.flagId,
- note: document.getElementById('note').value,
- }, function (err, payload) {
- if (err) {
- return app.alertError(err.message);
- }
- app.alertSuccess('[[flags:note-added]]');
- Detail.reloadNotes(payload.notes);
- Detail.reloadHistory(payload.history);
- });
- break;
+ case 'appendNote':
+ socket.emit('flags.appendNote', {
+ flagId: ajaxify.data.flagId,
+ note: document.getElementById('note').value,
+ }, function (err, payload) {
+ if (err) {
+ return app.alertError(err.message);
+ }
+ app.alertSuccess('[[flags:note-added]]');
+ Detail.reloadNotes(payload.notes);
+ Detail.reloadHistory(payload.history);
+ });
+ break;
- case 'chat':
- app.newChat(uid);
- break;
+ case 'chat':
+ app.newChat(uid);
+ break;
- case 'ban':
- AccountHeader.banAccount(uid, ajaxify.refresh);
- break;
+ case 'ban':
+ AccountHeader.banAccount(uid, ajaxify.refresh);
+ break;
- case 'delete':
- AccountHeader.deleteAccount(uid, ajaxify.refresh);
- break;
+ case 'delete':
+ AccountHeader.deleteAccount(uid, ajaxify.refresh);
+ break;
}
});
diff --git a/public/src/client/groups/details.js b/public/src/client/groups/details.js
index 6051d21173..f42f1141ac 100644
--- a/public/src/client/groups/details.js
+++ b/public/src/client/groups/details.js
@@ -63,69 +63,69 @@ define('forum/groups/details', [
var action = btnEl.attr('data-action');
switch (action) {
- case 'toggleOwnership':
- socket.emit('groups.' + (isOwner ? 'rescind' : 'grant'), {
- toUid: uid,
- groupName: groupName,
- }, function (err) {
- if (!err) {
- ownerFlagEl.toggleClass('invisible');
- } else {
- app.alertError(err.message);
- }
- });
- break;
-
- case 'kick':
- translator.translate('[[groups:details.kick_confirm]]', function (translated) {
- bootbox.confirm(translated, function (confirm) {
- if (!confirm) {
- return;
+ case 'toggleOwnership':
+ socket.emit('groups.' + (isOwner ? 'rescind' : 'grant'), {
+ toUid: uid,
+ groupName: groupName,
+ }, function (err) {
+ if (!err) {
+ ownerFlagEl.toggleClass('invisible');
+ } else {
+ app.alertError(err.message);
}
+ });
+ break;
- socket.emit('groups.kick', {
- uid: uid,
- groupName: groupName,
- }, function (err) {
- if (!err) {
- userRow.slideUp().remove();
- } else {
- app.alertError(err.message);
+ case 'kick':
+ translator.translate('[[groups:details.kick_confirm]]', function (translated) {
+ bootbox.confirm(translated, function (confirm) {
+ if (!confirm) {
+ return;
}
+
+ socket.emit('groups.kick', {
+ uid: uid,
+ groupName: groupName,
+ }, function (err) {
+ if (!err) {
+ userRow.slideUp().remove();
+ } else {
+ app.alertError(err.message);
+ }
+ });
});
});
- });
- break;
+ break;
- case 'update':
- Details.update();
- break;
+ case 'update':
+ Details.update();
+ break;
- case 'delete':
- Details.deleteGroup();
- break;
+ case 'delete':
+ Details.deleteGroup();
+ break;
- case 'join': // intentional fall-throughs!
- case 'leave':
- case 'accept':
- case 'reject':
- case 'issueInvite':
- case 'rescindInvite':
- case 'acceptInvite':
- case 'rejectInvite':
- case 'acceptAll':
- case 'rejectAll':
- socket.emit('groups.' + action, {
- toUid: uid,
- groupName: groupName,
- }, function (err) {
- if (!err) {
- ajaxify.refresh();
- } else {
- app.alertError(err.message);
- }
- });
- break;
+ case 'join': // intentional fall-throughs!
+ case 'leave':
+ case 'accept':
+ case 'reject':
+ case 'issueInvite':
+ case 'rescindInvite':
+ case 'acceptInvite':
+ case 'rejectInvite':
+ case 'acceptAll':
+ case 'rejectAll':
+ socket.emit('groups.' + action, {
+ toUid: uid,
+ groupName: groupName,
+ }, function (err) {
+ if (!err) {
+ ajaxify.refresh();
+ } else {
+ app.alertError(err.message);
+ }
+ });
+ break;
}
});
};
diff --git a/public/src/installer/install.js b/public/src/installer/install.js
index ba8efa7261..f1d0765d92 100644
--- a/public/src/installer/install.js
+++ b/public/src/installer/install.js
@@ -107,16 +107,16 @@ $('document').ready(function () {
}
switch (type) {
- case 'admin:username':
- return validateUsername(field);
- case 'admin:password':
- return validatePassword(field);
- case 'admin:passwordConfirm':
- return validateConfirmPassword(field);
- case 'admin:email':
- return validateEmail(field);
- case 'database':
- return switchDatabase(field);
+ case 'admin:username':
+ return validateUsername(field);
+ case 'admin:password':
+ return validatePassword(field);
+ case 'admin:passwordConfirm':
+ return validateConfirmPassword(field);
+ case 'admin:email':
+ return validateEmail(field);
+ case 'database':
+ return switchDatabase(field);
}
}
diff --git a/public/src/modules/helpers.js b/public/src/modules/helpers.js
index 994d062f89..485dd1a5bb 100644
--- a/public/src/modules/helpers.js
+++ b/public/src/modules/helpers.js
@@ -225,49 +225,49 @@
var icons = '';
switch (data.platform) {
- case 'Linux':
- icons += '';
- break;
- case 'Microsoft Windows':
- icons += '';
- break;
- case 'Apple Mac':
- icons += '';
- break;
- case 'Android':
- icons += '';
- break;
- case 'iPad':
- icons += '';
- break;
- case 'iPod': // intentional fall-through
- case 'iPhone':
- icons += '';
- break;
- default:
- icons += '';
- break;
+ case 'Linux':
+ icons += '';
+ break;
+ case 'Microsoft Windows':
+ icons += '';
+ break;
+ case 'Apple Mac':
+ icons += '';
+ break;
+ case 'Android':
+ icons += '';
+ break;
+ case 'iPad':
+ icons += '';
+ break;
+ case 'iPod': // intentional fall-through
+ case 'iPhone':
+ icons += '';
+ break;
+ default:
+ icons += '';
+ break;
}
switch (data.browser) {
- case 'Chrome':
- icons += '';
- break;
- case 'Firefox':
- icons += '';
- break;
- case 'Safari':
- icons += '';
- break;
- case 'IE':
- icons += '';
- break;
- case 'Edge':
- icons += '';
- break;
- default:
- icons += '';
- break;
+ case 'Chrome':
+ icons += '';
+ break;
+ case 'Firefox':
+ icons += '';
+ break;
+ case 'Safari':
+ icons += '';
+ break;
+ case 'IE':
+ icons += '';
+ break;
+ case 'Edge':
+ icons += '';
+ break;
+ default:
+ icons += '';
+ break;
}
return icons;
diff --git a/public/src/modules/settings/key.js b/public/src/modules/settings/key.js
index df3ade0a32..524fd1ebec 100644
--- a/public/src/modules/settings/key.js
+++ b/public/src/modules/settings/key.js
@@ -141,28 +141,28 @@ define('settings/key', function () {
for (var i = 0; i < parts.length; i += 1) {
var part = parts[i];
switch (part) {
- case 'C':
- case 'Ctrl':
- key.c = true;
- break;
- case 'A':
- case 'Alt':
- key.a = true;
- break;
- case 'S':
- case 'Shift':
- key.s = true;
- break;
- case 'M':
- case 'Meta':
- key.m = true;
- break;
- default:
- var num = /\d+/.exec(part);
- if (num != null) {
- key.code = num[0];
- }
- key.char = convertKeyCodeToChar(key.code);
+ case 'C':
+ case 'Ctrl':
+ key.c = true;
+ break;
+ case 'A':
+ case 'Alt':
+ key.a = true;
+ break;
+ case 'S':
+ case 'Shift':
+ key.s = true;
+ break;
+ case 'M':
+ case 'Meta':
+ key.m = true;
+ break;
+ default:
+ var num = /\d+/.exec(part);
+ if (num != null) {
+ key.code = num[0];
+ }
+ key.char = convertKeyCodeToChar(key.code);
}
}
return key;
diff --git a/public/src/modules/taskbar.js b/public/src/modules/taskbar.js
index 7aadf30307..66eb2e4c88 100644
--- a/public/src/modules/taskbar.js
+++ b/public/src/modules/taskbar.js
@@ -183,18 +183,18 @@ define('taskbar', ['benchpress', 'translator'], function (Benchpress, translator
var processUpdate = function (element, key, value) {
switch (key) {
- case 'title':
- element.find('[component="taskbar/title"]').text(value);
- break;
- case 'icon':
- element.find('i').attr('class', 'fa fa-' + value);
- break;
- case 'image':
- element.find('a').css('background-image', 'url("' + value + '")');
- break;
- case 'background-color':
- element.find('a').css('background-color', value);
- break;
+ case 'title':
+ element.find('[component="taskbar/title"]').text(value);
+ break;
+ case 'icon':
+ element.find('i').attr('class', 'fa fa-' + value);
+ break;
+ case 'image':
+ element.find('a').css('background-image', 'url("' + value + '")');
+ break;
+ case 'background-color':
+ element.find('a').css('background-color', value);
+ break;
}
};
diff --git a/public/src/sockets.js b/public/src/sockets.js
index 5a1936e7fa..d25bb73b6d 100644
--- a/public/src/sockets.js
+++ b/public/src/sockets.js
@@ -109,30 +109,30 @@ app.isConnected = false;
var room;
switch (url_parts[0]) {
- case 'user':
- room = 'user/' + (ajaxify.data ? ajaxify.data.theirid : 0);
- break;
- case 'topic':
- room = 'topic_' + url_parts[1];
- break;
- case 'category':
- room = 'category_' + url_parts[1];
- break;
- case 'recent':
- room = 'recent_topics';
- break;
- case 'unread':
- room = 'unread_topics';
- break;
- case 'popular':
- room = 'popular_topics';
- break;
- case 'admin':
- room = 'admin';
- break;
- case 'categories':
- room = 'categories';
- break;
+ case 'user':
+ room = 'user/' + (ajaxify.data ? ajaxify.data.theirid : 0);
+ break;
+ case 'topic':
+ room = 'topic_' + url_parts[1];
+ break;
+ case 'category':
+ room = 'category_' + url_parts[1];
+ break;
+ case 'recent':
+ room = 'recent_topics';
+ break;
+ case 'unread':
+ room = 'unread_topics';
+ break;
+ case 'popular':
+ room = 'popular_topics';
+ break;
+ case 'admin':
+ room = 'admin';
+ break;
+ case 'categories':
+ room = 'categories';
+ break;
}
app.currentRoom = '';
app.enterRoom(room);
diff --git a/src/cli/manage.js b/src/cli/manage.js
index 22ae9fe432..3eeb0d0686 100644
--- a/src/cli/manage.js
+++ b/src/cli/manage.js
@@ -175,15 +175,15 @@ function info() {
var config = require('../../config.json');
switch (config.database) {
- case 'redis':
- console.log(' version: ' + info.redis_version);
- console.log(' disk sync: ' + info.rdb_last_bgsave_status);
- break;
+ case 'redis':
+ console.log(' version: ' + info.redis_version);
+ console.log(' disk sync: ' + info.rdb_last_bgsave_status);
+ break;
- case 'mongo':
- console.log(' version: ' + info.version);
- console.log(' engine: ' + info.storageEngine);
- break;
+ case 'mongo':
+ console.log(' version: ' + info.version);
+ console.log(' engine: ' + info.storageEngine);
+ break;
}
next();
diff --git a/src/cli/package-install.js b/src/cli/package-install.js
index acc61fcdb7..37c73e7438 100644
--- a/src/cli/package-install.js
+++ b/src/cli/package-install.js
@@ -43,17 +43,17 @@ function installAll() {
const packageManager = require('nconf').get('package_manager');
if (supportedPackageManagerList.indexOf(packageManager) >= 0) {
switch (packageManager) {
- case 'yarn':
- command = 'yarn';
- break;
- case 'pnpm':
- command = 'pnpm install';
- break;
- case 'cnpm':
- command = 'cnpm install';
- break;
- default:
- break;
+ case 'yarn':
+ command = 'yarn';
+ break;
+ case 'pnpm':
+ command = 'pnpm install';
+ break;
+ case 'cnpm':
+ command = 'cnpm install';
+ break;
+ default:
+ break;
}
}
} catch (e) {
diff --git a/src/controllers/user.js b/src/controllers/user.js
index c60d55c969..3980210efc 100644
--- a/src/controllers/user.js
+++ b/src/controllers/user.js
@@ -151,25 +151,25 @@ userController.exportUploads = function (req, res, next) {
archive.on('warning', function (err) {
switch (err.code) {
- case 'ENOENT':
- winston.warn('[user/export/uploads] File not found: ' + trimPath(err.path));
- break;
+ case 'ENOENT':
+ winston.warn('[user/export/uploads] File not found: ' + trimPath(err.path));
+ break;
- default:
- winston.warn('[user/export/uploads] Unexpected warning: ' + err.message);
- break;
+ default:
+ winston.warn('[user/export/uploads] Unexpected warning: ' + err.message);
+ break;
}
});
archive.on('error', function (err) {
switch (err.code) {
- case 'EACCES':
- winston.error('[user/export/uploads] File inaccessible: ' + trimPath(err.path));
- break;
+ case 'EACCES':
+ winston.error('[user/export/uploads] File inaccessible: ' + trimPath(err.path));
+ break;
- default:
- winston.error('[user/export/uploads] Unable to construct archive: ' + err.message);
- break;
+ default:
+ winston.error('[user/export/uploads] Unable to construct archive: ' + err.message);
+ break;
}
res.sendStatus(500);
diff --git a/src/flags.js b/src/flags.js
index ba9be57ea9..890617fa99 100644
--- a/src/flags.js
+++ b/src/flags.js
@@ -63,9 +63,9 @@ Flags.init = async function () {
perPage: function () { /* noop */ },
quick: function (sets, orSets, key, uid) {
switch (key) {
- case 'mine':
- sets.push('flags:byAssignee:' + uid);
- break;
+ case 'mine':
+ sets.push('flags:byAssignee:' + uid);
+ break;
}
},
},
diff --git a/src/groups/search.js b/src/groups/search.js
index 7247efbd4d..c966f28f79 100644
--- a/src/groups/search.js
+++ b/src/groups/search.js
@@ -31,18 +31,18 @@ module.exports = function (Groups) {
Groups.sort = function (strategy, groups) {
switch (strategy) {
- case 'count':
- groups.sort((a, b) => a.slug > b.slug)
- .sort((a, b) => b.memberCount - a.memberCount);
- break;
+ case 'count':
+ groups.sort((a, b) => a.slug > b.slug)
+ .sort((a, b) => b.memberCount - a.memberCount);
+ break;
- case 'date':
- groups.sort((a, b) => b.createtime - a.createtime);
- break;
+ case 'date':
+ groups.sort((a, b) => b.createtime - a.createtime);
+ break;
- case 'alpha': // intentional fall-through
- default:
- groups.sort((a, b) => (a.slug > b.slug ? 1 : -1));
+ case 'alpha': // intentional fall-through
+ default:
+ groups.sort((a, b) => (a.slug > b.slug ? 1 : -1));
}
return groups;
diff --git a/src/meta/themes.js b/src/meta/themes.js
index 1450c46365..3710af3a2e 100644
--- a/src/meta/themes.js
+++ b/src/meta/themes.js
@@ -87,44 +87,44 @@ async function getThemes(themePath) {
Themes.set = async (data) => {
switch (data.type) {
- case 'local': {
- const current = await Meta.configs.get('theme:id');
- if (current !== data.id) {
- let config = await fsReadfile(path.join(nconf.get('themes_path'), data.id, 'theme.json'), 'utf8');
- config = JSON.parse(config);
+ case 'local': {
+ const current = await Meta.configs.get('theme:id');
+ if (current !== data.id) {
+ let config = await fsReadfile(path.join(nconf.get('themes_path'), data.id, 'theme.json'), 'utf8');
+ config = JSON.parse(config);
- await db.sortedSetRemove('plugins:active', current);
- const numPlugins = await db.sortedSetCard('plugins:active');
- await db.sortedSetAdd('plugins:active', numPlugins, data.id);
- // Re-set the themes path (for when NodeBB is reloaded)
- Themes.setPath(config);
+ await db.sortedSetRemove('plugins:active', current);
+ const numPlugins = await db.sortedSetCard('plugins:active');
+ await db.sortedSetAdd('plugins:active', numPlugins, data.id);
+ // Re-set the themes path (for when NodeBB is reloaded)
+ Themes.setPath(config);
- await Meta.configs.setMultiple({
- 'theme:type': data.type,
- 'theme:id': data.id,
- 'theme:staticDir': config.staticDir ? config.staticDir : '',
- 'theme:templates': config.templates ? config.templates : '',
- 'theme:src': '',
- bootswatchSkin: '',
- });
+ await Meta.configs.setMultiple({
+ 'theme:type': data.type,
+ 'theme:id': data.id,
+ 'theme:staticDir': config.staticDir ? config.staticDir : '',
+ 'theme:templates': config.templates ? config.templates : '',
+ 'theme:src': '',
+ bootswatchSkin: '',
+ });
- await events.log({
- type: 'theme-set',
- uid: parseInt(data.uid, 10) || 0,
- ip: data.ip || '127.0.0.1',
- text: data.id,
- });
+ await events.log({
+ type: 'theme-set',
+ uid: parseInt(data.uid, 10) || 0,
+ ip: data.ip || '127.0.0.1',
+ text: data.id,
+ });
- Meta.reloadRequired = true;
+ Meta.reloadRequired = true;
+ }
+ break;
}
- break;
- }
- case 'bootswatch':
- await Meta.configs.setMultiple({
- 'theme:src': data.src,
- bootswatchSkin: data.id.toLowerCase(),
- });
- break;
+ case 'bootswatch':
+ await Meta.configs.setMultiple({
+ 'theme:src': data.src,
+ bootswatchSkin: data.id.toLowerCase(),
+ });
+ break;
}
};
diff --git a/src/notifications.js b/src/notifications.js
index 537a23db97..12482b0272 100644
--- a/src/notifications.js
+++ b/src/notifications.js
@@ -373,30 +373,30 @@ Notifications.merge = async function (notifications) {
}
switch (mergeId) {
- case 'notifications:upvoted_your_post_in':
- case 'notifications:user_started_following_you':
- case 'notifications:user_posted_to':
- case 'notifications:user_flagged_post_in':
- case 'notifications:user_flagged_user':
- var usernames = _.uniq(set.map(notifObj => notifObj && notifObj.user && notifObj.user.username));
- var numUsers = usernames.length;
+ case 'notifications:upvoted_your_post_in':
+ case 'notifications:user_started_following_you':
+ case 'notifications:user_posted_to':
+ case 'notifications:user_flagged_post_in':
+ case 'notifications:user_flagged_user':
+ var usernames = _.uniq(set.map(notifObj => notifObj && notifObj.user && notifObj.user.username));
+ var numUsers = usernames.length;
- var title = utils.decodeHTMLEntities(notifications[modifyIndex].topicTitle || '');
- var titleEscaped = title.replace(/%/g, '%').replace(/,/g, ',');
- titleEscaped = titleEscaped ? (', ' + titleEscaped) : '';
+ var title = utils.decodeHTMLEntities(notifications[modifyIndex].topicTitle || '');
+ var titleEscaped = title.replace(/%/g, '%').replace(/,/g, ',');
+ titleEscaped = titleEscaped ? (', ' + titleEscaped) : '';
- if (numUsers === 2) {
- notifications[modifyIndex].bodyShort = '[[' + mergeId + '_dual, ' + usernames.join(', ') + titleEscaped + ']]';
- } else if (numUsers > 2) {
- notifications[modifyIndex].bodyShort = '[[' + mergeId + '_multiple, ' + usernames[0] + ', ' + (numUsers - 1) + titleEscaped + ']]';
- }
+ if (numUsers === 2) {
+ notifications[modifyIndex].bodyShort = '[[' + mergeId + '_dual, ' + usernames.join(', ') + titleEscaped + ']]';
+ } else if (numUsers > 2) {
+ notifications[modifyIndex].bodyShort = '[[' + mergeId + '_multiple, ' + usernames[0] + ', ' + (numUsers - 1) + titleEscaped + ']]';
+ }
- notifications[modifyIndex].path = set[set.length - 1].path;
- break;
+ notifications[modifyIndex].path = set[set.length - 1].path;
+ break;
- case 'new_register':
- notifications[modifyIndex].bodyShort = '[[notifications:' + mergeId + '_multiple, ' + set.length + ']]';
- break;
+ case 'new_register':
+ notifications[modifyIndex].bodyShort = '[[notifications:' + mergeId + '_multiple, ' + set.length + ']]';
+ break;
}
// Filter out duplicates
diff --git a/src/plugins/load.js b/src/plugins/load.js
index 0da37acd27..7674a448af 100644
--- a/src/plugins/load.js
+++ b/src/plugins/load.js
@@ -90,20 +90,20 @@ module.exports = function (Plugins) {
// clear old data before build
fields.forEach((field) => {
switch (field) {
- case 'clientScripts':
- case 'acpScripts':
- case 'cssFiles':
- case 'lessFiles':
- case 'acpLessFiles':
- Plugins[field].length = 0;
- break;
- case 'soundpack':
- Plugins.soundpacks.length = 0;
- break;
- case 'languageData':
- Plugins.languageData.languages = [];
- Plugins.languageData.namespaces = [];
- break;
+ case 'clientScripts':
+ case 'acpScripts':
+ case 'cssFiles':
+ case 'lessFiles':
+ case 'acpLessFiles':
+ Plugins[field].length = 0;
+ break;
+ case 'soundpack':
+ Plugins.soundpacks.length = 0;
+ break;
+ case 'languageData':
+ Plugins.languageData.languages = [];
+ Plugins.languageData.namespaces = [];
+ break;
// do nothing for modules and staticDirs
}
});
diff --git a/src/socket.io/admin/email.js b/src/socket.io/admin/email.js
index 911613ba99..04874675b9 100644
--- a/src/socket.io/admin/email.js
+++ b/src/socket.io/admin/email.js
@@ -15,55 +15,55 @@ Email.test = function (socket, data, callback) {
};
switch (data.template) {
- case 'digest':
- userDigest.execute({
- interval: 'alltime',
- subscribers: [socket.uid],
- }, callback);
- break;
+ case 'digest':
+ userDigest.execute({
+ interval: 'alltime',
+ subscribers: [socket.uid],
+ }, callback);
+ break;
- case 'banned':
- Object.assign(payload, {
- username: 'test-user',
- until: utils.toISOString(Date.now()),
- reason: 'Test Reason',
- });
- emailer.send(data.template, socket.uid, payload, callback);
- break;
+ case 'banned':
+ Object.assign(payload, {
+ username: 'test-user',
+ until: utils.toISOString(Date.now()),
+ reason: 'Test Reason',
+ });
+ emailer.send(data.template, socket.uid, payload, callback);
+ break;
- case 'welcome':
- userEmail.sendValidationEmail(socket.uid, {
- force: 1,
- }, callback);
- break;
+ case 'welcome':
+ userEmail.sendValidationEmail(socket.uid, {
+ force: 1,
+ }, callback);
+ break;
- case 'notification':
- async.waterfall([
- function (next) {
- notifications.create({
- type: 'test',
- bodyShort: '[[email:notif.test.short]]',
- bodyLong: '[[email:notif.test.long]]',
- nid: 'uid:' + socket.uid + ':test',
- path: '/',
- from: socket.uid,
- }, next);
- },
- function (notifObj, next) {
- emailer.send('notification', socket.uid, {
- path: notifObj.path,
- subject: utils.stripHTMLTags(notifObj.subject || '[[notifications:new_notification]]'),
- intro: utils.stripHTMLTags(notifObj.bodyShort),
- body: notifObj.bodyLong || '',
- notification: notifObj,
- showUnsubscribe: true,
- }, next);
- },
- ], callback);
- break;
+ case 'notification':
+ async.waterfall([
+ function (next) {
+ notifications.create({
+ type: 'test',
+ bodyShort: '[[email:notif.test.short]]',
+ bodyLong: '[[email:notif.test.long]]',
+ nid: 'uid:' + socket.uid + ':test',
+ path: '/',
+ from: socket.uid,
+ }, next);
+ },
+ function (notifObj, next) {
+ emailer.send('notification', socket.uid, {
+ path: notifObj.path,
+ subject: utils.stripHTMLTags(notifObj.subject || '[[notifications:new_notification]]'),
+ intro: utils.stripHTMLTags(notifObj.bodyShort),
+ body: notifObj.bodyLong || '',
+ notification: notifObj,
+ showUnsubscribe: true,
+ }, next);
+ },
+ ], callback);
+ break;
- default:
- emailer.send(data.template, socket.uid, payload, callback);
- break;
+ default:
+ emailer.send(data.template, socket.uid, payload, callback);
+ break;
}
};
diff --git a/src/start.js b/src/start.js
index 192130f1c6..0be889173f 100644
--- a/src/start.js
+++ b/src/start.js
@@ -50,17 +50,17 @@ start.start = async function () {
}
} catch (err) {
switch (err.message) {
- case 'dependencies-out-of-date':
- winston.error('One or more of NodeBB\'s dependent packages are out-of-date. Please run the following command to update them:');
- winston.error(' ./nodebb upgrade');
- break;
- case 'dependencies-missing':
- winston.error('One or more of NodeBB\'s dependent packages are missing. Please run the following command to update them:');
- winston.error(' ./nodebb upgrade');
- break;
- default:
- winston.error(err.stack);
- break;
+ case 'dependencies-out-of-date':
+ winston.error('One or more of NodeBB\'s dependent packages are out-of-date. Please run the following command to update them:');
+ winston.error(' ./nodebb upgrade');
+ break;
+ case 'dependencies-missing':
+ winston.error('One or more of NodeBB\'s dependent packages are missing. Please run the following command to update them:');
+ winston.error(' ./nodebb upgrade');
+ break;
+ default:
+ winston.error(err.stack);
+ break;
}
// Either way, bad stuff happened. Abort start.