mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 11:05:54 +01:00 
			
		
		
		
	all users/ pages converted
This commit is contained in:
		| @@ -3,5 +3,129 @@ var usersController = {}, | ||||
| 	posts = require('./../posts'); | ||||
|  | ||||
|  | ||||
| usersController.getOnlineUsers = function(req, res, next) { | ||||
| 	var	websockets = require('../socket.io'); | ||||
|  | ||||
| 	user.getUsers('users:online', 0, 49, function (err, data) { | ||||
| 		if(err) { | ||||
| 			return next(err); | ||||
| 		} | ||||
| 		var onlineUsers = []; | ||||
|  | ||||
| 		uid = 0; | ||||
| 		if (req.user) { | ||||
| 			uid = req.user.uid; | ||||
| 		} | ||||
|  | ||||
| 		user.isAdministrator(uid, function (err, isAdministrator) { | ||||
| 			if(err) { | ||||
| 				return next(err); | ||||
| 			} | ||||
|  | ||||
| 			if (!isAdministrator) { | ||||
| 				data = data.filter(function(item) { | ||||
| 					return item.status !== 'offline'; | ||||
| 				}); | ||||
| 			} | ||||
|  | ||||
| 			function iterator(userData, next) { | ||||
| 				var online = websockets.isUserOnline(userData.uid); | ||||
| 				if(!online) { | ||||
| 					db.sortedSetRemove('users:online', userData.uid); | ||||
| 					return next(null); | ||||
| 				} | ||||
|  | ||||
| 				onlineUsers.push(userData); | ||||
| 				next(null); | ||||
| 			} | ||||
|  | ||||
| 			var anonymousUserCount = websockets.getOnlineAnonCount(); | ||||
|  | ||||
| 			async.each(data, iterator, function(err) { | ||||
| 				var userData = { | ||||
| 					search_display: 'none', | ||||
| 					loadmore_display: 'block', | ||||
| 					users: onlineUsers, | ||||
| 					anonymousUserCount: anonymousUserCount, | ||||
| 					show_anon: anonymousUserCount?'':'hide' | ||||
| 				}; | ||||
|  | ||||
| 				if (res.locals.isAPI) { | ||||
| 					res.json(userData); | ||||
| 				} else { | ||||
| 					res.render('users', userData); | ||||
| 				}; | ||||
| 			}); | ||||
| 		}); | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| usersController.getUsersSortedByPosts = function(req, res, next) { | ||||
| 	user.getUsers('users:postcount', 0, 49, function (err, data) { | ||||
| 		var userData = { | ||||
| 			search_display: 'none', | ||||
| 			loadmore_display: 'block', | ||||
| 			users: data, | ||||
| 			show_anon: 'hide' | ||||
| 		}; | ||||
|  | ||||
| 		if (res.locals.isAPI) { | ||||
| 			res.json(userData); | ||||
| 		} else { | ||||
| 			res.render('users', userData); | ||||
| 		}; | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| usersController.getUsersSortedByReputation = function(req, res, next) { | ||||
| 	user.getUsers('users:reputation', 0, 49, function (err, data) { | ||||
| 		var userData = { | ||||
| 			search_display: 'none', | ||||
| 			loadmore_display: 'block', | ||||
| 			users: data, | ||||
| 			show_anon: 'hide' | ||||
| 		}; | ||||
|  | ||||
| 		if (res.locals.isAPI) { | ||||
| 			res.json(userData); | ||||
| 		} else { | ||||
| 			res.render('users', userData); | ||||
| 		}; | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| usersController.getUsersSortedByJoinDate = function(req, res, next) { | ||||
| 	user.getUsers('users:joindate', 0, 49, function (err, data) { | ||||
| 		var userData = { | ||||
| 			search_display: 'none', | ||||
| 			loadmore_display: 'block', | ||||
| 			users: data, | ||||
| 			show_anon: 'hide' | ||||
| 		}; | ||||
|  | ||||
| 		if (res.locals.isAPI) { | ||||
| 			res.json(userData); | ||||
| 		} else { | ||||
| 			res.render('users', userData); | ||||
| 		}; | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| usersController.getUsersForSearch = function(req, res, next) { | ||||
| 	var data = { | ||||
| 		search_display: 'block', | ||||
| 		loadmore_display: 'none', | ||||
| 		users: [], | ||||
| 		show_anon: 'hide' | ||||
| 	}; | ||||
|  | ||||
| 	if (res.locals.isAPI) { | ||||
| 		res.json(data); | ||||
| 	} else { | ||||
| 		res.render('users', data); | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
|  | ||||
|  | ||||
| module.exports = usersController; | ||||
		Reference in New Issue
	
	Block a user