Changeset 1914 for branches/release-35/lib/MT/Auth/OpenID.pm
- Timestamp:
- 04/15/08 08:50:50 (20 months ago)
- Files:
-
- 1 modified
-
branches/release-35/lib/MT/Auth/OpenID.pm (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/release-35/lib/MT/Auth/OpenID.pm
r1823 r1914 8 8 use strict; 9 9 10 use MT::Util qw( decode_url is_valid_email escape_unicode );10 use MT::Util qw( decode_url is_valid_email escape_unicode ts2epoch ); 11 11 use MT::I18N qw( encode_text ); 12 12 … … 60 60 my ($app, $auth_type) = @_; 61 61 my $q = $app->{query}; 62 my $INTERVAL = 60 * 60 * 24 * 7; 62 63 63 64 $auth_type ||= 'OpenID'; … … 75 76 } elsif(my $vident = $csr->verified_identity) { 76 77 my $name = $vident->url; 77 my $nick = $class->get_nickname($vident); 78 $cmntr = $app->model('author')->load( 79 { 80 name => $name, 81 type => MT::Author::COMMENTER(), 82 auth_type => $auth_type, 83 } 84 ); 85 my $nick; 86 if ( $cmntr ) { 87 if ( ( $cmntr->modified_on 88 && ( ts2epoch($blog, $cmntr->modified_on) > time - $INTERVAL ) ) 89 || ( $cmntr->created_on 90 && ( ts2epoch($blog, $cmntr->created_on) > time - $INTERVAL ) ) ) 91 { 92 $nick = $cmntr->nickname; 93 } 94 else { 95 $nick = $class->get_nickname($vident); 96 $cmntr->nickname($nick); 97 $cmntr->save or return 0; 98 } 99 } 100 else { 101 $nick = $class->get_nickname($vident); 102 $cmntr = $app->_make_commenter( 103 email => q(), 104 nickname => $nick, 105 name => $name, 106 url => $vident->url, 107 auth_type => $auth_type, 108 external_id => _url_hash($vident->url), 109 ); 110 } 111 return 0 unless $cmntr; 112 113 $nick = $name unless $nick; 78 114 79 115 # Signature was valid, so create a session, etc. … … 87 123 return 0; 88 124 } 89 $cmntr = $app->_make_commenter( 90 email => q(), 91 nickname => $nick, 92 name => $name, 93 url => $vident->url, 94 auth_type => $auth_type, 95 external_id => _url_hash($vident->url), 96 ); 125 126 if (my $userpic = $cmntr->userpic) { 127 my @stat = stat($userpic->file_path()); 128 my $mtime = $stat[9]; 129 if ( $mtime > time - $INTERVAL ) { 130 # newer than 7 days ago, don't download the userpic 131 return $cmntr; 132 } 133 } 97 134 98 135 if ( my $userpic = $class->get_userpicasset($vident) ) {
