diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2004-04-04 15:18:34 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2004-04-04 15:18:34 +0000 |
commit | 9ed9068cc693fe0e39e2d2e0848a212254609ae4 (patch) | |
tree | 419d90c4295b1b5b39c1514a685fbaab4486a684 /src/inspircd.cpp | |
parent | dea017b159f24701cf5e4b402b1e50bd63862352 (diff) |
Fixed idle time
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@376 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r-- | src/inspircd.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp index f66f4fc74..15ce95fad 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -1061,9 +1061,16 @@ char* chanmodes(chanrec *chan) } if (strlen(chan->custom_modes)) { - // TODO: Tack on mode parameters here - - // IN ORDER OF CUSTOM_MODES! strncat(scratch,chan->custom_modes,MAXMODES); + for (int z = 0; z < strlen(chan->custom_modes); z++) + { + std::string extparam = chan->GetModeParameter(chan->custom_modes[z]); + if (extparam != "") + { + strcat(sparam," "); + strcat(sparam,extparam.c_str()); + } + } } log(DEBUG,"chanmodes: %s %s%s",chan->name,scratch,sparam); strncat(scratch,sparam,MAXMODES); @@ -3376,6 +3383,8 @@ void handle_privmsg(char **parameters, int pcnt, userrec *user) { userrec *dest; chanrec *chan; + + user->idle_lastmsg = time(NULL); if (loop_call(handle_privmsg,parameters,pcnt,user,0,pcnt-2,0)) return; @@ -3426,6 +3435,8 @@ void handle_notice(char **parameters, int pcnt, userrec *user) userrec *dest; chanrec *chan; + user->idle_lastmsg = time(NULL); + if (loop_call(handle_notice,parameters,pcnt,user,0,pcnt-2,0)) return; if (parameters[0][0] == '#') @@ -4464,7 +4475,6 @@ void process_command(userrec *user, char* cmd) if (user) { - user->idle_lastmsg = time(NULL); /* activity resets the ping pending timer */ user->nping = time(NULL) + 120; if ((items) < cmdlist[i].min_params) |