mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-11-03 20:45:58 +01:00 
			
		
		
		
	forgot to port getUserDataByUserSlug
This commit is contained in:
		@@ -27,6 +27,85 @@ function userNotAllowed(res) {
 | 
			
		||||
	} 
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getUserDataByUserSlug(userslug, callerUID, callback) {
 | 
			
		||||
	user.getUidByUserslug(userslug, function(err, uid) {
 | 
			
		||||
		if(err || !uid) {
 | 
			
		||||
			return callback(err || new Error('invalid-user'));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		async.parallel({
 | 
			
		||||
			userData : function(next) {
 | 
			
		||||
				user.getUserData(uid, next);
 | 
			
		||||
			},
 | 
			
		||||
			userSettings : function(next) {
 | 
			
		||||
				user.getSettings(uid, next);
 | 
			
		||||
			},
 | 
			
		||||
			isAdmin : function(next) {
 | 
			
		||||
				user.isAdministrator(callerUID, next);
 | 
			
		||||
			},
 | 
			
		||||
			followStats: function(next) {
 | 
			
		||||
				user.getFollowStats(uid, next);
 | 
			
		||||
			},
 | 
			
		||||
			ips: function(next) {
 | 
			
		||||
				user.getIPs(uid, 4, next);
 | 
			
		||||
			}
 | 
			
		||||
		}, function(err, results) {
 | 
			
		||||
			if(err || !results.userData) {
 | 
			
		||||
				return callback(err || new Error('invalid-user'));
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			var userData = results.userData;
 | 
			
		||||
			var userSettings = results.userSettings;
 | 
			
		||||
			var isAdmin = results.isAdmin;
 | 
			
		||||
			var self = parseInt(callerUID, 10) === parseInt(userData.uid, 10);
 | 
			
		||||
 | 
			
		||||
			userData.joindate = utils.toISOString(userData.joindate);
 | 
			
		||||
			if(userData.lastonline) {
 | 
			
		||||
				userData.lastonline = utils.toISOString(userData.lastonline);
 | 
			
		||||
			} else {
 | 
			
		||||
				userData.lastonline = userData.joindate;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (!userData.birthday) {
 | 
			
		||||
				userData.age = '';
 | 
			
		||||
			} else {
 | 
			
		||||
				userData.age = Math.floor((new Date().getTime() - new Date(userData.birthday).getTime()) / 31536000000);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			function canSeeEmail() {
 | 
			
		||||
				return ;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (!(isAdmin || self || (userData.email && userSettings.showemail))) {
 | 
			
		||||
				userData.email = "";
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (self && !userSettings.showemail) {
 | 
			
		||||
				userData.emailClass = "";
 | 
			
		||||
			} else {
 | 
			
		||||
				userData.emailClass = "hide";
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (isAdmin || self) {
 | 
			
		||||
				userData.ips = results.ips;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			userData.websiteName = userData.website.replace('http://', '').replace('https://', '');
 | 
			
		||||
			userData.banned = parseInt(userData.banned, 10) === 1;
 | 
			
		||||
			userData.uid = userData.uid;
 | 
			
		||||
			userData.yourid = callerUID;
 | 
			
		||||
			userData.theirid = userData.uid;
 | 
			
		||||
 | 
			
		||||
			userData.disableSignatures = meta.config.disableSignatures !== undefined && parseInt(meta.config.disableSignatures, 10) === 1;
 | 
			
		||||
 | 
			
		||||
			userData.followingCount = results.followStats.followingCount;
 | 
			
		||||
			userData.followerCount = results.followStats.followerCount;
 | 
			
		||||
 | 
			
		||||
			callback(null, userData);
 | 
			
		||||
		});
 | 
			
		||||
	});
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
accountsController.getAccount = function(req, res, next) {
 | 
			
		||||
	var callerUID = req.user ? parseInt(req.user.uid, 10) : 0;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -286,85 +286,7 @@ var fs = require('fs'),
 | 
			
		||||
			
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		function getUserDataByUserSlug(userslug, callerUID, callback) {
 | 
			
		||||
		
 | 
			
		||||
			user.getUidByUserslug(userslug, function(err, uid) {
 | 
			
		||||
				if(err || !uid) {
 | 
			
		||||
					return callback(err || new Error('invalid-user'));
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				async.parallel({
 | 
			
		||||
					userData : function(next) {
 | 
			
		||||
						user.getUserData(uid, next);
 | 
			
		||||
					},
 | 
			
		||||
					userSettings : function(next) {
 | 
			
		||||
						user.getSettings(uid, next);
 | 
			
		||||
					},
 | 
			
		||||
					isAdmin : function(next) {
 | 
			
		||||
						user.isAdministrator(callerUID, next);
 | 
			
		||||
					},
 | 
			
		||||
					followStats: function(next) {
 | 
			
		||||
						user.getFollowStats(uid, next);
 | 
			
		||||
					},
 | 
			
		||||
					ips: function(next) {
 | 
			
		||||
						user.getIPs(uid, 4, next);
 | 
			
		||||
					}
 | 
			
		||||
				}, function(err, results) {
 | 
			
		||||
					if(err || !results.userData) {
 | 
			
		||||
						return callback(err || new Error('invalid-user'));
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					var userData = results.userData;
 | 
			
		||||
					var userSettings = results.userSettings;
 | 
			
		||||
					var isAdmin = results.isAdmin;
 | 
			
		||||
					var self = parseInt(callerUID, 10) === parseInt(userData.uid, 10);
 | 
			
		||||
 | 
			
		||||
					userData.joindate = utils.toISOString(userData.joindate);
 | 
			
		||||
					if(userData.lastonline) {
 | 
			
		||||
						userData.lastonline = utils.toISOString(userData.lastonline);
 | 
			
		||||
					} else {
 | 
			
		||||
						userData.lastonline = userData.joindate;
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					if (!userData.birthday) {
 | 
			
		||||
						userData.age = '';
 | 
			
		||||
					} else {
 | 
			
		||||
						userData.age = Math.floor((new Date().getTime() - new Date(userData.birthday).getTime()) / 31536000000);
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					function canSeeEmail() {
 | 
			
		||||
						return ;
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					if (!(isAdmin || self || (userData.email && userSettings.showemail))) {
 | 
			
		||||
						userData.email = "";
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					if (self && !userSettings.showemail) {
 | 
			
		||||
						userData.emailClass = "";
 | 
			
		||||
					} else {
 | 
			
		||||
						userData.emailClass = "hide";
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					if (isAdmin || self) {
 | 
			
		||||
						userData.ips = results.ips;
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					userData.websiteName = userData.website.replace('http://', '').replace('https://', '');
 | 
			
		||||
					userData.banned = parseInt(userData.banned, 10) === 1;
 | 
			
		||||
					userData.uid = userData.uid;
 | 
			
		||||
					userData.yourid = callerUID;
 | 
			
		||||
					userData.theirid = userData.uid;
 | 
			
		||||
 | 
			
		||||
					userData.disableSignatures = meta.config.disableSignatures !== undefined && parseInt(meta.config.disableSignatures, 10) === 1;
 | 
			
		||||
 | 
			
		||||
					userData.followingCount = results.followStats.followingCount;
 | 
			
		||||
					userData.followerCount = results.followStats.followerCount;
 | 
			
		||||
 | 
			
		||||
					callback(null, userData);
 | 
			
		||||
				});
 | 
			
		||||
			});
 | 
			
		||||
		}
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
}(exports));
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user