summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2017-04-06 13:14:07 -0400
committerAdam <Adam@anope.org>2017-04-06 13:14:07 -0400
commitfc0d4a1e31efcba5eb8c2d3a97b75b05781e69a7 (patch)
treeaa262d87a2fdc01d49a09d82f1f5561c0cd2107d
parenteb57aee30d1a8c053b840e4db5d1ea762969c3b5 (diff)
parentfc0171fb40cf1785492eda566fd33b3ff5ef66b4 (diff)
Merge commit 'fc0171fb40cf1785492eda566fd33b3ff5ef66b4'
-rw-r--r--modules/memoserv/main/memoserv.cpp33
1 files changed, 22 insertions, 11 deletions
diff --git a/modules/memoserv/main/memoserv.cpp b/modules/memoserv/main/memoserv.cpp
index 757b95563..833a32f68 100644
--- a/modules/memoserv/main/memoserv.cpp
+++ b/modules/memoserv/main/memoserv.cpp
@@ -95,18 +95,29 @@ class MemoServCore : public Module, public MemoServ::MemoServService
if (mi == NULL)
return MEMO_INVALID_TARGET;
+ Anope::string sender_display = source;
+
User *sender = User::Find(source, true);
- if (sender != NULL && !sender->HasPriv("memoserv/no-limit") && !force)
+ if (sender != NULL)
{
- time_t send_delay = Config->GetModule("memoserv/main")->Get<time_t>("senddelay");
- if (send_delay > 0 && sender->lastmemosend + send_delay > Anope::CurTime)
- return MEMO_TOO_FAST;
- if (!mi->GetMemoMax())
- return MEMO_TARGET_FULL;
- if (mi->GetMemoMax() > 0 && mi->GetMemos().size() >= static_cast<unsigned>(mi->GetMemoMax()))
- return MEMO_TARGET_FULL;
- if (mi->HasIgnore(sender))
- return MEMO_SUCCESS;
+ if (!sender->HasPriv("memoserv/no-limit") && !force)
+ {
+ time_t send_delay = Config->GetModule("memoserv/main")->Get<time_t>("senddelay");
+ if (send_delay > 0 && sender->lastmemosend + send_delay > Anope::CurTime)
+ return MEMO_TOO_FAST;
+ if (!mi->GetMemoMax())
+ return MEMO_TARGET_FULL;
+ if (mi->GetMemoMax() > 0 && mi->GetMemos().size() >= static_cast<unsigned>(mi->GetMemoMax()))
+ return MEMO_TARGET_FULL;
+ if (mi->HasIgnore(sender))
+ return MEMO_SUCCESS;
+ }
+
+ NickServ::Account *acc = sender->Account();
+ if (acc != NULL)
+ {
+ sender_display = acc->GetDisplay();
+ }
}
if (sender != NULL)
@@ -114,7 +125,7 @@ class MemoServCore : public Module, public MemoServ::MemoServService
MemoServ::Memo *m = Serialize::New<MemoServ::Memo *>();
m->SetMemoInfo(mi);
- m->SetSender(source);
+ m->SetSender(sender_display);
m->SetTime(Anope::CurTime);
m->SetText(message);
m->SetUnread(true);