mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 19:15:58 +01:00 
			
		
		
		
	only use unique cids in isModerator
This commit is contained in:
		| @@ -179,7 +179,7 @@ var async = require('async'), | ||||
| 		Topics.getTopicsData(tids, function(err, topics) { | ||||
| 			function mapFilter(array, field) { | ||||
| 				return array.map(function(topic) { | ||||
| 					return topic && topic[field]; | ||||
| 					return topic && topic[field].toString(); | ||||
| 				}).filter(function(value, index, array) { | ||||
| 					return utils.isNumber(value) && array.indexOf(value) === index; | ||||
| 				}); | ||||
|   | ||||
							
								
								
									
										22
									
								
								src/user.js
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								src/user.js
									
									
									
									
									
								
							| @@ -394,10 +394,28 @@ var	async = require('async'), | ||||
|  | ||||
| 	User.isModerator = function(uid, cid, callback) { | ||||
| 		if (Array.isArray(cid)) { | ||||
| 			var groupNames = cid.map(function(cid) { | ||||
| 			var uniqueCids = cid.filter(function(cid, index, array) { | ||||
| 				return array.indexOf(cid) === index; | ||||
| 			}); | ||||
|  | ||||
| 			var groupNames = uniqueCids.map(function(cid) { | ||||
| 				return 'cid:' + cid + ':privileges:mods'; | ||||
| 			}); | ||||
| 			groups.isMemberOfGroups(uid, groupNames, callback); | ||||
|  | ||||
| 			groups.isMemberOfGroups(uid, groupNames, function(err, isMembers) { | ||||
| 				if (err) { | ||||
| 					return callback(err); | ||||
| 				} | ||||
|  | ||||
| 				var map = {}; | ||||
| 				uniqueCids.forEach(function(cid, index) { | ||||
| 					map[cid] = isMembers[index]; | ||||
| 				}); | ||||
|  | ||||
| 				callback(null, cid.map(function(cid) { | ||||
| 					return map[cid]; | ||||
| 				})); | ||||
| 			}); | ||||
| 		} else { | ||||
| 			if (Array.isArray(uid)) { | ||||
| 				groups.isMembers(uid, 'cid:' + cid + ':privileges:mods', callback); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user