diff --git a/src/controllers/recent.js b/src/controllers/recent.js index c5d1d2128a..0849c4f576 100644 --- a/src/controllers/recent.js +++ b/src/controllers/recent.js @@ -11,7 +11,7 @@ var meta = require('../meta'); var helpers = require('./helpers'); var pagination = require('../pagination'); -var recentController = {}; +var recentController = module.exports; var validFilter = { '': true, new: true, watched: true }; @@ -47,49 +47,44 @@ recentController.get = function (req, res, next) { topics.getRecentTopics(cid, req.uid, start, stop, filter, next); }, - ], function (err, data) { - if (err) { - return next(err); - } - - data.categories = categoryData.categories; - data.selectedCategory = categoryData.selectedCategory; - data.nextStart = stop + 1; - data.set = 'topics:recent'; - data['feeds:disableRSS'] = parseInt(meta.config['feeds:disableRSS'], 10) === 1; - data.rssFeedUrl = nconf.get('relative_path') + '/recent.rss'; - data.title = '[[pages:recent]]'; - data.filters = [{ - name: '[[unread:all-topics]]', - url: 'recent', - selected: filter === '', - filter: '', - }, { - name: '[[unread:new-topics]]', - url: 'recent/new', - selected: filter === 'new', - filter: 'new', - }, { - name: '[[unread:watched-topics]]', - url: 'recent/watched', - selected: filter === 'watched', - filter: 'watched', - }]; - - data.selectedFilter = data.filters.find(function (filter) { - return filter && filter.selected; - }); - - var pageCount = Math.max(1, Math.ceil(data.topicCount / settings.topicsPerPage)); - data.pagination = pagination.create(page, pageCount, req.query); - - if (req.path.startsWith('/api/recent') || req.path.startsWith('/recent')) { - data.breadcrumbs = helpers.buildBreadcrumbs([{ text: '[[recent:title]]' }]); - } - - data.querystring = cid ? ('?cid=' + validator.escape(String(cid))) : ''; - res.render('recent', data); - }); + function (data) { + data.categories = categoryData.categories; + data.selectedCategory = categoryData.selectedCategory; + data.nextStart = stop + 1; + data.set = 'topics:recent'; + data['feeds:disableRSS'] = parseInt(meta.config['feeds:disableRSS'], 10) === 1; + data.rssFeedUrl = nconf.get('relative_path') + '/recent.rss'; + data.title = '[[pages:recent]]'; + data.filters = [{ + name: '[[unread:all-topics]]', + url: 'recent', + selected: filter === '', + filter: '', + }, { + name: '[[unread:new-topics]]', + url: 'recent/new', + selected: filter === 'new', + filter: 'new', + }, { + name: '[[unread:watched-topics]]', + url: 'recent/watched', + selected: filter === 'watched', + filter: 'watched', + }]; + + data.selectedFilter = data.filters.find(function (filter) { + return filter && filter.selected; + }); + + var pageCount = Math.max(1, Math.ceil(data.topicCount / settings.topicsPerPage)); + data.pagination = pagination.create(page, pageCount, req.query); + + if (req.path.startsWith('/api/recent') || req.path.startsWith('/recent')) { + data.breadcrumbs = helpers.buildBreadcrumbs([{ text: '[[recent:title]]' }]); + } + + data.querystring = cid ? ('?cid=' + validator.escape(String(cid))) : ''; + res.render('recent', data); + }, + ], next); }; - -module.exports = recentController;