summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpeavey <peavey@e03df62e-2008-0410-955e-edbf42e46eb7>2007-06-19 13:18:18 +0000
committerpeavey <peavey@e03df62e-2008-0410-955e-edbf42e46eb7>2007-06-19 13:18:18 +0000
commitdb9b9b0c84b4258660b81721a8ddcc0eb9f2ae4b (patch)
tree3111b32aff3288cb6a1f48813fcea51cc33f4cf0
parent8d6ca820a704064870c713efd3c325d54bf17d90 (diff)
Support duration to set idletime as well as plain seconds. For you Zaba :>
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7390 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_setidle.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/modules/m_setidle.cpp b/src/modules/m_setidle.cpp
index 88c94ce70..a43c2142b 100644
--- a/src/modules/m_setidle.cpp
+++ b/src/modules/m_setidle.cpp
@@ -26,21 +26,22 @@ class cmd_setidle : public command_t
cmd_setidle (InspIRCd* Instance) : command_t(Instance,"SETIDLE", 'o', 1)
{
this->source = "m_setidle.so";
- syntax = "<idle-seconds>";
+ syntax = "<duration>";
}
CmdResult Handle (const char** parameters, int pcnt, userrec *user)
{
- if (atoi(parameters[0]) < 1)
+ time_t idle = ServerInstance->Duration(parameters[0]);
+ if (idle < 1)
{
user->WriteServ("948 %s :Invalid idle time.",user->nick);
return CMD_FAILURE;
}
- user->idle_lastmsg = time(NULL) - atoi(parameters[0]);
+ user->idle_lastmsg = (ServerInstance->Time() - idle);
// minor tweak - we cant have signon time shorter than our idle time!
if (user->signon > user->idle_lastmsg)
user->signon = user->idle_lastmsg;
- ServerInstance->WriteOpers(std::string(user->nick)+" used SETIDLE to set their idle time to "+ConvToStr(atoi(parameters[0]))+" seconds");
+ ServerInstance->WriteOpers(std::string(user->nick)+" used SETIDLE to set their idle time to "+ConvToStr(idle)+" seconds");
user->WriteServ("944 %s :Idle time set.",user->nick);
return CMD_LOCALONLY;