fleshed out some commands (particularly flag setting and unsetting)
[spider.git] / perl / cluster.pl
index 435d00873768fce04a968f74434151a40aa09c15..79c5b5c86300b7622d7bad57288e08c6f5f6d383 100755 (executable)
@@ -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');