summaryrefslogtreecommitdiff
path: root/src/modules/cs_tban.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/cs_tban.c')
-rw-r--r--src/modules/cs_tban.c128
1 files changed, 74 insertions, 54 deletions
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);
}