From 2e786cc4d126e9c290d5cbf358a183a58d0b9654 Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli Date: Sat, 25 Jan 2014 16:39:27 -0500 Subject: [PATCH] closes #873, removed global translator, templates and server objects --- app.js | 4 +--- public/src/templates.js | 4 ++-- src/emailer.js | 14 ++++++++------ src/routes/admin.js | 5 +++-- src/socket.io/index.js | 4 ++-- src/webserver.js | 17 +++++------------ 6 files changed, 21 insertions(+), 27 deletions(-) diff --git a/app.js b/app.js index 8dec4daa79..c4084fa676 100644 --- a/app.js +++ b/app.js @@ -106,11 +106,9 @@ upgrade.check(function(schema_ok) { if (schema_ok || nconf.get('check-schema') === false) { - sockets.init(); + sockets.init(webserver.server); plugins.init(); - global.templates = {}; - global.translator = translator; translator.loadServer(); diff --git a/public/src/templates.js b/public/src/templates.js index 06295dc79e..3e32653c1c 100644 --- a/public/src/templates.js +++ b/public/src/templates.js @@ -79,7 +79,7 @@ template.prototype.parse = parse; template.prototype.html = String(html); - global.templates[file] = new template; + templates[file] = new template; loaded--; if (loaded === 0) { @@ -396,7 +396,7 @@ namespace = ''; } else { // clean up all undefined conditionals - template = template.replace(//gi, ''); + template = template.replace(//gi, ''); } return template; diff --git a/src/emailer.js b/src/emailer.js index 529fdaf38f..18c48256cc 100644 --- a/src/emailer.js +++ b/src/emailer.js @@ -1,16 +1,18 @@ -var User = require('./user'), +var fs = require('fs'), + async = require('async'), + path = require('path'), + + User = require('./user'), Plugins = require('./plugins'), Meta = require('./meta'), Translator = require('../public/src/translator'), - - fs = require('fs'), - async = require('async'), - path = require('path'), + templates = require('../public/src/templates'), Emailer = {}; var render = function(template, params, callback) { - if (templates[template] !== null) { + + if (templates[template]) { Translator.translate(templates[template].parse(params), function(template) { callback(null, template); }); diff --git a/src/routes/admin.js b/src/routes/admin.js index d7c1c7863f..0cdac99a9a 100644 --- a/src/routes/admin.js +++ b/src/routes/admin.js @@ -7,13 +7,14 @@ var nconf = require('nconf'), user = require('./../user'), groups = require('../groups'), topics = require('./../topics'), - pkg = require('./../../package.json'), + pkg = require('./../../package'), categories = require('./../categories'), meta = require('../meta'), plugins = require('../plugins'), Languages = require('../languages'), events = require('./../events'), - utils = require('./../../public/src/utils.js'); + utils = require('./../../public/src/utils'), + templates = require('./../../public/src/templates'); (function (Admin) { Admin.isAdmin = function (req, res, next) { diff --git a/src/socket.io/index.js b/src/socket.io/index.js index 993b9bb8ed..90ff00d7f3 100644 --- a/src/socket.io/index.js +++ b/src/socket.io/index.js @@ -30,9 +30,9 @@ Sockets.userSockets = {}; Sockets.rooms = {}; -Sockets.init = function() { +Sockets.init = function(server) { - io = socketioWildcard(SocketIO).listen(global.server, { + io = socketioWildcard(SocketIO).listen(server, { log: false, transports: ['websocket', 'xhr-polling', 'jsonp-polling', 'flashsocket'], 'browser client minification': true diff --git a/src/webserver.js b/src/webserver.js index 03bcf4abf3..ee5b1a0dc6 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -28,7 +28,9 @@ var path = require('path'), meta = require('./meta'), feed = require('./feed'), plugins = require('./plugins'), - logger = require('./logger'); + logger = require('./logger'), + templates = require('./../public/src/templates'), + translator = require('./../public/src/translator'); if(nconf.get('ssl')) { server = require('https').createServer({ @@ -39,13 +41,12 @@ if(nconf.get('ssl')) { server = require('http').createServer(WebServer); } +module.exports.server = server; (function (app) { "use strict"; - var templates = null, - clientScripts; - + var clientScripts; plugins.ready(function() { // Minify client-side libraries @@ -60,9 +61,6 @@ if(nconf.get('ssl')) { }); }); - - server.app = app; - /** * `options` object requires: req, res * accepts: metaTags, linkTags @@ -375,8 +373,6 @@ if(nconf.get('ssl')) { }); module.exports.init = function () { - templates = global.templates; - // translate all static templates served by webserver here. ex. footer, logout plugins.fireHook('filter:footer.build', '', function(err, appendHTML) { var footer = templates.footer.parse({ @@ -931,6 +927,3 @@ if(nconf.get('ssl')) { }); }(WebServer)); - - -global.server = server;