+ else if (cmd == "SVSMODE")
+ {
+ cmd = "MODE";
+ }
+ else if (cmd == "OPERQUIT")
+ {
+ // Translate OPERQUIT into METADATA
+ if (params.empty())
+ return false;
+
+ cmd = "METADATA";
+ params.insert(params.begin(), who->uuid);
+ params.insert(params.begin()+1, "operquit");
+ who = MyRoot->ServerUser;
+ }
+ else if ((cmd == "TOPIC") && (params.size() >= 2))
+ {
+ // :20DAAAAAC TOPIC #chan :new topic
+ cmd = "FTOPIC";
+ if (!InsertCurrentChannelTS(params))
+ return false;
+
+ params.insert(params.begin()+2, ConvToStr(ServerInstance->Time()));
+ }
+ else if (cmd == "MODENOTICE")
+ {
+ // MODENOTICE is always supported by 2.0 but it's optional in 2.2.
+ params.insert(params.begin(), "*");
+ params.insert(params.begin()+1, cmd);
+ cmd = "ENCAP";
+ }
+ else if (cmd == "RULES")
+ {
+ return false;
+ }