require_once(INSTALLDIR.'/lib/openid.php');
-class FinishimmediateAction extends Action {
+class FinishimmediateAction extends Action
+{
- function handle($args) {
- parent::handle($args);
-
- $consumer = oid_consumer();
+ function handle($args)
+ {
+ parent::handle($args);
- $response = $consumer->complete(common_local_url('finishimmediate'));
+ $consumer = oid_consumer();
- if ($response->status == Auth_OpenID_SUCCESS) {
- $display = $response->getDisplayIdentifier();
- $canonical = ($response->endpoint->canonicalID) ?
- $response->endpoint->canonicalID : $response->getDisplayIdentifier();
+ $response = $consumer->complete(common_local_url('finishimmediate'));
- $user = $this->get_user($canonical);
-
- if ($user) {
- $this->update_user($user, $sreg);
- common_set_user($user->nickname);
- $this->go_backto();
- return;
- }
- }
+ if ($response->status == Auth_OpenID_SUCCESS) {
+ $display = $response->getDisplayIdentifier();
+ $canonical = ($response->endpoint->canonicalID) ?
+ $response->endpoint->canonicalID : $response->getDisplayIdentifier();
- # Failure! Clear openid so we don't try it again
-
- oid_clear_last();
- $this->go_backto();
- return;
- }
-
- function go_backto() {
- common_ensure_session();
- $backto = $_SESSION['openid_immediate_backto'];
- if (!$backto) {
- # gar. Well, push them to the public page
- $backto = common_local_url('public');
- }
- common_redirect($backto);
- }
+ $user = oid_get_user($canonical);
+
+ if ($user) {
+ oid_update_user($user, $sreg);
+ oid_set_last($display); # refresh for another year
+ common_set_user($user->nickname);
+ $this->go_backto();
+ return;
+ }
+ }
+
+ # Failure! Clear openid so we don't try it again
+
+ oid_clear_last();
+ $this->go_backto();
+ return;
+ }
+
+ function go_backto()
+ {
+ common_ensure_session();
+ $backto = $_SESSION['openid_immediate_backto'];
+ if (!$backto) {
+ # gar. Well, push them to the public page
+ $backto = common_local_url('public');
+ }
+ common_redirect($backto);
+ }
}