if (!IS_LOCAL(user))
return;
- CmdBuilder params(user->uuid, "TOPIC");
- params.push_back(chan->name);
- params.push_last(topic);
- params.Broadcast();
+ CommandFTopic::Builder(user, chan).Broadcast();
}
void ModuleSpanningTree::OnUserMessage(User* user, void* dest, int target_type, const std::string& text, char status, const CUList& exempt_list, MessageType msgtype)
}
}
-void ModuleSpanningTree::OnRehash(User* user)
+void ModuleSpanningTree::ReadConfig(ConfigStatus& status)
{
// Re-read config stuff
try
std::string msg = "Error in configuration: ";
msg.append(e.GetReason());
ServerInstance->SNO->WriteToSnoMask('l', msg);
- if (user && !IS_LOCAL(user))
+ if (status.srcuser && !IS_LOCAL(status.srcuser))
ServerInstance->PI->SendSNONotice("L", msg);
}
}
sock->Close();
}
}
+
+ for (SpanningTreeUtilities::TimeoutList::const_iterator i = Utils->timeoutlist.begin(); i != Utils->timeoutlist.end(); ++i)
+ {
+ TreeSocket* sock = i->first;
+ if (sock->GetIOHook() && sock->GetIOHook()->creator == mod)
+ sock->Close();
+ }
}
// note: the protocol does not allow direct umode +o except