Skip to content

Commit

Permalink
Better fix for #5993
Browse files Browse the repository at this point in the history
Also a nice newline so the line doesn't get overwritten when running `./nodebb upgrade`
  • Loading branch information
pitaj committed Nov 6, 2017
1 parent 80ecd4b commit 73035f1
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 41 deletions.
2 changes: 1 addition & 1 deletion nodebb
Expand Up @@ -466,7 +466,7 @@ var commands = {
next();
},
function (next) {
process.stdout.write('1. '.bold + 'Bringing base dependencies up to date... '.yellow);
process.stdout.write('1. '.bold + 'Bringing base dependencies up to date... \n'.yellow);
packageInstall.npmInstallProduction();
next();
},
Expand Down
68 changes: 30 additions & 38 deletions src/controllers/index.js
Expand Up @@ -3,7 +3,6 @@
var async = require('async');
var nconf = require('nconf');
var validator = require('validator');
var request = require('request');

var meta = require('../meta');
var user = require('../user');
Expand Down Expand Up @@ -37,49 +36,42 @@ Controllers['404'] = require('./404');
Controllers.errors = require('./errors');

Controllers.home = function (req, res, next) {
var route = meta.config.homePageRoute || (meta.config.homePageCustom || '').replace(/^\/+/, '') || 'categories';
if (req.path !== '/' && req.path !== '/api/') {
return next();
}

async.waterfall([
function (next) {
user.getSettings(req.uid, next);
},
function (settings, next) {
if (parseInt(meta.config.allowUserHomePage, 10) === 1 && settings.homePageRoute !== 'undefined' && settings.homePageRoute !== 'none') {
route = settings.homePageRoute || route;
}
var route = (meta.config.homePageRoute || meta.config.homePageCustom || '').replace(/^\/+/, '') || 'categories';

var hook = 'action:homepage.get:' + route;
function after() {
var hook = 'action:homepage.get:' + route;

if (plugins.hasListeners(hook)) {
return plugins.fireHook(hook, {
req: req,
res: res,
next: next,
});
if (plugins.hasListeners(hook)) {
return plugins.fireHook(hook, {
req: req,
res: res,
next: next,
});
}

req.url = req.path + route;
next();
}

if (parseInt(meta.config.allowUserHomePage, 10) === 1) {
user.getSettings(req.uid, function (err, settings) {
if (err) {
return next(err);
}

if (route === 'categories' || route === '/') {
Controllers.categories.list(req, res, next);
} else if (route === 'unread') {
Controllers.unread.get(req, res, next);
} else if (route === 'recent') {
Controllers.recent.get(req, res, next);
} else if (route === 'popular') {
Controllers.popular.get(req, res, next);
} else {
var match = /^category\/(\d+)\/(.*)$/.exec(route);

if (match) {
req.params.topic_index = '1';
req.params.category_id = match[1];
req.params.slug = match[2];
Controllers.category.get(req, res, next);
} else {
request.get(nconf.get('url') + '/' + route).pipe(res);
}
if (settings.homePageRoute !== 'undefined' && settings.homePageRoute !== 'none') {
route = settings.homePageRoute || route;
}
},
], next);

after();
});
} else {
after();
}
};

Controllers.reset = function (req, res, next) {
Expand Down
5 changes: 3 additions & 2 deletions src/routes/index.js
Expand Up @@ -22,8 +22,6 @@ var helpers = require('./helpers');
var setupPageRoute = helpers.setupPageRoute;

function mainRoutes(app, middleware, controllers) {
setupPageRoute(app, '/', middleware, [], controllers.home);

var loginRegisterMiddleware = [middleware.redirectToAccountIfLoggedIn];

setupPageRoute(app, '/login', middleware, loginRegisterMiddleware, controllers.login);
Expand Down Expand Up @@ -123,6 +121,9 @@ module.exports = function (app, middleware, hotswapIds, callback) {

app.use(middleware.stripLeadingSlashes);

// handle custom homepage routes
app.use(relativePath, controllers.home);

adminRoutes(router, middleware, controllers);
metaRoutes(router, middleware, controllers);
apiRoutes(router, middleware, controllers);
Expand Down

0 comments on commit 73035f1

Please sign in to comment.