mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-31 19:15:58 +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);
|
registerAndLoginUser(req, res, userData, next);
|
||||||
} else if (registrationType === 'admin-approval') {
|
} else if (registrationType === 'admin-approval') {
|
||||||
addToApprovalQueue(req, userData, next);
|
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) {
|
], function(err, data) {
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ Controllers.login = function(req, res, next) {
|
|||||||
data.alternate_logins = loginStrategies.length > 0;
|
data.alternate_logins = loginStrategies.length > 0;
|
||||||
data.authentication = loginStrategies;
|
data.authentication = loginStrategies;
|
||||||
data.allowLocalLogin = parseInt(meta.config.allowLocalLogin, 10) === 1 || parseInt(req.query.local, 10) === 1;
|
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.allowLoginWith = '[[login:' + allowLoginWith + ']]';
|
||||||
data.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[global:login]]'}]);
|
data.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[global:login]]'}]);
|
||||||
data.error = req.flash('error')[0] || errorText;
|
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:url': meta.config['brand:logo:url'] || '',
|
||||||
'brand:logo:alt': meta.config['brand:logo:alt'] || '',
|
'brand:logo:alt': meta.config['brand:logo:alt'] || '',
|
||||||
'brand:logo:display': meta.config['brand:logo']?'':'hide',
|
'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'),
|
searchEnabled: plugins.hasListeners('filter:search.query'),
|
||||||
config: res.locals.config,
|
config: res.locals.config,
|
||||||
relative_path: nconf.get('relative_path'),
|
relative_path: nconf.get('relative_path'),
|
||||||
|
|||||||
@@ -124,6 +124,7 @@
|
|||||||
<select class="form-control" data-field="registrationType">
|
<select class="form-control" data-field="registrationType">
|
||||||
<option value="normal">Normal</option>
|
<option value="normal">Normal</option>
|
||||||
<option value="admin-approval">Admin Approval</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="invite-only">Invite Only</option>
|
||||||
<option value="admin-invite-only">Admin Invite Only</option>
|
<option value="admin-invite-only">Admin Invite Only</option>
|
||||||
<option value="disabled">No registration</option>
|
<option value="disabled">No registration</option>
|
||||||
@@ -131,6 +132,7 @@
|
|||||||
<p class="help-block">
|
<p class="help-block">
|
||||||
Normal - Users can register from the /register page.<br/>
|
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 - 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/>
|
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/>
|
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/>
|
No registration - No user registration.<br/>
|
||||||
|
|||||||
Reference in New Issue
Block a user