mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 11:05:54 +01:00 
			
		
		
		
	add "Admin Approval for IPs", which works like Normal for new users and Admin Approval for sockpuppet accounts (#4882)
This commit is contained in:
		| @@ -63,6 +63,16 @@ authenticationController.register = function(req, res, next) { | ||||
| 				registerAndLoginUser(req, res, userData, next); | ||||
| 			} else if (registrationType === 'admin-approval') { | ||||
| 				addToApprovalQueue(req, userData, next); | ||||
| 			} else if (registrationType === 'admin-approval-ip') { | ||||
| 				db.sortedSetCard('ip:' + req.ip + ':uid', function(err, count) { | ||||
| 					if (err) { | ||||
| 						next(err); | ||||
| 					} else if (count) { | ||||
| 						addToApprovalQueue(req, userData, next); | ||||
| 					} else { | ||||
| 						registerAndLoginUser(req, res, userData, next); | ||||
| 					} | ||||
| 				}); | ||||
| 			} | ||||
| 		} | ||||
| 	], function(err, data) { | ||||
|   | ||||
| @@ -113,7 +113,7 @@ Controllers.login = function(req, res, next) { | ||||
| 	data.alternate_logins = loginStrategies.length > 0; | ||||
| 	data.authentication = loginStrategies; | ||||
| 	data.allowLocalLogin = parseInt(meta.config.allowLocalLogin, 10) === 1 || parseInt(req.query.local, 10) === 1; | ||||
| 	data.allowRegistration = registrationType === 'normal' || registrationType === 'admin-approval'; | ||||
| 	data.allowRegistration = registrationType === 'normal' || registrationType === 'admin-approval' || registrationType === 'admin-approval-ip'; | ||||
| 	data.allowLoginWith = '[[login:' + allowLoginWith + ']]'; | ||||
| 	data.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[global:login]]'}]); | ||||
| 	data.error = req.flash('error')[0] || errorText; | ||||
|   | ||||
| @@ -57,7 +57,7 @@ module.exports = function(app, middleware) { | ||||
| 			'brand:logo:url': meta.config['brand:logo:url'] || '', | ||||
| 			'brand:logo:alt': meta.config['brand:logo:alt'] || '', | ||||
| 			'brand:logo:display': meta.config['brand:logo']?'':'hide', | ||||
| 			allowRegistration: registrationType === 'normal' || registrationType === 'admin-approval', | ||||
| 			allowRegistration: registrationType === 'normal' || registrationType === 'admin-approval' || registrationType === 'admin-approval-ip', | ||||
| 			searchEnabled: plugins.hasListeners('filter:search.query'), | ||||
| 			config: res.locals.config, | ||||
| 			relative_path: nconf.get('relative_path'), | ||||
|   | ||||
| @@ -124,6 +124,7 @@ | ||||
| 				<select class="form-control" data-field="registrationType"> | ||||
| 					<option value="normal">Normal</option> | ||||
| 					<option value="admin-approval">Admin Approval</option> | ||||
| 					<option value="admin-approval-ip">Admin Approval for IPs</option> | ||||
| 					<option value="invite-only">Invite Only</option> | ||||
| 					<option value="admin-invite-only">Admin Invite Only</option> | ||||
| 					<option value="disabled">No registration</option> | ||||
| @@ -131,6 +132,7 @@ | ||||
| 				<p class="help-block"> | ||||
| 					Normal - Users can register from the /register page.<br/> | ||||
| 					Admin Approval - User registrations are placed in an <a href="{config.relative_path}/admin/manage/registration">approval queue</a> for administrators.<br/> | ||||
| 					Admin Approval for IPs - Normal for new users, Admin Approval for IP addresses that already have an account.<br/> | ||||
| 					Invite Only - Users can invite others from the <a href="{config.relative_path}/users" target="_blank">users</a> page.<br/> | ||||
| 					Admin Invite Only - Only administrators can invite others from <a href="{config.relative_path}/users" target="_blank">users</a> and <a href="{config.relative_path}/admin/manage/users">admin/manage/users</a> pages.<br/> | ||||
| 					No registration - No user registration.<br/> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user