} else {
dbg("ROUTE: added user $call to " . $parent->call) if isdbg('routelow');
@rout = $parent->add_user($call, Route::here($here));
+ $dxchan->tell_buddies('loginb', $call, $parent->call) if $dxchan;
}
if ($pc92_slug_changes && $parent == $main::routeroot) {
$things_add{$call} = Route::get($call);
{
my $parent = shift;
my $s = shift;
+ my $dxchan = shift;
my ($call, $is_node, $is_extnode, $here, $version, $build) = @$s;
my @rout;
if ($call) {
dbg("ROUTE: deleting node $call from " . $parent->call) if isdbg('routelow');
@rout = $ref->del($parent) if $ref;
} else {
- $ref = Route::User::get($call);
dbg("ROUTE: deleting user $call from " . $parent->call) if isdbg('routelow');
- @rout = $parent->del_user($ref) if $ref;
+ $ref = Route::User::get($call);
+ if ($ref) {
+ $dxchan->tell_buddies('logoutb', $call, $parent->call) if $dxchan;
+ @rout = $parent->del_user($ref);
+ }
}
if ($pc92_slug_changes && $parent == $main::routeroot) {
$things_del{$call} = $ref unless exists $things_add{$call};
}
} elsif ($sort eq 'D') {
for (@nent) {
- push @rdel, _del_thingy($parent, $_);
+ push @rdel, _del_thingy($parent, $_, $self);
}
} elsif ($sort eq 'C') {
my (@nodes, @users);
}
# del users here
foreach my $r (@$dnodes) {
- push @rdel,_del_thingy($parent, [$r, 1]);
+ push @rdel,_del_thingy($parent, [$r, 1], $self);
}
foreach my $r (@$dusers) {
- push @rdel,_del_thingy($parent, [$r, 0]);
+ push @rdel,_del_thingy($parent, [$r, 0], $self);
}
# remember this last PC92C for rebroadcast on demand
if ($ref->isa('Route::User')) {
my $dxchan = DXChannel::get($to);
push @parent, $to if $dxchan;
- push @parent, @{$ref->parent};
+ push @parent, $ref->parents;
} else {
@parent = $to;
}