mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-22 00:10:25 +01:00
closes #4587
This commit is contained in:
@@ -34,5 +34,6 @@
|
|||||||
"teaserPost": "last-reply",
|
"teaserPost": "last-reply",
|
||||||
"allowPrivateGroups": 1,
|
"allowPrivateGroups": 1,
|
||||||
"unreadCutoff": 2,
|
"unreadCutoff": 2,
|
||||||
"bookmarkThreshold": 5
|
"bookmarkThreshold": 5,
|
||||||
|
"topicsPerList": 20
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,11 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
|
||||||
var async = require('async');
|
var async = require('async');
|
||||||
var nconf = require('nconf');
|
var nconf = require('nconf');
|
||||||
var validator = require('validator');
|
var validator = require('validator');
|
||||||
|
|
||||||
var categories = require('../categories');
|
var categories = require('../categories');
|
||||||
var meta = require('../meta');
|
var meta = require('../meta');
|
||||||
var plugins = require('../plugins');
|
|
||||||
|
|
||||||
var helpers = require('./helpers');
|
var helpers = require('./helpers');
|
||||||
|
|
||||||
var categoriesController = {};
|
var categoriesController = {};
|
||||||
@@ -51,8 +48,12 @@ categoriesController.list = function(req, res, next) {
|
|||||||
categories.flattenCategories(allCategories, categoryData);
|
categories.flattenCategories(allCategories, categoryData);
|
||||||
|
|
||||||
categories.getRecentTopicReplies(allCategories, req.uid, next);
|
categories.getRecentTopicReplies(allCategories, req.uid, next);
|
||||||
},
|
}
|
||||||
function (next) {
|
], function(err) {
|
||||||
|
if (err) {
|
||||||
|
return next(err);
|
||||||
|
}
|
||||||
|
|
||||||
var data = {
|
var data = {
|
||||||
title: '[[pages:categories]]',
|
title: '[[pages:categories]]',
|
||||||
categories: categoryData
|
categories: categoryData
|
||||||
@@ -72,13 +73,7 @@ categoriesController.list = function(req, res, next) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
plugins.fireHook('filter:categories.build', {req: req, res: res, templateData: data}, next);
|
res.render('categories', data);
|
||||||
}
|
|
||||||
], function(err, data) {
|
|
||||||
if (err) {
|
|
||||||
return next(err);
|
|
||||||
}
|
|
||||||
res.render('categories', data.templateData);
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ var privileges = require('../privileges');
|
|||||||
var user = require('../user');
|
var user = require('../user');
|
||||||
var categories = require('../categories');
|
var categories = require('../categories');
|
||||||
var meta = require('../meta');
|
var meta = require('../meta');
|
||||||
var plugins = require('../plugins');
|
|
||||||
var pagination = require('../pagination');
|
var pagination = require('../pagination');
|
||||||
var helpers = require('./helpers');
|
var helpers = require('./helpers');
|
||||||
var utils = require('../../public/src/utils');
|
var utils = require('../../public/src/utils');
|
||||||
@@ -143,8 +142,12 @@ categoryController.get = function(req, res, callback) {
|
|||||||
categories.getRecentTopicReplies(allCategories, req.uid, function(err) {
|
categories.getRecentTopicReplies(allCategories, req.uid, function(err) {
|
||||||
next(err, categoryData);
|
next(err, categoryData);
|
||||||
});
|
});
|
||||||
},
|
}
|
||||||
function (categoryData, next) {
|
], function (err, categoryData) {
|
||||||
|
if (err) {
|
||||||
|
return callback(err);
|
||||||
|
}
|
||||||
|
|
||||||
categoryData.privileges = userPrivileges;
|
categoryData.privileges = userPrivileges;
|
||||||
categoryData.showSelect = categoryData.privileges.editable;
|
categoryData.showSelect = categoryData.privileges.editable;
|
||||||
|
|
||||||
@@ -195,13 +198,7 @@ categoryController.get = function(req, res, callback) {
|
|||||||
res.locals.linkTags.push(rel);
|
res.locals.linkTags.push(rel);
|
||||||
});
|
});
|
||||||
|
|
||||||
plugins.fireHook('filter:category.build', {req: req, res: res, templateData: categoryData}, next);
|
res.render('category', categoryData);
|
||||||
}
|
|
||||||
], function (err, data) {
|
|
||||||
if (err) {
|
|
||||||
return callback(err);
|
|
||||||
}
|
|
||||||
res.render('category', data.templateData);
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var async = require('async'),
|
var async = require('async');
|
||||||
nconf = require('nconf'),
|
var nconf = require('nconf');
|
||||||
validator = require('validator'),
|
var validator = require('validator');
|
||||||
meta = require('../meta'),
|
|
||||||
groups = require('../groups'),
|
var meta = require('../meta');
|
||||||
user = require('../user'),
|
var groups = require('../groups');
|
||||||
helpers = require('./helpers'),
|
var user = require('../user');
|
||||||
plugins = require('../plugins'),
|
var helpers = require('./helpers');
|
||||||
groupsController = {};
|
|
||||||
|
var groupsController = {};
|
||||||
|
|
||||||
groupsController.list = function(req, res, next) {
|
groupsController.list = function(req, res, next) {
|
||||||
var sort = req.query.sort || 'alpha';
|
var sort = req.query.sort || 'alpha';
|
||||||
@@ -83,22 +84,20 @@ groupsController.details = function(req, res, callback) {
|
|||||||
},
|
},
|
||||||
isAdmin: async.apply(user.isAdministrator, req.uid)
|
isAdmin: async.apply(user.isAdministrator, req.uid)
|
||||||
}, next);
|
}, next);
|
||||||
},
|
|
||||||
function (results, next) {
|
|
||||||
if (!results.group) {
|
|
||||||
return callback();
|
|
||||||
}
|
|
||||||
results.title = '[[pages:group, ' + results.group.displayName + ']]';
|
|
||||||
results.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[pages:groups]]', url: '/groups' }, {text: results.group.displayName}]);
|
|
||||||
results.allowPrivateGroups = parseInt(meta.config.allowPrivateGroups, 10) === 1;
|
|
||||||
plugins.fireHook('filter:group.build', {req: req, res: res, templateData: results}, next);
|
|
||||||
}
|
}
|
||||||
], function(err, results) {
|
], function(err, results) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return callback(err);
|
return callback(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
res.render('groups/details', results.templateData);
|
if (!results.group) {
|
||||||
|
return callback();
|
||||||
|
}
|
||||||
|
results.title = '[[pages:group, ' + results.group.displayName + ']]';
|
||||||
|
results.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[pages:groups]]', url: '/groups' }, {text: results.group.displayName}]);
|
||||||
|
results.allowPrivateGroups = parseInt(meta.config.allowPrivateGroups, 10) === 1;
|
||||||
|
|
||||||
|
res.render('groups/details', results);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -134,8 +134,11 @@ Controllers.register = function(req, res, next) {
|
|||||||
},
|
},
|
||||||
function(next) {
|
function(next) {
|
||||||
plugins.fireHook('filter:parse.post', {postData: {content: meta.config.termsOfUse || ''}}, next);
|
plugins.fireHook('filter:parse.post', {postData: {content: meta.config.termsOfUse || ''}}, next);
|
||||||
},
|
}
|
||||||
function(tos, next) {
|
], function(err, termsOfUse) {
|
||||||
|
if (err) {
|
||||||
|
return next(err);
|
||||||
|
}
|
||||||
var loginStrategies = require('../routes/authentication').getLoginStrategies();
|
var loginStrategies = require('../routes/authentication').getLoginStrategies();
|
||||||
var data = {
|
var data = {
|
||||||
'register_window:spansize': loginStrategies.length ? 'col-md-6' : 'col-md-12',
|
'register_window:spansize': loginStrategies.length ? 'col-md-6' : 'col-md-12',
|
||||||
@@ -147,19 +150,13 @@ Controllers.register = function(req, res, next) {
|
|||||||
data.minimumUsernameLength = parseInt(meta.config.minimumUsernameLength, 10);
|
data.minimumUsernameLength = parseInt(meta.config.minimumUsernameLength, 10);
|
||||||
data.maximumUsernameLength = parseInt(meta.config.maximumUsernameLength, 10);
|
data.maximumUsernameLength = parseInt(meta.config.maximumUsernameLength, 10);
|
||||||
data.minimumPasswordLength = parseInt(meta.config.minimumPasswordLength, 10);
|
data.minimumPasswordLength = parseInt(meta.config.minimumPasswordLength, 10);
|
||||||
data.termsOfUse = tos.postData.content;
|
data.termsOfUse = termsOfUse.postData.content;
|
||||||
data.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[register:register]]'}]);
|
data.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[register:register]]'}]);
|
||||||
data.regFormEntry = [];
|
data.regFormEntry = [];
|
||||||
data.error = req.flash('error')[0];
|
data.error = req.flash('error')[0];
|
||||||
data.title = '[[pages:register]]';
|
data.title = '[[pages:register]]';
|
||||||
|
|
||||||
plugins.fireHook('filter:register.build', {req: req, res: res, templateData: data}, next);
|
res.render('register', data);
|
||||||
}
|
|
||||||
], function(err, data) {
|
|
||||||
if (err) {
|
|
||||||
return next(err);
|
|
||||||
}
|
|
||||||
res.render('register', data.templateData);
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var nconf = require('nconf'),
|
var nconf = require('nconf');
|
||||||
topics = require('../topics'),
|
var topics = require('../topics');
|
||||||
plugins = require('../plugins'),
|
var meta = require('../meta');
|
||||||
meta = require('../meta'),
|
var helpers = require('./helpers');
|
||||||
helpers = require('./helpers');
|
|
||||||
|
|
||||||
var popularController = {};
|
var popularController = {};
|
||||||
|
|
||||||
var anonCache = {}, lastUpdateTime = 0;
|
var anonCache = {};
|
||||||
|
var lastUpdateTime = 0;
|
||||||
|
|
||||||
var terms = {
|
var terms = {
|
||||||
daily: 'day',
|
daily: 'day',
|
||||||
@@ -48,7 +48,8 @@ popularController.get = function(req, res, next) {
|
|||||||
topics: topics,
|
topics: topics,
|
||||||
'feeds:disableRSS': parseInt(meta.config['feeds:disableRSS'], 10) === 1,
|
'feeds:disableRSS': parseInt(meta.config['feeds:disableRSS'], 10) === 1,
|
||||||
rssFeedUrl: nconf.get('relative_path') + '/popular/' + (req.params.term || 'daily') + '.rss',
|
rssFeedUrl: nconf.get('relative_path') + '/popular/' + (req.params.term || 'daily') + '.rss',
|
||||||
title: '[[pages:popular-' + term + ']]'
|
title: '[[pages:popular-' + term + ']]',
|
||||||
|
term: term
|
||||||
};
|
};
|
||||||
|
|
||||||
if (req.path.startsWith('/api/popular') || req.path.startsWith('/popular')) {
|
if (req.path.startsWith('/api/popular') || req.path.startsWith('/popular')) {
|
||||||
@@ -66,12 +67,7 @@ popularController.get = function(req, res, next) {
|
|||||||
lastUpdateTime = Date.now();
|
lastUpdateTime = Date.now();
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins.fireHook('filter:popular.build', {req: req, res: res, term: term, templateData: data}, function(err, data) {
|
res.render('popular', data);
|
||||||
if (err) {
|
|
||||||
return next(err);
|
|
||||||
}
|
|
||||||
res.render('popular', data.templateData);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,10 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var nconf = require('nconf');
|
var nconf = require('nconf');
|
||||||
var async = require('async');
|
|
||||||
var topics = require('../topics');
|
var topics = require('../topics');
|
||||||
var meta = require('../meta');
|
var meta = require('../meta');
|
||||||
var helpers = require('./helpers');
|
var helpers = require('./helpers');
|
||||||
var plugins = require('../plugins');
|
|
||||||
|
|
||||||
var recentController = {};
|
var recentController = {};
|
||||||
|
|
||||||
@@ -14,11 +13,11 @@ recentController.get = function(req, res, next) {
|
|||||||
|
|
||||||
var stop = (parseInt(meta.config.topicsPerList, 10) || 20) - 1;
|
var stop = (parseInt(meta.config.topicsPerList, 10) || 20) - 1;
|
||||||
|
|
||||||
async.waterfall([
|
topics.getTopicsFromSet('topics:recent', req.uid, 0, stop, function(err, data) {
|
||||||
function (next) {
|
if (err) {
|
||||||
topics.getTopicsFromSet('topics:recent', req.uid, 0, stop, next);
|
return next(err);
|
||||||
},
|
}
|
||||||
function (data, next) {
|
|
||||||
data['feeds:disableRSS'] = parseInt(meta.config['feeds:disableRSS'], 10) === 1;
|
data['feeds:disableRSS'] = parseInt(meta.config['feeds:disableRSS'], 10) === 1;
|
||||||
data.rssFeedUrl = nconf.get('relative_path') + '/recent.rss';
|
data.rssFeedUrl = nconf.get('relative_path') + '/recent.rss';
|
||||||
data.title = '[[pages:recent]]';
|
data.title = '[[pages:recent]]';
|
||||||
@@ -26,13 +25,7 @@ recentController.get = function(req, res, next) {
|
|||||||
data.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[recent:title]]'}]);
|
data.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[recent:title]]'}]);
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins.fireHook('filter:recent.build', {req: req, res: res, templateData: data}, next);
|
res.render('recent', data);
|
||||||
}
|
|
||||||
], function(err, data) {
|
|
||||||
if (err) {
|
|
||||||
return next(err);
|
|
||||||
}
|
|
||||||
res.render('recent', data.templateData);
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var async = require('async'),
|
var async = require('async');
|
||||||
|
|
||||||
meta = require('../meta'),
|
var meta = require('../meta');
|
||||||
plugins = require('../plugins'),
|
var plugins = require('../plugins');
|
||||||
search = require('../search'),
|
var search = require('../search');
|
||||||
categories = require('../categories'),
|
var categories = require('../categories');
|
||||||
pagination = require('../pagination'),
|
var pagination = require('../pagination');
|
||||||
helpers = require('./helpers');
|
var helpers = require('./helpers');
|
||||||
|
|
||||||
|
|
||||||
var searchController = {};
|
var searchController = {};
|
||||||
@@ -61,12 +61,7 @@ searchController.search = function(req, res, next) {
|
|||||||
searchData.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[global:search]]'}]);
|
searchData.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[global:search]]'}]);
|
||||||
searchData.expandSearch = !req.params.term;
|
searchData.expandSearch = !req.params.term;
|
||||||
|
|
||||||
plugins.fireHook('filter:search.build', {data: data, results: searchData}, function(err, data) {
|
res.render('search', searchData);
|
||||||
if (err) {
|
|
||||||
return next(err);
|
|
||||||
}
|
|
||||||
res.render('search', data.results);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -288,12 +288,7 @@ topicsController.get = function(req, res, callback) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins.fireHook('filter:topic.build', {req: req, res: res, templateData: data}, function(err, data) {
|
res.render('topic', data);
|
||||||
if (err) {
|
|
||||||
return callback(err);
|
|
||||||
}
|
|
||||||
res.render('topic', data.templateData);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ var privileges = require('../privileges');
|
|||||||
var user = require('../user');
|
var user = require('../user');
|
||||||
var topics = require('../topics');
|
var topics = require('../topics');
|
||||||
var helpers = require('./helpers');
|
var helpers = require('./helpers');
|
||||||
var plugins = require('../plugins');
|
|
||||||
|
|
||||||
var unreadController = {};
|
var unreadController = {};
|
||||||
|
|
||||||
@@ -42,8 +41,12 @@ unreadController.get = function(req, res, next) {
|
|||||||
},
|
},
|
||||||
function(cids, next) {
|
function(cids, next) {
|
||||||
categories.getCategoriesFields(cids, ['cid', 'name', 'slug', 'icon', 'link', 'color', 'bgColor'], next);
|
categories.getCategoriesFields(cids, ['cid', 'name', 'slug', 'icon', 'link', 'color', 'bgColor'], next);
|
||||||
},
|
}
|
||||||
function(categories, next) {
|
], function(err, categories) {
|
||||||
|
if (err) {
|
||||||
|
return next(err);
|
||||||
|
}
|
||||||
|
|
||||||
categories = categories.filter(function(category) {
|
categories = categories.filter(function(category) {
|
||||||
return category && !category.link;
|
return category && !category.link;
|
||||||
});
|
});
|
||||||
@@ -75,14 +78,7 @@ unreadController.get = function(req, res, next) {
|
|||||||
return filter && filter.selected;
|
return filter && filter.selected;
|
||||||
})[0];
|
})[0];
|
||||||
|
|
||||||
plugins.fireHook('filter:unread.build', {req: req, res: res, templateData: results.unreadTopics}, next);
|
res.render('unread', results.unreadTopics);
|
||||||
}
|
|
||||||
], function(err, data) {
|
|
||||||
if (err) {
|
|
||||||
return next(err);
|
|
||||||
}
|
|
||||||
|
|
||||||
res.render('unread', data.templateData);
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ var user = require('../user');
|
|||||||
var meta = require('../meta');
|
var meta = require('../meta');
|
||||||
|
|
||||||
var pagination = require('../pagination');
|
var pagination = require('../pagination');
|
||||||
var plugins = require('../plugins');
|
|
||||||
var db = require('../database');
|
var db = require('../database');
|
||||||
var helpers = require('./helpers');
|
var helpers = require('./helpers');
|
||||||
|
|
||||||
@@ -165,26 +164,20 @@ usersController.getUsersAndCount = function(set, uid, start, stop, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function render(req, res, data, next) {
|
function render(req, res, data, next) {
|
||||||
plugins.fireHook('filter:users.build', {req: req, res: res, templateData: data }, function(err, data) {
|
|
||||||
if (err) {
|
|
||||||
return next(err);
|
|
||||||
}
|
|
||||||
|
|
||||||
var registrationType = meta.config.registrationType;
|
var registrationType = meta.config.registrationType;
|
||||||
|
|
||||||
data.templateData.maximumInvites = meta.config.maximumInvites;
|
data.maximumInvites = meta.config.maximumInvites;
|
||||||
data.templateData.inviteOnly = registrationType === 'invite-only' || registrationType === 'admin-invite-only';
|
data.inviteOnly = registrationType === 'invite-only' || registrationType === 'admin-invite-only';
|
||||||
data.templateData.adminInviteOnly = registrationType === 'admin-invite-only';
|
data.adminInviteOnly = registrationType === 'admin-invite-only';
|
||||||
data.templateData['reputation:disabled'] = parseInt(meta.config['reputation:disabled'], 10) === 1;
|
data['reputation:disabled'] = parseInt(meta.config['reputation:disabled'], 10) === 1;
|
||||||
|
|
||||||
user.getInvitesNumber(req.uid, function(err, num) {
|
user.getInvitesNumber(req.uid, function(err, num) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return next(err);
|
return next(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
data.templateData.invites = num;
|
data.invites = num;
|
||||||
res.render('users', data.templateData);
|
res.render('users', data);
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var nconf = require('nconf');
|
var nconf = require('nconf');
|
||||||
|
|
||||||
|
var plugins = require('../plugins');
|
||||||
var translator = require('../../public/src/modules/translator');
|
var translator = require('../../public/src/modules/translator');
|
||||||
|
|
||||||
module.exports = function(middleware) {
|
module.exports = function(middleware) {
|
||||||
@@ -9,22 +11,29 @@ module.exports = function(middleware) {
|
|||||||
// res.render post-processing, modified from here: https://gist.github.com/mrlannigan/5051687
|
// res.render post-processing, modified from here: https://gist.github.com/mrlannigan/5051687
|
||||||
var render = res.render;
|
var render = res.render;
|
||||||
res.render = function(template, options, fn) {
|
res.render = function(template, options, fn) {
|
||||||
var self = this,
|
var self = this;
|
||||||
req = this.req,
|
var req = this.req;
|
||||||
defaultFn = function(err, str){
|
var defaultFn = function(err, str) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return next(err);
|
return next(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
self.send(str);
|
self.send(str);
|
||||||
};
|
};
|
||||||
options = options || {};
|
|
||||||
|
|
||||||
|
options = options || {};
|
||||||
if ('function' === typeof options) {
|
if ('function' === typeof options) {
|
||||||
fn = options;
|
fn = options;
|
||||||
options = {};
|
options = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
plugins.fireHook('filter:' + template + '.build', {req: req, res: res, templateData: options}, function(err, data) {
|
||||||
|
if (err) {
|
||||||
|
return next(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
options = data.templateData;
|
||||||
|
|
||||||
options.loggedIn = !!req.uid;
|
options.loggedIn = !!req.uid;
|
||||||
options.relative_path = nconf.get('relative_path');
|
options.relative_path = nconf.get('relative_path');
|
||||||
options.template = {name: template};
|
options.template = {name: template};
|
||||||
@@ -82,6 +91,7 @@ module.exports = function(middleware) {
|
|||||||
fn(err, str);
|
fn(err, str);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
next();
|
next();
|
||||||
|
|||||||
@@ -62,12 +62,7 @@ function getAvailable(callback) {
|
|||||||
return item;
|
return item;
|
||||||
});
|
});
|
||||||
|
|
||||||
// DEPRECATION: backwards compatibility for filter:header.build, will be removed soon.
|
|
||||||
plugins.fireHook('filter:header.build', {navigation: []}, function(err, data) {
|
|
||||||
core = core.concat(data.navigation);
|
|
||||||
|
|
||||||
plugins.fireHook('filter:navigation.available', core, callback);
|
plugins.fireHook('filter:navigation.available', core, callback);
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = admin;
|
module.exports = admin;
|
||||||
@@ -1,10 +1,8 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var async = require('async'),
|
var async = require('async');
|
||||||
db = require('../database'),
|
var privileges = require('../privileges');
|
||||||
privileges = require('../privileges');
|
|
||||||
|
|
||||||
|
|
||||||
module.exports = function(Topics) {
|
module.exports = function(Topics) {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user