aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Sadie Powell2025-03-02 14:15:02 +0000
committerGravatar Sadie Powell2025-03-03 14:00:16 +0000
commit2102b065d4ed91c5199c1dececdec4e385657cfd (patch)
tree344337bb5099dcbf3c0aba113d3ec07955ef00f9 /src
parentAdd an 005 token to let clients know that fakelag is enabled. (diff)
Add Duration::ToHuman and update messages to use it.
Diffstat (limited to 'src')
-rw-r--r--src/coremods/core_oper/core_oper.cpp4
-rw-r--r--src/coremods/core_xline/cmd_eline.cpp2
-rw-r--r--src/coremods/core_xline/cmd_gline.cpp2
-rw-r--r--src/coremods/core_xline/cmd_kline.cpp2
-rw-r--r--src/coremods/core_xline/cmd_qline.cpp2
-rw-r--r--src/coremods/core_xline/cmd_zline.cpp2
-rw-r--r--src/helperfuncs.cpp71
-rw-r--r--src/modules/extra/m_ssl_gnutls.cpp4
-rw-r--r--src/modules/extra/m_ssl_openssl.cpp4
-rw-r--r--src/modules/m_cban.cpp2
-rw-r--r--src/modules/m_chanhistory.cpp2
-rw-r--r--src/modules/m_connectban.cpp2
-rw-r--r--src/modules/m_dccallow.cpp2
-rw-r--r--src/modules/m_dnsbl.cpp2
-rw-r--r--src/modules/m_filter.cpp14
-rw-r--r--src/modules/m_helpmode.cpp4
-rw-r--r--src/modules/m_hideoper.cpp4
-rw-r--r--src/modules/m_rline.cpp4
-rw-r--r--src/modules/m_securelist.cpp2
-rw-r--r--src/modules/m_shun.cpp2
-rw-r--r--src/modules/m_spanningtree/addline.cpp2
-rw-r--r--src/modules/m_spanningtree/treesocket2.cpp2
-rw-r--r--src/modules/m_sslinfo.cpp2
-rw-r--r--src/modules/m_timedbans.cpp2
-rw-r--r--src/modules/m_xline_db.cpp2
-rw-r--r--src/xline.cpp2
26 files changed, 108 insertions, 37 deletions
diff --git a/src/coremods/core_oper/core_oper.cpp b/src/coremods/core_oper/core_oper.cpp
index 5363d9ae4..a34219e01 100644
--- a/src/coremods/core_oper/core_oper.cpp
+++ b/src/coremods/core_oper/core_oper.cpp
@@ -217,7 +217,7 @@ public:
std::string extra;
if (oper->IsAway())
{
- const std::string awayperiod = Duration::ToString(ServerInstance->Time() - oper->away->time);
+ const std::string awayperiod = Duration::ToHuman(ServerInstance->Time() - oper->away->time);
const std::string awaytime = Time::ToString(oper->away->time);
extra = INSP_FORMAT(": away for {} [since {}] ({})", awayperiod, awaytime, oper->away->message);
@@ -226,7 +226,7 @@ public:
auto* loper = IS_LOCAL(oper);
if (loper)
{
- const std::string idleperiod = Duration::ToString(ServerInstance->Time() - loper->idle_lastmsg);
+ const std::string idleperiod = Duration::ToHuman(ServerInstance->Time() - loper->idle_lastmsg);
const std::string idletime = Time::ToString(loper->idle_lastmsg);
extra += INSP_FORMAT("{} idle for {} [since {}]", extra.empty() ? ':' : ',', idleperiod, idletime);
diff --git a/src/coremods/core_xline/cmd_eline.cpp b/src/coremods/core_xline/cmd_eline.cpp
index c51081074..61e407ec2 100644
--- a/src/coremods/core_xline/cmd_eline.cpp
+++ b/src/coremods/core_xline/cmd_eline.cpp
@@ -83,7 +83,7 @@ CmdResult CommandEline::Handle(User* user, const Params& parameters)
else
{
ServerInstance->SNO.WriteToSnoMask('x', "{} added a timed E-line on {}, expires in {} (on {}): {}",
- user->nick, target, Duration::ToString(duration), Time::FromNow(duration), el->reason);
+ user->nick, target, Duration::ToHuman(duration), Time::FromNow(duration), el->reason);
}
}
else
diff --git a/src/coremods/core_xline/cmd_gline.cpp b/src/coremods/core_xline/cmd_gline.cpp
index bf90946e0..59a393b5e 100644
--- a/src/coremods/core_xline/cmd_gline.cpp
+++ b/src/coremods/core_xline/cmd_gline.cpp
@@ -90,7 +90,7 @@ CmdResult CommandGline::Handle(User* user, const Params& parameters)
else
{
ServerInstance->SNO.WriteToSnoMask('x', "{} added a timed G-line on {}, expires in {} (on {}): {}",
- user->nick, target, Duration::ToString(duration), Time::FromNow(duration), gl->reason);
+ user->nick, target, Duration::ToHuman(duration), Time::FromNow(duration), gl->reason);
}
ServerInstance->XLines->ApplyLines();
diff --git a/src/coremods/core_xline/cmd_kline.cpp b/src/coremods/core_xline/cmd_kline.cpp
index 46917d45f..68d5e8e62 100644
--- a/src/coremods/core_xline/cmd_kline.cpp
+++ b/src/coremods/core_xline/cmd_kline.cpp
@@ -90,7 +90,7 @@ CmdResult CommandKline::Handle(User* user, const Params& parameters)
else
{
ServerInstance->SNO.WriteToSnoMask('x', "{} added a timed K-line on {}, expires in {} (on {}): {}",
- user->nick, target, Duration::ToString(duration), Time::FromNow(duration), kl->reason);
+ user->nick, target, Duration::ToHuman(duration), Time::FromNow(duration), kl->reason);
}
ServerInstance->XLines->ApplyLines();
diff --git a/src/coremods/core_xline/cmd_qline.cpp b/src/coremods/core_xline/cmd_qline.cpp
index 1b107d613..e8327d702 100644
--- a/src/coremods/core_xline/cmd_qline.cpp
+++ b/src/coremods/core_xline/cmd_qline.cpp
@@ -72,7 +72,7 @@ CmdResult CommandQline::Handle(User* user, const Params& parameters)
else
{
ServerInstance->SNO.WriteToSnoMask('x', "{} added a timed Q-line on {}, expires in {} (on {}): {}",
- user->nick, parameters[0], Duration::ToString(duration), Time::FromNow(duration), ql->reason);
+ user->nick, parameters[0], Duration::ToHuman(duration), Time::FromNow(duration), ql->reason);
}
ServerInstance->XLines->ApplyLines();
}
diff --git a/src/coremods/core_xline/cmd_zline.cpp b/src/coremods/core_xline/cmd_zline.cpp
index 54ce96c98..6bd909932 100644
--- a/src/coremods/core_xline/cmd_zline.cpp
+++ b/src/coremods/core_xline/cmd_zline.cpp
@@ -89,7 +89,7 @@ CmdResult CommandZline::Handle(User* user, const Params& parameters)
else
{
ServerInstance->SNO.WriteToSnoMask('x', "{} added a timed Z-line on {}, expires in {} (on {}): {}",
- user->nick, ipaddr, Duration::ToString(duration), Time::FromNow(duration), zl->reason);
+ user->nick, ipaddr, Duration::ToHuman(duration), Time::FromNow(duration), zl->reason);
}
ServerInstance->XLines->ApplyLines();
}
diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp
index a43c4d9dd..3cfb65d9f 100644
--- a/src/helperfuncs.cpp
+++ b/src/helperfuncs.cpp
@@ -504,6 +504,77 @@ std::string Duration::ToString(unsigned long duration)
return ret;
}
+std::string Duration::ToHuman(unsigned long duration)
+{
+ if (duration == 0)
+ return "0 seconds";
+
+ std::string ret;
+
+ const auto years = (duration / SECONDS_PER_YEAR);
+ if (years)
+ {
+ ret = INSP_FORMAT("{} {}", years, years == 1 ? "year" : "years");
+ duration -= (years * SECONDS_PER_YEAR);
+ }
+
+ const auto weeks = (duration / SECONDS_PER_WEEK);
+ if (weeks)
+ {
+ ret += ret.empty() ? "" : ", ";
+ ret += INSP_FORMAT("{} {}", weeks, weeks == 1 ? "week" : "weeks");
+ duration -= (weeks * SECONDS_PER_WEEK);
+ }
+
+ const auto days = (duration / SECONDS_PER_DAY);
+ if (days)
+ {
+ ret += ret.empty() ? "" : ", ";
+ ret += INSP_FORMAT("{} {}", days, days == 1 ? "day" : "days");
+ duration -= (days * SECONDS_PER_DAY);
+ }
+
+ const auto hours = (duration / SECONDS_PER_HOUR);
+ if (hours)
+ {
+ ret += ret.empty() ? "" : ", ";
+ ret += INSP_FORMAT("{} {}", hours, hours == 1 ? "hour" : "hours");
+ duration -= (hours * SECONDS_PER_HOUR);
+ }
+
+ const auto minutes = (duration / SECONDS_PER_MINUTE);
+ if (minutes)
+ {
+ ret += ret.empty() ? "" : ", ";
+ ret += INSP_FORMAT("{} {}", minutes, minutes == 1 ? "minute" : "minutes");
+ duration -= (minutes * SECONDS_PER_MINUTE);
+ }
+
+ if (duration)
+ {
+ ret += ret.empty() ? "" : ", ";
+ ret += INSP_FORMAT("{} {}", duration, duration == 1 ? "second" : "seconds");
+ }
+
+ const auto first_comma = ret.find(',');
+ const auto last_comma = ret.rfind(',');
+ if (first_comma != std::string::npos)
+ {
+ if (first_comma == last_comma)
+ {
+ // BEFORE: 1 minute, 2 seconds
+ // AFTER: 1 minute and 2 seconds
+ ret.replace(last_comma, 1, " and");
+ }
+ else
+ {
+ // BEFORE: 1 hour, 2 minutes, 3 seconds
+ // AFTER: 1 hour, 2 minutes, and 3 seconds
+ ret.insert(last_comma + 1, " and");
+ }
+ }
+ return ret;
+}
std::string Time::ToString(time_t curtime, const char* format, bool utc)
{
diff --git a/src/modules/extra/m_ssl_gnutls.cpp b/src/modules/extra/m_ssl_gnutls.cpp
index 81db25757..74aeb9c6c 100644
--- a/src/modules/extra/m_ssl_gnutls.cpp
+++ b/src/modules/extra/m_ssl_gnutls.cpp
@@ -792,7 +792,7 @@ private:
else if (certinfo->activation >= ServerInstance->Time())
{
certinfo->error = INSP_FORMAT("Certificate not active for {} (on {})",
- Duration::ToString(certinfo->activation - ServerInstance->Time()),
+ Duration::ToHuman(certinfo->activation - ServerInstance->Time()),
Time::ToString(certinfo->activation));
}
@@ -805,7 +805,7 @@ private:
else if (certinfo->expiration <= ServerInstance->Time())
{
certinfo->error = INSP_FORMAT("Certificate expired {} ago (on {})",
- Duration::ToString(ServerInstance->Time() - certinfo->expiration),
+ Duration::ToHuman(ServerInstance->Time() - certinfo->expiration),
Time::ToString(certinfo->expiration));
}
diff --git a/src/modules/extra/m_ssl_openssl.cpp b/src/modules/extra/m_ssl_openssl.cpp
index 7b8edd50d..f431039cc 100644
--- a/src/modules/extra/m_ssl_openssl.cpp
+++ b/src/modules/extra/m_ssl_openssl.cpp
@@ -635,7 +635,7 @@ private:
if (activated != -1 && activated != 0)
{
certinfo->error = INSP_FORMAT("Certificate not active for {} (on {})",
- Duration::ToString(certinfo->activation - ServerInstance->Time()),
+ Duration::ToHuman(certinfo->activation - ServerInstance->Time()),
Time::ToString(certinfo->activation));
}
@@ -643,7 +643,7 @@ private:
if (expired != 0 && expired != 1)
{
certinfo->error = INSP_FORMAT("Certificate expired {} ago (on {})",
- Duration::ToString(ServerInstance->Time() - certinfo->expiration),
+ Duration::ToHuman(ServerInstance->Time() - certinfo->expiration),
Time::ToString(certinfo->expiration));
}
diff --git a/src/modules/m_cban.cpp b/src/modules/m_cban.cpp
index 05c200663..210a4ec8c 100644
--- a/src/modules/m_cban.cpp
+++ b/src/modules/m_cban.cpp
@@ -142,7 +142,7 @@ public:
else
{
ServerInstance->SNO.WriteToSnoMask('x', "{} added a timed CBan on {}, expires in {} (on {}): {}",
- user->nick, parameters[0], Duration::ToString(duration), Time::FromNow(duration), r->reason);
+ user->nick, parameters[0], Duration::ToHuman(duration), Time::FromNow(duration), r->reason);
}
}
else
diff --git a/src/modules/m_chanhistory.cpp b/src/modules/m_chanhistory.cpp
index 02d91f345..c9038c36e 100644
--- a/src/modules/m_chanhistory.cpp
+++ b/src/modules/m_chanhistory.cpp
@@ -283,7 +283,7 @@ public:
{
auto message = INSP_FORMAT("Replaying up to {} lines of pre-join history", list->maxlen);
if (list->maxtime > 0)
- message += INSP_FORMAT(" from the last {}", Duration::ToString(list->maxtime));
+ message += INSP_FORMAT(" from the last {}", Duration::ToHuman(list->maxtime));
memb->WriteNotice(message);
}
diff --git a/src/modules/m_connectban.cpp b/src/modules/m_connectban.cpp
index fbefd0e40..4dc0cdcaf 100644
--- a/src/modules/m_connectban.cpp
+++ b/src/modules/m_connectban.cpp
@@ -162,7 +162,7 @@ public:
}
ServerInstance->SNO.WriteToSnoMask('x', "{} added a timed Z-line on {}, expires in {} (on {}): {}",
- zl->source, maskstr, Duration::ToString(zl->duration),
+ zl->source, maskstr, Duration::ToHuman(zl->duration),
Time::ToString(zl->expiry), zl->reason);
ServerInstance->SNO.WriteGlobalSno('a', "Connect flooding from IP range {} ({})", maskstr, threshold);
connects.erase(i);
diff --git a/src/modules/m_dccallow.cpp b/src/modules/m_dccallow.cpp
index 09a4b57d8..8ebc1090a 100644
--- a/src/modules/m_dccallow.cpp
+++ b/src/modules/m_dccallow.cpp
@@ -325,7 +325,7 @@ public:
if (length > 0)
{
- user->WriteNumeric(RPL_DCCALLOWTIMED, user->nick, INSP_FORMAT("Added {} to DCCALLOW list for {}", target->nick, Duration::ToString(length)));
+ user->WriteNumeric(RPL_DCCALLOWTIMED, user->nick, INSP_FORMAT("Added {} to DCCALLOW list for {}", target->nick, Duration::ToHuman(length)));
}
else
{
diff --git a/src/modules/m_dnsbl.cpp b/src/modules/m_dnsbl.cpp
index 7b8e47417..d66c2a008 100644
--- a/src/modules/m_dnsbl.cpp
+++ b/src/modules/m_dnsbl.cpp
@@ -295,7 +295,7 @@ private:
}
ServerInstance->SNO.WriteToSnoMask('x', "{} added a timed {} on {}, expires in {} (on {}): {}",
- line->source, type, line->Displayable(), Duration::ToString(line->duration),
+ line->source, type, line->Displayable(), Duration::ToHuman(line->duration),
Time::ToString(line->expiry), line->reason);
ServerInstance->XLines->ApplyLines();
}
diff --git a/src/modules/m_filter.cpp b/src/modules/m_filter.cpp
index 3f2d32f7b..387224030 100644
--- a/src/modules/m_filter.cpp
+++ b/src/modules/m_filter.cpp
@@ -319,7 +319,7 @@ CmdResult CommandFilter::Handle(User* user, const Params& parameters)
if (result.first)
{
const std::string message = INSP_FORMAT("'{}', type '{}'{}, flags '{}', reason: {}", freeform, parameters[1],
- (duration ? INSP_FORMAT(", duration '{}'", Duration::ToString(duration)) : ""),
+ (duration ? INSP_FORMAT(", duration '{}'", Duration::ToHuman(duration)) : ""),
flags, parameters[reasonindex]);
user->WriteNotice("*** Added filter " + message);
@@ -472,7 +472,7 @@ ModResult ModuleFilter::OnUserPreMessage(User* user, MessageTarget& msgtarget, M
{
auto* sh = new Shun(ServerInstance->Time(), f->duration, MODNAME "@" + ServerInstance->Config->ServerName, f->reason, user->GetAddress());
ServerInstance->SNO.WriteGlobalSno('f', "{} ({}) was shunned for {} (expires on {}) because their message to {} matched {} ({})",
- user->nick, sh->Displayable(), Duration::ToString(f->duration),
+ user->nick, sh->Displayable(), Duration::ToHuman(f->duration),
Time::FromNow(f->duration),
msgtarget.GetName(), f->freeform, f->reason);
if (ServerInstance->XLines->AddLine(sh, nullptr))
@@ -486,7 +486,7 @@ ModResult ModuleFilter::OnUserPreMessage(User* user, MessageTarget& msgtarget, M
{
auto* gl = new GLine(ServerInstance->Time(), f->duration, MODNAME "@" + ServerInstance->Config->ServerName, f->reason, "*", user->GetAddress());
ServerInstance->SNO.WriteGlobalSno('f', "{} ({}) was G-lined for {} (expires on {}) because their message to {} matched {} ({})",
- user->nick, gl->Displayable(), Duration::ToString(f->duration),
+ user->nick, gl->Displayable(), Duration::ToHuman(f->duration),
Time::FromNow(f->duration),
msgtarget.GetName(), f->freeform, f->reason);
if (ServerInstance->XLines->AddLine(gl, nullptr))
@@ -500,7 +500,7 @@ ModResult ModuleFilter::OnUserPreMessage(User* user, MessageTarget& msgtarget, M
{
auto* zl = new ZLine(ServerInstance->Time(), f->duration, MODNAME "@" + ServerInstance->Config->ServerName, f->reason, user->GetAddress());
ServerInstance->SNO.WriteGlobalSno('f', "{} ({}) was Z-lined for {} (expires on {}) because their message to {} matched {} ({})",
- user->nick, zl->Displayable(), Duration::ToString(f->duration),
+ user->nick, zl->Displayable(), Duration::ToHuman(f->duration),
Time::FromNow(f->duration),
msgtarget.GetName(), f->freeform, f->reason);
if (ServerInstance->XLines->AddLine(zl, nullptr))
@@ -578,7 +578,7 @@ ModResult ModuleFilter::OnPreCommand(std::string& command, CommandBase::Params&
auto* gl = new GLine(ServerInstance->Time(), f->duration, MODNAME "@" + ServerInstance->Config->ServerName, f->reason, "*", user->GetAddress());
ServerInstance->SNO.WriteGlobalSno('f', "{} ({}) was G-lined for {} (expires on {}) because their {} message matched {} ({})",
user->nick, gl->Displayable(),
- Duration::ToString(f->duration),
+ Duration::ToHuman(f->duration),
Time::FromNow(f->duration),
command, f->freeform, f->reason);
@@ -594,7 +594,7 @@ ModResult ModuleFilter::OnPreCommand(std::string& command, CommandBase::Params&
auto* zl = new ZLine(ServerInstance->Time(), f->duration, MODNAME "@" + ServerInstance->Config->ServerName, f->reason, user->GetAddress());
ServerInstance->SNO.WriteGlobalSno('f', "{} ({}) was Z-lined for {} (expires on {}) because their {} message matched {} ({})",
user->nick, zl->Displayable(),
- Duration::ToString(f->duration),
+ Duration::ToHuman(f->duration),
Time::FromNow(f->duration),
command, f->freeform, f->reason);
@@ -611,7 +611,7 @@ ModResult ModuleFilter::OnPreCommand(std::string& command, CommandBase::Params&
auto* sh = new Shun(ServerInstance->Time(), f->duration, MODNAME "@" + ServerInstance->Config->ServerName, f->reason, user->GetAddress());
ServerInstance->SNO.WriteGlobalSno('f', "{} ({}) was shunned for {} (expires on {}) because their {} message matched {} ({})",
user->nick, sh->Displayable(),
- Duration::ToString(f->duration),
+ Duration::ToHuman(f->duration),
Time::FromNow(f->duration),
command, f->freeform, f->reason);
diff --git a/src/modules/m_helpmode.cpp b/src/modules/m_helpmode.cpp
index e72e533d8..4b6bfb8d5 100644
--- a/src/modules/m_helpmode.cpp
+++ b/src/modules/m_helpmode.cpp
@@ -91,7 +91,7 @@ public:
std::string extra;
if (helper->IsAway())
{
- const std::string awayperiod = Duration::ToString(ServerInstance->Time() - helper->away->time);
+ const std::string awayperiod = Duration::ToHuman(ServerInstance->Time() - helper->away->time);
const std::string awaytime = Time::ToString(helper->away->time);
extra = INSP_FORMAT(": away for {} [since {}] ({})", awayperiod, awaytime, helper->away->message);
@@ -100,7 +100,7 @@ public:
auto* lhelper = IS_LOCAL(helper);
if (lhelper)
{
- const std::string idleperiod = Duration::ToString(ServerInstance->Time() - lhelper->idle_lastmsg);
+ const std::string idleperiod = Duration::ToHuman(ServerInstance->Time() - lhelper->idle_lastmsg);
const std::string idletime = Time::ToString(lhelper->idle_lastmsg);
extra += INSP_FORMAT("{} idle for {} [since {}]", extra.empty() ? ':' : ',', idleperiod, idletime);
diff --git a/src/modules/m_hideoper.cpp b/src/modules/m_hideoper.cpp
index af9500563..786c962fe 100644
--- a/src/modules/m_hideoper.cpp
+++ b/src/modules/m_hideoper.cpp
@@ -157,7 +157,7 @@ public:
std::string extra;
if (oper->IsAway())
{
- const std::string awayperiod = Duration::ToString(ServerInstance->Time() - oper->away->time);
+ const std::string awayperiod = Duration::ToHuman(ServerInstance->Time() - oper->away->time);
const std::string awaytime = Time::ToString(oper->away->time);
extra = INSP_FORMAT(": away for {} [since {}] ({})", awayperiod, awaytime, oper->away->message);
@@ -166,7 +166,7 @@ public:
auto* loper = IS_LOCAL(oper);
if (loper)
{
- const std::string idleperiod = Duration::ToString(ServerInstance->Time() - loper->idle_lastmsg);
+ const std::string idleperiod = Duration::ToHuman(ServerInstance->Time() - loper->idle_lastmsg);
const std::string idletime = Time::ToString(loper->idle_lastmsg);
extra += INSP_FORMAT("{} idle for {} [since {}]", extra.empty() ? ':' : ',', idleperiod, idletime);
diff --git a/src/modules/m_rline.cpp b/src/modules/m_rline.cpp
index 96a39716f..19fd1958a 100644
--- a/src/modules/m_rline.cpp
+++ b/src/modules/m_rline.cpp
@@ -79,7 +79,7 @@ public:
else
{
ServerInstance->SNO.WriteToSnoMask('x', "{} added a timed Z-line on {}, expires in {} (on {}): {}",
- zl->source, u->GetAddress(), Duration::ToString(zl->duration),
+ zl->source, u->GetAddress(), Duration::ToHuman(zl->duration),
Time::ToString(zl->duration), zl->reason);
}
added_zline = true;
@@ -182,7 +182,7 @@ public:
else
{
ServerInstance->SNO.WriteToSnoMask('x', "{} added a timed R-line on {}, expires in {} (on {}): {}",
- user->nick, parameters[0], Duration::ToString(duration), Time::FromNow(duration), r->reason);
+ user->nick, parameters[0], Duration::ToHuman(duration), Time::FromNow(duration), r->reason);
}
ServerInstance->XLines->ApplyLines();
diff --git a/src/modules/m_securelist.cpp b/src/modules/m_securelist.cpp
index 06943ac57..c7cf3834a 100644
--- a/src/modules/m_securelist.cpp
+++ b/src/modules/m_securelist.cpp
@@ -122,7 +122,7 @@ public:
{
user->WriteNotice("*** You cannot view the channel list right now. Please {}try again in {}.",
exemptregistered ? "log in to an account or " : "",
- Duration::ToString(maxwaittime - ServerInstance->Time()));
+ Duration::ToHuman(maxwaittime - ServerInstance->Time()));
}
else
{
diff --git a/src/modules/m_shun.cpp b/src/modules/m_shun.cpp
index 661cd8e57..7200483f4 100644
--- a/src/modules/m_shun.cpp
+++ b/src/modules/m_shun.cpp
@@ -128,7 +128,7 @@ public:
else
{
ServerInstance->SNO.WriteToSnoMask('x', "{} added a timed SHUN on {}, expires in {} (on {}): {}",
- user->nick, target, Duration::ToString(duration),
+ user->nick, target, Duration::ToHuman(duration),
Time::FromNow(duration), expr);
}
}
diff --git a/src/modules/m_spanningtree/addline.cpp b/src/modules/m_spanningtree/addline.cpp
index a82caf082..2b16dff23 100644
--- a/src/modules/m_spanningtree/addline.cpp
+++ b/src/modules/m_spanningtree/addline.cpp
@@ -59,7 +59,7 @@ CmdResult CommandAddLine::Handle(User* usr, Params& params)
{
ServerInstance->SNO.WriteToSnoMask('X', "{} added a timed {}{} on {}, expires in {} (on {}): {}",
setter, params[0], params[0].length() <= 2 ? "-line" : "",
- params[1], Duration::ToString(xl->duration),
+ params[1], Duration::ToHuman(xl->duration),
Time::ToString(xl->expiry), params[5]);
}
else
diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp
index 3d454eef9..563099bae 100644
--- a/src/modules/m_spanningtree/treesocket2.cpp
+++ b/src/modules/m_spanningtree/treesocket2.cpp
@@ -436,7 +436,7 @@ void TreeSocket::Close()
time_t server_uptime = ServerInstance->Time() - this->age;
if (server_uptime)
{
- std::string timestr = Duration::ToString(server_uptime);
+ std::string timestr = Duration::ToHuman(server_uptime);
ServerInstance->SNO.WriteGlobalSno('l', "Connection to '\002{}\002' was established for {}", linkID, timestr);
}
}
diff --git a/src/modules/m_sslinfo.cpp b/src/modules/m_sslinfo.cpp
index 4a7368972..77bf87096 100644
--- a/src/modules/m_sslinfo.cpp
+++ b/src/modules/m_sslinfo.cpp
@@ -458,7 +458,7 @@ public:
}
else if (static_cast<time_t>(ServerInstance->Time() + warnexpiring) > cert->GetExpirationTime())
{
- const std::string duration = Duration::ToString(cert->GetExpirationTime() - ServerInstance->Time());
+ const std::string duration = Duration::ToHuman(cert->GetExpirationTime() - ServerInstance->Time());
user->WriteNotice("*** Your TLS client certificate expires in " + duration + ".");
}
}
diff --git a/src/modules/m_timedbans.cpp b/src/modules/m_timedbans.cpp
index 39c6f32e9..b7e2727ba 100644
--- a/src/modules/m_timedbans.cpp
+++ b/src/modules/m_timedbans.cpp
@@ -152,7 +152,7 @@ public:
if (sendnotice)
{
const std::string message = INSP_FORMAT("Timed ban {} added by {} on {} lasting for {}.",
- mask, user->nick, channel->name, Duration::ToString(duration));
+ mask, user->nick, channel->name, Duration::ToHuman(duration));
// If halfop is loaded, send notice to halfops and above, otherwise send to ops and above
PrefixMode* mh = ServerInstance->Modes.FindNearestPrefixMode(HALFOP_VALUE);
diff --git a/src/modules/m_xline_db.cpp b/src/modules/m_xline_db.cpp
index 6ef2ad815..c067ec436 100644
--- a/src/modules/m_xline_db.cpp
+++ b/src/modules/m_xline_db.cpp
@@ -252,7 +252,7 @@ public:
{
ServerInstance->SNO.WriteToSnoMask('x', "database: added a timed {}{} on {}, expires in {} (on {}): {}",
xl->type, xl->type.length() <= 2 ? "-line" : "", xl->Displayable(),
- Duration::ToString(xl->duration), Time::FromNow(xl->duration), xl->reason);
+ Duration::ToHuman(xl->duration), Time::FromNow(xl->duration), xl->reason);
}
else
{
diff --git a/src/xline.cpp b/src/xline.cpp
index 99d0dee14..d83617dae 100644
--- a/src/xline.cpp
+++ b/src/xline.cpp
@@ -707,7 +707,7 @@ void XLine::DisplayExpiry()
{
ServerInstance->SNO.WriteToSnoMask('x', "Removing an expired {}{} on {} (set by {} {} ago): {}",
type, (type.length() <= 2 ? "-line" : ""), Displayable(), source,
- Duration::ToString(ServerInstance->Time() - set_time), reason);
+ Duration::ToHuman(ServerInstance->Time() - set_time), reason);
}
const std::string& ELine::Displayable() const