mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
fix: acp menu items
- Shuffled items in settings - Moved post-queue and ip-blacklist to front-end - Removed Settings > Sockets, merged with Settings > Advanced
This commit is contained in:
@@ -21,13 +21,13 @@
|
|||||||
"settings/navigation": "Navigation",
|
"settings/navigation": "Navigation",
|
||||||
"settings/reputation": "Reputation",
|
"settings/reputation": "Reputation",
|
||||||
"settings/email": "Email",
|
"settings/email": "Email",
|
||||||
"settings/user": "User",
|
"settings/user": "Users",
|
||||||
"settings/group": "Group",
|
"settings/group": "Groups",
|
||||||
"settings/guest": "Guests",
|
"settings/guest": "Guests",
|
||||||
"settings/uploads": "Uploads",
|
"settings/uploads": "Uploads",
|
||||||
"settings/languages": "Languages",
|
"settings/languages": "Languages",
|
||||||
"settings/post": "Post",
|
"settings/post": "Posts",
|
||||||
"settings/chat": "Chat",
|
"settings/chat": "Chats",
|
||||||
"settings/pagination": "Pagination",
|
"settings/pagination": "Pagination",
|
||||||
"settings/tags": "Tags",
|
"settings/tags": "Tags",
|
||||||
"settings/notifications": "Notifications",
|
"settings/notifications": "Notifications",
|
||||||
|
|||||||
@@ -25,5 +25,10 @@
|
|||||||
"traffic.event-lag": "Event Loop Lag Threshold (in milliseconds)",
|
"traffic.event-lag": "Event Loop Lag Threshold (in milliseconds)",
|
||||||
"traffic.event-lag-help": "Lowering this value decreases wait times for page loads, but will also show the \"excessive load\" message to more users. (Restart required)",
|
"traffic.event-lag-help": "Lowering this value decreases wait times for page loads, but will also show the \"excessive load\" message to more users. (Restart required)",
|
||||||
"traffic.lag-check-interval": "Check Interval (in milliseconds)",
|
"traffic.lag-check-interval": "Check Interval (in milliseconds)",
|
||||||
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)"
|
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)",
|
||||||
|
|
||||||
|
"sockets.settings": "WebSocket Settings",
|
||||||
|
"sockets.max-attempts": "Max Reconnection Attempts",
|
||||||
|
"sockets.default-placeholder": "Default: %1",
|
||||||
|
"sockets.delay": "Reconnection Delay"
|
||||||
}
|
}
|
||||||
@@ -6,8 +6,6 @@ var adminController = {
|
|||||||
privileges: require('./admin/privileges'),
|
privileges: require('./admin/privileges'),
|
||||||
adminsMods: require('./admin/admins-mods'),
|
adminsMods: require('./admin/admins-mods'),
|
||||||
tags: require('./admin/tags'),
|
tags: require('./admin/tags'),
|
||||||
postQueue: require('./admin/postqueue'),
|
|
||||||
blacklist: require('./admin/blacklist'),
|
|
||||||
groups: require('./admin/groups'),
|
groups: require('./admin/groups'),
|
||||||
digest: require('./admin/digest'),
|
digest: require('./admin/digest'),
|
||||||
appearance: require('./admin/appearance'),
|
appearance: require('./admin/appearance'),
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
const meta = require('../../meta');
|
|
||||||
const analytics = require('../../analytics');
|
|
||||||
|
|
||||||
const blacklistController = module.exports;
|
|
||||||
|
|
||||||
blacklistController.get = async function (req, res) {
|
|
||||||
const [rules, analyticsData] = await Promise.all([
|
|
||||||
meta.blacklist.get(),
|
|
||||||
analytics.getBlacklistAnalytics(),
|
|
||||||
]);
|
|
||||||
res.render('admin/manage/ip-blacklist', {
|
|
||||||
title: '[[pages:ip-blacklist]]',
|
|
||||||
rules: rules,
|
|
||||||
analytics: analyticsData,
|
|
||||||
});
|
|
||||||
};
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
const validator = require('validator');
|
|
||||||
|
|
||||||
const db = require('../../database');
|
|
||||||
const user = require('../../user');
|
|
||||||
const topics = require('../../topics');
|
|
||||||
const categories = require('../../categories');
|
|
||||||
const pagination = require('../../pagination');
|
|
||||||
const plugins = require('../../plugins');
|
|
||||||
const utils = require('../../utils');
|
|
||||||
|
|
||||||
const postQueueController = module.exports;
|
|
||||||
|
|
||||||
postQueueController.get = async function (req, res) {
|
|
||||||
const page = parseInt(req.query.page, 10) || 1;
|
|
||||||
const postsPerPage = 20;
|
|
||||||
|
|
||||||
const [ids, isAdminOrGlobalMod, moderatedCids] = await Promise.all([
|
|
||||||
db.getSortedSetRange('post:queue', 0, -1),
|
|
||||||
user.isAdminOrGlobalMod(req.uid),
|
|
||||||
user.getModeratedCids(req.uid),
|
|
||||||
]);
|
|
||||||
|
|
||||||
let postData = await getQueuedPosts(ids);
|
|
||||||
postData = postData.filter(p => p && (isAdminOrGlobalMod || moderatedCids.includes(String(p.category.cid))));
|
|
||||||
|
|
||||||
const pageCount = Math.max(1, Math.ceil(postData.length / postsPerPage));
|
|
||||||
const start = (page - 1) * postsPerPage;
|
|
||||||
const stop = start + postsPerPage - 1;
|
|
||||||
postData = postData.slice(start, stop + 1);
|
|
||||||
|
|
||||||
res.render('admin/manage/post-queue', {
|
|
||||||
title: '[[pages:post-queue]]',
|
|
||||||
posts: postData,
|
|
||||||
pagination: pagination.create(page, pageCount),
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
async function getQueuedPosts(ids) {
|
|
||||||
const keys = ids.map(id => 'post:queue:' + id);
|
|
||||||
const postData = await db.getObjects(keys);
|
|
||||||
postData.forEach(function (data) {
|
|
||||||
if (data) {
|
|
||||||
data.data = JSON.parse(data.data);
|
|
||||||
data.data.timestampISO = utils.toISOString(data.data.timestamp);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
const uids = postData.map(data => data && data.uid);
|
|
||||||
const userData = await user.getUsersFields(uids, ['username', 'userslug', 'picture']);
|
|
||||||
postData.forEach(function (postData, index) {
|
|
||||||
if (postData) {
|
|
||||||
postData.user = userData[index];
|
|
||||||
postData.data.rawContent = validator.escape(String(postData.data.content));
|
|
||||||
postData.data.title = validator.escape(String(postData.data.title || ''));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
await Promise.all(postData.map(p => addMetaData(p)));
|
|
||||||
return postData;
|
|
||||||
}
|
|
||||||
|
|
||||||
async function addMetaData(postData) {
|
|
||||||
if (!postData) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
postData.topic = { cid: 0 };
|
|
||||||
if (postData.data.cid) {
|
|
||||||
postData.topic = { cid: postData.data.cid };
|
|
||||||
} else if (postData.data.tid) {
|
|
||||||
postData.topic = await topics.getTopicFields(postData.data.tid, ['title', 'cid']);
|
|
||||||
}
|
|
||||||
postData.category = await categories.getCategoryData(postData.topic.cid);
|
|
||||||
const result = await plugins.fireHook('filter:parse.post', { postData: postData.data });
|
|
||||||
postData.data.content = result.postData.content;
|
|
||||||
}
|
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const user = require('../user');
|
const user = require('../user');
|
||||||
const adminBlacklistController = require('./admin/blacklist');
|
const meta = require('../meta');
|
||||||
|
const analytics = require('../analytics');
|
||||||
const usersController = require('./admin/users');
|
const usersController = require('./admin/users');
|
||||||
|
|
||||||
const globalModsController = module.exports;
|
const globalModsController = module.exports;
|
||||||
@@ -11,7 +12,16 @@ globalModsController.ipBlacklist = async function (req, res, next) {
|
|||||||
if (!isAdminOrGlobalMod) {
|
if (!isAdminOrGlobalMod) {
|
||||||
return next();
|
return next();
|
||||||
}
|
}
|
||||||
await adminBlacklistController.get(req, res);
|
|
||||||
|
const [rules, analyticsData] = await Promise.all([
|
||||||
|
meta.blacklist.get(),
|
||||||
|
analytics.getBlacklistAnalytics(),
|
||||||
|
]);
|
||||||
|
res.render('admin/manage/ip-blacklist', {
|
||||||
|
title: '[[pages:ip-blacklist]]',
|
||||||
|
rules: rules,
|
||||||
|
analytics: analyticsData,
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
const validator = require('validator');
|
||||||
|
|
||||||
|
const db = require('../database');
|
||||||
const user = require('../user');
|
const user = require('../user');
|
||||||
|
const topics = require('../topics');
|
||||||
const categories = require('../categories');
|
const categories = require('../categories');
|
||||||
const flags = require('../flags');
|
const flags = require('../flags');
|
||||||
const analytics = require('../analytics');
|
const analytics = require('../analytics');
|
||||||
@@ -8,7 +12,6 @@ const plugins = require('../plugins');
|
|||||||
const pagination = require('../pagination');
|
const pagination = require('../pagination');
|
||||||
const utils = require('../utils');
|
const utils = require('../utils');
|
||||||
|
|
||||||
const adminPostQueueController = require('./admin/postqueue');
|
|
||||||
const modsController = module.exports;
|
const modsController = module.exports;
|
||||||
modsController.flags = {};
|
modsController.flags = {};
|
||||||
|
|
||||||
@@ -159,9 +162,70 @@ function filterCategories(moderatedCids, categories) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
modsController.postQueue = async function (req, res, next) {
|
modsController.postQueue = async function (req, res, next) {
|
||||||
|
// Admins, global mods, and individual mods only
|
||||||
const isPrivileged = await user.isPrivileged(req.uid);
|
const isPrivileged = await user.isPrivileged(req.uid);
|
||||||
if (!isPrivileged) {
|
if (!isPrivileged) {
|
||||||
return next();
|
return next();
|
||||||
}
|
}
|
||||||
await adminPostQueueController.get(req, res, next);
|
|
||||||
|
const page = parseInt(req.query.page, 10) || 1;
|
||||||
|
const postsPerPage = 20;
|
||||||
|
|
||||||
|
const [ids, isAdminOrGlobalMod, moderatedCids] = await Promise.all([
|
||||||
|
db.getSortedSetRange('post:queue', 0, -1),
|
||||||
|
user.isAdminOrGlobalMod(req.uid),
|
||||||
|
user.getModeratedCids(req.uid),
|
||||||
|
]);
|
||||||
|
|
||||||
|
let postData = await getQueuedPosts(ids);
|
||||||
|
postData = postData.filter(p => p && (isAdminOrGlobalMod || moderatedCids.includes(String(p.category.cid))));
|
||||||
|
|
||||||
|
const pageCount = Math.max(1, Math.ceil(postData.length / postsPerPage));
|
||||||
|
const start = (page - 1) * postsPerPage;
|
||||||
|
const stop = start + postsPerPage - 1;
|
||||||
|
postData = postData.slice(start, stop + 1);
|
||||||
|
|
||||||
|
res.render('admin/manage/post-queue', {
|
||||||
|
title: '[[pages:post-queue]]',
|
||||||
|
posts: postData,
|
||||||
|
pagination: pagination.create(page, pageCount),
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
async function getQueuedPosts(ids) {
|
||||||
|
const keys = ids.map(id => 'post:queue:' + id);
|
||||||
|
const postData = await db.getObjects(keys);
|
||||||
|
postData.forEach(function (data) {
|
||||||
|
if (data) {
|
||||||
|
data.data = JSON.parse(data.data);
|
||||||
|
data.data.timestampISO = utils.toISOString(data.data.timestamp);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const uids = postData.map(data => data && data.uid);
|
||||||
|
const userData = await user.getUsersFields(uids, ['username', 'userslug', 'picture']);
|
||||||
|
postData.forEach(function (postData, index) {
|
||||||
|
if (postData) {
|
||||||
|
postData.user = userData[index];
|
||||||
|
postData.data.rawContent = validator.escape(String(postData.data.content));
|
||||||
|
postData.data.title = validator.escape(String(postData.data.title || ''));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
await Promise.all(postData.map(p => addMetaData(p)));
|
||||||
|
return postData;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function addMetaData(postData) {
|
||||||
|
if (!postData) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
postData.topic = { cid: 0 };
|
||||||
|
if (postData.data.cid) {
|
||||||
|
postData.topic = { cid: postData.data.cid };
|
||||||
|
} else if (postData.data.tid) {
|
||||||
|
postData.topic = await topics.getTopicFields(postData.data.tid, ['title', 'cid']);
|
||||||
|
}
|
||||||
|
postData.category = await categories.getCategoryData(postData.topic.cid);
|
||||||
|
const result = await plugins.fireHook('filter:parse.post', { postData: postData.data });
|
||||||
|
postData.data.content = result.postData.content;
|
||||||
|
}
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ module.exports = function (app, middleware, controllers) {
|
|||||||
|
|
||||||
helpers.setupAdminPageRoute(app, '/admin/manage/privileges/:cid?', middleware, middlewares, controllers.admin.privileges.get);
|
helpers.setupAdminPageRoute(app, '/admin/manage/privileges/:cid?', middleware, middlewares, controllers.admin.privileges.get);
|
||||||
helpers.setupAdminPageRoute(app, '/admin/manage/tags', middleware, middlewares, controllers.admin.tags.get);
|
helpers.setupAdminPageRoute(app, '/admin/manage/tags', middleware, middlewares, controllers.admin.tags.get);
|
||||||
helpers.setupAdminPageRoute(app, '/admin/manage/post-queue', middleware, middlewares, controllers.admin.postQueue.get);
|
|
||||||
helpers.setupAdminPageRoute(app, '/admin/manage/ip-blacklist', middleware, middlewares, controllers.admin.blacklist.get);
|
|
||||||
|
|
||||||
helpers.setupAdminPageRoute(app, '/admin/manage/users', middleware, middlewares, controllers.admin.users.sortByJoinDate);
|
helpers.setupAdminPageRoute(app, '/admin/manage/users', middleware, middlewares, controllers.admin.users.sortByJoinDate);
|
||||||
helpers.setupAdminPageRoute(app, '/admin/manage/users/search', middleware, middlewares, controllers.admin.users.search);
|
helpers.setupAdminPageRoute(app, '/admin/manage/users/search', middleware, middlewares, controllers.admin.users.search);
|
||||||
|
|||||||
@@ -15,14 +15,15 @@
|
|||||||
<li><a href="{relative_path}/admin/manage/categories">[[admin/menu:manage/categories]]</a></li>
|
<li><a href="{relative_path}/admin/manage/categories">[[admin/menu:manage/categories]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/privileges">[[admin/menu:manage/privileges]]</a></li>
|
<li><a href="{relative_path}/admin/manage/privileges">[[admin/menu:manage/privileges]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/users">[[admin/menu:manage/users]]</a></li>
|
<li><a href="{relative_path}/admin/manage/users">[[admin/menu:manage/users]]</a></li>
|
||||||
|
<li><a href="{relative_path}/admin/manage/registration">[[admin/menu:manage/registration]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/admins-mods">[[admin/menu:manage/admins-mods]]</a></li>
|
<li><a href="{relative_path}/admin/manage/admins-mods">[[admin/menu:manage/admins-mods]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/groups">[[admin/menu:manage/groups]]</a></li>
|
<li><a href="{relative_path}/admin/manage/groups">[[admin/menu:manage/groups]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/tags">[[admin/menu:manage/tags]]</a></li>
|
<li><a href="{relative_path}/admin/manage/tags">[[admin/menu:manage/tags]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/registration">[[admin/menu:manage/registration]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/manage/post-queue">[[admin/menu:manage/post-queue]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/manage/ip-blacklist">[[admin/menu:manage/ip-blacklist]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/manage/uploads">[[admin/menu:manage/uploads]]</a></li>
|
<li><a href="{relative_path}/admin/manage/uploads">[[admin/menu:manage/uploads]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/digest">[[admin/menu:manage/digest]]</a></li>
|
<li><a href="{relative_path}/admin/manage/digest">[[admin/menu:manage/digest]]</a></li>
|
||||||
|
|
||||||
|
<li><a target="_top" href="{relative_path}/post-queue">[[admin/menu:manage/post-queue]] <i class="fa fa-external-link"></i></a></li>
|
||||||
|
<li><a target="_top" href="{relative_path}/ip-blacklist">[[admin/menu:manage/ip-blacklist]] <i class="fa fa-external-link"></i></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -33,14 +34,14 @@
|
|||||||
<li><a href="{relative_path}/admin/settings/homepage">[[admin/menu:settings/homepage]]</a></li>
|
<li><a href="{relative_path}/admin/settings/homepage">[[admin/menu:settings/homepage]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/navigation">[[admin/menu:settings/navigation]]</a></li>
|
<li><a href="{relative_path}/admin/settings/navigation">[[admin/menu:settings/navigation]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/user">[[admin/menu:settings/user]]</a></li>
|
<li><a href="{relative_path}/admin/settings/user">[[admin/menu:settings/user]]</a></li>
|
||||||
|
<li><a href="{relative_path}/admin/settings/reputation">[[admin/menu:settings/reputation]]</a></li>
|
||||||
|
<li><a href="{relative_path}/admin/settings/guest">[[admin/menu:settings/guest]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/group">[[admin/menu:settings/group]]</a></li>
|
<li><a href="{relative_path}/admin/settings/group">[[admin/menu:settings/group]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/tags">[[admin/menu:manage/tags]]</a></li>
|
<li><a href="{relative_path}/admin/settings/tags">[[admin/menu:manage/tags]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/post">[[admin/menu:settings/post]]</a></li>
|
<li><a href="{relative_path}/admin/settings/post">[[admin/menu:settings/post]]</a></li>
|
||||||
|
<li><a href="{relative_path}/admin/settings/uploads">[[admin/menu:settings/uploads]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/languages">[[admin/menu:settings/languages]]</a></li>
|
<li><a href="{relative_path}/admin/settings/languages">[[admin/menu:settings/languages]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/email">[[admin/menu:settings/email]]</a></li>
|
<li><a href="{relative_path}/admin/settings/email">[[admin/menu:settings/email]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/reputation">[[admin/menu:settings/reputation]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/settings/guest">[[admin/menu:settings/guest]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/settings/uploads">[[admin/menu:settings/uploads]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/settings/chat">[[admin/menu:settings/chat]]</a></li>
|
<li><a href="{relative_path}/admin/settings/chat">[[admin/menu:settings/chat]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/pagination">[[admin/menu:settings/pagination]]</a></li>
|
<li><a href="{relative_path}/admin/settings/pagination">[[admin/menu:settings/pagination]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/notifications">[[admin/menu:settings/notifications]]</a></li>
|
<li><a href="{relative_path}/admin/settings/notifications">[[admin/menu:settings/notifications]]</a></li>
|
||||||
@@ -48,7 +49,6 @@
|
|||||||
<li><a href="{relative_path}/admin/settings/social">[[admin/menu:settings/social]]</a></li>
|
<li><a href="{relative_path}/admin/settings/social">[[admin/menu:settings/social]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/cookies">[[admin/menu:settings/cookies]]</a></li>
|
<li><a href="{relative_path}/admin/settings/cookies">[[admin/menu:settings/cookies]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/web-crawler">[[admin/menu:settings/web-crawler]]</a></li>
|
<li><a href="{relative_path}/admin/settings/web-crawler">[[admin/menu:settings/web-crawler]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/sockets">[[admin/menu:settings/sockets]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/settings/advanced">[[admin/menu:settings/advanced]]</a></li>
|
<li><a href="{relative_path}/admin/settings/advanced">[[admin/menu:settings/advanced]]</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
@@ -172,14 +172,15 @@
|
|||||||
<li><a id="manage-categories" href="{relative_path}/admin/manage/categories">[[admin/menu:manage/categories]]</a></li>
|
<li><a id="manage-categories" href="{relative_path}/admin/manage/categories">[[admin/menu:manage/categories]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/privileges">[[admin/menu:manage/privileges]]</a></li>
|
<li><a href="{relative_path}/admin/manage/privileges">[[admin/menu:manage/privileges]]</a></li>
|
||||||
<li><a id="manage-users" href="{relative_path}/admin/manage/users">[[admin/menu:manage/users]]</a></li>
|
<li><a id="manage-users" href="{relative_path}/admin/manage/users">[[admin/menu:manage/users]]</a></li>
|
||||||
|
<li><a href="{relative_path}/admin/manage/registration">[[admin/menu:manage/registration]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/admins-mods">[[admin/menu:manage/admins-mods]]</a></li>
|
<li><a href="{relative_path}/admin/manage/admins-mods">[[admin/menu:manage/admins-mods]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/groups">[[admin/menu:manage/groups]]</a></li>
|
<li><a href="{relative_path}/admin/manage/groups">[[admin/menu:manage/groups]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/tags">[[admin/menu:manage/tags]]</a></li>
|
<li><a href="{relative_path}/admin/manage/tags">[[admin/menu:manage/tags]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/registration">[[admin/menu:manage/registration]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/manage/post-queue">[[admin/menu:manage/post-queue]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/manage/ip-blacklist">[[admin/menu:manage/ip-blacklist]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/manage/uploads">[[admin/menu:manage/uploads]]</a></li>
|
<li><a href="{relative_path}/admin/manage/uploads">[[admin/menu:manage/uploads]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/manage/digest">[[admin/menu:manage/digest]]</a></li>
|
<li><a href="{relative_path}/admin/manage/digest">[[admin/menu:manage/digest]]</a></li>
|
||||||
|
<li role="separator" class="divider"></li>
|
||||||
|
<li><a target="_top" href="{relative_path}/post-queue">[[admin/menu:manage/post-queue]] <i class="fa fa-external-link"></i></a></li>
|
||||||
|
<li><a target="_top" href="{relative_path}/ip-blacklist">[[admin/menu:manage/ip-blacklist]] <i class="fa fa-external-link"></i></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="dropdown menu-item">
|
<li class="dropdown menu-item">
|
||||||
@@ -189,14 +190,14 @@
|
|||||||
<li><a href="{relative_path}/admin/settings/homepage">[[admin/menu:settings/homepage]]</a></li>
|
<li><a href="{relative_path}/admin/settings/homepage">[[admin/menu:settings/homepage]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/navigation">[[admin/menu:settings/navigation]]</a></li>
|
<li><a href="{relative_path}/admin/settings/navigation">[[admin/menu:settings/navigation]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/user">[[admin/menu:settings/user]]</a></li>
|
<li><a href="{relative_path}/admin/settings/user">[[admin/menu:settings/user]]</a></li>
|
||||||
|
<li><a href="{relative_path}/admin/settings/reputation">[[admin/menu:settings/reputation]]</a></li>
|
||||||
|
<li><a href="{relative_path}/admin/settings/guest">[[admin/menu:settings/guest]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/group">[[admin/menu:settings/group]]</a></li>
|
<li><a href="{relative_path}/admin/settings/group">[[admin/menu:settings/group]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/tags">[[admin/menu:manage/tags]]</a></li>
|
<li><a href="{relative_path}/admin/settings/tags">[[admin/menu:manage/tags]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/post">[[admin/menu:settings/post]]</a></li>
|
<li><a href="{relative_path}/admin/settings/post">[[admin/menu:settings/post]]</a></li>
|
||||||
|
<li><a href="{relative_path}/admin/settings/uploads">[[admin/menu:settings/uploads]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/languages">[[admin/menu:settings/languages]]</a></li>
|
<li><a href="{relative_path}/admin/settings/languages">[[admin/menu:settings/languages]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/email">[[admin/menu:settings/email]]</a></li>
|
<li><a href="{relative_path}/admin/settings/email">[[admin/menu:settings/email]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/reputation">[[admin/menu:settings/reputation]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/settings/guest">[[admin/menu:settings/guest]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/settings/uploads">[[admin/menu:settings/uploads]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/settings/chat">[[admin/menu:settings/chat]]</a></li>
|
<li><a href="{relative_path}/admin/settings/chat">[[admin/menu:settings/chat]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/pagination">[[admin/menu:settings/pagination]]</a></li>
|
<li><a href="{relative_path}/admin/settings/pagination">[[admin/menu:settings/pagination]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/notifications">[[admin/menu:settings/notifications]]</a></li>
|
<li><a href="{relative_path}/admin/settings/notifications">[[admin/menu:settings/notifications]]</a></li>
|
||||||
@@ -204,7 +205,6 @@
|
|||||||
<li><a href="{relative_path}/admin/settings/social">[[admin/menu:settings/social]]</a></li>
|
<li><a href="{relative_path}/admin/settings/social">[[admin/menu:settings/social]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/cookies">[[admin/menu:settings/cookies]]</a></li>
|
<li><a href="{relative_path}/admin/settings/cookies">[[admin/menu:settings/cookies]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/web-crawler">[[admin/menu:settings/web-crawler]]</a></li>
|
<li><a href="{relative_path}/admin/settings/web-crawler">[[admin/menu:settings/web-crawler]]</a></li>
|
||||||
<li><a href="{relative_path}/admin/settings/sockets">[[admin/menu:settings/sockets]]</a></li>
|
|
||||||
<li><a href="{relative_path}/admin/settings/advanced">[[admin/menu:settings/advanced]]</a></li>
|
<li><a href="{relative_path}/admin/settings/advanced">[[admin/menu:settings/advanced]]</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -131,4 +131,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-2 col-xs-12 settings-header">[[admin/settings/advanced:sockets.settings]]</div>
|
||||||
|
<div class="col-sm-10 col-xs-12">
|
||||||
|
<form>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="maxReconnectionAttempts">[[admin/settings/advanced:sockets.max-attempts]]</label>
|
||||||
|
<input class="form-control" id="maxReconnectionAttempts" type="text" value="5" placeholder="[[admin/settings/advanced:sockets.default-placeholder, 5]]" data-field="maxReconnectionAttempts" />
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="reconnectionDelay">[[admin/settings/advanced:sockets.delay]]</label>
|
||||||
|
<input class="form-control" id="reconnectionDelay" type="text" value="1500" placeholder="[[admin/settings/advanced:sockets.default-placeholder, 1500]]" data-field="reconnectionDelay" />
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- IMPORT admin/partials/settings/footer.tpl -->
|
<!-- IMPORT admin/partials/settings/footer.tpl -->
|
||||||
|
|||||||
Reference in New Issue
Block a user