summaryrefslogtreecommitdiff
path: root/lib/openid.php
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2009-01-23 02:17:29 +0100
committerEvan Prodromou <evan@controlyourself.ca>2009-01-23 02:17:29 +0100
commitf54f0a179a0369e145f02c8caed44644a8be6167 (patch)
tree68f5d0878c21c17829ec659842f390a3912c1944 /lib/openid.php
parent9a4333f5f3db4daacf5af74253813444bff8a358 (diff)
Help OpenID module make its little form
Diffstat (limited to 'lib/openid.php')
-rw-r--r--lib/openid.php40
1 files changed, 32 insertions, 8 deletions
diff --git a/lib/openid.php b/lib/openid.php
index 1e7f318fb..860573702 100644
--- a/lib/openid.php
+++ b/lib/openid.php
@@ -184,15 +184,13 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
// Display an error if the form markup couldn't be generated;
// otherwise, render the HTML.
if (Auth_OpenID::isFailure($form_html)) {
- $this->show_form(sprintf(_('Could not create OpenID form: %s'), $form_html->message));
+ common_server_error(sprintf(_('Could not create OpenID form: %s'), $form_html->message));
} else {
- common_show_header(_('OpenID Auto-Submit'), null, null, '_oid_print_instructions');
- common_raw($form_html);
- common_element('script', null,
- '$(document).ready(function() { ' .
- ' $("#'. $form_id .'").submit(); '.
- '});');
- common_show_footer();
+ $action = new AutosubmitAction(); // see below
+ $action->form_html = $form_html;
+ $action->form_id = $form_id;
+ $action->prepare(array('action' => 'autosubmit'));
+ $action->handle(array('action' => 'autosubmit'));
}
}
}
@@ -251,3 +249,29 @@ function oid_update_user(&$user, &$sreg)
return true;
}
+
+class AutosubmitAction extends Action
+{
+ var $form_html = null;
+ var $form_id = null;
+
+ function handle($args)
+ {
+ parent::handle($args);
+ $this->showPage();
+ }
+
+ function title()
+ {
+ return _('OpenID Auto-Submit');
+ }
+
+ function showContent()
+ {
+ $this->raw($this->form_html);
+ $this->element('script', null,
+ '$(document).ready(function() { ' .
+ ' $(\'#'. $this->form_id .'\').submit(); '.
+ '});');
+ }
+}