fix console.pl max scroll depth
[spider.git] / cmd / msg.pl
index 0f68779b61d70803a34f4736a5607e2b7fe250af..ddca370380f41b90d4bcda9972c68e78e5fbc8d9 100644 (file)
@@ -4,11 +4,11 @@
 #
 # Copyright (c) 1999 Dirk Koopman G1TLH
 #
-# $Id$
+#
 #
 
 my ($self, $line) = @_;
-return (1, $self->msg('e5')) if $self->priv < 9;
+return (1, $self->msg('e5')) if $self->priv < 6;
 
 # a line is cmd, msgno, data 
 my @f = split /\s+/, $line, 3;
@@ -18,8 +18,8 @@ my $data;
 
 #$DB::single = 1;
 
-$cmd = shift @f if $f[0] =~ /^\w+$/;
-$msgno = shift @f if $f[0] =~ /^\d+$/;
+$cmd = shift @f if @f && $f[0] =~ /^\w+$/;
+$msgno = shift @f if @f && $f[0] =~ /^\d+$/;
 
 # handle queuing
 if ($cmd =~ /^qu/i && !$msgno) {
@@ -59,6 +59,16 @@ if ($cmd =~ /^to/i) {
        $old = $ref->private ? 'P' : 'B';
        $new = 'B';
        $ref->private(0);
+} elsif ($cmd =~ /^re/i) {
+    $m = 'Msg Type';
+       $old = $ref->read ? 'Read' : 'Unread';
+       $new = 'Read';
+       $ref->read(1);
+} elsif ($cmd =~ /^(nore|unre)/i) {
+    $m = 'Msg Type';
+       $old = $ref->read ? 'Read' : 'Unread';
+       $new = 'Unread';
+       $ref->read(0);
 } elsif ($cmd =~ /^rr/i) {
     $m = 'RR Req';
        $old = $ref->rrreq ? 'RR Req' : 'No RR Req';
@@ -79,6 +89,11 @@ if ($cmd =~ /^to/i) {
        $old = $ref->keep ? 'Keep' : 'No Keep';
     $new = 'No Keep';
     $ref->keep(0);
+} elsif ($cmd =~ /^node/i) {
+    $m = 'Delete';
+       $old = $ref->delete ? 'Delete' : 'Not Delete';
+    $new = 'Not Delete';
+    $ref->unmark_delete;
 } elsif ($cmd =~ /^su/i) {
     $m = 'Subject';
     $old = $ref->subject;
@@ -88,7 +103,9 @@ if ($cmd =~ /^to/i) {
        $old = cldatetime($ref->waitt) || 'None';
        $new = 'None'; 
     $ref->waitt(0);
-} 
+} else {
+       return (1, $self->msg('e15', $cmd));
+}
 
 # store changes and return     
 $ref->store( [ $ref->read_msg_body() ] );