my $long = $user->long;
if (defined $lat && defined $long) {
$user->qra(DXBearing::lltoqra($lat, $long));
- $user->put;
+ $user->put unless $self->{_nospawn};
}
}
}
}
$user->lastoper($main::systime);
- $user->put;
+ $user->put unless $self->{_nospawn};
}
}
}
$user->homenode($parent->call) if !$user->homenode;
$user->node($parent->call);
$user->lastin($main::systime) unless DXChannel::get($call);
- $user->put;
+ $user->put unless $self->{_nospawn};
# send info to all logged in thingies
$self->tell_login('loginu', "$ncall: $call") if $user->is_local_node;
unless ($self->is_spider) {
dbg("Change U " . $self->user->sort . " C $self->{sort} -> S");
$self->user->sort('S');
- $self->user->put;
+ $self->user->put unless $self->{_nospawn};
$self->sort('S');
}
# $self->{handle_xml}++ if DXXml::available() && $pc->[1] =~ /\bxml/;
my $call = shift;
# add this station to the user database, if required (don't remove SSID from nodes)
- my $user = DXUser::get_current($call);
+ my $chan = DXChannel::get($call);
+ my $user;
+ $user = $chan->user if $chan;
+ $user ||= DXUser::get($call);
unless ($user) {
$user = DXUser->new($call);
$user->priv(1); # I have relented and defaulted nodes
$user->node($call);
$user->sort('A');
$user->lastin($main::systime); # this make it last longer than just this invocation
- $user->put; # just to make sure it gets written away!!!
+ $user->put unless $chan && $chan->{_nospawn}; # just to make sure it gets written away!!!
}
return $user;
}
$mref->stop_msg($call) if $mref;
$user->lastin($main::systime) unless DXChannel::get($call);
- $user->put;
+ $user->put unless $self->{_nospawn};
}
# we are not automatically sending out PC19s, we send out a composite PC21,PC19 instead
}
}
$user->lastoper($main::systime); # to cut down on excessive for/opers being generated
- $user->put;
+ $user->put unless $self->{_nospawn};
unless ($self->{isolate}) {
DXChannel::broadcast_nodes($line, $self); # send it to everyone but me