- Timestamp:
- 09/18/08 08:56:27 (18 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/openid2-server/plugins/openid2-server/lib/OpenID2Server/App.pm
r1098 r1101 209 209 $req{email} = $app->user->email; 210 210 } 211 elsif ( ( 'nickname' eq $req) || ( 'fullname' eq $req ) ) { 211 elsif ( !exists($req{nickname}) 212 && ( ( 'nickname' eq $req ) || ( 'fullname' eq $req ) ) ) 213 { 212 214 $req{nickname} = $app->user->nickname; 213 215 } … … 221 223 $opt{email} = $app->user->email; 222 224 } 223 elsif ( ( 'nickname' eq $opt ) || ( 'fullname' eq $opt ) ) { 225 elsif ( !exists($req{nickname}) && !exists($opt{nickname}) 226 && ( ( 'nickname' eq $opt ) || ( 'fullname' eq $opt ) ) ) 227 { 224 228 $opt{nickname} = $app->user->nickname; 225 229 } … … 250 254 # Simple Registration Extension support 251 255 if ( $q->param('openid.ns.sreg') ) { 252 $param{additional_fields} = { 253 'ns.sreg' => $q->param('openid.ns.sreg'), 254 'sreg.email' => $q->param('openid.sreg.email'), 255 'sreg.nickname' => $q->param('openid.sreg.nickname'), 256 'sreg.language' => $q->param('openid.sreg.language') 257 }; 256 my %additional_fields; 257 my @p = $q->param; 258 foreach my $p (@p) { 259 next unless $p =~ /^__(\w+)_beacon__$/; 260 my $field = $1; 261 $additional_fields{'sreg.' . $field} = $q->param('openid.sreg.' . $field); 262 } 263 if ( keys %additional_fields ) { 264 $param{additional_fields} = { 265 'ns.sreg' => $q->param('openid.ns.sreg'), 266 %additional_fields 267 } 268 } 258 269 } 259 270
