Changeset 379


Ignore:
Timestamp:
09/29/11 17:33:35 (13 years ago)
Author:
nanardon
Message:
  • add set and show bot function, server side
Location:
server/trunk/web/lib/Sophie/Controller
Files:
2 edited

Legend:

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

    r320 r379  
    9191    } 
    9292 
     93    if (! ref($contexts[-1])) { 
     94        $reqspec->{from} = $contexts[-1]; 
     95    } 
     96 
    9397    my ($cmd, @args) = @msgargs 
    9498        ? ($message, @msgargs) 
  • server/trunk/web/lib/Sophie/Controller/Chat/Cmd.pm

    r374 r379  
    172172} 
    173173 
     174=head2 set [distribution|release|arch] value 
     175 
     176Set default search value 
     177 
     178=cut 
     179 
     180sub set : XMLRPC { 
     181    my ( $self, $c, $reqspec, $var, $val ) = @_; 
     182 
     183    $c->forward('/user/update_data', [ $reqspec->{from}, { $var => $val } ]); 
     184     
     185    return $c->stash->{xmlrpc} = { 
     186        private_reply => 1, 
     187        message => [ "$var set to: " . ($val || '(none)') ], 
     188    }; 
     189} 
     190 
     191=head2 show [var] 
     192 
     193Show your user settings 
     194 
     195=cut 
     196 
     197sub show : XMLRPC { 
     198    my ( $self, $c, $reqspec, $var, ) = @_; 
     199 
     200    my $res = $c->forward('/user/fetchdata', [ $reqspec->{from}, ]); 
     201     
     202    if ($var) { 
     203        my $own = $res->{$var} || '(none)'; 
     204        my $applied = $reqspec->{$var} || '(none)'; 
     205        return $c->stash->{xmlrpc} = { 
     206            message => [ sprintf("%s is set to %s%s", 
     207                $var, 
     208                $own, 
     209                ($own ne $applied 
     210                    ? " ($applied is used in this context)" 
     211                    : '') 
     212            ) ] 
     213        }; 
     214    } else { 
     215        warn my $own = $c->forward('_fmt_question', [$res]); 
     216        warn my $applied = $c->forward('_fmt_question', [$reqspec]); 
     217        return $c->stash->{xmlrpc} = { 
     218            message => [ sprintf('your setting is: %s%s', 
     219                $own, 
     220                ($own ne $applied 
     221                    ? " ($applied is used in this context)" 
     222                    : '' 
     223                ) 
     224            ) ], 
     225        } 
     226    } 
     227} 
     228 
    174229=head2 asv 
    175230 
     
    374429    } 
    375430    return $c->stash->{xmlrpc} = { 
    376         message => \@message, 
     431        private_reply => 1, 
     432        message => [ @message ], 
    377433    } 
    378434} 
Note: See TracChangeset for help on using the changeset viewer.