From 921ddbd517a8575205931b10ad66f6607e0f5890 Mon Sep 17 00:00:00 2001 From: Adam- Date: Tue, 3 Nov 2009 02:05:45 +0000 Subject: Added OnPreNickExpire and OnPreChanExpire events, which can keep nicks and channels from expiring git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2605 5417fbe8-f217-4b02-8779-1006273d7864 --- src/chanserv.c | 9 ++++++++- src/nickserv.c | 5 +++++ 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/chanserv.c b/src/chanserv.c index 991b708ef..dc0cca07f 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -1449,10 +1449,17 @@ void expire_chans() && !(ci-> flags & (CI_FORBIDDEN | CI_NO_EXPIRE | CI_SUSPENDED))) { - FOREACH_MOD(I_OnChanExpire, OnChanExpire(ci->name)); + EventReturn MOD_RESULT; + FOREACH_RESULT(I_OnPreChanExpire, OnPreChanExpire(ci)); + if (MOD_RESULT == EVENT_STOP) + continue; + + char *chname = sstrdup(ci->name); alog("Expiring channel %s (founder: %s)", ci->name, (ci->founder ? ci->founder->display : "(none)")); delchan(ci); + FOREACH_MOD(I_OnChanExpire, OnChanExpire(chname)); + delete [] chname; } } } diff --git a/src/nickserv.c b/src/nickserv.c index de9b6de88..a6489bbc3 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -797,6 +797,11 @@ void expire_nicks() && !(na->status & (NS_FORBIDDEN | NS_NO_EXPIRE)) && !(na->nc->flags & (NI_SUSPENDED))) { + EventReturn MOD_RESULT; + FOREACH_RESULT(I_OnPreNickExpire, OnPreNickExpire(na)); + if (MOD_RESULT == EVENT_STOP) + continue; + alog("Expiring nickname %s (group: %s) (e-mail: %s)", na->nick, na->nc->display, (na->nc->email ? na->nc->email : "none")); -- cgit