- parameterlist params;
-
- switch (type)
- {
- case TYPE_USER:
- params.push_back(((User*)target)->uuid);
- break;
- case TYPE_CHANNEL:
- params.push_back(((Channel*)target)->name);
- break;
- case TYPE_SERVER:
- params.push_back("*");
- break;
- }
- params.push_back(key);
- params.push_back(":" + data);
-
- Utils->DoOneToMany(ServerInstance->Config->GetSID(),"METADATA",params);
-}
-
-void SpanningTreeProtocolInterface::SendTopic(Channel* channel, std::string &topic)
-{
- parameterlist params;
-
- params.push_back(channel->name);
- params.push_back(ConvToStr(ServerInstance->Time()));
- params.push_back(ServerInstance->Config->ServerName);
- params.push_back(":" + topic);
-
- Utils->DoOneToMany(ServerInstance->Config->GetSID(),"FTOPIC", params);
-}
-
-void SpanningTreeProtocolInterface::SendMode(const std::string &target, parameterlist &modedata)
-{
- if (modedata.empty())
- return;
-
- std::string outdata;
-
- /* Warning: in-place translation is only safe for type TR_NICK */
- for (size_t n = 0; n < modedata.size(); n++)
- {
- ServerInstance->Parser->TranslateUIDs(TR_NICK, modedata[n], outdata);
- modedata[n] = outdata;
- }