X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fopenid.php;h=0b7633284e50016bd798b4f663357de4f3c14228;hb=97373d845cd68d6145f3751c9f602b13f04b37df;hp=1e7f318fb5dc833c3b7096eb5831dd86c65576d9;hpb=2d456a15e5652a0c0e2c0f9f50221eed2d16e109;p=quix0rs-gnu-social.git diff --git a/lib/openid.php b/lib/openid.php index 1e7f318fb5..0b7633284e 100644 --- a/lib/openid.php +++ b/lib/openid.php @@ -1,7 +1,7 @@ 0) { return $openid_url; @@ -157,7 +160,7 @@ function oid_authenticate($openid_url, $returnto, $immediate=false) $auth_request->addExtension($sreg_request); } - $trust_root = common_local_url('public'); + $trust_root = common_root_url(true); $process_url = common_local_url($returnto); if ($auth_request->shouldSendRedirect()) { @@ -168,7 +171,7 @@ function oid_authenticate($openid_url, $returnto, $immediate=false) } else if (Auth_OpenID::isFailure($redirect_url)) { return sprintf(_('Could not redirect to server: %s'), $redirect_url->message); } else { - common_redirect($redirect_url); + common_redirect($redirect_url, 303); } } else { // Generate form markup and render it. @@ -184,15 +187,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 +252,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(); '. + '});'); + } +}