aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2015-05-13 12:18:22 -0400
committerJoey Hess <joeyh@joeyh.name>2015-05-13 12:18:22 -0400
commitec72b4c95bce640f8b02b7885dad84640b924ffe (patch)
tree58970eda82487ca68d60c236d428d04f8514d05f
parent0434f86dd5edbfa672c644466d070b1af8bc5d3b (diff)
downloadikiwiki-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.pm8
-rw-r--r--debian/changelog3
-rw-r--r--templates/openid-selector.tmpl6
-rw-r--r--underlays/openid-selector/ikiwiki/openid/openid-jquery.js10
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();