X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fdemonstrate.pl;h=1d2231e8ed66c79ae8108fabdec5a8bfb6088d5a;hb=refs%2Fheads%2Fstaging;hp=179aecf7d38b7ba8d4b1c7dc2d724c5a86ac6dde;hpb=b57791b1c92c6d183db23473f0553657da07ddc7;p=spider.git diff --git a/cmd/demonstrate.pl b/cmd/demonstrate.pl index 179aecf7..1d2231e8 100644 --- a/cmd/demonstrate.pl +++ b/cmd/demonstrate.pl @@ -9,36 +9,23 @@ # my ($self, $line) = @_; -my $mycall = $self->call; -my $myuser = $self->user; -my $mypriv = $self->priv; - my ($call, $newline) = split /\s+/, $line, 2; $call = uc $call; -my $dxchan = DXChannel->get($call); +my $dxchan = DXChannel::get($call); +my $mycall = $self->call; return (1, $self->msg('e7', $call)) unless $dxchan; -if ($self->remotecmd) { +return (1, $self->msg('e31', $call)) unless $dxchan->is_user; +if ($self->remotecmd || $self->inscript) { Log('DXCommand', "$mycall is trying to 'demo' to $call remotely"); return (1, $self->msg('e5')); } -if ($mypriv < 8) { +if ($self->priv < 9) { Log('DXCommand', "$mycall is trying to 'demo' to $call locally"); return (1, $self->msg('e5')); } - -$call = uc $call; -my $user = $dxchan->user; - -# set up basic environment -$self->call($call); -$self->user($user); -$self->priv($dxchan->priv); Log('DXCommand', "demo '$newline' to $call by $mycall"); -my @in = $self->run_cmd($newline); -$self->call($mycall); -$self->user($myuser); -$self->priv($mypriv); +my @in = $dxchan->run_cmd($newline); $dxchan->send($newline, @in);