summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJeffery To <jeffery.to@gmail.com>2009-08-09 19:12:59 +0800
committerJeffery To <jeffery.to@gmail.com>2009-08-10 13:57:39 +0800
commit14b46e2183f10359cc53d597913a878f53e23719 (patch)
tree5abe41f6f475be0a05168f8859542e1a1a3b3b21 /lib
parentc1b19929f6234c4b9e30e16bae419c89c38c1169 (diff)
Added configuration option to only allow OpenID logins.
If $config['site']['openidonly'] is set to true: * the Login/Register pages will be removed from the navigation; * directly accesses to the Login/Register pages will redirect to the OpenID login page; * most links to the Login/Register pages will link to the OpenID login page instead. The user will still need to set a password to access the API and RSS feeds.
Diffstat (limited to 'lib')
-rw-r--r--lib/action.php15
-rw-r--r--lib/common.php1
-rw-r--r--lib/facebookaction.php9
-rw-r--r--lib/logingroupnav.php12
4 files changed, 25 insertions, 12 deletions
diff --git a/lib/action.php b/lib/action.php
index 326edf3a0..6da9adab5 100644
--- a/lib/action.php
+++ b/lib/action.php
@@ -436,12 +436,17 @@ class Action extends HTMLOutputter // lawsuit
_('Logout'), _('Logout from the site'), false, 'nav_logout');
}
else {
- if (!common_config('site', 'closed')) {
- $this->menuItem(common_local_url('register'),
- _('Register'), _('Create an account'), false, 'nav_register');
+ if (!common_config('site', 'openidonly')) {
+ if (!common_config('site', 'closed')) {
+ $this->menuItem(common_local_url('register'),
+ _('Register'), _('Create an account'), false, 'nav_register');
+ }
+ $this->menuItem(common_local_url('login'),
+ _('Login'), _('Login to the site'), false, 'nav_login');
+ } else {
+ $this->menuItem(common_local_url('openidlogin'),
+ _('OpenID'), _('Login with OpenID'), false, 'nav_openid');
}
- $this->menuItem(common_local_url('login'),
- _('Login'), _('Login to the site'), false, 'nav_login');
}
$this->menuItem(common_local_url('doc', array('title' => 'help')),
_('Help'), _('Help me!'), false, 'nav_help');
diff --git a/lib/common.php b/lib/common.php
index be30519f4..bf078378d 100644
--- a/lib/common.php
+++ b/lib/common.php
@@ -109,6 +109,7 @@ $config =
'broughtbyurl' => null,
'closed' => false,
'inviteonly' => false,
+ 'openidonly' => false,
'private' => false,
'ssl' => 'never',
'sslserver' => null,
diff --git a/lib/facebookaction.php b/lib/facebookaction.php
index ab11b613e..289e702c6 100644
--- a/lib/facebookaction.php
+++ b/lib/facebookaction.php
@@ -256,8 +256,13 @@ class FacebookAction extends Action
$this->elementStart('dd');
$this->elementStart('p');
$this->text(sprintf($loginmsg_part1, common_config('site', 'name')));
- $this->element('a',
- array('href' => common_local_url('register')), _('Register'));
+ if (!common_config('site', 'openidonly')) {
+ $this->element('a',
+ array('href' => common_local_url('register')), _('Register'));
+ } else {
+ $this->element('a',
+ array('href' => common_local_url('openidlogin')), _('Register'));
+ }
$this->text($loginmsg_part2);
$this->elementEnd('p');
$this->elementEnd('dd');
diff --git a/lib/logingroupnav.php b/lib/logingroupnav.php
index f23985f3a..919fd3db9 100644
--- a/lib/logingroupnav.php
+++ b/lib/logingroupnav.php
@@ -72,11 +72,13 @@ class LoginGroupNav extends Widget
// action => array('prompt', 'title')
$menu = array();
- $menu['login'] = array(_('Login'),
- _('Login with a username and password'));
- if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
- $menu['register'] = array(_('Register'),
- _('Sign up for a new account'));
+ if (!common_config('site','openidonly')) {
+ $menu['login'] = array(_('Login'),
+ _('Login with a username and password'));
+ if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
+ $menu['register'] = array(_('Register'),
+ _('Sign up for a new account'));
+ }
}
$menu['openidlogin'] = array(_('OpenID'),
_('Login or register with OpenID'));