From eb16eb318ef3f447da1a0c495c7f4658a7dfcb01 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 13 Oct 2016 14:13:46 -0400 Subject: [PATCH] exposing links to moderator tools pages in user logged-in dropdown, closes #5113 --- package.json | 4 ++-- public/language/en_GB/global.json | 2 ++ public/language/en_GB/pages.json | 1 + src/middleware/header.js | 5 +++++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 5a93cb7177..b66ffa7487 100644 --- a/package.json +++ b/package.json @@ -61,8 +61,8 @@ "nodebb-plugin-spam-be-gone": "0.4.10", "nodebb-rewards-essentials": "0.0.9", "nodebb-theme-lavender": "3.0.14", - "nodebb-theme-persona": "4.1.59", - "nodebb-theme-vanilla": "5.1.40", + "nodebb-theme-persona": "4.1.60", + "nodebb-theme-vanilla": "5.1.41", "nodebb-widget-essentials": "2.0.12", "nodemailer": "2.0.0", "nodemailer-sendmail-transport": "1.0.0", diff --git a/public/language/en_GB/global.json b/public/language/en_GB/global.json index 1881b53acb..69dddaf752 100644 --- a/public/language/en_GB/global.json +++ b/public/language/en_GB/global.json @@ -94,6 +94,8 @@ "recentposts": "Recent Posts", "recentips": "Recently Logged In IPs", + "moderator_tools": "Moderator Tools", + "online": "Online", "away": "Away", "dnd": "Do not disturb", diff --git a/public/language/en_GB/pages.json b/public/language/en_GB/pages.json index 52d9f2b4e3..801b28edea 100644 --- a/public/language/en_GB/pages.json +++ b/public/language/en_GB/pages.json @@ -7,6 +7,7 @@ "popular-alltime": "All time popular topics", "recent": "Recent Topics", "flagged-posts": "Flagged Posts", + "ip-blacklist": "IP Blacklist", "users/online": "Online Users", "users/latest": "Latest Users", diff --git a/src/middleware/header.js b/src/middleware/header.js index be56abc44b..e1997ddab9 100644 --- a/src/middleware/header.js +++ b/src/middleware/header.js @@ -70,6 +70,9 @@ module.exports = function(middleware) { isGlobalMod: function(next) { user.isGlobalModerator(req.uid, next); }, + isModerator: function(next) { + user.isModeratorOfAnyCategory(req.uid, next); + }, user: function(next) { var userData = { uid: 0, @@ -108,6 +111,7 @@ module.exports = function(middleware) { results.user.isAdmin = results.isAdmin; results.user.isGlobalMod = results.isGlobalMod; + results.user.isMod = !!results.isModerator; results.user.uid = parseInt(results.user.uid, 10); results.user.email = String(results.user.email).replace(/\\/g, '\\\\').replace(/"/g, '\\"'); results.user['email:confirmed'] = parseInt(results.user['email:confirmed'], 10) === 1; @@ -123,6 +127,7 @@ module.exports = function(middleware) { templateValues.linkTags = results.tags.link; templateValues.isAdmin = results.user.isAdmin; templateValues.isGlobalMod = results.user.isGlobalMod; + templateValues.showModMenu = results.user.isAdmin || results.user.isGlobalMod || results.user.isMod; templateValues.user = results.user; templateValues.userJSON = JSON.stringify(results.user); templateValues.useCustomCSS = parseInt(meta.config.useCustomCSS, 10) === 1 && meta.config.customCSS;