|
|
|
@ -15,6 +15,14 @@ module.exports = function (User) {
|
|
|
|
|
var fields = ['username', 'email', 'fullname', 'website', 'location',
|
|
|
|
|
'groupTitle', 'birthday', 'signature', 'aboutme'];
|
|
|
|
|
|
|
|
|
|
if (data.aboutme !== undefined && data.aboutme.length > meta.config.maximumAboutMeLength) {
|
|
|
|
|
return callback(new Error('[[error:about-me-too-long, ' + meta.config.maximumAboutMeLength + ']]'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (data.signature !== undefined && data.signature.length > meta.config.maximumSignatureLength) {
|
|
|
|
|
return callback(new Error('[[error:signature-too-long, ' + meta.config.maximumSignatureLength + ']]'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async.waterfall([
|
|
|
|
|
function (next) {
|
|
|
|
|
plugins.fireHook('filter:user.updateProfile', { uid: uid, data: data, fields: fields }, next);
|
|
|
|
@ -24,8 +32,6 @@ module.exports = function (User) {
|
|
|
|
|
data = data.data;
|
|
|
|
|
|
|
|
|
|
async.series([
|
|
|
|
|
async.apply(isAboutMeValid, data),
|
|
|
|
|
async.apply(isSignatureValid, data),
|
|
|
|
|
async.apply(isEmailAvailable, data, uid),
|
|
|
|
|
async.apply(isUsernameAvailable, data, uid),
|
|
|
|
|
async.apply(isGroupTitleValid, data),
|
|
|
|
@ -61,22 +67,6 @@ module.exports = function (User) {
|
|
|
|
|
], callback);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function isAboutMeValid(data, callback) {
|
|
|
|
|
if (data.aboutme !== undefined && data.aboutme.length > meta.config.maximumAboutMeLength) {
|
|
|
|
|
callback(new Error('[[error:about-me-too-long, ' + meta.config.maximumAboutMeLength + ']]'));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function isSignatureValid(data, callback) {
|
|
|
|
|
if (data.signature !== undefined && data.signature.length > meta.config.maximumSignatureLength) {
|
|
|
|
|
callback(new Error('[[error:signature-too-long, ' + meta.config.maximumSignatureLength + ']]'));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function isEmailAvailable(data, uid, callback) {
|
|
|
|
|
if (!data.email) {
|
|
|
|
|
return callback();
|
|
|
|
|