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], modedata[n]);
+ {
+ ServerInstance->Parser->TranslateUIDs(TR_NICK, modedata[n], outdata);
+ modedata[n] = outdata;
+ }
std::string uidtarget;
ServerInstance->Parser->TranslateUIDs(TR_NICK, target, uidtarget);
}
}
-void SpanningTreeProtocolInterface::SendOperNotice(const std::string &text)
-{
- parameterlist p;
- p.push_back(":" + text);
- Utils->DoOneToMany(ServerInstance->Config->GetSID(), "OPERNOTICE", p);
-}
-
void SpanningTreeProtocolInterface::SendModeNotice(const std::string &modes, const std::string &text)
{
parameterlist p;
void SpanningTreeProtocolInterface::SendChannelPrivmsg(Channel* target, char status, const std::string &text)
{
- SendChannel(target, status, ServerInstance->Config->GetSID()+" PRIVMSG "+target->name+" :"+text);
+ SendChannel(target, status, ":" + ServerInstance->Config->GetSID()+" PRIVMSG "+target->name+" :"+text);
}
void SpanningTreeProtocolInterface::SendChannelNotice(Channel* target, char status, const std::string &text)
{
- SendChannel(target, status, ServerInstance->Config->GetSID()+" NOTICE "+target->name+" :"+text);
+ SendChannel(target, status, ":" + ServerInstance->Config->GetSID()+" NOTICE "+target->name+" :"+text);
+}
+
+void SpanningTreeProtocolInterface::SendUserPrivmsg(User* target, const std::string &text)
+{
+ TreeServer* serv = Utils->FindServer(target->server);
+ if (serv)
+ {
+ TreeSocket* sock = serv->GetSocket();
+ if (sock)
+ {
+ sock->WriteLine(":" + ServerInstance->Config->GetSID() + " PRIVMSG " + target->nick + " :"+text);
+ }
+ }
+}
+
+void SpanningTreeProtocolInterface::SendUserNotice(User* target, const std::string &text)
+{
+ TreeServer* serv = Utils->FindServer(target->server);
+ if (serv)
+ {
+ TreeSocket* sock = serv->GetSocket();
+ if (sock)
+ {
+ sock->WriteLine(":" + ServerInstance->Config->GetSID() + " NOTICE " + target->nick + " :"+text);
+ }
+ }
}