X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?p=spider.git;a=blobdiff_plain;f=perl%2Fcluster.pl;h=79c5b5c86300b7622d7bad57288e08c6f5f6d383;hp=435d00873768fce04a968f74434151a40aa09c15;hb=07ea293f3919d2da76220b5fbc55b734008ed44c;hpb=b2e4d1c7378cfd98bd8cdf9304c2bd6e5d4b802c diff --git a/perl/cluster.pl b/perl/cluster.pl index 435d0087..79c5b5c8 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -56,8 +56,9 @@ sub rec if (!defined $dxchan) { my ($sort, $call, $line) = $msg =~ /^(\w)(\S+)\|(.*)$/; my $user = DXUser->get($call); - $user = DXUser->new($call) if !defined $user; - $user->sort('U') if (!$user->sort()); + if (!defined $user) { + $user = DXUser->new($call); + } my $sort = $user->sort(); # is there one already connected? @@ -80,6 +81,13 @@ sub rec return; } + # set some necessary flags on the user if they are connecting + $user->wwv(1) if !$user->wwv(); + $user->talk(1) if !$user->talk(); + $user->ann(1) if !$user->ann(); + $user->here(1) if !$user->here(); + $user->sort('U') if !$user->sort(); + # create the channel $dxchan = DXCommandmode->new($call, $conn, $user) if ($sort eq 'U'); $dxchan = DXProt->new($call, $conn, $user) if ($sort eq 'A');