- /*
- * Handles an SAMODE request. Notifies all +s users.
- */
- std::string result;
- log(DEBUG,"SAMODE: Being handled");
- userrec* n = new userrec(ServerInstance);
- n->fd = FD_MAGIC_NUMBER;
- Srv->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++)
- {
- result.append(" ");
- result.append(parameters[n]);
- }
- ServerInstance->WriteOpers(result);
+ this->active = true;
+ ServerInstance->Parser->CallHandler("MODE", parameters, user);
+ if (ServerInstance->Modes->GetLastParse().length())
+ ServerInstance->SNO->WriteGlobalSno('a', user->nick + " used SAMODE: " +ServerInstance->Modes->GetLastParse());
+ this->active = false;
+ return CMD_SUCCESS;