diff options
-rw-r--r-- | IkiWiki/Plugin/openid.pm | 8 | ||||
-rw-r--r-- | debian/changelog | 3 | ||||
-rw-r--r-- | templates/openid-selector.tmpl | 6 | ||||
-rw-r--r-- | underlays/openid-selector/ikiwiki/openid/openid-jquery.js | 10 |
4 files changed, 21 insertions, 6 deletions
diff --git a/IkiWiki/Plugin/openid.pm b/IkiWiki/Plugin/openid.pm index 107c6adcb..00652ebb7 100644 --- a/IkiWiki/Plugin/openid.pm +++ b/IkiWiki/Plugin/openid.pm @@ -25,11 +25,15 @@ sub checkconfig () { # a reference to the normal signin form. require IkiWiki::CGI; my $real_cgi_signin; + my $nonopenidform_label=gettext("Other"); if (keys %{$IkiWiki::hooks{auth}} > 1) { $real_cgi_signin=\&IkiWiki::cgi_signin; + if (keys %{$IkiWiki::hooks{auth}} == 2 && exists $IkiWiki::hooks{auth}->{passwordauth}) { + $nonopenidform_label=gettext("Password"); + } } inject(name => "IkiWiki::cgi_signin", call => sub ($$) { - openid_selector($real_cgi_signin, @_); + openid_selector($real_cgi_signin, $nonopenidform_label, @_); }); } } @@ -57,6 +61,7 @@ sub getsetup () { sub openid_selector { my $real_cgi_signin=shift; + my $nonopenidform_label=shift; my $q=shift; my $session=shift; @@ -82,6 +87,7 @@ sub openid_selector { (defined $openid_error ? (openid_error => $openid_error) : ()), (defined $openid_url ? (openid_url => $openid_url) : ()), ($real_cgi_signin ? (nonopenidform => $real_cgi_signin->($q, $session, 1)) : ()), + nonopenidform_label => $nonopenidform_label, ); IkiWiki::printheader($session); diff --git a/debian/changelog b/debian/changelog index de07f747a..4d8b589cf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,9 @@ ikiwiki (3.20150330) UNRELEASED; urgency=medium * Re-remove google from openid selector; their openid provider is gone for good. + * When openid and passwordauth are the only enabled auth plugins, + make the openid selector display "Password" instead of "Other", + so users are more likely to click on it when they don't have an openid. -- Joey Hess <id@joeyh.name> Tue, 28 Apr 2015 12:24:08 -0400 diff --git a/templates/openid-selector.tmpl b/templates/openid-selector.tmpl index 0fd833042..95ba086fe 100644 --- a/templates/openid-selector.tmpl +++ b/templates/openid-selector.tmpl @@ -2,7 +2,7 @@ <script type="text/javascript" src="ikiwiki/openid/openid-jquery.js"></script> <script type="text/javascript"> $(document).ready(function() { - openid.init('openid_identifier','<TMPL_IF NONOPENIDFORM>nonopenidform</TMPL_IF>'); + openid.init('openid_identifier','<TMPL_IF NONOPENIDFORM>nonopenidform</TMPL_IF>', '<TMPL_VAR NONOPENIDFORM_LABEL>'); }); </script> @@ -13,7 +13,7 @@ $(document).ready(function() { <form action="<TMPL_VAR CGIURL>" method="get" id="openid_form"> <fieldset> <script> - $('fieldset').append("<legend>Select your account provider</legend>"); + $('fieldset').append("<legend>Select login method</legend>"); </script> <input type="hidden" name="do" value="signin" /> @@ -36,7 +36,7 @@ $(document).ready(function() { <TMPL_IF NONOPENIDFORM> <br /> <noscript> -<h2>Other:</h2> +<h2><TMPL_VAR NONOPENIDFORM_LABEL>:</h2> </noscript> </TMPL_IF> <TMPL_VAR NONOPENIDFORM> diff --git a/underlays/openid-selector/ikiwiki/openid/openid-jquery.js b/underlays/openid-selector/ikiwiki/openid/openid-jquery.js index 1df419fb8..448d20d74 100644 --- a/underlays/openid-selector/ikiwiki/openid/openid-jquery.js +++ b/underlays/openid-selector/ikiwiki/openid/openid-jquery.js @@ -67,7 +67,7 @@ var openid = { provider_id: null, localsignin_id: null, - init: function(input_id, localsignin_id) { + init: function(input_id, localsignin_id, localsignin_label) { var openid_btns = $('#openid_btns'); @@ -89,6 +89,12 @@ var openid = { openid_btns.append(this.getBoxHTML(providers_small[id], 'small')); } } + if (localsignin_label != "") { + this.localsignin_label=localsignin_label; + } + else { + this.localsignin_label="other"; + } if (localsignin_id != "") { this.localsignin_id=localsignin_id; openid_btns.append( @@ -96,7 +102,7 @@ var openid = { ' style="background: #FFF" ' + 'class="localsignin openid_small_btn">' + '<img alt="" width="16" height="16" src="favicon.ico" />' + - ' other' + + ' ' + this.localsignin_label + '</a>' ); $('#'+this.localsignin_id).hide(); |