add 'invite-only' mode for registration
darcs-hash:20081021182822-5ed1f-9a8ee3960f82d115d43e35baac646f69bc702533.gz
This commit is contained in:
parent
44a90a7fa7
commit
3a246c1726
2
README
2
README
@ -688,6 +688,8 @@ closed: If set to 'true', will disallow registration on your site.
|
||||
This is a cheap way to restrict accounts to only one
|
||||
individual or group; just register the accounts you want on
|
||||
the service, *then* set this variable to 'true'.
|
||||
inviteonly: If set to 'true', will only allow registration if the user
|
||||
was invited by an existing user.
|
||||
|
||||
db
|
||||
--
|
||||
|
@ -59,6 +59,15 @@ class RegisterAction extends Action {
|
||||
|
||||
$code = $this->trimmed('code');
|
||||
|
||||
if ($code) {
|
||||
$invite = Invitation::staticGet($code);
|
||||
}
|
||||
|
||||
if (common_config('site', 'inviteonly') && !($code && $invite)) {
|
||||
$this->client_error(_('Sorry, site is invite-only'));
|
||||
return;
|
||||
}
|
||||
|
||||
# Input scrubbing
|
||||
|
||||
$nickname = common_canonical_nickname($nickname);
|
||||
@ -149,6 +158,17 @@ class RegisterAction extends Action {
|
||||
function show_form($error=NULL) {
|
||||
global $config;
|
||||
|
||||
$code = $this->trimmed('code');
|
||||
|
||||
if ($code) {
|
||||
$invite = Invitation::staticGet($code);
|
||||
}
|
||||
|
||||
if (common_config('site', 'inviteonly') && !($code && $invite)) {
|
||||
$this->client_error(_('Sorry, site is invite-only'));
|
||||
return;
|
||||
}
|
||||
|
||||
common_show_header(_('Register'), NULL, $error, array($this, 'show_top'));
|
||||
common_element_start('form', array('method' => 'post',
|
||||
'id' => 'login',
|
||||
@ -156,9 +176,7 @@ class RegisterAction extends Action {
|
||||
|
||||
common_hidden('token', common_session_token());
|
||||
|
||||
if ($this->trimmed('code')) {
|
||||
$code = ($this->trimmed('code'));
|
||||
$invite = Invitation::staticGet($code);
|
||||
if ($code) {
|
||||
common_hidden('code', $code);
|
||||
}
|
||||
|
||||
|
@ -26,6 +26,8 @@ $config['site']['path'] = 'laconica';
|
||||
#If you don't want to let users register (say, for a one-person install)
|
||||
#Crude but effective -- register everybody, then lock down
|
||||
#$config['site']['closed'] = true;
|
||||
#Only allow registration for people invited by another user
|
||||
#$config['site']['inviteonly'] = true;
|
||||
|
||||
# If you want logging sent to a file instead of syslog
|
||||
#$config['site']['logfile'] = '/tmp/laconica.log';
|
||||
|
@ -67,7 +67,8 @@ $config =
|
||||
'broughtby' => NULL,
|
||||
'timezone' => 'UTC',
|
||||
'broughtbyurl' => NULL,
|
||||
'closed' => false),
|
||||
'closed' => false,
|
||||
'inviteonly' => false),
|
||||
'syslog' =>
|
||||
array('appname' => 'laconica', # for syslog
|
||||
'priority' => 'debug'), # XXX: currently ignored
|
||||
|
Loading…
Reference in New Issue
Block a user