This commit is contained in:
Barış Soner Uşaklı
2018-06-18 14:37:32 -04:00
parent ed4787a3ea
commit ccad95cf73
19 changed files with 188 additions and 235 deletions

View File

@@ -4,6 +4,7 @@ var nconf = require('nconf');
var async = require('async');
var validator = require('validator');
var winston = require('winston');
var querystring = require('querystring');
var user = require('../user');
var privileges = require('../privileges');
@@ -34,30 +35,78 @@ helpers.noScriptErrors = function (req, res, error, httpStatus) {
helpers.validFilters = { '': true, new: true, watched: true, unreplied: true };
helpers.buildFilters = function (url, filter) {
helpers.terms = {
daily: 'day',
weekly: 'week',
monthly: 'month',
};
helpers.buildQueryString = function (cid, filter, term) {
var qs = {};
if (cid) {
qs.cid = cid;
}
if (filter) {
qs.filter = filter;
}
if (term) {
qs.term = term;
}
if (Object.keys(qs).length) {
return '?' + querystring.stringify(qs);
}
return '';
};
helpers.buildFilters = function (url, filter, query) {
return [{
name: '[[unread:all-topics]]',
url: url,
url: url + helpers.buildQueryString(query.cid, '', query.term),
selected: filter === '',
filter: '',
}, {
name: '[[unread:new-topics]]',
url: url + '/new',
url: url + helpers.buildQueryString(query.cid, 'new', query.term),
selected: filter === 'new',
filter: 'new',
}, {
name: '[[unread:watched-topics]]',
url: url + '/watched',
url: url + helpers.buildQueryString(query.cid, 'watched', query.term),
selected: filter === 'watched',
filter: 'watched',
}, {
name: '[[unread:unreplied-topics]]',
url: url + '/unreplied',
url: url + helpers.buildQueryString(query.cid, 'unreplied', query.term),
selected: filter === 'unreplied',
filter: 'unreplied',
}];
};
helpers.buildTerms = function (url, term, query) {
return [{
name: '[[recent:alltime]]',
url: url + helpers.buildQueryString(query.cid, query.filter, ''),
selected: term === 'alltime',
term: 'alltime',
}, {
name: '[[recent:day]]',
url: url + helpers.buildQueryString(query.cid, query.filter, 'daily'),
selected: term === 'day',
term: 'day',
}, {
name: '[[recent:week]]',
url: url + helpers.buildQueryString(query.cid, query.filter, 'weekly'),
selected: term === 'week',
term: 'week',
}, {
name: '[[recent:month]]',
url: url + helpers.buildQueryString(query.cid, query.filter, 'monthly'),
selected: term === 'month',
term: 'month',
}];
};
helpers.notAllowed = function (req, res, error) {
plugins.fireHook('filter:helpers.notAllowed', {
req: req,