diff options
author | Adam <Adam@anope.org> | 2010-08-03 01:49:15 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-08-03 01:49:15 -0400 |
commit | 59ee16c7cb14d1ac80b9ed9b89d868af45de5ee5 (patch) | |
tree | 68e41ef54f6a77f8e8b75e80ef5eeda9a2ecdf04 /modules/core/ns_set_language.cpp | |
parent | 7b27a4e49192645b67eddba829a588e9e6d978ee (diff) |
Made ns set/saset work like cs set/saset, cleans up a lot of code
Diffstat (limited to 'modules/core/ns_set_language.cpp')
-rw-r--r-- | modules/core/ns_set_language.cpp | 41 |
1 files changed, 10 insertions, 31 deletions
diff --git a/modules/core/ns_set_language.cpp b/modules/core/ns_set_language.cpp index 6535376e5..844826204 100644 --- a/modules/core/ns_set_language.cpp +++ b/modules/core/ns_set_language.cpp @@ -16,13 +16,17 @@ class CommandNSSetLanguage : public Command { public: - CommandNSSetLanguage() : Command("LANGUAGE", 1) + CommandNSSetLanguage(const Anope::string &spermission = "") : Command("LANGUAGE", 2, 2, spermission) { } CommandReturn Execute(User *u, const std::vector<Anope::string> ¶ms) { - Anope::string param = params[0]; + NickCore *nc = findcore(params[0]); + if (!nc) + throw CoreException("NULL nc in CommandNSSetLanguage"); + + Anope::string param = params[1]; if (param.find_first_not_of("0123456789") != Anope::string::npos) /* i.e. not a number */ { @@ -37,8 +41,8 @@ class CommandNSSetLanguage : public Command return MOD_CONT; } - u->Account()->language = langlist[langnum]; - notice_lang(Config.s_NickServ, u, NICK_SET_LANGUAGE_CHANGED); + nc->language = langlist[langnum]; + notice_lang(Config.s_NickServ, u, NICK_SASET_LANGUAGE_CHANGED); return MOD_CONT; } @@ -60,36 +64,11 @@ class CommandNSSetLanguage : public Command } }; -class CommandNSSASetLanguage : public Command +class CommandNSSASetLanguage : public CommandNSSetLanguage { public: - CommandNSSASetLanguage() : Command("LANGUAGE", 2, 2, "nickserv/saset/language") - { - } - - CommandReturn Execute(User *u, const std::vector<Anope::string> ¶ms) + CommandNSSASetLanguage() : CommandNSSetLanguage("nickserv/saset/language") { - NickCore *nc = findcore(params[0]); - if (!nc) - throw CoreException("NULL nc in CommandNSSASetLanguage"); - - Anope::string param = params[1]; - - if (param.find_first_not_of("0123456789") != Anope::string::npos) /* i.e. not a number */ - { - this->OnSyntaxError(u, "LANGUAGE"); - return MOD_CONT; - } - int langnum = convertTo<int>(param) - 1; - if (langnum < 0 || langnum >= NUM_LANGS || langlist[langnum] < 0) - { - notice_lang(Config.s_NickServ, u, NICK_SASET_LANGUAGE_UNKNOWN, langnum + 1, Config.s_NickServ.c_str()); - return MOD_CONT; - } - nc->language = langlist[langnum]; - notice_lang(Config.s_NickServ, u, NICK_SASET_LANGUAGE_CHANGED); - - return MOD_CONT; } bool OnHelp(User *u, const Anope::string &) |