diff --git a/boot.php b/boot.php index 3c319d7b7..a818f5a86 100644 --- a/boot.php +++ b/boot.php @@ -545,15 +545,40 @@ function login($register = false) { $o = ""; $register_html = (($register) ? load_view_file("view/register-link.tpl") : ""); - - if(x($_SESSION,'authenticated')) { - $o = load_view_file("view/logout.tpl"); + $noid = get_config('system','no_openid'); + if($noid) { + $classname = 'no-openid'; + $namelabel = t('Nickname or Email address: '); + $passlabel = t('Password: '); + $login = t('Login'); } else { - $o = load_view_file("view/login.tpl"); - - $o = replace_macros($o,array('$register_html' => $register_html )); + $classname = 'openid'; + $namelabel = t('Nickname/Email/OpenID: '); + $passlabel = t("Password \x28if not OpenID\x29: "); + $login = t('Login'); } + $lostpass = t('Forgot your password?'); + $lostlink = t('Password Reset'); + + if(x($_SESSION,'authenticated')) { + $tpl = load_view_file("view/logout.tpl"); + } + else { + $tpl = load_view_file("view/login.tpl"); + + } + + $o = replace_macros($tpl,array( + '$register_html' => $register_html, + '$classname' => $classname, + '$namelabel' => $namelabel, + '$passlabel' => $passlabel, + '$login' => $login, + '$lostpass' => $lostpass, + '$lostlink' => $lostlink + )); + return $o; }} diff --git a/include/auth.php b/include/auth.php index 7f45c6d58..d82bc84d1 100644 --- a/include/auth.php +++ b/include/auth.php @@ -72,6 +72,8 @@ else { else { if((x($_POST,'openid_url')) && strlen($_POST['openid_url'])) { + $noid = get_config('system','no_openid'); + $openid_url = trim($_POST['openid_url']); // validate_url alters the calling parameter @@ -80,7 +82,7 @@ else { // if it's an email address or doesn't resolve to a URL, fail. - if((strpos($temp_string,'@')) || (! validate_url($temp_string))) { + if(($noid) || (strpos($temp_string,'@')) || (! validate_url($temp_string))) { $a = get_app(); notice( t('Login failed.') . EOL); goaway($a->get_baseurl()); diff --git a/mod/openid.php b/mod/openid.php index 94f08c430..84d4bf4bf 100644 --- a/mod/openid.php +++ b/mod/openid.php @@ -6,6 +6,10 @@ require_once('library/openid.php'); function openid_content(&$a) { + $noid = get_config('system','no_openid'); + if($noid) + goaway($a->get_baseurl()); + if((x($_GET,'openid_mode')) && (x($_SESSION,'openid'))) { $openid = new LightOpenID; diff --git a/mod/register.php b/mod/register.php index 57a15c008..9f2f236b7 100644 --- a/mod/register.php +++ b/mod/register.php @@ -345,15 +345,31 @@ function register_content(&$a) { $nickname = ((x($_POST,'nickname')) ? $_POST['nickname'] : ((x($_GET,'nickname')) ? $_GET['nickname'] : '')); $photo = ((x($_POST,'photo')) ? $_POST['photo'] : ((x($_GET,'photo')) ? hex2bin($_GET['photo']) : '')); + $noid = get_config('system','no_openid'); + + if($noid) { + $oidhtml = ''; + $fillwith = ''; + $fillext = ''; + $oidlabel = ''; + } + else { + $oidhtml = ''; + $fillwith = t("You may \x28optionally\x29 fill in this form via OpenID by supplying your OpenID and clicking 'Register'."); + $fillext = t('If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.'); + $oidlabel = t("Your OpenID \x28optional\x29: "); + } + $o = load_view_file("view/register.tpl"); $o = replace_macros($o, array( + '$oidhtml' => $oidhtml, '$regtitle' => t('Registration'), '$registertext' =>((x($a->config,'register_text')) ? '
' : "" ), - '$fillwith' => t('You may ' . "\x28" . 'optionally' . "\x29" . ' fill in this form via OpenID by supplying your OpenID and clicking ') . "'" . t('Register') . "'", - '$fillext' => t('If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.'), - '$oidlabel' => t('Your OpenID ' . "\x28" . 'optional' . "\x29" . ': '), + '$fillwith' => $fillwith, + '$fillext' => $fillext, + '$oidlabel' => $oidlabel, '$openid' => $openid_url, '$namelabel' => t('Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': '), '$addrlabel' => t('Your Email Address: '), diff --git a/mod/settings.php b/mod/settings.php index 47743759d..7ed7ad32e 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -196,6 +196,17 @@ function settings_content(&$a) { '$page_freelove' => PAGE_FREELOVE )); + $noid = get_config('system','no_openid'); + + if($noid) { + $oidhtml = ''; + } + else { + $oidhtml = '' . t(" \x28Optional\x29 Allow this OpenID to login to this account."); + } + + + $opt_tpl = load_view_file("view/profile-in-directory.tpl"); $profile_in_dir = replace_macros($opt_tpl,array( @@ -260,6 +271,7 @@ function settings_content(&$a) { $o .= replace_macros($stpl,array( '$baseurl' => $a->get_baseurl(), + '$oidhtml' => $oidhtml, '$uid' => local_user(), '$username' => $username, '$openid' => $openid, diff --git a/view/en/settings.tpl b/view/en/settings.tpl index 734effc0c..095dd70a4 100644 --- a/view/en/settings.tpl +++ b/view/en/settings.tpl @@ -128,8 +128,7 @@ Leave password fields blank unless changing$fillext