]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
When openid and passwordauth are the only enabled auth plugins, make the openid selec...
authorJoey Hess <joeyh@joeyh.name>
Wed, 13 May 2015 16:18:22 +0000 (12:18 -0400)
committerJoey Hess <joeyh@joeyh.name>
Wed, 13 May 2015 16:18:22 +0000 (12:18 -0400)
IkiWiki/Plugin/openid.pm
debian/changelog
templates/openid-selector.tmpl
underlays/openid-selector/ikiwiki/openid/openid-jquery.js

index 107c6adcbb1e58e07d4e2a76a0845c14fb45fd5b..00652ebb7db2034b5785cd27b2c1fb7aacf545e8 100644 (file)
@@ -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);
index de07f747ac1fccd503345fbfae8085cd188da014..4d8b589cf6f3e113d39fbab309ab2792b56813cc 100644 (file)
@@ -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
 
index 0fd833042db4d0e692873bfe4b8c5a9bf974a06d..95ba086fed20c5163606e24901f69ac01afb948e 100644 (file)
@@ -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>
index 1df419fb834bf577108d8c9880505aca03032eb3..448d20d74b101b1308a228d373c1e66fe39d8277 100644 (file)
@@ -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();