From fe7726d2499d78274a5fc1c4296533347693d056 Mon Sep 17 00:00:00 2001 From: Julian Lam <julian@designcreateplay.com> Date: Thu, 20 Nov 2014 10:30:53 -0500 Subject: [PATCH] fixed #2431 --- src/middleware/middleware.js | 43 ++++++++++++++++++------------------ src/routes/index.js | 2 +- src/views/admin/header.tpl | 22 +++++++++--------- 3 files changed, 33 insertions(+), 34 deletions(-) diff --git a/src/middleware/middleware.js b/src/middleware/middleware.js index 7369eb0ddf..a9b55c31e6 100644 --- a/src/middleware/middleware.js +++ b/src/middleware/middleware.js @@ -198,23 +198,26 @@ middleware.checkAccountPermissions = function(req, res, next) { middleware.buildHeader = function(req, res, next) { res.locals.renderHeader = true; - async.parallel({ - config: function(next) { - controllers.api.getConfig(req, res, next); - }, - footer: function(next) { - app.render('footer', {}, next); - } - }, function(err, results) { - if (err) { - return next(err); - } + + middleware.applyCSRF(req, res, function() { + async.parallel({ + config: function(next) { + controllers.api.getConfig(req, res, next); + }, + footer: function(next) { + app.render('footer', {}, next); + } + }, function(err, results) { + if (err) { + return next(err); + } - res.locals.config = results.config; + res.locals.config = results.config; - translator.translate(results.footer, results.config.defaultLang, function(parsedTemplate) { - res.locals.footer = parsedTemplate; - next(); + translator.translate(results.footer, results.config.defaultLang, function(parsedTemplate) { + res.locals.footer = parsedTemplate; + next(); + }); }); }); }; @@ -468,12 +471,10 @@ middleware.maintenanceMode = function(req, res, next) { res.status(503); if (!isApiRoute.test(req.url)) { - middleware.applyCSRF(req, res, function() { - middleware.buildHeader(req, res, function() { - res.render('maintenance', { - site_title: meta.config.title || 'NodeBB', - message: meta.config.maintenanceModeMessage - }); + middleware.buildHeader(req, res, function() { + res.render('maintenance', { + site_title: meta.config.title || 'NodeBB', + message: meta.config.maintenanceModeMessage }); }); } else { diff --git a/src/routes/index.js b/src/routes/index.js index 6ca2a12e44..ba5062e89d 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -98,7 +98,7 @@ function groupRoutes(app, middleware, controllers) { function setupPageRoute(router, name, middleware, middlewares, controller) { middlewares = middlewares.concat([middleware.incrementPageViews, middleware.updateLastOnlineTime]); - router.get(name, middleware.applyCSRF, middleware.buildHeader, middlewares, controller); + router.get(name, middleware.buildHeader, middlewares, controller); router.get('/api' + name, middlewares, controller); } diff --git a/src/views/admin/header.tpl b/src/views/admin/header.tpl index 84b69f812e..c68e0fbfaa 100644 --- a/src/views/admin/header.tpl +++ b/src/views/admin/header.tpl @@ -22,19 +22,7 @@ <script type="text/javascript" src="{relative_path}/vendor/chart.js/chart.min.js?{cache-buster}"></script> <script type="text/javascript" src="{relative_path}/vendor/hammer/hammer.min.js?{cache-buster}"></script> - <script type="text/javascript" src="{relative_path}/socket.io/socket.io.js?{cache-buster}"></script> <script type="text/javascript" src="{relative_path}/nodebb.min.js?{cache-buster}"></script> - <script type="text/javascript" src="{relative_path}/vendor/colorpicker/colorpicker.js?{cache-buster}"></script> - <script type="text/javascript" src="{relative_path}/src/admin/admin.js?{cache-buster}"></script> - <script type="text/javascript" src="{relative_path}/vendor/ace/ace.js?{cache-buster}"></script> - <script type="text/javascript" src="{relative_path}/vendor/nanoscroller/nanoscroller.min.js?{cache-buster}"></script> - <script type="text/javascript" src="{relative_path}/vendor/jquery/event/jquery.event.drag.js?{cache-buster}"></script> - <script type="text/javascript" src="{relative_path}/vendor/jquery/event/jquery.event.drop.js?{cache-buster}"></script> - <script type="text/javascript" src="{relative_path}/vendor/semver/semver.browser.js?{cache-buster}"></script> - <script type="text/javascript" src="{relative_path}/vendor/jquery/serializeObject/jquery.ba-serializeobject.min.js?{cache-buster}"></script> - <script type="text/javascript" src="{relative_path}/vendor/jquery/deserialize/jquery.deserialize.min.js?{cache-buster}"></script> - <script type="text/javascript" src="{relative_path}/vendor/mousetrap/mousetrap.js?{cache-buster}"></script> - <script> require.config({ baseUrl: "{relative_path}/src/modules", @@ -49,6 +37,16 @@ app.inAdmin = true; </script> + <script type="text/javascript" src="{relative_path}/vendor/colorpicker/colorpicker.js?{cache-buster}"></script> + <script type="text/javascript" src="{relative_path}/src/admin/admin.js?{cache-buster}"></script> + <script type="text/javascript" src="{relative_path}/vendor/ace/ace.js?{cache-buster}"></script> + <script type="text/javascript" src="{relative_path}/vendor/nanoscroller/nanoscroller.min.js?{cache-buster}"></script> + <script type="text/javascript" src="{relative_path}/vendor/jquery/event/jquery.event.drag.js?{cache-buster}"></script> + <script type="text/javascript" src="{relative_path}/vendor/jquery/event/jquery.event.drop.js?{cache-buster}"></script> + <script type="text/javascript" src="{relative_path}/vendor/semver/semver.browser.js?{cache-buster}"></script> + <script type="text/javascript" src="{relative_path}/vendor/jquery/serializeObject/jquery.ba-serializeobject.min.js?{cache-buster}"></script> + <script type="text/javascript" src="{relative_path}/vendor/jquery/deserialize/jquery.deserialize.min.js?{cache-buster}"></script> + <script type="text/javascript" src="{relative_path}/vendor/mousetrap/mousetrap.js?{cache-buster}"></script> <!-- BEGIN scripts --> <script type="text/javascript" src="{scripts.src}"></script>