Index: VKontakte.pm =================================================================== --- VKontakte.pm (revision 409) +++ VKontakte.pm (revision 410) @@ -175,8 +175,7 @@ my ($prop_ava) = grep { $_->{attr} eq 'avatar' && $_->{type} eq 'image' } $user->structure; if ( ref $prop_ava ) { my $avatar = $user->_store_image( $user_info->{photo_big}, attr => 'avatar' ); - local $Data::Dumper::Indent = 0; - $user->avatar( Data::Dumper::Dumper($avatar) ); + $user->avatar( $user->_serialize($avatar) ); } $user->store; @@ -186,8 +185,7 @@ my $avatar = $user->get_image( 'avatar' ); unless ( ref $avatar && exists $avatar->{filename} ) { my $avatar = $user->_store_image( $user_info->{photo_big}, attr => 'avatar' ); - local $Data::Dumper::Indent = 0; - $user->avatar( Data::Dumper::Dumper($avatar) ); + $user->avatar( $user->_serialize($avatar) ); $user->store; } } @@ -198,17 +196,10 @@ avatar => $user_info->{photo_big}, ); } - my %data = ( - id => $user->id, - name => $name, - login => $user->login, - status => $user->status, - type => $user->type, - auth_by => 'vkontakte', - ltime => time, - ); + my %data = session::Keeper::_get_hash_from_profile( $user ); + $data{auth_by} = 'vkontakte'; if ( $user_info->{photo} ) { - $data{avatar} = $user_info->{photo}; + $data{avatar} ||= $user_info->{photo}; } $local_session->set( %data );