ability to disable rss feed

v1.18.x
psychobunny
parent 8ff34e4dc2
commit dab44e0768

@ -3,6 +3,7 @@
var posts = require('./../posts'), var posts = require('./../posts'),
topics = require('./../topics'), topics = require('./../topics'),
categories = require('./../categories'), categories = require('./../categories'),
meta = require('./../meta'),
rss = require('rss'), rss = require('rss'),
nconf = require('nconf'), nconf = require('nconf'),
@ -130,6 +131,14 @@ function generateForPopular(req, res, next) {
}, 'topics:posts', req, res, next); }, 'topics:posts', req, res, next);
} }
function disabledRSS(req, res, next) {
if (meta.config['feeds:disableRSS'] === '1') {
return res.redirect('404');
}
next();
}
function generateForTopics(options, set, req, res, next) { function generateForTopics(options, set, req, res, next) {
var uid = req.user ? req.user.uid : 0; var uid = req.user ? req.user.uid : 0;
topics.getTopicsFromSet(uid, set, 0, 19, function (err, data) { topics.getTopicsFromSet(uid, set, 0, 19, function (err, data) {
@ -173,8 +182,8 @@ function sendFeed(feed, res) {
} }
module.exports = function(app, middleware, controllers){ module.exports = function(app, middleware, controllers){
app.get('/topic/:topic_id.rss', hasTopicPrivileges, generateForTopic); app.get('/topic/:topic_id.rss', hasTopicPrivileges, disabledRSS, generateForTopic);
app.get('/category/:category_id.rss', hasCategoryPrivileges, generateForCategory); app.get('/category/:category_id.rss', hasCategoryPrivileges, disabledRSS, generateForCategory);
app.get('/recent.rss', generateForRecent); app.get('/recent.rss', disabledRSS, generateForRecent);
app.get('/popular.rss', generateForPopular); app.get('/popular.rss', disabledRSS, generateForPopular);
}; };

Loading…
Cancel
Save