projects
/
spider.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
00cad49
)
more wip
author
Dirk Koopman
<djk@tobit.co.uk>
Sat, 11 Dec 2021 20:31:59 +0000
(20:31 +0000)
committer
Dirk Koopman
<djk@tobit.co.uk>
Sat, 11 Dec 2021 20:31:59 +0000
(20:31 +0000)
perl/DXCommandmode.pm
patch
|
blob
|
history
diff --git
a/perl/DXCommandmode.pm
b/perl/DXCommandmode.pm
index 6023320d7116bcea918e33c65a0cc102bfc04b36..f36f266f4a4cbcbe8abe8bf7ed581a1b37d3dcbf 100644
(file)
--- a/
perl/DXCommandmode.pm
+++ b/
perl/DXCommandmode.pm
@@
-131,11
+131,16
@@
sub start
$self->{registered} = $user->registered;
}
$self->{registered} = $user->registered;
}
+ # establish slug queue, if required
+ $self->{sluggedpcs} = [];
+ $self->{isslugged} = $DXProt::pc92_slug_changes + $DXProt::last_pc92_slug + 5 if $DXProt::pc92_slug_changes;
+ $self->{isslugged} = 0 if $self->{priv} > 0 || $user->registered || $user->homenode eq $main::mycall;
+
# send the relevant MOTD
$self->send_motd;
# sort out privilege reduction
# send the relevant MOTD
$self->send_motd;
# sort out privilege reduction
- $self->{priv} = 0
if $line =~ /^(ax|te)/ && !
$self->conn->{usedpasswd};
+ $self->{priv} = 0
unless $self->{hostname} eq '127.0.0.1' || $self->{hostname} eq '::1' ||
$self->conn->{usedpasswd};
# get the filters
my $nossid = $call;
# get the filters
my $nossid = $call;
@@
-558,7
+563,7
@@
sub process
my $dxchan;
foreach $dxchan (@dxchan) {
my $dxchan;
foreach $dxchan (@dxchan) {
- next if $dxchan->
sort ne 'U'
;
+ next if $dxchan->
is_user
;
# send a outstanding message prompt if required
if ($t >= $dxchan->lastmsgpoll + $msgpolltime) {
# send a outstanding message prompt if required
if ($t >= $dxchan->lastmsgpoll + $msgpolltime) {
@@
-571,6
+576,18
@@
sub process
$dxchan->prompt() if $dxchan->{state} =~ /^prompt/o;
$dxchan->t($t);
}
$dxchan->prompt() if $dxchan->{state} =~ /^prompt/o;
$dxchan->t($t);
}
+
+ if ($dxchan->{isslugged} && $main::systime > $dxchan->{isslugged}) {
+ foreach my $ref (@{$dxchan->{sluggedpcs}}) {
+ if ($ref->[0] == 61) {
+ Spot::add(@{$ref->[2]});
+ DXProt::send_dx_spot($dxchan, $ref->[1], @{$ref->[2]});
+ }
+ }
+
+ $dxchan->{isslugged} = 0;
+ $dxchan->{sluggedpcs} = [];
+ }
}
while (my ($k, $v) = each %nothereslug) {
}
while (my ($k, $v) = each %nothereslug) {