mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-10 02:59:01 -04:00
Sexeger!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7241 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
parent
d2717df5ef
commit
c2993f666f
@ -1086,7 +1086,7 @@ class CoreExport InspIRCd : public classbase
|
||||
* (one year, two weeks, three days, four hours, six minutes and five seconds)
|
||||
* @return The total number of seconds
|
||||
*/
|
||||
long Duration(const char* str);
|
||||
long Duration(const std::string &str);
|
||||
|
||||
/** Attempt to compare an oper password to a string from the config file.
|
||||
* This will be passed to handling modules which will compare the data
|
||||
|
@ -38,17 +38,18 @@ CmdResult cmd_eline::Handle (const char** parameters, int pcnt, userrec *user)
|
||||
return CMD_FAILURE;
|
||||
}
|
||||
|
||||
if (ServerInstance->XLines->add_eline(ServerInstance->Duration(parameters[1]),user->nick,parameters[2],parameters[0]))
|
||||
long duration = ServerInstance->Duration(parameters[1]);
|
||||
if (ServerInstance->XLines->add_eline(duration,user->nick,parameters[2],parameters[0]))
|
||||
{
|
||||
FOREACH_MOD(I_OnAddELine,OnAddELine(ServerInstance->Duration(parameters[1]), user, parameters[2], parameters[0]));
|
||||
FOREACH_MOD(I_OnAddELine,OnAddELine(duration, user, parameters[2], parameters[0]));
|
||||
|
||||
if (!ServerInstance->Duration(parameters[1]))
|
||||
if (!duration)
|
||||
{
|
||||
ServerInstance->SNO->WriteToSnoMask('x',"%s added permanent E-line for %s.",user->nick,parameters[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
time_t c_requires_crap = ServerInstance->Duration(parameters[1]) + ServerInstance->Time();
|
||||
time_t c_requires_crap = duration + ServerInstance->Time();
|
||||
ServerInstance->SNO->WriteToSnoMask('x',"%s added timed E-line for %s, expires on %s",user->nick,parameters[0],
|
||||
ServerInstance->TimeString(c_requires_crap).c_str());
|
||||
}
|
||||
|
@ -43,20 +43,21 @@ CmdResult cmd_gline::Handle (const char** parameters, int pcnt, userrec *user)
|
||||
return CMD_FAILURE;
|
||||
}
|
||||
|
||||
if (ServerInstance->XLines->add_gline(ServerInstance->Duration(parameters[1]),user->nick,parameters[2],parameters[0]))
|
||||
long duration = ServerInstance->Duration(parameters[1]);
|
||||
if (ServerInstance->XLines->add_gline(duration,user->nick,parameters[2],parameters[0]))
|
||||
{
|
||||
int to_apply = APPLY_GLINES;
|
||||
|
||||
FOREACH_MOD(I_OnAddGLine,OnAddGLine(ServerInstance->Duration(parameters[1]), user, parameters[2], parameters[0]));
|
||||
FOREACH_MOD(I_OnAddGLine,OnAddGLine(duration, user, parameters[2], parameters[0]));
|
||||
|
||||
if (!ServerInstance->Duration(parameters[1]))
|
||||
if (!duration)
|
||||
{
|
||||
ServerInstance->SNO->WriteToSnoMask('x',"%s added permanent G-line for %s.",user->nick,parameters[0]);
|
||||
to_apply |= APPLY_PERM_ONLY;
|
||||
}
|
||||
else
|
||||
{
|
||||
time_t c_requires_crap = ServerInstance->Duration(parameters[1]) + ServerInstance->Time();
|
||||
time_t c_requires_crap = duration + ServerInstance->Time();
|
||||
ServerInstance->SNO->WriteToSnoMask('x',"%s added timed G-line for %s, expires on %s",user->nick,parameters[0],
|
||||
ServerInstance->TimeString(c_requires_crap).c_str());
|
||||
}
|
||||
|
@ -43,20 +43,21 @@ CmdResult cmd_kline::Handle (const char** parameters, int pcnt, userrec *user)
|
||||
return CMD_FAILURE;
|
||||
}
|
||||
|
||||
if (ServerInstance->XLines->add_kline(ServerInstance->Duration(parameters[1]),user->nick,parameters[2],parameters[0]))
|
||||
long duration = ServerInstance->Duration(parameters[1]);
|
||||
if (ServerInstance->XLines->add_kline(duration,user->nick,parameters[2],parameters[0]))
|
||||
{
|
||||
int to_apply = APPLY_KLINES;
|
||||
|
||||
FOREACH_MOD(I_OnAddKLine,OnAddKLine(ServerInstance->Duration(parameters[1]), user, parameters[2], parameters[0]));
|
||||
FOREACH_MOD(I_OnAddKLine,OnAddKLine(duration, user, parameters[2], parameters[0]));
|
||||
|
||||
if (!ServerInstance->Duration(parameters[1]))
|
||||
if (!duration)
|
||||
{
|
||||
ServerInstance->SNO->WriteToSnoMask('x',"%s added permanent K-line for %s.",user->nick,parameters[0]);
|
||||
to_apply |= APPLY_PERM_ONLY;
|
||||
}
|
||||
else
|
||||
{
|
||||
time_t c_requires_crap = ServerInstance->Duration(parameters[1]) + ServerInstance->Time();
|
||||
time_t c_requires_crap = duration + ServerInstance->Time();
|
||||
ServerInstance->SNO->WriteToSnoMask('x',"%s added timed K-line for %s, expires on %s",user->nick,parameters[0],
|
||||
ServerInstance->TimeString(c_requires_crap).c_str());
|
||||
}
|
||||
|
@ -38,19 +38,19 @@ CmdResult cmd_qline::Handle (const char** parameters, int pcnt, userrec *user)
|
||||
return CMD_FAILURE;
|
||||
}
|
||||
|
||||
if (ServerInstance->XLines->add_qline(ServerInstance->Duration(parameters[1]),user->nick,parameters[2],parameters[0]))
|
||||
long duration = ServerInstance->Duration(parameters[1]);
|
||||
if (ServerInstance->XLines->add_qline(duration,user->nick,parameters[2],parameters[0]))
|
||||
{
|
||||
int to_apply = APPLY_QLINES;
|
||||
|
||||
FOREACH_MOD(I_OnAddQLine,OnAddQLine(ServerInstance->Duration(parameters[1]), user, parameters[2], parameters[0]));
|
||||
if (!ServerInstance->Duration(parameters[1]))
|
||||
FOREACH_MOD(I_OnAddQLine,OnAddQLine(duration, user, parameters[2], parameters[0]));
|
||||
if (!duration)
|
||||
{
|
||||
to_apply |= APPLY_PERM_ONLY;
|
||||
ServerInstance->SNO->WriteToSnoMask('x',"%s added permanent Q-line for %s.",user->nick,parameters[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
time_t c_requires_crap = ServerInstance->Duration(parameters[1]) + ServerInstance->Time();
|
||||
time_t c_requires_crap = duration + ServerInstance->Time();
|
||||
ServerInstance->SNO->WriteToSnoMask('x',"%s added timed Q-line for %s, expires on %s",user->nick,parameters[0],
|
||||
ServerInstance->TimeString(c_requires_crap).c_str());
|
||||
}
|
||||
|
@ -38,19 +38,20 @@ CmdResult cmd_zline::Handle (const char** parameters, int pcnt, userrec *user)
|
||||
if (ServerInstance->IPMatchesEveryone(parameters[0],user))
|
||||
return CMD_FAILURE;
|
||||
|
||||
if (ServerInstance->XLines->add_zline(ServerInstance->Duration(parameters[1]),user->nick,parameters[2],parameters[0]))
|
||||
long duration = ServerInstance->Duration(parameters[1]);
|
||||
if (ServerInstance->XLines->add_zline(duration,user->nick,parameters[2],parameters[0]))
|
||||
{
|
||||
int to_apply = APPLY_ZLINES;
|
||||
|
||||
FOREACH_MOD(I_OnAddZLine,OnAddZLine(ServerInstance->Duration(parameters[1]), user, parameters[2], parameters[0]));
|
||||
if (!ServerInstance->Duration(parameters[1]))
|
||||
FOREACH_MOD(I_OnAddZLine,OnAddZLine(duration, user, parameters[2], parameters[0]));
|
||||
if (!duration)
|
||||
{
|
||||
to_apply |= APPLY_PERM_ONLY;
|
||||
ServerInstance->SNO->WriteToSnoMask('x',"%s added permanent Z-line for %s.",user->nick,parameters[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
time_t c_requires_crap = ServerInstance->Duration(parameters[1]) + ServerInstance->Time();
|
||||
time_t c_requires_crap = duration + ServerInstance->Time();
|
||||
ServerInstance->SNO->WriteToSnoMask('x',"%s added timed Z-line for %s, expires on %s",user->nick,parameters[0],
|
||||
ServerInstance->TimeString(c_requires_crap).c_str());
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ std::string InspIRCd::TimeString(time_t curtime)
|
||||
/** Refactored by Brain, Jun 2007. Much faster with some clever O(1) array
|
||||
* lookups and pointer maths.
|
||||
*/
|
||||
long InspIRCd::Duration(const char* str)
|
||||
long InspIRCd::Duration(const std::string &str)
|
||||
{
|
||||
unsigned char multiplier = 0;
|
||||
long total = 0;
|
||||
@ -73,7 +73,7 @@ long InspIRCd::Duration(const char* str)
|
||||
long subtotal = 0;
|
||||
|
||||
/* Iterate each item in the string, looking for number or multiplier */
|
||||
for (const char* i = str + strlen(str) - 1; i >= str; --i)
|
||||
for (std::string::const_reverse_iterator i = str.rbegin(); i != str.rend(); ++i)
|
||||
{
|
||||
/* Found a number, queue it onto the current number */
|
||||
if ((*i >= '0') && (*i <= '9'))
|
||||
|
@ -139,7 +139,7 @@ class ModuleFilterPCRE : public FilterBase
|
||||
std::string reason = MyConf.ReadValue("keyword", "reason", index);
|
||||
std::string action = MyConf.ReadValue("keyword", "action", index);
|
||||
std::string flags = MyConf.ReadValue("keyword", "flags", index);
|
||||
long gline_time = ServerInstance->Duration(MyConf.ReadValue("keyword", "duration", index).c_str());
|
||||
long gline_time = ServerInstance->Duration(MyConf.ReadValue("keyword", "duration", index));
|
||||
if (action.empty())
|
||||
action = "none";
|
||||
if (flags.empty())
|
||||
|
@ -161,7 +161,7 @@ class cmd_dccallow : public command_t
|
||||
long length;
|
||||
if (pcnt < 2)
|
||||
{
|
||||
length = ServerInstance->Duration(default_length.c_str());
|
||||
length = ServerInstance->Duration(default_length);
|
||||
}
|
||||
else if (!atoi(parameters[1]))
|
||||
{
|
||||
|
@ -223,7 +223,7 @@ class ModuleDNSBL : public Module
|
||||
e->reason = MyConf->ReadValue("dnsbl", "reason", i);
|
||||
e->domain = MyConf->ReadValue("dnsbl", "domain", i);
|
||||
e->banaction = str2banaction(MyConf->ReadValue("dnsbl", "action", i));
|
||||
e->duration = ServerInstance->Duration(MyConf->ReadValue("dnsbl", "duration", i).c_str());
|
||||
e->duration = ServerInstance->Duration(MyConf->ReadValue("dnsbl", "duration", i));
|
||||
e->bitmask = MyConf->ReadInteger("dnsbl", "bitmask", i, false);
|
||||
|
||||
/* yeah, logic here is a little messy */
|
||||
|
@ -106,7 +106,7 @@ class ModuleFilter : public FilterBase
|
||||
std::string reason = MyConf->ReadValue("keyword","reason",index);
|
||||
std::string do_action = MyConf->ReadValue("keyword","action",index);
|
||||
std::string flags = MyConf->ReadValue("keyword","flags",index);
|
||||
long gline_time = ServerInstance->Duration(MyConf->ReadValue("keyword","duration",index).c_str());
|
||||
long gline_time = ServerInstance->Duration(MyConf->ReadValue("keyword","duration",index));
|
||||
if (do_action.empty())
|
||||
do_action = "none";
|
||||
if (flags.empty())
|
||||
|
@ -67,14 +67,13 @@ class cmd_tban : public command_t
|
||||
}
|
||||
TimedBan T;
|
||||
std::string channelname = parameters[0];
|
||||
unsigned long expire = ServerInstance->Duration(parameters[1]) + time(NULL);
|
||||
if (ServerInstance->Duration(parameters[1]) < 1)
|
||||
long duration = ServerInstance->Duration(parameters[1]);
|
||||
unsigned long expire = duration + time(NULL);
|
||||
if (duration < 1)
|
||||
{
|
||||
user->WriteServ("NOTICE "+std::string(user->nick)+" :Invalid ban time");
|
||||
return CMD_FAILURE;
|
||||
}
|
||||
char duration[MAXBUF];
|
||||
snprintf(duration,MAXBUF,"%lu",ServerInstance->Duration(parameters[1]));
|
||||
std::string mask = parameters[2];
|
||||
const char *setban[32];
|
||||
setban[0] = parameters[0];
|
||||
@ -94,7 +93,7 @@ class cmd_tban : public command_t
|
||||
T.mask = mask;
|
||||
T.expire = expire;
|
||||
TimedBanList.push_back(T);
|
||||
channel->WriteChannelWithServ(ServerInstance->Config->ServerName, "NOTICE %s :%s added a timed ban on %s lasting for %s seconds.", channel->name, user->nick, mask.c_str(), duration);
|
||||
channel->WriteChannelWithServ(ServerInstance->Config->ServerName, "NOTICE %s :%s added a timed ban on %s lasting for %ld seconds.", channel->name, user->nick, mask.c_str(), duration);
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
return CMD_FAILURE;
|
||||
|
Loading…
x
Reference in New Issue
Block a user