* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
- * InspIRCd: (C) 2002-2008 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ * InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * See: http://wiki.inspircd.org/Credits
*
* This program is free but copyrighted software; see
* the file COPYING for details.
*/
CmdResult CommandInvite::Handle (const std::vector<std::string>& parameters, User *user)
{
- int MOD_RESULT = 0;
+ ModResult MOD_RESULT;
if (parameters.size() == 2 || parameters.size() == 3)
{
time_t timeout = 0;
if (parameters.size() == 3)
{
- timeout = time(NULL) + ServerInstance->Duration(parameters[2]);
+ if (IS_LOCAL(user))
+ timeout = ServerInstance->Time() + ServerInstance->Duration(parameters[2]);
+ else
+ timeout = ConvToInt(parameters[2]);
}
if ((!c) || (!u))
return CMD_FAILURE;
}
- FOREACH_RESULT(I_OnUserPreInvite,OnUserPreInvite(user,u,c,timeout));
+ FIRST_MOD_RESULT(ServerInstance, OnUserPreInvite, MOD_RESULT, (user,u,c,timeout));
- if (MOD_RESULT == 1)
+ if (MOD_RESULT == MOD_RES_DENY)
{
return CMD_FAILURE;
}
- else if (MOD_RESULT == 0)
+ else if (MOD_RESULT == MOD_RES_PASSTHRU)
{
if (IS_LOCAL(user))
{