summaryrefslogtreecommitdiff
path: root/src/chanserv.c
diff options
context:
space:
mode:
authortrystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-10-07 05:32:21 +0000
committertrystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-10-07 05:32:21 +0000
commitb1e78499cbd4e3855c54abc355be19e62502ac52 (patch)
tree978400028654a1fa070770b7fd27274dca5f06d2 /src/chanserv.c
parenta7b79e36cd487faad8696a1c4a86e301b5965a74 (diff)
BUILD : 1.7.5 (376) BUGS : N/A NOTES : CS INFO - DrStein, init.c typo - DrStein, Bahamut +j support - TSL, more protocol clean up
git-svn-id: svn://svn.anope.org/anope/trunk@376 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@246 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/chanserv.c')
-rw-r--r--src/chanserv.c33
1 files changed, 25 insertions, 8 deletions
diff --git a/src/chanserv.c b/src/chanserv.c
index 731e5262c..bddb03483 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -4815,6 +4815,7 @@ static int do_info(User * u)
const char *commastr = getstring(u->na, COMMA_SPACE);
int is_servadmin = is_services_admin(u);
int show_all = 0;
+ time_t expt;
if (!chan) {
syntax_error(s_ChanServ, u, "INFO", CHAN_INFO_SYNTAX);
@@ -4953,8 +4954,18 @@ static int do_info(User * u)
}
- if ((ci->flags & CI_NO_EXPIRE) && show_all)
+ if ((ci->flags & CI_NO_EXPIRE) && show_all) {
notice_lang(s_ChanServ, u, CHAN_INFO_NO_EXPIRE);
+ } else {
+ if (is_servadmin) {
+ expt = ci->last_used + CSExpire;
+ tm = localtime(&expt);
+ strftime_lang(buf, sizeof(buf), u,
+ STRFTIME_DATE_TIME_FORMAT, tm);
+ notice_lang(s_ChanServ, u, CHAN_INFO_EXPIRE, buf);
+ }
+ }
+
if (ci->flags & CI_SUSPENDED) {
notice_lang(s_ChanServ, u, CHAN_X_SUSPENDED, ci->forbidby,
(ci->forbidreason ? ci->
@@ -5727,8 +5738,7 @@ static int do_clear(User * u)
if (c->mode) {
/* Clear modes the bulk of the modes */
- anope_cmd_mode(s_ChanServ, c->name, "%s %s",
- ircd->modestoremove);
+ anope_cmd_mode(s_ChanServ, c->name, "%s", ircd->modestoremove);
argv[0] = sstrdup(ircd->modestoremove);
chan_set_modes(s_ChanServ, c, 1, argv, 0);
free(argv[0]);
@@ -5750,11 +5760,18 @@ static int do_clear(User * u)
free(argv[0]);
}
if (ircd->fmode && c->flood) {
- anope_cmd_mode(s_ChanServ, c->name, "-f %s", c->flood);
- argv[0] = sstrdup("-f");
- argv[1] = c->flood;
- chan_set_modes(s_ChanServ, c, 2, argv, 0);
- free(argv[0]);
+ if (flood_mode_char_remove) {
+ anope_cmd_mode(s_ChanServ, c->name, "%s %s",
+ flood_mode_char_remove, c->flood);
+ argv[0] = sstrdup(flood_mode_char_remove);
+ argv[1] = c->flood;
+ chan_set_modes(s_ChanServ, c, 2, argv, 0);
+ free(argv[0]);
+ } else {
+ if (debug) {
+ alog("debug: flood_mode_char_remove was not set unable to remove flood/throttle modes");
+ }
+ }
}
}