X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXChannel.pm;h=c2358c3dd2366f56e1d7018c23fde7d474bb288d;hb=867c86a1f58144199f3a37a7b58ee8058452cbad;hp=73102ff461503f1cc904b60f03cb3045d4a5eac0;hpb=4a134278a40e451ff1769c7b98d1a4f709a6b828;p=spider.git diff --git a/perl/DXChannel.pm b/perl/DXChannel.pm index 73102ff4..c2358c3d 100644 --- a/perl/DXChannel.pm +++ b/perl/DXChannel.pm @@ -62,9 +62,6 @@ $count = 0; here => '0,Here?,yesno', conf => '0,In Conference?,yesno', dx => '0,DX Spots,yesno', - rbn => '0,RBN Spots,yesno', - ft => '0,(RBN) FT4/8 Spots,yesno', - cw => '0,RBN CW Spots,yesno', redirect => '0,Redirect messages to', lang => '0,Language', func => '5,Function', @@ -83,12 +80,14 @@ $count = 0; wcyfilter => '5,WCY Filt-out', spotsfilter => '5,Spot Filt-out', routefilter => '5,Route Filt-out', + rbnfilter => '5,RBN Filt-out', pc92filter => '5,PC92 Route Filt-out', inannfilter => '5,Ann Filt-inp', inwwvfilter => '5,WWV Filt-inp', inwcyfilter => '5,WCY Filt-inp', inspotsfilter => '5,Spot Filt-inp', inroutefilter => '5,Route Filt-inp', + inrbnfilter => '5,RBN Filt-inp', inpc92filter => '5,PC92 Route Filt-inp', passwd => '9,Passwd List,yesno', pingint => '5,Ping Interval ', @@ -129,6 +128,8 @@ $count = 0; next_pc92_update => '9,Next PC92 Update,atime', next_pc92_keepalive => '9,Next PC92 KeepAlive,atime', hostname => '0,Hostname', + isslugged => '9,Still Slugged,yesno', + sluggedpcs => '9,Slugged PCxx Queue,parray', ); $maxerrors = 20; # the maximum number of concurrent errors allowed before disconnection @@ -163,12 +164,14 @@ sub alloc $user->new_buddies unless $user->buddies; $self->{group} = $user->group; $self->{sort} = $user->sort; + $self->{width} = $user->width; } $self->{startt} = $self->{t} = $main::systime; $self->{state} = 0; $self->{oldstate} = 0; $self->{lang} = $main::lang if !$self->{lang}; $self->{func} = ""; + $self->{width} ||= 80; # add in all the dxcc, itu, zone info my @dxcc = Prefix::extract($call); @@ -357,6 +360,11 @@ sub is_rbn return $_[0]->{sort} eq 'N'; } +sub is_dslink +{ + return $_[0]->{sort} eq 'L'; +} + # for perl 5.004's benefit sub sort { @@ -679,12 +687,7 @@ sub broadcast_list if ($sort eq 'dx') { next unless $dxchan->{dx}; - ($filter) = $dxchan->{spotsfilter}->it(@{$fref}) if ref $fref; - next unless $filter; - } - if ($sort eq 'rbn') { - next unless $dxchan->{dx}; # this is deliberate! - ($filter) = $dxchan->{spotsfilter}->it(@{$fref}) if ref $fref; + ($filter) = $dxchan->{spotsfilter}->it($fref) if $dxchan->{spotsfilter} && ref $fref; next unless $filter; } next if $sort eq 'ann' && !$dxchan->{ann} && $s !~ /^To\s+LOCAL\s+de\s+(?:$main::myalias|$main::mycall)/i; @@ -724,6 +727,8 @@ sub process_one $self->enhanced($line); } elsif ($sort eq 'A' || $sort eq 'O' || $sort eq 'W') { $self->start($line, $sort); + } elsif ($sort eq 'C') { + $self->width($line); # change number of columns } elsif ($sort eq 'Z') { $self->disconnect; } elsif ($sort eq 'D') { @@ -765,6 +770,20 @@ sub error_handler } +sub isregistered +{ + my $self = shift; + + # the sysop is registered! + return 1 if $self->{call} eq $main::myalias || $self->{call} eq $main::mycall; + + if ($main::reqreg) { + return $self->{registered}; + } else { + return 1; + } +} + #no strict; sub AUTOLOAD {