summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgeniusdex 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
committergeniusdex 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
commite8974f0d3e50a35c36ed63a1b454d2dc9fba51fc (patch)
tree6f0e8f523b74a79715cbe278916ba73fa34f8608 /src
parent22bf8b43b8d5ad4addff2ea9398e5da870699292 (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.c2
-rw-r--r--src/modules.c6
-rw-r--r--src/modules/cs_tban.c128
-rw-r--r--src/modules/os_info.c120
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);
}
}