- std::string result;
- log(DEBUG,"SAMODE: Being handled");
- userrec* n = new userrec(ServerInstance);
- n->fd = FD_MAGIC_NUMBER;
- ServerInstance->SendMode(parameters,pcnt,n);
- delete n;
- log(DEBUG,"SAMODE: Modechange handled");
- result = std::string(user->nick);
- result.append(" used SAMODE");
- for (int n = 0; n < pcnt; n++)
+ ServerInstance->SendMode(parameters, ServerInstance->FakeClient);
+
+ if (ServerInstance->Modes->GetLastParse().length())
+ {
+ ServerInstance->SNO->WriteToSnoMask('A', std::string(user->nick) + " used SAMODE: " + ServerInstance->Modes->GetLastParse());
+
+ std::string channel = parameters[0];
+ ServerInstance->PI->SendMode(channel, ServerInstance->Modes->GetLastParseParams(), ServerInstance->Modes->GetLastParseTranslate());
+
+ return CMD_LOCALONLY;
+ }
+ else