mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 11:05:54 +01:00 
			
		
		
		
	return offine status if user isnt online
This commit is contained in:
		
							
								
								
									
										27
									
								
								src/user.js
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								src/user.js
									
									
									
									
									
								
							| @@ -413,28 +413,39 @@ var bcrypt = require('bcryptjs'), | |||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
| 	User.getUsers = function(set, start, stop, callback) { | 	User.getUsers = function(set, start, stop, callback) { | ||||||
| 		var data = []; |  | ||||||
|  |  | ||||||
| 		db.getSortedSetRevRange(set, start, stop, function(err, uids) { | 		db.getSortedSetRevRange(set, start, stop, function(err, uids) { | ||||||
| 			if (err) { | 			if (err) { | ||||||
| 				return callback(err, null); | 				return callback(err, null); | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			function iterator(uid, callback) { | 			function getUserData(uid, callback) { | ||||||
| 				User.getUserData(uid, function(err, userData) { | 				User.getUserData(uid, function(err, userData) { | ||||||
|  | 					if(!userData.status) { | ||||||
|  | 						userData.status = 'offline'; | ||||||
|  | 					} | ||||||
|  |  | ||||||
| 					User.isAdministrator(uid, function(err, isAdmin) { | 					User.isAdministrator(uid, function(err, isAdmin) { | ||||||
| 						if (userData) { | 						if (userData) { | ||||||
| 							userData.administrator = isAdmin?"1":"0"; | 							userData.administrator = isAdmin ? '1':'0'; | ||||||
| 							data.push(userData); |  | ||||||
| 						} | 						} | ||||||
| 						callback(null); |  | ||||||
|  | 						if(set === 'users:online') { | ||||||
|  | 							return callback(null, userData); | ||||||
|  | 						} | ||||||
|  |  | ||||||
|  | 						db.sortedSetScore('users:online', uid, function(err, score) { | ||||||
|  | 							if(!score) { | ||||||
|  | 								userData.status = 'offline'; | ||||||
|  | 							} | ||||||
|  |  | ||||||
|  | 							callback(null, userData); | ||||||
|  | 						}); | ||||||
| 					}); | 					}); | ||||||
| 				}); | 				}); | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			async.eachSeries(uids, iterator, function(err) { | 			async.map(uids, getUserData, callback); | ||||||
| 				callback(err, data); |  | ||||||
| 			}); |  | ||||||
| 		}); | 		}); | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user