diff options
author | Joey Hess <joeyh@joeyh.name> | 2015-05-13 12:18:22 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2015-05-13 12:18:22 -0400 |
commit | ec72b4c95bce640f8b02b7885dad84640b924ffe (patch) | |
tree | 58970eda82487ca68d60c236d428d04f8514d05f | |
parent | 0434f86dd5edbfa672c644466d070b1af8bc5d3b (diff) | |
download | ikiwiki-ec72b4c95bce640f8b02b7885dad84640b924ffe.tar ikiwiki-ec72b4c95bce640f8b02b7885dad84640b924ffe.tar.gz |
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.
-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(); |