summaryrefslogtreecommitdiff
path: root/modules/webcpanel/pages/memoserv/memos.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2014-11-24 14:27:23 -0500
committerAdam <Adam@anope.org>2014-11-24 14:27:23 -0500
commit42238034490fb5479d787bd1695750387d508200 (patch)
treec93c62e0e1c936e656ae5b9ee1b62380ce2a194c /modules/webcpanel/pages/memoserv/memos.cpp
parentd492923610d9c9146b2a2b63de38deab2cfd4ca7 (diff)
Rewrite serializable to have field level granularity
Represent serializable objects in a digraph, and as a result made most object relationships implicitly defined, and use the graph to trace references between objects to determine relationships. Edges may also be marked as having a dependency of the object they point to, which allows for automatic cleanup and deletion of most objects when no longer needed. Additionally, this allows not having to require in-memory copies of everything when using external databases. db_sql has been rewritten for this and now always requires a database to function. db_sql with MySQL now requires InnoDB to make use of transactions and foreign key constraints.
Diffstat (limited to 'modules/webcpanel/pages/memoserv/memos.cpp')
-rw-r--r--modules/webcpanel/pages/memoserv/memos.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/modules/webcpanel/pages/memoserv/memos.cpp b/modules/webcpanel/pages/memoserv/memos.cpp
index 845e7becd..470ad764c 100644
--- a/modules/webcpanel/pages/memoserv/memos.cpp
+++ b/modules/webcpanel/pages/memoserv/memos.cpp
@@ -15,7 +15,7 @@ bool WebCPanel::MemoServ::Memos::OnRequest(HTTPProvider *server, const Anope::st
{
const Anope::string &chname = message.get_data["channel"];
::ChanServ::Channel *ci;
- const ::MemoServ::MemoInfo *mi;
+ ::MemoServ::MemoInfo *mi;
::MemoServ::Memo *m;
if (::ChanServ::service)
@@ -23,17 +23,17 @@ bool WebCPanel::MemoServ::Memos::OnRequest(HTTPProvider *server, const Anope::st
{
ci = it.second;
- if (ci->AccessFor(na->nc).HasPriv("MEMO"))
+ if (ci->AccessFor(na->GetAccount()).HasPriv("MEMO"))
{
- replacements["CHANNEL_NAMES"] = ci->name;
- replacements["ESCAPED_CHANNEL_NAMES"] = HTTPUtils::URLEncode(ci->name);
+ replacements["CHANNEL_NAMES"] = ci->GetName();
+ replacements["ESCAPED_CHANNEL_NAMES"] = HTTPUtils::URLEncode(ci->GetName());
}
}
if (chname.empty())
{
replacements["MESSAGES"] = "No Channel specified, displaying the memos for your Nick";
- mi = na->nc->memos;
+ mi = na->GetAccount()->GetMemos();
}
else
{
@@ -41,16 +41,16 @@ bool WebCPanel::MemoServ::Memos::OnRequest(HTTPProvider *server, const Anope::st
if (ci)
{
replacements["MESSAGES"] = "Displaying the memos for " + chname + ".";
- mi = ci->memos;
+ mi = ci->GetMemos();
}
else
{
replacements["MESSAGES"] = "Channel " + chname + " not found, displaying the memos for your nick";
- mi = na->nc->memos;
+ mi = na->GetAccount()->GetMemos();
}
- replacements["CHANNEL_NAME"] = ci->name;
- replacements["ESCAPED_CHANNEL_NAME"] = HTTPUtils::URLEncode(ci->name);
+ replacements["CHANNEL_NAME"] = ci->GetName();
+ replacements["ESCAPED_CHANNEL_NAME"] = HTTPUtils::URLEncode(ci->GetName());
}
if (message.post_data.count("receiver") > 0 && message.post_data.count("message") > 0)
{
@@ -58,7 +58,7 @@ bool WebCPanel::MemoServ::Memos::OnRequest(HTTPProvider *server, const Anope::st
params.push_back(HTTPUtils::URLDecode(message.post_data["receiver"]));
params.push_back(HTTPUtils::URLDecode(message.post_data["message"]));
- WebPanel::RunCommand(na->nc->display, na->nc, "MemoServ", "memoserv/send", params, replacements, "CMDR");
+ WebPanel::RunCommand(na->GetAccount()->GetDisplay(), na->GetAccount(), "MemoServ", "memoserv/send", params, replacements, "CMDR");
}
if (message.get_data.count("del") > 0 && message.get_data.count("number") > 0)
{
@@ -67,7 +67,7 @@ bool WebCPanel::MemoServ::Memos::OnRequest(HTTPProvider *server, const Anope::st
params.push_back(chname);
params.push_back(message.get_data["number"]);
- WebPanel::RunCommand(na->nc->display, na->nc, "MemoServ", "memoserv/del", params, replacements, "CMDR");
+ WebPanel::RunCommand(na->GetAccount()->GetDisplay(), na->GetAccount(), "MemoServ", "memoserv/del", params, replacements, "CMDR");
}
if (message.get_data.count("read") > 0 && message.get_data.count("number") > 0)
{
@@ -90,21 +90,21 @@ bool WebCPanel::MemoServ::Memos::OnRequest(HTTPProvider *server, const Anope::st
if (!m)
replacements["MESSAGES"] = "ERROR - invalid memo number.";
else if (message.get_data["read"] == "1")
- m->unread = false;
+ m->SetUnread(false);
else if (message.get_data["read"] == "2")
- m->unread = true;
+ m->SetUnread(true);
}
}
if (mi)
- for (unsigned i = 0; i < mi->memos->size(); ++i)
+ for (unsigned i = 0; i < mi->GetMemos().size(); ++i)
{
m = mi->GetMemo(i);
replacements["NUMBER"] = stringify(i+1);
- replacements["SENDER"] = m->sender;
- replacements["TIME"] = Anope::strftime(m->time);
- replacements["TEXT"] = HTTPUtils::Escape(m->text);
- if (m->unread)
+ replacements["SENDER"] = m->GetSender();
+ replacements["TIME"] = Anope::strftime(m->GetTime());
+ replacements["TEXT"] = HTTPUtils::Escape(m->GetText());
+ if (m->GetUnread())
replacements["UNREAD"] = "YES";
else
replacements["UNREAD"] = "NO";