mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-11 08:25:46 +01:00
closes #1723
This commit is contained in:
4
public/language/en_GB/email.json
Normal file
4
public/language/en_GB/email.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"password-reset-requested": "Password Reset Requested - %1!",
|
||||||
|
"welcome-to": "Welcome to %1"
|
||||||
|
}
|
||||||
@@ -164,6 +164,10 @@ var socket,
|
|||||||
}
|
}
|
||||||
|
|
||||||
app.cacheBuster = config['cache-buster'];
|
app.cacheBuster = config['cache-buster'];
|
||||||
|
|
||||||
|
bootbox.setDefaults({
|
||||||
|
locale: config.defaultLang
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -570,4 +574,5 @@ var socket,
|
|||||||
|
|
||||||
app.loadConfig();
|
app.loadConfig();
|
||||||
app.alternatingTitle('');
|
app.alternatingTitle('');
|
||||||
|
|
||||||
}());
|
}());
|
||||||
|
|||||||
@@ -4,8 +4,7 @@ define('forum/reset', function() {
|
|||||||
ResetPassword.init = function() {
|
ResetPassword.init = function() {
|
||||||
var inputEl = $('#email'),
|
var inputEl = $('#email'),
|
||||||
errorEl = $('#error'),
|
errorEl = $('#error'),
|
||||||
successEl = $('#success'),
|
successEl = $('#success');
|
||||||
errorTextEl = errorEl.find('p');
|
|
||||||
|
|
||||||
$('#reset').on('click', function() {
|
$('#reset').on('click', function() {
|
||||||
if (inputEl.val() && inputEl.val().indexOf('@') !== -1) {
|
if (inputEl.val() && inputEl.val().indexOf('@') !== -1) {
|
||||||
@@ -16,13 +15,11 @@ define('forum/reset', function() {
|
|||||||
|
|
||||||
errorEl.addClass('hide').hide();
|
errorEl.addClass('hide').hide();
|
||||||
successEl.removeClass('hide').show();
|
successEl.removeClass('hide').show();
|
||||||
successEl.find('p').html('An email has been dispatched to "' + inputEl.val() + '" with instructions on setting a new password.');
|
|
||||||
inputEl.val('');
|
inputEl.val('');
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
successEl.addClass('hide').hide();
|
successEl.addClass('hide').hide();
|
||||||
errorEl.removeClass('hide').show();
|
errorEl.removeClass('hide').show();
|
||||||
errorTextEl.html('Please enter a valid email');
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -225,8 +225,6 @@ define('composer', dependencies, function(taskbar, controls, uploads, formatting
|
|||||||
uploads.toggleThumbEls(postContainer, composer.posts[post_uuid].topic_thumb || '');
|
uploads.toggleThumbEls(postContainer, composer.posts[post_uuid].topic_thumb || '');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
postContainer.on('change', 'input, textarea', function() {
|
postContainer.on('change', 'input, textarea', function() {
|
||||||
composer.posts[post_uuid].modified = true;
|
composer.posts[post_uuid].modified = true;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -5,12 +5,13 @@ var async = require('async'),
|
|||||||
nconf = require('nconf'),
|
nconf = require('nconf'),
|
||||||
winston = require('winston'),
|
winston = require('winston'),
|
||||||
|
|
||||||
user = require('./../user'),
|
user = require('../user'),
|
||||||
utils = require('./../../public/src/utils'),
|
utils = require('../../public/src/utils'),
|
||||||
plugins = require('./../plugins'),
|
translator = require('../../public/src/translator'),
|
||||||
db = require('./../database'),
|
plugins = require('../plugins'),
|
||||||
meta = require('./../meta'),
|
db = require('../database'),
|
||||||
emailer = require('./../emailer');
|
meta = require('../meta'),
|
||||||
|
emailer = require('../emailer');
|
||||||
|
|
||||||
(function(UserEmail) {
|
(function(UserEmail) {
|
||||||
|
|
||||||
@@ -42,18 +43,20 @@ var async = require('async'),
|
|||||||
db.expireAt('confirm:' + confirm_code, Math.floor(Date.now() / 1000 + 60 * 60 * 2), next);
|
db.expireAt('confirm:' + confirm_code, Math.floor(Date.now() / 1000 + 60 * 60 * 2), next);
|
||||||
}
|
}
|
||||||
], function(err) {
|
], function(err) {
|
||||||
|
|
||||||
user.getUserField(uid, 'username', function(err, username) {
|
user.getUserField(uid, 'username', function(err, username) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return winston.error(err.message);
|
return winston.error(err.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
translator.translate('[[email:welcome-to, ' + (meta.config.title || 'NodeBB') + ']]', meta.config.defaultLang, function(subject) {
|
||||||
var data = {
|
var data = {
|
||||||
site_title: (meta.config.title || 'NodeBB'),
|
site_title: (meta.config.title || 'NodeBB'),
|
||||||
username: username,
|
username: username,
|
||||||
confirm_link: confirm_link,
|
confirm_link: confirm_link,
|
||||||
confirm_code: confirm_code,
|
confirm_code: confirm_code,
|
||||||
|
|
||||||
subject: 'Welcome to ' + (meta.config.title || 'NodeBB') + '!',
|
subject: subject,
|
||||||
template: 'welcome',
|
template: 'welcome',
|
||||||
uid: uid
|
uid: uid
|
||||||
};
|
};
|
||||||
@@ -66,6 +69,7 @@ var async = require('async'),
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
UserEmail.confirm = function(code, callback) {
|
UserEmail.confirm = function(code, callback) {
|
||||||
|
|||||||
@@ -4,13 +4,15 @@
|
|||||||
var async = require('async'),
|
var async = require('async'),
|
||||||
nconf = require('nconf'),
|
nconf = require('nconf'),
|
||||||
|
|
||||||
user = require('./../user'),
|
user = require('../user'),
|
||||||
utils = require('./../../public/src/utils'),
|
utils = require('../../public/src/utils'),
|
||||||
|
translator = require('../../public/src/translator'),
|
||||||
|
|
||||||
db = require('./../database'),
|
db = require('../database'),
|
||||||
meta = require('./../meta'),
|
meta = require('../meta'),
|
||||||
events = require('./../events'),
|
events = require('../events'),
|
||||||
emailer = require('./../emailer');
|
emailer = require('../emailer'),
|
||||||
|
tran;
|
||||||
|
|
||||||
(function(UserReset) {
|
(function(UserReset) {
|
||||||
|
|
||||||
@@ -43,24 +45,23 @@ var async = require('async'),
|
|||||||
return callback(err || new Error('[[error:invalid-email]]'));
|
return callback(err || new Error('[[error:invalid-email]]'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate a new reset code
|
|
||||||
var reset_code = utils.generateUUID();
|
var reset_code = utils.generateUUID();
|
||||||
db.setObjectField('reset:uid', reset_code, uid);
|
db.setObjectField('reset:uid', reset_code, uid);
|
||||||
db.setObjectField('reset:expiry', reset_code, (60 * 60) + Math.floor(Date.now() / 1000));
|
db.setObjectField('reset:expiry', reset_code, (60 * 60) + Math.floor(Date.now() / 1000));
|
||||||
|
|
||||||
var reset_link = nconf.get('url') + '/reset/' + reset_code;
|
var reset_link = nconf.get('url') + '/reset/' + reset_code;
|
||||||
|
|
||||||
|
translator.translate('[[email:password-reset-requested, ' + (meta.config.title || 'NodeBB') + ']]', meta.config.defaultLang, function(subject) {
|
||||||
emailer.send('reset', uid, {
|
emailer.send('reset', uid, {
|
||||||
site_title: (meta.config.title || 'NodeBB'),
|
site_title: (meta.config.title || 'NodeBB'),
|
||||||
reset_link: reset_link,
|
reset_link: reset_link,
|
||||||
|
subject: subject,
|
||||||
subject: 'Password Reset Requested - ' + (meta.config.title || 'NodeBB') + '!',
|
|
||||||
template: 'reset',
|
template: 'reset',
|
||||||
uid: uid
|
uid: uid
|
||||||
});
|
});
|
||||||
|
|
||||||
callback();
|
callback();
|
||||||
});
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
UserReset.commit = function(socket, code, password, callback) {
|
UserReset.commit = function(socket, code, password, callback) {
|
||||||
|
|||||||
Reference in New Issue
Block a user