- 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;
- default:
- throw CoreException("I don't know how to handle TYPE_OTHER.");
- 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, const parameterlist &modedata, const std::vector<TranslateType> &translate)
-{
- if (modedata.empty())
- return;
-
- std::string outdata;
- ServerInstance->Parser->TranslateUIDs(translate, modedata, outdata);
-
- std::string uidtarget;
- ServerInstance->Parser->TranslateUIDs(TR_NICK, target, uidtarget);
-
- parameterlist outlist;
- outlist.push_back(uidtarget);
- outlist.push_back(outdata);
-
- User* a = ServerInstance->FindNick(uidtarget);
- if (a)
- {
- Utils->DoOneToMany(ServerInstance->Config->GetSID(),"MODE",outlist);
- return;