Changeset 67


Ignore:
Timestamp:
12/04/10 02:58:03 (14 years ago)
Author:
nanardon
Message:
  • add udapte_data functions (merge new value with previously registered one)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • server/trunk/web/lib/Sophie/Controller/User.pm

    r65 r67  
    5050    my ( $self, $c, $dataname ) = @_; 
    5151 
     52    $c->user or return {}; 
     53 
    5254    return $c->forward('fetch_user_data', [ $c->user->mail || '', $dataname ]); 
    5355} 
     
    6567    }); 
    6668    $c->model('Base')->storage->dbh->commit; 
     69} 
     70 
     71sub update_data : XMLRPC { 
     72    my ( $self, $c, $user, $dataname, $data ) = @_; 
     73    $c->forward('update_user_data', [ $c->user->mail || '', $dataname, $data ]); 
     74} 
     75 
     76sub update_user_data : Private { 
     77    my ( $self, $c, $user, $dataname, $data ) = @_; 
     78 
     79    my $prev_data = $c->forward('fetch_user_data', 
     80        [ $user || '', $dataname ] 
     81    ) || {}; 
     82 
     83    foreach (keys %$data) { 
     84        $prev_data->{$_} = $data->{$_}; 
     85    } 
     86 
     87    $c->forward('set_user_data', [ $user, $dataname, $prev_data ]); 
    6788} 
    6889 
Note: See TracChangeset for help on using the changeset viewer.