- ServerInstance->WriteOpers("*** %s used SWHOIS to set %s's extra whois to '%s'", user->nick, dest->nick, line.c_str());
- }
-
- text = new std::string(line);
- dest->Extend("swhois", text);
+ ServerInstance->SNO->WriteGlobalSno('a', "%s used SWHOIS to set %s's extra whois from '%s' to '%s'", user->nick.c_str(), dest->nick.c_str(), text->c_str(), parameters[1].c_str());
+
+ dest->Shrink("swhois");
+ delete text;
+ }
+ else if (!ServerInstance->ULine(user->server))
+ {
+ // Ulines set SWHOISes silently
+ ServerInstance->SNO->WriteGlobalSno('a', "%s used SWHOIS to set %s's extra whois to '%s'", user->nick.c_str(), dest->nick.c_str(), parameters[1].c_str());
+ }
+
+ text = new std::string(parameters[1]);
+ dest->Extend("swhois", text);
+
+ /* Bug #376 - feature request -
+ * To cut down on the amount of commands services etc have to recognise, this only sends METADATA across the network now
+ * not an actual SWHOIS command. Any SWHOIS command sent from services will be automatically translated to METADATA by this.
+ * Sorry w00t i know this was your fix, but i got bored and wanted to clear down the tracker :)
+ * -- Brain
+ */
+ ServerInstance->PI->SendMetaData(dest, "swhois", *text);