mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-31 19:15:58 +01:00
closes #3508
This commit is contained in:
@@ -22,14 +22,10 @@ var fs = require('fs'),
|
||||
|
||||
function getUserDataByUserSlug(userslug, callerUID, callback) {
|
||||
user.getUidByUserslug(userslug, function(err, uid) {
|
||||
if (err) {
|
||||
if (err || !uid) {
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
if (!uid) {
|
||||
return callback(null, null);
|
||||
}
|
||||
|
||||
async.parallel({
|
||||
userData : function(next) {
|
||||
user.getUserData(uid, next);
|
||||
@@ -50,7 +46,7 @@ function getUserDataByUserSlug(userslug, callerUID, callback) {
|
||||
groups.getUserGroups([uid], next);
|
||||
}
|
||||
}, function(err, results) {
|
||||
if(err || !results.userData) {
|
||||
if (err || !results.userData) {
|
||||
return callback(err || new Error('[[error:invalid-uid]]'));
|
||||
}
|
||||
|
||||
@@ -111,17 +107,13 @@ accountsController.getUserByUID = function(req, res, next) {
|
||||
var uid = req.params.uid ? req.params.uid : 0;
|
||||
|
||||
async.parallel({
|
||||
settings: async.apply(user.getSettings, uid),
|
||||
userData: async.apply(user.getUserData, uid)
|
||||
userData: async.apply(user.getUserData, uid),
|
||||
settings: async.apply(user.getSettings, uid)
|
||||
}, function(err, results) {
|
||||
if (err) {
|
||||
if (err || !results.userData) {
|
||||
return next(err);
|
||||
}
|
||||
|
||||
if (!results.userData) {
|
||||
return helpers.notFound(req, res);
|
||||
}
|
||||
|
||||
results.userData.email = results.settings.showemail ? results.userData.email : undefined;
|
||||
results.userData.fullname = results.settings.showfullname ? results.userData.fullname : undefined;
|
||||
|
||||
@@ -141,14 +133,10 @@ accountsController.getAccount = function(req, res, next) {
|
||||
}
|
||||
|
||||
getUserDataByUserSlug(req.params.userslug, req.uid, function (err, userData) {
|
||||
if (err) {
|
||||
if (err || !userData) {
|
||||
return next(err);
|
||||
}
|
||||
|
||||
if (!userData) {
|
||||
return helpers.notFound(req, res);
|
||||
}
|
||||
|
||||
if (req.uid !== parseInt(userData.uid, 10)) {
|
||||
user.incrementUserFieldBy(userData.uid, 'profileviews', 1);
|
||||
}
|
||||
@@ -208,7 +196,7 @@ accountsController.getFollowers = function(req, res, next) {
|
||||
getFollow('account/followers', 'followers', req, res, next);
|
||||
};
|
||||
|
||||
function getFollow(tpl, name, req, res, next) {
|
||||
function getFollow(tpl, name, req, res, callback) {
|
||||
var userData;
|
||||
|
||||
async.waterfall([
|
||||
@@ -218,14 +206,14 @@ function getFollow(tpl, name, req, res, next) {
|
||||
function(data, next) {
|
||||
userData = data;
|
||||
if (!userData) {
|
||||
return helpers.notFound(req, res);
|
||||
return callback();
|
||||
}
|
||||
var method = name === 'following' ? 'getFollowing' : 'getFollowers';
|
||||
user[method](userData.uid, 0, 49, next);
|
||||
}
|
||||
], function(err, users) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
userData.users = users;
|
||||
@@ -254,14 +242,10 @@ accountsController.getTopics = function(req, res, next) {
|
||||
|
||||
accountsController.getGroups = function(req, res, next) {
|
||||
accountsController.getBaseUser(req.params.userslug, req.uid, function(err, userData) {
|
||||
if (err) {
|
||||
if (err || !userData) {
|
||||
return next(err);
|
||||
}
|
||||
|
||||
if (!userData) {
|
||||
return helpers.notFound(req, res);
|
||||
}
|
||||
|
||||
groups.getUserGroups([userData.uid], function(err, groupsData) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
@@ -284,13 +268,11 @@ function getFromUserSet(tpl, set, method, type, req, res, next) {
|
||||
accountsController.getBaseUser(req.params.userslug, req.uid, next);
|
||||
}
|
||||
}, function(err, results) {
|
||||
if (err) {
|
||||
if (err || !results.userData) {
|
||||
return next(err);
|
||||
}
|
||||
|
||||
var userData = results.userData;
|
||||
if (!userData) {
|
||||
return helpers.notFound(req, res);
|
||||
}
|
||||
|
||||
var setName = 'uid:' + userData.uid + ':' + set;
|
||||
|
||||
@@ -385,7 +367,7 @@ accountsController.accountEdit = function(req, res, next) {
|
||||
});
|
||||
};
|
||||
|
||||
accountsController.accountSettings = function(req, res, next) {
|
||||
accountsController.accountSettings = function(req, res, callback) {
|
||||
var userData;
|
||||
async.waterfall([
|
||||
function(next) {
|
||||
@@ -394,7 +376,7 @@ accountsController.accountSettings = function(req, res, next) {
|
||||
function(_userData, next) {
|
||||
userData = _userData;
|
||||
if (!userData) {
|
||||
return helpers.notFound(req, res);
|
||||
return callback();
|
||||
}
|
||||
async.parallel({
|
||||
settings: function(next) {
|
||||
@@ -421,7 +403,7 @@ accountsController.accountSettings = function(req, res, next) {
|
||||
}
|
||||
], function(err) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
userData.dailyDigestFreqOptions = [
|
||||
@@ -433,74 +415,23 @@ accountsController.accountSettings = function(req, res, next) {
|
||||
|
||||
|
||||
userData.bootswatchSkinOptions = [
|
||||
{
|
||||
"name": "Default",
|
||||
"value": "default"
|
||||
},
|
||||
{
|
||||
"name": "Cerulean",
|
||||
"value": "cerulean"
|
||||
},
|
||||
{
|
||||
"name": "Cosmo",
|
||||
"value": "cosmo"
|
||||
},
|
||||
{
|
||||
"name": "Cyborg",
|
||||
"value": "cyborg"
|
||||
},
|
||||
{
|
||||
"name": "Darkly",
|
||||
"value": "darkly"
|
||||
},
|
||||
{
|
||||
"name": "Flatly",
|
||||
"value": "flatly"
|
||||
},
|
||||
{
|
||||
"name": "Journal",
|
||||
"value": "journal"
|
||||
},
|
||||
{
|
||||
"name": "Lumen",
|
||||
"value": "lumen"
|
||||
},
|
||||
{
|
||||
"name": "Paper",
|
||||
"value": "paper"
|
||||
},
|
||||
{
|
||||
"name": "Readable",
|
||||
"value": "readable"
|
||||
},
|
||||
{
|
||||
"name": "Sandstone",
|
||||
"value": "sandstone"
|
||||
},
|
||||
{
|
||||
"name": "Simplex",
|
||||
"value": "simplex"
|
||||
},
|
||||
{
|
||||
"name": "Slate",
|
||||
"value": "slate"
|
||||
},
|
||||
{
|
||||
"name": "Spacelab",
|
||||
"value": "spacelab"
|
||||
},
|
||||
{
|
||||
"name": "Superhero",
|
||||
"value": "superhero"
|
||||
},
|
||||
{
|
||||
"name": "United",
|
||||
"value": "united"
|
||||
},
|
||||
{
|
||||
"name": "Yeti",
|
||||
"value": "yeti"
|
||||
}
|
||||
{ "name": "Default", "value": "default" },
|
||||
{ "name": "Cerulean", "value": "cerulean" },
|
||||
{ "name": "Cosmo", "value": "cosmo" },
|
||||
{ "name": "Cyborg", "value": "cyborg" },
|
||||
{ "name": "Darkly", "value": "darkly" },
|
||||
{ "name": "Flatly", "value": "flatly" },
|
||||
{ "name": "Journal", "value": "journal" },
|
||||
{ "name": "Lumen", "value": "lumen" },
|
||||
{ "name": "Paper", "value": "paper" },
|
||||
{ "name": "Readable", "value": "readable" },
|
||||
{ "name": "Sandstone", "value": "sandstone" },
|
||||
{ "name": "Simplex", "value": "simplex" },
|
||||
{ "name": "Slate", "value": "slate" },
|
||||
{ "name": "Spacelab", "value": "spacelab" },
|
||||
{ "name": "Superhero", "value": "superhero" },
|
||||
{ "name": "United", "value": "united" },
|
||||
{ "name": "Yeti", "value": "yeti" }
|
||||
];
|
||||
|
||||
userData.bootswatchSkinOptions.forEach(function(skin) {
|
||||
@@ -574,9 +505,9 @@ accountsController.getNotifications = function(req, res, next) {
|
||||
});
|
||||
};
|
||||
|
||||
accountsController.getChats = function(req, res, next) {
|
||||
if (parseInt(meta.config.disableChat) === 1) {
|
||||
return helpers.notFound(req, res);
|
||||
accountsController.getChats = function(req, res, callback) {
|
||||
if (parseInt(meta.config.disableChat, 10) === 1) {
|
||||
return callback();
|
||||
}
|
||||
|
||||
// In case a userNAME is passed in instead of a slug, the route should not 404
|
||||
@@ -590,7 +521,7 @@ accountsController.getChats = function(req, res, next) {
|
||||
recentChats: async.apply(messaging.getRecentChats, req.user.uid, 0, 19)
|
||||
}, function(err, results) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
//Remove entries if they were already present as a followed contact
|
||||
@@ -618,7 +549,7 @@ accountsController.getChats = function(req, res, next) {
|
||||
async.apply(user.getUidByUserslug, req.params.userslug),
|
||||
function(toUid, next) {
|
||||
if (!toUid || parseInt(toUid, 10) === parseInt(req.user.uid, 10)) {
|
||||
return helpers.notFound(req, res);
|
||||
return callback();
|
||||
}
|
||||
|
||||
async.parallel({
|
||||
@@ -634,7 +565,7 @@ accountsController.getChats = function(req, res, next) {
|
||||
}
|
||||
], function(err, data) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
res.render('chats', {
|
||||
|
||||
Reference in New Issue
Block a user