projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
no manditory passphrase
[spider.git]
/
cmd
/
kill.pl
diff --git
a/cmd/kill.pl
b/cmd/kill.pl
index ab7bb511a9082f4902f10a1d0bc90a918504af18..dce2c22fb265cb5246d5b63dff1820ae65a2bfa4 100644
(file)
--- a/
cmd/kill.pl
+++ b/
cmd/kill.pl
@@
-1,7
+1,7
@@
#
# kill or delete a message
#
#
# kill or delete a message
#
-# Copyright (c) Dirk Koopman G1TLH
+# Copyright (c)
1998
Dirk Koopman G1TLH
#
# $Id$
#
#
# $Id$
#
@@
-17,6
+17,7
@@
my $ref;
my @refs;
my $call = $self->call;
my $full;
my @refs;
my $call = $self->call;
my $full;
+my $expunge;
# $DB::single = 1;
# $DB::single = 1;
@@
-25,6
+26,9
@@
while (@f) {
if ($f =~ /^fu/io) {
return (1, $self->msg('e5')) if $self->priv < 5;
$full = 1;
if ($f =~ /^fu/io) {
return (1, $self->msg('e5')) if $self->priv < 5;
$full = 1;
+ } elsif ($f =~ /^ex/io) {
+ return (1, $self->msg('e5')) if $self->priv < 6;
+ $expunge = 1;
} elsif ($f =~ /^\d+$/o) {
$ref = DXMsg::get($f);
if (!$ref) {
} elsif ($f =~ /^\d+$/o) {
$ref = DXMsg::get($f);
if (!$ref) {
@@
-62,14
+66,18
@@
while (@f) {
}
foreach $ref ( @refs) {
}
foreach $ref ( @refs) {
- Log('msg', "Message $ref->{msgno} from $ref->{from} to $ref->{to} deleted by $call");
- if ($full) {
-
DXProt::broadcast_ak1a(DXProt::pc49($ref->{from}, $ref->{subject}), $DXProt::me)
;
+ if ($ref->keep) {
+ push @out, $self->msg('m18', $ref->msgno);
+
next
;
}
my $tonode = $ref->tonode;
$ref->stop_msg($tonode) if $tonode;
}
my $tonode = $ref->tonode;
$ref->stop_msg($tonode) if $tonode;
- $ref->
del_msg
;
+ $ref->
mark_delete($expunge ? 0 : undef)
;
push @out, $self->msg('m12', $ref->msgno);
push @out, $self->msg('m12', $ref->msgno);
+ Log('msg', "Message $ref->{msgno} from $ref->{from} to $ref->{to} deleted by $call");
+ if ($full) {
+ DXChannel::broadcast_nodes(DXProt::pc49($ref->{from}, $ref->{subject}), $main::me);
+ }
}
return (1, @out);
}
return (1, @out);