]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Help OpenID module make its little form
authorEvan Prodromou <evan@controlyourself.ca>
Fri, 23 Jan 2009 01:17:29 +0000 (02:17 +0100)
committerEvan Prodromou <evan@controlyourself.ca>
Fri, 23 Jan 2009 01:17:29 +0000 (02:17 +0100)
lib/openid.php

index 1e7f318fb5dc833c3b7096eb5831dd86c65576d9..8605737026340cebfbc00e2d87ea615398af83e2 100644 (file)
@@ -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(); '.
+                       '});');
+    }
+}