summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2016-09-30 21:03:35 -0400
committerAdam <Adam@anope.org>2016-09-30 21:03:35 -0400
commitfc0171fb40cf1785492eda566fd33b3ff5ef66b4 (patch)
tree8767fdd6680ac3febea0e799bece37aa6fadf8e4
parent1c82697ccbf85359e86ec815bd66a74803c7ac3f (diff)
memoserv: always use display for memo source
-rw-r--r--modules/pseudoclients/memoserv.cpp33
1 files changed, 22 insertions, 11 deletions
diff --git a/modules/pseudoclients/memoserv.cpp b/modules/pseudoclients/memoserv.cpp
index 37e9545aa..2eda9f30c 100644
--- a/modules/pseudoclients/memoserv.cpp
+++ b/modules/pseudoclients/memoserv.cpp
@@ -49,18 +49,29 @@ class MemoServCore : public Module, public 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")->Get<time_t>("senddelay");
- if (send_delay > 0 && sender->lastmemosend + send_delay > Anope::CurTime)
- return MEMO_TOO_FAST;
- else if (!mi->memomax)
- return MEMO_TARGET_FULL;
- else if (mi->memomax > 0 && mi->memos->size() >= static_cast<unsigned>(mi->memomax))
- return MEMO_TARGET_FULL;
- else if (mi->HasIgnore(sender))
- return MEMO_SUCCESS;
+ if (!sender->HasPriv("memoserv/no-limit") && !force)
+ {
+ time_t send_delay = Config->GetModule("memoserv")->Get<time_t>("senddelay");
+ if (send_delay > 0 && sender->lastmemosend + send_delay > Anope::CurTime)
+ return MEMO_TOO_FAST;
+ else if (!mi->memomax)
+ return MEMO_TARGET_FULL;
+ else if (mi->memomax > 0 && mi->memos->size() >= static_cast<unsigned>(mi->memomax))
+ return MEMO_TARGET_FULL;
+ else if (mi->HasIgnore(sender))
+ return MEMO_SUCCESS;
+ }
+
+ NickCore *acc = sender->Account();
+ if (acc != NULL)
+ {
+ sender_display = acc->display;
+ }
}
if (sender != NULL)
@@ -70,7 +81,7 @@ class MemoServCore : public Module, public MemoServService
m->mi = mi;
mi->memos->push_back(m);
m->owner = target;
- m->sender = source;
+ m->sender = sender_display;
m->time = Anope::CurTime;
m->text = message;
m->unread = true;