From 155b8efa31eb29128870370a50054bd1f2954ff2 Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Sun, 14 Aug 2005 01:34:04 +0000 Subject: [PATCH] Improve channel merging and restrict channel age display. src/chanserv.c (merge_data): Merge registered and owner-transfer timestamps, may_opchan flag, and max visitor count. (cmd_info): Only show channel age if the user is privileged. git-archimport-id: srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-26 --- ChangeLog | 15 +++++++++++++++ src/chanserv.c | 15 ++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index c016eb1..92a822f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,21 @@ # arch-tag: automatic-ChangeLog--srvx@srvx.net--2005-srvx/srvx--devo--1.3 # +2005-08-14 01:34:04 GMT Michael Poole patch-26 + + Summary: + Improve channel merging and restrict channel age display. + Revision: + srvx--devo--1.3--patch-26 + + src/chanserv.c (merge_data): Merge registered and owner-transfer + timestamps, may_opchan flag, and max visitor count. + (cmd_info): Only show channel age if the user is privileged. + + modified files: + ChangeLog src/chanserv.c + + 2005-07-19 18:31:26 GMT Michael Poole patch-25 Summary: diff --git a/src/chanserv.c b/src/chanserv.c index 84ea68c..1d7bff9 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -2108,8 +2108,20 @@ merge_bans(struct chanData *source, struct chanData *target) static void merge_data(struct chanData *source, struct chanData *target) { + /* Use more recent visited and owner-transfer time; use older + * registered time. Bitwise or may_opchan. Use higher max. + * Do not touch last_refresh, ban count or user counts. + */ if(source->visited > target->visited) target->visited = source->visited; + if(source->registered < target->registered) + target->registered = source->registered; + if(source->ownerTransfer > target->ownerTransfer) + target->ownerTransfer = source->ownerTransfer; + if(source->may_opchan) + target->may_opchan = 1; + if(source->max > target->max) + target->max = source->max; } static void @@ -3944,9 +3956,10 @@ static CHANSERV_FUNC(cmd_info) reply("CSMSG_CHANNEL_USERS", cData->userCount); reply("CSMSG_CHANNEL_BANS", cData->banCount); reply("CSMSG_CHANNEL_VISITED", intervalString(buffer, now - cData->visited, user->handle_info)); - reply("CSMSG_CHANNEL_REGISTERED", intervalString(buffer, now - cData->registered, user->handle_info)); privileged = IsStaff(user); + if(privileged) + reply("CSMSG_CHANNEL_REGISTERED", intervalString(buffer, now - cData->registered, user->handle_info)); if(((uData && uData->access >= UL_COOWNER) || privileged) && cData->registrar) reply("CSMSG_CHANNEL_REGISTRAR", cData->registrar); -- 2.20.1