+ flags_needed = 'o'; Penalty = 0; syntax = "<nick> <reason>";
+ TRANSLATE3(TR_NICK, TR_TEXT, TR_END);
+ }
+
+ CmdResult Handle (const std::vector<std::string>& parameters, User *user)
+ {
+ User* dest = ServerInstance->FindNick(parameters[0]);
+ if (dest)
+ {
+ if (ServerInstance->ULine(dest->server))
+ {
+ user->WriteNumeric(ERR_NOPRIVILEGES, "%s :Cannot use an SA command on a u-lined client",user->nick.c_str());
+ return CMD_FAILURE;
+ }
+
+ // Pass the command on, so the client's server can quit it properly.
+ if (!IS_LOCAL(dest))
+ return CMD_SUCCESS;
+
+ ServerInstance->SNO->WriteGlobalSno('a', std::string(user->nick)+" used SAQUIT to make "+std::string(dest->nick)+" quit with a reason of "+parameters[1]);
+
+ ServerInstance->Users->QuitUser(dest, parameters[1]);
+ return CMD_SUCCESS;
+ }
+ else