diff --git a/public/templates/emails/reset.hbs b/public/templates/emails/reset.tpl
similarity index 81%
rename from public/templates/emails/reset.hbs
rename to public/templates/emails/reset.tpl
index 0974092869..1d00a3db06 100644
--- a/public/templates/emails/reset.hbs
+++ b/public/templates/emails/reset.tpl
@@ -11,10 +11,10 @@
- {{reset_link}}
+ {reset_link}
Thanks!
- {{site_title}}
+ {site_title}
\ No newline at end of file
diff --git a/public/templates/emails/reset_plaintext.hbs b/public/templates/emails/reset_plaintext.tpl
similarity index 88%
rename from public/templates/emails/reset_plaintext.hbs
rename to public/templates/emails/reset_plaintext.tpl
index 066b496491..2e6bfd3b3b 100644
--- a/public/templates/emails/reset_plaintext.hbs
+++ b/public/templates/emails/reset_plaintext.tpl
@@ -4,7 +4,7 @@ We received a request to reset your password, possibly because you have forgotte
To continue with the password reset, please click on the following link:
- {RESET_LINK}
+ {reset_link}
Thanks!
-NodeBB
\ No newline at end of file
+{site_title}
\ No newline at end of file
diff --git a/public/templates/emails/welcome.hbs b/public/templates/emails/welcome.tpl
similarity index 61%
rename from public/templates/emails/welcome.hbs
rename to public/templates/emails/welcome.tpl
index efe1f039fe..8a2944286c 100644
--- a/public/templates/emails/welcome.hbs
+++ b/public/templates/emails/welcome.tpl
@@ -1,9 +1,9 @@
- Hello {{username}},
+ Hello {username},
- Thank you for registering with {{site_title}}!
+ Thank you for registering with {site_title}!
@@ -11,10 +11,10 @@
- {{confirm_link}}
+ {confirm_link}
Thanks!
- {{site_title}}
+ {site_title}
\ No newline at end of file
diff --git a/public/templates/emails/welcome_plaintext.hbs b/public/templates/emails/welcome_plaintext.tpl
similarity index 59%
rename from public/templates/emails/welcome_plaintext.hbs
rename to public/templates/emails/welcome_plaintext.tpl
index 68e2176bfd..24906a2900 100644
--- a/public/templates/emails/welcome_plaintext.hbs
+++ b/public/templates/emails/welcome_plaintext.tpl
@@ -1,11 +1,11 @@
-Hello {{username}},
+Hello {username},
-Thank you for registering with {{site_title}}!
+Thank you for registering with {site_title}!
To fully activate your account, we need to verify that you own the email address you registered with. Please click on the following link:
- {{confirm_link}}
+ {confirm_link}
Thanks!
-{{site_title}}
\ No newline at end of file
+{site_title}
\ No newline at end of file
diff --git a/src/emailer.js b/src/emailer.js
index ec8dffc33c..90ee01b481 100644
--- a/src/emailer.js
+++ b/src/emailer.js
@@ -2,57 +2,27 @@ var User = require('./user'),
Plugins = require('./plugins'),
Meta = require('./meta'),
- Handlebars = require('handlebars'),
fs = require('fs'),
async = require('async'),
path = require('path'),
- Emailer = {},
- templates = {};
-
-var prepareTemplate = function(template, callback) {
- if (templates[template] === undefined) {
- var templatePath = path.join(__dirname, '../public/templates/emails/' + template + '.hbs');
-
- fs.exists(templatePath, function(exists) {
- if (exists) {
- fs.readFile(templatePath, function(err, fileStream) {
- if (!err) {
- templates[template] = Handlebars.compile(fileStream.toString());
- } else {
- templates[template] = null;
- }
-
- callback();
- });
- } else {
- templates[template] = null;
- callback();
- }
- });
- } else {
- // Template loaded already
- callback();
- }
-}
+ Emailer = {};
var render = function(template, params, callback) {
- prepareTemplate(template, function() {
- if (templates[template] !== null) {
- callback(null, templates[template](params));
- } else {
- callback(null, null);
- }
- });
+ if (templates[template] !== null) {
+ callback(null, templates[template].parse(params));
+ } else {
+ callback(null, null);
+ }
}
Emailer.send = function(template, uid, params) {
async.parallel({
html: function(next) {
- render(template, params, next);
+ render('emails/' + template, params, next);
},
plaintext: function(next) {
- render(template + '_plaintext', params, next);
+ render('emails/' + template + '_plaintext', params, next);
}
}, function(err, results) {
User.getUserField(uid, 'email', function(err, email) {