diff options
author | geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-05-03 15:20:53 +0000 |
---|---|---|
committer | geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-05-03 15:20:53 +0000 |
commit | e8974f0d3e50a35c36ed63a1b454d2dc9fba51fc (patch) | |
tree | 6f0e8f523b74a79715cbe278916ba73fa34f8608 /src | |
parent | 22bf8b43b8d5ad4addff2ea9398e5da870699292 (diff) |
BUILD : 1.7.8 (759) BUGS : NOTES : Various updates to the modulepack, and fixed an issue with mod_current_module set incorrectly in some cases, making the lang functions fail
git-svn-id: svn://svn.anope.org/anope/trunk@759 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@521 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/events.c | 2 | ||||
-rw-r--r-- | src/modules.c | 6 | ||||
-rw-r--r-- | src/modules/cs_tban.c | 128 | ||||
-rw-r--r-- | src/modules/os_info.c | 120 |
4 files changed, 142 insertions, 114 deletions
diff --git a/src/events.c b/src/events.c index d0712520e..fc627f51a 100644 --- a/src/events.c +++ b/src/events.c @@ -52,7 +52,7 @@ void send_event(char *name, int argc, ...) va_end(va); if (debug) - alog("Emitting event \"%s\" (%d args)", name, argc); + alog("debug: Emitting event \"%s\" (%d args)", name, argc); event_process_hook(name, argc, argv); diff --git a/src/modules.c b/src/modules.c index a508cda7e..458459f31 100644 --- a/src/modules.c +++ b/src/modules.c @@ -2378,7 +2378,7 @@ void moduleInsertLanguage(int langNumber, int ac, char **av) { int i; - if ((mod_current_module_name) && (!mod_current_module)) { + if ((mod_current_module_name) && (!mod_current_module || strcmp(mod_current_module_name, mod_current_module->name))) { mod_current_module = findModule(mod_current_module_name); } @@ -2412,7 +2412,7 @@ void moduleNoticeLang(char *source, User * u, int number, ...) int lang = LANG_EN_US; char *s, *t, *buf; - if ((mod_current_module_name) && (!mod_current_module)) { + if ((mod_current_module_name) && (!mod_current_module || strcmp(mod_current_module_name, mod_current_module->name))) { mod_current_module = findModule(mod_current_module_name); } /* Find the users lang, and use it if we cant */ @@ -2456,7 +2456,7 @@ void moduleNoticeLang(char *source, User * u, int number, ...) void moduleDeleteLanguage(int langNumber) { int idx = 0; - if ((mod_current_module_name) && (!mod_current_module)) { + if ((mod_current_module_name) && (!mod_current_module || strcmp(mod_current_module_name, mod_current_module->name))) { mod_current_module = findModule(mod_current_module_name); } for (idx = 0; idx > mod_current_module->lang[langNumber].argc; idx++) { diff --git a/src/modules/cs_tban.c b/src/modules/cs_tban.c index 9f56211b9..a790256f0 100644 --- a/src/modules/cs_tban.c +++ b/src/modules/cs_tban.c @@ -3,15 +3,15 @@ #define AUTHOR "Rob" #define VERSION "1" -void myHelp(User *u); -void myFullHelpSyntax(User *u); -int myFullHelp(User *u); -void mySendResponse(User *u, char *channel, char *mask, char *time); +void myHelp(User * u); +void myFullHelpSyntax(User * u); +int myFullHelp(User * u); +void mySendResponse(User * u, char *channel, char *mask, char *time); -int do_tban(User *u); -void addBan(Channel *c, time_t timeout, char *banmask); +int do_tban(User * u); +void addBan(Channel * c, time_t timeout, char *banmask); int delBan(int argc, char **argv); -int canBanUser(Channel *c, User *u, User *u2); +int canBanUser(Channel * c, User * u, User * u2); void mAddLanguages(void); @@ -21,51 +21,57 @@ void mAddLanguages(void); #define TBAN_HELP_DETAIL 2 #define TBAN_RESPONSE 3 -int AnopeInit(int argc, char **argv) { - Command *c; +int AnopeInit(int argc, char **argv) +{ + Command *c; int status = 0; moduleSetChanHelp(myHelp); - c = createCommand("TBAN", do_tban, NULL, -1,-1,-1,-1,-1); - moduleAddHelp(c,myFullHelp); + c = createCommand("TBAN", do_tban, NULL, -1, -1, -1, -1, -1); + moduleAddHelp(c, myFullHelp); status = moduleAddCommand(CHANSERV, c, MOD_HEAD); mAddLanguages(); - if(status!=MOD_ERR_OK) { - return MOD_STOP; + if (status != MOD_ERR_OK) { + return MOD_STOP; } return MOD_CONT; } void AnopeFini(void) { - /* module is unloading */ + /* module is unloading */ } -void myHelp(User *u) { - moduleNoticeLang(s_ChanServ, u,TBAN_HELP); +void myHelp(User * u) +{ + moduleNoticeLang(s_ChanServ, u, TBAN_HELP); } -void myFullHelpSyntax(User *u) { - moduleNoticeLang(s_ChanServ, u,TBAN_SYNTAX); +void myFullHelpSyntax(User * u) +{ + moduleNoticeLang(s_ChanServ, u, TBAN_SYNTAX); } -int myFullHelp(User *u) { +int myFullHelp(User * u) +{ myFullHelpSyntax(u); - notice(s_ChanServ,u->nick,""); - moduleNoticeLang(s_ChanServ, u,TBAN_HELP_DETAIL); + notice(s_ChanServ, u->nick, ""); + moduleNoticeLang(s_ChanServ, u, TBAN_HELP_DETAIL); return MOD_CONT; } -void mySendResponse(User *u, char *channel, char *mask, char *time) { - moduleNoticeLang(s_ChanServ, u,TBAN_RESPONSE,mask,channel,time); +void mySendResponse(User * u, char *channel, char *mask, char *time) +{ + moduleNoticeLang(s_ChanServ, u, TBAN_RESPONSE, mask, channel, time); } -int do_tban(User *u) { +int do_tban(User * u) +{ char mask[BUFSIZE]; Channel *c; - User *u2=NULL; + User *u2 = NULL; char *buffer = moduleGetLastBuffer(); char *chan; @@ -73,33 +79,37 @@ int do_tban(User *u) { char *time; chan = myStrGetToken(buffer, ' ', 0); - nick = myStrGetToken(buffer,' ',1); - time = myStrGetToken(buffer,' ',2); - - if(time && chan && nick) { - + nick = myStrGetToken(buffer, ' ', 1); + time = myStrGetToken(buffer, ' ', 2); + + if (time && chan && nick) { + if (!(c = findchan(chan))) { notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, chan); } else if (!(u2 = finduser(nick))) { notice_lang(s_ChanServ, u, NICK_X_NOT_IN_USE, nick); } else { - if(canBanUser(c,u,u2)) { - get_idealban(c->ci, u2, mask, sizeof(mask)); - addBan(c,dotime(time),mask); - mySendResponse(u,chan,mask,time); + if (canBanUser(c, u, u2)) { + get_idealban(c->ci, u2, mask, sizeof(mask)); + addBan(c, dotime(time), mask); + mySendResponse(u, chan, mask, time); } } } else { myFullHelpSyntax(u); - } - if(time) free(time); - if(nick) free(nick); - if(chan) free(chan); - + } + if (time) + free(time); + if (nick) + free(nick); + if (chan) + free(chan); + return MOD_CONT; } -void addBan(Channel *c, time_t timeout, char *banmask) { +void addBan(Channel * c, time_t timeout, char *banmask) +{ char *av[3]; char *cb[2]; @@ -113,27 +123,29 @@ void addBan(Channel *c, time_t timeout, char *banmask) { chan_set_modes(s_ChanServ, c, 2, av, 1); free(av[0]); - moduleAddCallback("tban",time(NULL)+timeout,delBan,2,cb); + moduleAddCallback("tban", time(NULL) + timeout, delBan, 2, cb); } -int delBan(int argc, char **argv) { +int delBan(int argc, char **argv) +{ char *av[3]; Channel *c; av[0] = sstrdup("-b"); av[1] = argv[1]; - if((c=findchan(argv[0])) && c->ci ) { - anope_cmd_mode(whosends(c->ci), c->name, "-b %s", av[1]); - chan_set_modes(s_ChanServ, c, 2, av, 1); + if ((c = findchan(argv[0])) && c->ci) { + anope_cmd_mode(whosends(c->ci), c->name, "-b %s", av[1]); + chan_set_modes(s_ChanServ, c, 2, av, 1); } - + free(av[0]); - + return MOD_CONT; } -int canBanUser(Channel *c, User *u, User *u2) { +int canBanUser(Channel * c, User * u, User * u2) +{ ChannelInfo *ci; int ok = 0; if (!(ci = c->ci)) { @@ -141,7 +153,7 @@ int canBanUser(Channel *c, User *u, User *u2) { } else if (ci->flags & CI_VERBOTEN) { notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, c->name); } else if (!check_access(u, ci, CA_BAN)) { - notice_lang(s_ChanServ, u, ACCESS_DENIED); + notice_lang(s_ChanServ, u, ACCESS_DENIED); } else if (ircd->except && is_excepted(ci, u2)) { notice_lang(s_ChanServ, u, CHAN_EXCEPTED, u2->nick, ci->name); } else if (ircd->protectedumode && is_protected(u2)) { @@ -154,17 +166,25 @@ int canBanUser(Channel *c, User *u, User *u2) { } -void mAddLanguages(void) { +void mAddLanguages(void) +{ char *langtable_en_us[] = { " TBAN Bans the user for a given length of time", "Syntax: TBAN channel nick time", - "Bans the given user from a channel\n" - "for a specified length of time.\n" - "If the ban is removed before hand, it will\n" - "NOT be replaced.", + "Bans the given user from a channel for a specified length of\n" + "time. If the ban is removed before hand, it will NOT be replaced.", "%s banned from %s, will auto-expire in %s" }; + char *langtable_nl[] = { + " TBAN Verban een gebruiker voor een bepaalde tijd", + "Syntax: TBAN kanaal nick tijd", + "Verbant de gegeven gebruiken van het gegeven kanaal voor de\n" + "gegeven tijdsduur. Als de verbanning eerder wordt verwijderd,\n" + "zal deze NIET worden vervangen.", + "%s verbannen van %s, zal verlopen in %s" + }; moduleInsertLanguage(LANG_EN_US, LANG_NUM_STRINGS, langtable_en_us); + moduleInsertLanguage(LANG_NL, LANG_NUM_STRINGS, langtable_nl); } diff --git a/src/modules/os_info.c b/src/modules/os_info.c index 1e29d0822..be97dad52 100644 --- a/src/modules/os_info.c +++ b/src/modules/os_info.c @@ -25,7 +25,7 @@ #define DEFAULT_DB_NAME "os_info.db" /* Multi-language stuff */ -#define LANG_NUM_STRINGS 16 +#define LANG_NUM_STRINGS 10 #define OINFO_SYNTAX 0 #define OINFO_ADD_SUCCESS 1 @@ -33,16 +33,10 @@ #define OCINFO_SYNTAX 3 #define OCINFO_ADD_SUCCESS 4 #define OCINFO_DEL_SUCCESS 5 -#define OINFO_HELP_1 6 -#define OINFO_HELP_2 7 -#define OINFO_HELP_3 8 -#define OINFO_HELP_4 9 -#define OCINFO_HELP_1 10 -#define OCINFO_HELP_2 11 -#define OCINFO_HELP_3 12 -#define OCINFO_HELP_4 13 -#define OINFO_HELP 14 -#define OCINFO_HELP 15 +#define OINFO_HELP 6 +#define OCINFO_HELP 7 +#define OINFO_HELP_CMD 8 +#define OCINFO_HELP_CMD 9 /*************************************************************************/ @@ -466,7 +460,7 @@ int mLoadConfig(void) char *tmp = NULL; Directive directivas[] = { - {"OSInfoDBName", {{PARAM_SET, PARAM_RELOAD, &tmp}}}, + {"OSInfoDBName", {{PARAM_STRING, PARAM_RELOAD, &tmp}}}, }; Directive *d = &directivas[0]; @@ -529,25 +523,19 @@ void m_AddLanguages(void) "OperInfo line has been added to channel %s", /* OCINFO_DEL_SUCCESS */ "OperInfo line has been removed from channel %s", - /* OINFO_HELP_1 */ - "Syntax: OINFO [ADD|DEL] nick <info>", - /* OINFO_HELP_2 */ - "Add or Delete Oper information for the given nick ", - /* OINFO_HELP_3 */ - "This will show up when any oper /ns info nick's the user.", - /* OINFO_HELP_4 */ - "and can be used for 'tagging' users etc....", - /* OCINFO_HELP_1 */ - "Syntax: OINFO [ADD|DEL] chan <info>", - /* OCINFO_HELP_2 */ - "Add or Delete Oper information for the given channel", - /* OCINFO_HELP_3 */ - "This will show up when any oper /ns info's the channel.", - /* OCINFO_HELP_4 */ - "and can be used for 'tagging' channels etc....", /* OINFO_HELP */ - " OINFO Add / Del an OperInfo line to a nick", + "Syntax: OINFO [ADD|DEL] nick <info>\n" + "Add or Delete Oper information for the given nick\n" + "This will show up when any oper /ns info nick's the user.\n" + "and can be used for 'tagging' users etc....", /* OCINFO_HELP */ + "Syntax: OINFO [ADD|DEL] chan <info>\n" + "Add or Delete Oper information for the given channel\n" + "This will show up when any oper /cs info's the channel.\n" + "and can be used for 'tagging' channels etc....", + /* OINFO_HELP_CMD */ + " OINFO Add / Del an OperInfo line to a nick", + /* OCINFO_HELP_CMD */ " OINFO Add / Del an OperInfo line to a channel" }; @@ -564,30 +552,56 @@ void m_AddLanguages(void) "Linea OperInfo ha sido agregada al canal %s", /* OCINFO_DEL_SUCCESS */ "La linea OperInfo ha sido removida del canal %s", - /* OINFO_HELP_1 */ - "Sintaxis: OINFO [ADD|DEL] nick <info>", - /* OINFO_HELP_2 */ - "Agrega o elimina informacion para Operadores al nick dado", - /* OINFO_HELP_3 */ - "Esto se mostrara cuando cualquier operador haga /ns info nick", - /* OINFO_HELP_4 */ - "y puede ser usado para 'marcado' de usuarios, etc....", - /* OCINFO_HELP_1 */ - "Sintaxis: OINFO [ADD|DEL] chan <info>", - /* OCINFO_HELP_2 */ - "Agrega o elimina informacion para Operadores al canal dado", - /* OCINFO_HELP_3 */ - "Esto se mostrara cuando cualquier operador haga /cs info canal", - /* OCINFO_HELP_4 */ - "y puede ser usado para 'marcado' de canales, etc....", /* OINFO_HELP */ - " OINFO Agrega / Elimina una linea OperInfo al nick", + "Sintaxis: OINFO [ADD|DEL] nick <info>\n" + "Agrega o elimina informacion para Operadores al nick dado\n" + "Esto se mostrara cuando cualquier operador haga /ns info nick\n" + "y puede ser usado para 'marcado' de usuarios, etc....", /* OCINFO_HELP */ + "Sintaxis: OINFO [ADD|DEL] chan <info>\n" + "Agrega o elimina informacion para Operadores al canal dado\n" + "Esto se mostrara cuando cualquier operador haga /cs info canal\n" + "y puede ser usado para 'marcado' de canales, etc....", + /* OINFO_HELP_CMD */ + " OINFO Agrega / Elimina una linea OperInfo al nick", + /* OCINFO_HELP_CMD */ " OINFO Agrega / Elimina una linea OperInfo al canal" }; + char *langtable_nl[] = { + /* OINFO_SYNTAX */ + "Gebruik: OINFO [ADD|DEL] nick <info>", + /* OINFO_ADD_SUCCESS */ + "OperInfo regel is toegevoegd aan nick %s", + /* OINFO_DEL_SUCCESS */ + "OperInfo regel is weggehaald van nick %s", + /* OCINFO_SYNTAX */ + "Gebruik: OINFO [ADD|DEL] kanaal <info>", + /* OCINFO_ADD_SUCCESS */ + "OperInfo regel is toegevoegd aan kanaal %s", + /* OCINFO_DEL_SUCCESS */ + "OperInfo regel is weggehaald van kanaal %s", + /* OINFO_HELP */ + "Gebruik: OINFO [ADD|DEL] nick <info>\n" + "Voeg een Oper informatie regel toe aan de gegeven nick, of\n" + "verwijder deze. Deze regel zal worden weergegeven wanneer\n" + "een oper /ns info nick doet voor deze gebruiker, en kan worden\n" + "gebruikt om een gebruiker te 'markeren' etc...", + /* OCINFO_HELP */ + "Gebruik: OINFO [ADD|DEL] kanaal <info>\n" + "Voeg een Oper informatie regel toe aan de gegeven kanaal, of\n" + "verwijder deze. Deze regel zal worden weergegeven wanneer\n" + "een oper /cs info kanaal doet voor dit kanaal, en kan worden\n" + "gebruikt om een kanaal te 'markeren' etc...", + /* OINFO_HELP_CMD */ + " OINFO Add / Del an OperInfo line to a nick", + /* OCINFO_HELP_CMD */ + " OINFO Add / Del an OperInfo line to a channel" + }; + moduleInsertLanguage(LANG_EN_US, LANG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_ES, LANG_NUM_STRINGS, langtable_es); + moduleInsertLanguage(LANG_NL, LANG_NUM_STRINGS, langtable_nl); } /*************************************************************************/ @@ -595,10 +609,7 @@ void m_AddLanguages(void) int mNickHelp(User * u) { if (is_oper(u)) { - moduleNoticeLang(s_NickServ, u, OINFO_HELP_1); - moduleNoticeLang(s_NickServ, u, OINFO_HELP_2); - moduleNoticeLang(s_NickServ, u, OINFO_HELP_3); - moduleNoticeLang(s_NickServ, u, OINFO_HELP_4); + moduleNoticeLang(s_NickServ, u, OINFO_HELP); } else { notice_lang(s_NickServ, u, NO_HELP_AVAILABLE, "OINFO"); } @@ -608,10 +619,7 @@ int mNickHelp(User * u) int mChanHelp(User * u) { if (is_oper(u)) { - moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_1); - moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_2); - moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_3); - moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_4); + moduleNoticeLang(s_ChanServ, u, OCINFO_HELP); } else { notice_lang(s_ChanServ, u, NO_HELP_AVAILABLE, "OINFO"); } @@ -622,7 +630,7 @@ int mChanHelp(User * u) void mMainNickHelp(User * u) { if (is_oper(u)) { - moduleNoticeLang(s_NickServ, u, OINFO_HELP); + moduleNoticeLang(s_NickServ, u, OINFO_HELP_CMD); } } @@ -630,7 +638,7 @@ void mMainNickHelp(User * u) void mMainChanHelp(User * u) { if (is_oper(u)) { - moduleNoticeLang(s_ChanServ, u, OCINFO_HELP); + moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_CMD); } } |