summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/nickserv/main/account.cpp9
-rw-r--r--modules/nickserv/main/account.h4
-rw-r--r--modules/nickserv/main/accounttype.cpp1
-rw-r--r--modules/nickserv/main/accounttype.h1
-rw-r--r--modules/nickserv/register.cpp4
5 files changed, 17 insertions, 2 deletions
diff --git a/modules/nickserv/main/account.cpp b/modules/nickserv/main/account.cpp
index 86c96b14f..9200bc1f7 100644
--- a/modules/nickserv/main/account.cpp
+++ b/modules/nickserv/main/account.cpp
@@ -314,3 +314,12 @@ unsigned int AccountImpl::GetChannelCount()
return i;
}
+time_t AccountImpl::GetLastMail()
+{
+ return Get(&AccountType::last_mail);
+}
+
+void AccountImpl::SetLastMail(time_t lastmail)
+{
+ Set(&AccountType::last_mail, lastmail);
+}
diff --git a/modules/nickserv/main/account.h b/modules/nickserv/main/account.h
index ba07a2a13..6cb65e759 100644
--- a/modules/nickserv/main/account.h
+++ b/modules/nickserv/main/account.h
@@ -37,6 +37,7 @@ class AccountImpl : public NickServ::Account
Serialize::Storage<bool> secure;
Serialize::Storage<bool> memosignon, memoreceive, memomail;
Serialize::Storage<bool> hideemail, hidemask, hidestatus, hidequit;
+ Serialize::Storage<time_t> lastmail;
public:
using NickServ::Account::Account;
@@ -116,4 +117,7 @@ class AccountImpl : public NickServ::Account
void SetDisplay(NickServ::Nick *na) override;
bool IsOnAccess(User *u) override;
unsigned int GetChannelCount() override;
+
+ time_t GetLastMail() override;
+ void SetLastMail(time_t) override;
};
diff --git a/modules/nickserv/main/accounttype.cpp b/modules/nickserv/main/accounttype.cpp
index ccc02726a..e6509694f 100644
--- a/modules/nickserv/main/accounttype.cpp
+++ b/modules/nickserv/main/accounttype.cpp
@@ -43,6 +43,7 @@ AccountType::AccountType(Module *me) : Serialize::Type<AccountImpl>(me)
, hidemask(this, "hide_mask", &AccountImpl::hidemask)
, hidestatus(this, "hide_status", &AccountImpl::hidestatus)
, hidequit(this, "hide_quit", &AccountImpl::hidequit)
+ , last_mail(this, "last_mail", &AccountImpl::lastmail)
{
}
diff --git a/modules/nickserv/main/accounttype.h b/modules/nickserv/main/accounttype.h
index f8d6a31a5..f749a5430 100644
--- a/modules/nickserv/main/accounttype.h
+++ b/modules/nickserv/main/accounttype.h
@@ -39,6 +39,7 @@ class AccountType : public Serialize::Type<AccountImpl>
Serialize::Field<AccountImpl, bool> unconfirmed, _private, autoop, keepmodes,
killprotect, killquick, killimmed, msg, secure, memosignon, memoreceive,
memomail, hideemail, hidemask, hidestatus, hidequit;
+ Serialize::Field<AccountImpl, time_t> last_mail;
AccountType(Module *);
diff --git a/modules/nickserv/register.cpp b/modules/nickserv/register.cpp
index cb6f85dc5..13c18e0b3 100644
--- a/modules/nickserv/register.cpp
+++ b/modules/nickserv/register.cpp
@@ -339,7 +339,7 @@ class CommandNSResend : public Command
return;
}
- if (Anope::CurTime < source.nc->lastmail + Config->GetModule(this->GetOwner())->Get<time_t>("resenddelay"))
+ if (Anope::CurTime < source.nc->GetLastMail() + Config->GetModule(this->GetOwner())->Get<time_t>("resenddelay"))
{
source.Reply(_("Cannot send mail now; please retry a little later."));
return;
@@ -351,7 +351,7 @@ class CommandNSResend : public Command
return;
}
- na->GetAccount()->lastmail = Anope::CurTime;
+ na->GetAccount()->SetLastMail(Anope::CurTime);
source.Reply(_("Your passcode has been re-sent to \002{0}\002."), na->GetAccount()->GetEmail());
logger.Command(LogType::COMMAND, source, _("{source} used {command} to resend registration verification code"));
}