diff --git a/src/upgrade.js b/src/upgrade.js index b4731bcad0..f4040a5886 100644 --- a/src/upgrade.js +++ b/src/upgrade.js @@ -67,8 +67,11 @@ Upgrade.upgrade = function() { var multi = RDB.multi(); keys = keys.filter(function(key) { - if (key === 'notifications:next_nid') return false; - else return true; + if (key === 'notifications:next_nid') { + return false; + } else { + return true; + } }).map(function(key) { return key.slice(14); }); diff --git a/src/webserver.js b/src/webserver.js index eebbf5708c..aae015447d 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -28,15 +28,19 @@ var express = require('express'), logger = require('./logger.js'); (function (app) { + "use strict"; + var templates = null, clientScripts; // Minify client-side libraries meta.js.get(function (err, scripts) { clientScripts = scripts.map(function (script) { - return script = { + script = { script: script - } + }; + + return script; }); }); @@ -66,13 +70,13 @@ var express = require('express'), content: meta.config.title || 'NodeBB' }, { property: 'keywords', - content: meta.config['keywords'] || '' + content: meta.config.keywords || '' }], metaString = utils.buildMetaTags(defaultMetaTags.concat(options.metaTags || [])), linkTags = utils.buildLinkTags(options.linkTags || []), templateValues = { cssSrc: meta.config['theme:src'] || nconf.get('relative_path') + '/vendor/bootstrap/css/bootstrap.min.css', - pluginCSS: plugins.cssFiles.map(function(file) { return { path: file } }), + pluginCSS: plugins.cssFiles.map(function(file) { return { path: file }; }), title: meta.config.title || '', description: meta.config.description || '', 'brand:logo': meta.config['brand:logo'] || '', @@ -88,8 +92,9 @@ var express = require('express'), var uid = '0'; - if(options.req.user && options.req.user.uid) + if(options.req.user && options.req.user.uid) { uid = options.req.user.uid; + } user.isAdministrator(uid, function(isAdmin) { templateValues.adminDisplay = isAdmin ? 'show' : 'hide'; @@ -97,7 +102,7 @@ var express = require('express'), translator.translate(templates.header.parse(templateValues), function(template) { callback(null, template); }); - }) + }); }); @@ -249,11 +254,17 @@ var express = require('express'), res.json(200, {}); } else if (req.accepts('html')) { // respond with html page - if (process.env.NODE_ENV === 'development') winston.warn('Route requested but not found: ' + req.url); + if (process.env.NODE_ENV === 'development') { + winston.warn('Route requested but not found: ' + req.url); + } + res.redirect(nconf.get('relative_path') + '/404'); } else if (req.accepts('json')) { // respond with json - if (process.env.NODE_ENV === 'development') winston.warn('Route requested but not found: ' + req.url); + if (process.env.NODE_ENV === 'development') { + winston.warn('Route requested but not found: ' + req.url); + } + res.json({ error: 'Not found' }); @@ -284,7 +295,9 @@ var express = require('express'), winston.error('Errors were encountered while attempting to initialise NodeBB.'); process.exit(); } else { - if (process.env.NODE_ENV === 'development') winston.info('Middlewares loaded.'); + if (process.env.NODE_ENV === 'development') { + winston.info('Middlewares loaded.'); + } } }); }); @@ -293,16 +306,16 @@ var express = require('express'), templates = global.templates; // translate all static templates served by webserver here. ex. footer, logout - translator.translate(templates['footer'].toString(), function(parsedTemplate) { - templates['footer'] = parsedTemplate; + translator.translate(templates.footer.toString(), function(parsedTemplate) { + templates.footer = parsedTemplate; }); - translator.translate(templates['logout'].toString(), function(parsedTemplate) { - templates['logout'] = parsedTemplate; + translator.translate(templates.logout.toString(), function(parsedTemplate) { + templates.logout = parsedTemplate; }); winston.info('NodeBB Ready'); server.listen(nconf.get('PORT') || nconf.get('port'), nconf.get('bind_address')); - } + }; app.create_route = function (url, tpl) { // to remove return ''; @@ -336,7 +349,7 @@ var express = require('express'), req: req, res: res }, function (err, header) { - res.send((isNaN(parseInt(route, 10)) ? 200 : parseInt(route, 10)), header + app.create_route(route) + templates['footer']); + res.send((isNaN(parseInt(route, 10)) ? 200 : parseInt(route, 10)), header + app.create_route(route) + templates.footer); }); }); }(routes[i])); @@ -368,8 +381,11 @@ var express = require('express'), "categories": function (next) { categories.getAllCategories(function (returnData) { returnData.categories = returnData.categories.filter(function (category) { - if (category.disabled !== '1') return true; - else return false; + if (category.disabled !== '1') { + return true; + } else { + return false; + } }); next(null, returnData); @@ -380,12 +396,11 @@ var express = require('express'), data.header + '\n\t' + app.create_route('') + - templates['footer'] + templates.footer ); - }) + }); }); - app.get('/topic/:topic_id/:slug?', function (req, res) { var tid = req.params.topic_id; @@ -394,18 +409,26 @@ var express = require('express'), var rssPath = path.join(__dirname, '../', 'feeds/topics', tid + '.rss'), loadFeed = function () { fs.readFile(rssPath, function (err, data) { - if (err) res.type('text').send(404, "Unable to locate an rss feed at this location."); - else res.type('xml').set('Content-Length', data.length).send(data); + if (err) { + res.type('text').send(404, "Unable to locate an rss feed at this location."); + } else { + res.type('xml').set('Content-Length', data.length).send(data); + } }); }; if (!fs.existsSync(rssPath)) { feed.updateTopic(tid, function (err) { - if (err) res.redirect('/404'); - else loadFeed(); + if (err) { + res.redirect('/404'); + } else { + loadFeed(); + } }); - } else loadFeed(); + } else { + loadFeed(); + } return; } @@ -414,8 +437,9 @@ var express = require('express'), function (next) { topics.getTopicWithPosts(tid, ((req.user) ? req.user.uid : 0), 0, -1, function (err, topicData) { if (topicData) { - if (topicData.deleted === '1' && topicData.expose_tools === 0) + if (topicData.deleted === '1' && topicData.expose_tools === 0) { return next(new Error('Topic deleted'), null); + } } next(err, topicData); @@ -428,7 +452,9 @@ var express = require('express'), for (var x = 0, numPosts = topicData.posts.length; x < numPosts; x++) { timestamp = parseInt(topicData.posts[x].timestamp, 10); - if (timestamp > lastMod) lastMod = timestamp; + if (timestamp > lastMod) { + lastMod = timestamp; + } } app.build_header({ @@ -481,14 +507,17 @@ var express = require('express'), }); }, ], function (err, data) { - if (err) return res.redirect('404'); + if (err) { + return res.redirect('404'); + } + var topic_url = tid + (req.params.slug ? '/' + req.params.slug : ''); res.send( data.header + '\n\t' + '\n\t' + - templates['footer'] + templates.footer ); }); }); @@ -501,18 +530,26 @@ var express = require('express'), var rssPath = path.join(__dirname, '../', 'feeds/categories', cid + '.rss'), loadFeed = function () { fs.readFile(rssPath, function (err, data) { - if (err) res.type('text').send(404, "Unable to locate an rss feed at this location."); - else res.type('xml').set('Content-Length', data.length).send(data); + if (err) { + res.type('text').send(404, "Unable to locate an rss feed at this location."); + } else { + res.type('xml').set('Content-Length', data.length).send(data); + } }); }; if (!fs.existsSync(rssPath)) { feed.updateCategory(cid, function (err) { - if (err) res.redirect('/404'); - else loadFeed(); + if (err) { + res.redirect('/404'); + } else { + loadFeed(); + } }); - } else loadFeed(); + } else { + loadFeed(); + } return; } @@ -522,9 +559,11 @@ var express = require('express'), categories.getCategoryById(cid, 0, function (err, categoryData) { if (categoryData) { - if (categoryData.disabled === '1') + if (categoryData.disabled === '1') { return next(new Error('Category disabled'), null); + } } + next(err, categoryData); }); }, @@ -561,14 +600,17 @@ var express = require('express'), }); } ], function (err, data) { - if (err) return res.redirect('404'); + if (err) { + return res.redirect('404'); + } + var category_url = cid + (req.params.slug ? '/' + req.params.slug : ''); res.send( data.header + '\n\t' + '\n\t' + - templates['footer'] + templates.footer ); }); }); @@ -578,7 +620,7 @@ var express = require('express'), req: req, res: res }, function (err, header) { - res.send(header + '' + templates['footer']); + res.send(header + '' + templates.footer); }); }); @@ -599,19 +641,21 @@ var express = require('express'), app.get('/cid/:cid', function (req, res) { categories.getCategoryData(req.params.cid, function (err, data) { - if (data) + if (data) { res.send(data); - else + } else { res.send(404, "Category doesn't exist!"); + } }); }); app.get('/tid/:tid', function (req, res) { topics.getTopicData(req.params.tid, function (data) { - if (data) + if (data) { res.send(data); - else + } else { res.send(404, "Topic doesn't exist!"); + } }); }); @@ -621,22 +665,25 @@ var express = require('express'), req: req, res: res }, function (err, header) { - res.send(header + app.create_route("recent/" + req.params.term, null, "recent") + templates['footer']); + res.send(header + app.create_route("recent/" + req.params.term, null, "recent") + templates.footer); }); }); app.get('/pid/:pid', function (req, res) { posts.getPostData(req.params.pid, function (data) { - if (data) + if (data) { res.send(data); - else + } else { res.send(404, "Post doesn't exist!"); + } }); }); app.get('/outgoing', function (req, res) { - if (!req.query.url) return res.redirect('/404'); + if (!req.query.url) { + return res.redirect('/404'); + } app.build_header({ req: req, @@ -645,30 +692,34 @@ var express = require('express'), res.send( header + '\n\t' + - templates['footer'] + templates.footer ); }); }); app.get('/search', function (req, res) { - if (!req.user) + if (!req.user) { return res.redirect('/403'); + } + app.build_header({ req: req, res: res }, function (err, header) { - res.send(header + app.create_route("search", null, "search") + templates['footer']); + res.send(header + app.create_route("search", null, "search") + templates.footer); }); }); app.get('/search/:term', function (req, res) { - if (!req.user) + if (!req.user) { return res.redirect('/403'); + } + app.build_header({ req: req, res: res }, function (err, header) { - res.send(header + app.create_route("search/" + req.params.term, null, "search") + templates['footer']); + res.send(header + app.create_route("search/" + req.params.term, null, "search") + templates.footer); }); }); @@ -713,7 +764,7 @@ var express = require('express'), req: options.req, res: options.res }, function (err, header) { - res.send(header + options.content + templates['footer']); + res.send(header + options.content + templates.footer); }); }); });