Show
Ignore:
Timestamp:
03/02/09 08:35:18 (9 months ago)
Author:
auno
Message:

Merged changes from internal. #99460

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/mixiComment/plugins/mixiComment/lib/mixiComment/Auth/mixi.pm

    r1066 r1480  
    1515        my $return_to = $path . '?__mode=mixicomment_verify_blog_owner' 
    1616            . '&blog_id='  . $blog->id; 
    17         return ( trust_root => $path, return_to => $return_to ); 
     17        return ( trust_root => $path, return_to => $return_to, delayed_return => 1 ); 
    1818    } 
    1919    else { 
    20         return $class->SUPER::check_url_params(@_); 
     20        my %params = $class->SUPER::check_url_params(@_); 
     21        $params{delayed_return} = 1; 
     22        return %params; 
    2123    } 
    2224} 
     
    3335} 
    3436 
    35 # TODO: remove these once core code supports SREG - BugID:71011 
    36 sub NS_OPENID_SREG { "http://openid.net/extensions/sreg/1.1" } 
     37sub set_extension_args { 
     38    my $class = shift; 
     39    my ( $claimed_identity ) = @_; 
    3740 
    38 sub login { 
    39     my $class = shift; 
    40     my ($app) = @_; 
    41     my $q = $app->{query}; 
    42     return $app->errtrans("Invalid request.") 
    43         unless $q->param('blog_id'); 
    44     my $blog = MT::Blog->load(scalar $q->param('blog_id')); 
    45     my %param = $app->param_hash; 
    46     my $csr = MT::Auth::OpenID::_get_csr(\%param, $blog) or return; 
    47     my $identity = $q->param('openid_url'); 
    48     if (!$identity && 
    49         (my $u = $q->param('openid_userid')) && $class->can('url_for_userid')) { 
    50         $identity = $class->url_for_userid($u); 
    51     } 
    52     my $claimed_identity = $csr->claimed_identity($identity); 
    53     if (!$claimed_identity) { 
    54         my ($err_code, $err_msg) = ($csr->errcode, $csr->errtext); 
    55         if ($err_code eq 'no_head_tag' || $err_code eq 'no_identity_server' || $err_code eq 'url_gone') { 
    56             $err_msg = $app->translate('The address entered does not appear to be an OpenID'); 
    57         } 
    58         elsif ($err_code eq 'empty_url' || $err_code eq 'bogus_url') { 
    59             $err_msg = $app->translate('The text entered does not appear to be a web address'); 
    60         } 
    61         elsif ($err_code eq 'url_fetch_error') { 
    62             $err_msg =~ s{ \A Error \s fetching \s URL: \s }{}xms; 
    63             $err_msg = $app->translate('Unable to connect to [_1]: [_2]', $identity, $err_msg); 
    64         } 
    65         return $app->error($app->translate("Could not verify the OpenID provided: [_1]", $err_msg)); 
    66     } 
    67  
    68     my %params = $class->check_url_params( $app, $blog ); 
    69  
    70     $claimed_identity->set_extension_args(NS_OPENID_SREG(), { 
     41    $claimed_identity->set_extension_args(MT::Auth::OpenID::NS_OPENID_SREG(), { 
    7142        optional => join(",", qw/email nickname fullname/) 
    7243    }); 
    73  
    74     my $check_url = $claimed_identity->check_url( 
    75         ( %params, delayed_return => 1 ) 
    76     ); 
    77  
    78     return $app->redirect($check_url); 
    7944} 
    8045 
     
    8449 
    8550    # Try SREG extension first 
    86     my $fields = $vident->extension_fields(NS_OPENID_SREG); 
     51    my $fields = $vident->extension_fields(MT::Auth::OpenID::NS_OPENID_SREG()); 
    8752    my $nick = $fields->{nickname} if exists $fields->{nickname}; 
    8853    $nick ||= $fields->{fullname} if exists $fields->{fullname};