-void SpanningTreeProtocolInterface::SendMode(const std::string &origin, const std::string &target, parameterlist &modedata)
+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;
+ }
+ else
+ {
+ Channel* c = ServerInstance->FindChan(target);
+ if (c)
+ {
+ outlist.insert(outlist.begin() + 1, ConvToStr(c->age));
+ Utils->DoOneToMany(ServerInstance->Config->GetSID(),"FMODE",outlist);
+ }
+ }
+}
+
+void SpanningTreeProtocolInterface::SendSNONotice(const std::string &snomask, const std::string &text)