summaryrefslogtreecommitdiff
path: root/modules/webcpanel
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2014-05-28 12:07:29 -0400
committerAdam <Adam@anope.org>2014-05-28 12:07:54 -0400
commitf29e1cf383529a1a29f02b0669d973f5ee0b7a66 (patch)
tree3c33db276dc9328235bbd572641521ed44458176 /modules/webcpanel
parent1253c70e0682fa1490c99c3d2869049a0e3fa2e0 (diff)
Move most of the core pseudoclient logic to modules
Diffstat (limited to 'modules/webcpanel')
-rw-r--r--modules/webcpanel/pages/chanserv/access.cpp29
-rw-r--r--modules/webcpanel/pages/chanserv/access.h2
-rw-r--r--modules/webcpanel/pages/chanserv/akick.cpp19
-rw-r--r--modules/webcpanel/pages/chanserv/akick.h2
-rw-r--r--modules/webcpanel/pages/chanserv/drop.cpp6
-rw-r--r--modules/webcpanel/pages/chanserv/drop.h2
-rw-r--r--modules/webcpanel/pages/chanserv/info.cpp2
-rw-r--r--modules/webcpanel/pages/chanserv/info.h2
-rw-r--r--modules/webcpanel/pages/chanserv/modes.cpp6
-rw-r--r--modules/webcpanel/pages/chanserv/modes.h2
-rw-r--r--modules/webcpanel/pages/chanserv/set.cpp4
-rw-r--r--modules/webcpanel/pages/chanserv/set.h2
-rw-r--r--modules/webcpanel/pages/chanserv/utils.cpp8
-rw-r--r--modules/webcpanel/pages/chanserv/utils.h2
-rw-r--r--modules/webcpanel/pages/hostserv/request.cpp4
-rw-r--r--modules/webcpanel/pages/hostserv/request.h2
-rw-r--r--modules/webcpanel/pages/index.cpp21
-rw-r--r--modules/webcpanel/pages/logout.cpp2
-rw-r--r--modules/webcpanel/pages/logout.h2
-rw-r--r--modules/webcpanel/pages/memoserv/memos.cpp60
-rw-r--r--modules/webcpanel/pages/memoserv/memos.h2
-rw-r--r--modules/webcpanel/pages/nickserv/access.cpp2
-rw-r--r--modules/webcpanel/pages/nickserv/access.h2
-rw-r--r--modules/webcpanel/pages/nickserv/alist.cpp12
-rw-r--r--modules/webcpanel/pages/nickserv/alist.h2
-rw-r--r--modules/webcpanel/pages/nickserv/cert.cpp2
-rw-r--r--modules/webcpanel/pages/nickserv/cert.h2
-rw-r--r--modules/webcpanel/pages/nickserv/info.cpp4
-rw-r--r--modules/webcpanel/pages/nickserv/info.h2
-rw-r--r--modules/webcpanel/pages/operserv/akill.cpp2
-rw-r--r--modules/webcpanel/pages/operserv/akill.h2
-rw-r--r--modules/webcpanel/static_fileserver.cpp2
-rw-r--r--modules/webcpanel/template_fileserver.cpp8
-rw-r--r--modules/webcpanel/webcpanel.cpp6
-rw-r--r--modules/webcpanel/webcpanel.h10
35 files changed, 119 insertions, 120 deletions
diff --git a/modules/webcpanel/pages/chanserv/access.cpp b/modules/webcpanel/pages/chanserv/access.cpp
index d87613ed7..058acc457 100644
--- a/modules/webcpanel/pages/chanserv/access.cpp
+++ b/modules/webcpanel/pages/chanserv/access.cpp
@@ -12,7 +12,7 @@ WebCPanel::ChanServ::Access::Access(const Anope::string &cat, const Anope::strin
{
}
-bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements)
+bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, ::NickServ::Nick *na, TemplateFileServer::Replacements &replacements)
{
TemplateFileServer Page("chanserv/access.html");
const Anope::string &chname = message.get_data["channel"];
@@ -25,7 +25,7 @@ bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::s
return true;
}
- ChannelInfo *ci = ChannelInfo::Find(chname);
+ ::ChanServ::Channel *ci = ::ChanServ::Find(chname);
if (!ci)
{
@@ -34,7 +34,7 @@ bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::s
return true;
}
- AccessGroup u_access = ci->AccessFor(na->nc);
+ ::ChanServ::AccessGroup u_access = ci->AccessFor(na->nc);
bool has_priv = na->nc->IsServicesOper() && na->nc->o->ot->HasPriv("chanserv/access/modify");
if (!u_access.HasPriv("ACCESS_LIST") && !has_priv)
@@ -46,8 +46,8 @@ bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::s
replacements["ACCESS_LIST"] = "YES";
- const ChanAccess *highest = u_access.Highest();
-
+ const ::ChanServ::ChanAccess *highest = u_access.Highest();
+
if (u_access.HasPriv("ACCESS_CHANGE") || has_priv)
{
if (message.get_data["del"].empty() == false && message.get_data["mask"].empty() == false)
@@ -62,10 +62,7 @@ bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::s
else if (message.post_data["mask"].empty() == false && message.post_data["access"].empty() == false && message.post_data["provider"].empty() == false)
{
// Generic access add code here, works with any provider (so we can't call a command exactly)
- AccessProvider *a = NULL;
- for (std::list<AccessProvider *>::const_iterator it = AccessProvider::GetProviders().begin(); it != AccessProvider::GetProviders().end(); ++it)
- if ((*it)->name == message.post_data["provider"])
- a = *it;
+ ServiceReference<::ChanServ::AccessProvider> a("AccessProvider", "access/" + message.post_data["provider"]);
if (a)
{
@@ -73,7 +70,7 @@ bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::s
for (unsigned i = 0, end = ci->GetAccessCount(); i < end; ++i)
{
- ChanAccess *acc = ci->GetAccess(i);
+ ::ChanServ::ChanAccess *acc = ci->GetAccess(i);
if (acc->mask == message.post_data["mask"])
{
@@ -94,7 +91,7 @@ bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::s
replacements["MESSAGES"] = "Sorry, you can only have " + stringify(access_max) + " access entries on a channel.";
else if (!denied)
{
- ChanAccess *new_acc = a->Create();
+ ::ChanServ::ChanAccess *new_acc = a->Create();
new_acc->ci = ci;
new_acc->mask = message.post_data["mask"];
new_acc->creator = na->nc->display;
@@ -136,18 +133,16 @@ bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::s
for (unsigned i = 0; i < ci->GetAccessCount(); ++i)
{
- ChanAccess *access = ci->GetAccess(i);
+ ::ChanServ::ChanAccess *access = ci->GetAccess(i);
replacements["MASKS"] = HTTPUtils::Escape(access->mask);
replacements["ACCESSES"] = HTTPUtils::Escape(access->AccessSerialize());
replacements["CREATORS"] = HTTPUtils::Escape(access->creator);
}
- for (std::list<AccessProvider *>::const_iterator it = AccessProvider::GetProviders().begin(); it != AccessProvider::GetProviders().end(); ++it)
- {
- const AccessProvider *a = *it;
- replacements["PROVIDERS"] = a->name;
- }
+ if (::ChanServ::service)
+ for (::ChanServ::AccessProvider *p : ::ChanServ::service->GetProviders())
+ replacements["PROVIDERS"] = p->name;
Page.Serve(server, page_name, client, message, reply, replacements);
return true;
diff --git a/modules/webcpanel/pages/chanserv/access.h b/modules/webcpanel/pages/chanserv/access.h
index 9ff77c486..a22521ada 100644
--- a/modules/webcpanel/pages/chanserv/access.h
+++ b/modules/webcpanel/pages/chanserv/access.h
@@ -16,7 +16,7 @@ class Access : public WebPanelProtectedPage
public:
Access(const Anope::string &cat, const Anope::string &u);
- bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) override;
+ bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, ::NickServ::Nick *, TemplateFileServer::Replacements &) override;
std::set<Anope::string> GetData() override;
};
diff --git a/modules/webcpanel/pages/chanserv/akick.cpp b/modules/webcpanel/pages/chanserv/akick.cpp
index bff38910c..a77995048 100644
--- a/modules/webcpanel/pages/chanserv/akick.cpp
+++ b/modules/webcpanel/pages/chanserv/akick.cpp
@@ -7,12 +7,13 @@
#include "../../webcpanel.h"
#include "utils.h"
+#include "modules/cs_akick.h"
WebCPanel::ChanServ::Akick::Akick(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u)
{
}
-bool WebCPanel::ChanServ::Akick::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements)
+bool WebCPanel::ChanServ::Akick::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, ::NickServ::Nick *na, TemplateFileServer::Replacements &replacements)
{
const Anope::string &chname = message.get_data["channel"];
TemplateFileServer Page("chanserv/akick.html");
@@ -25,7 +26,7 @@ bool WebCPanel::ChanServ::Akick::OnRequest(HTTPProvider *server, const Anope::st
return true;
}
- ChannelInfo *ci = ChannelInfo::Find(chname);
+ ::ChanServ::Channel *ci = ::ChanServ::Find(chname);
if (!ci)
{
@@ -34,7 +35,7 @@ bool WebCPanel::ChanServ::Akick::OnRequest(HTTPProvider *server, const Anope::st
return true;
}
- AccessGroup u_access = ci->AccessFor(na->nc);
+ ::ChanServ::AccessGroup u_access = ci->AccessFor(na->nc);
bool has_priv = na->nc->IsServicesOper() && na->nc->o->ot->HasPriv("chanserv/access/modify");
if (!u_access.HasPriv("AKICK") && !has_priv)
@@ -71,14 +72,14 @@ bool WebCPanel::ChanServ::Akick::OnRequest(HTTPProvider *server, const Anope::st
for (unsigned i = 0; i < ci->GetAkickCount(); ++i)
{
- AutoKick *akick = ci->GetAkick(i);
+ AutoKick *ak = ci->GetAkick(i);
- if (akick->nc)
- replacements["MASKS"] = HTTPUtils::Escape(akick->nc->display);
+ if (ak->nc)
+ replacements["MASKS"] = HTTPUtils::Escape(ak->nc->display);
else
- replacements["MASKS"] = HTTPUtils::Escape(akick->mask);
- replacements["CREATORS"] = HTTPUtils::Escape(akick->creator);
- replacements["REASONS"] = HTTPUtils::Escape(akick->reason);
+ replacements["MASKS"] = HTTPUtils::Escape(ak->mask);
+ replacements["CREATORS"] = HTTPUtils::Escape(ak->creator);
+ replacements["REASONS"] = HTTPUtils::Escape(ak->reason);
}
Page.Serve(server, page_name, client, message, reply, replacements);
diff --git a/modules/webcpanel/pages/chanserv/akick.h b/modules/webcpanel/pages/chanserv/akick.h
index 938dbde04..0df08d3b3 100644
--- a/modules/webcpanel/pages/chanserv/akick.h
+++ b/modules/webcpanel/pages/chanserv/akick.h
@@ -16,7 +16,7 @@ class Akick : public WebPanelProtectedPage
public:
Akick(const Anope::string &cat, const Anope::string &u);
- bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) override;
+ bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, ::NickServ::Nick *, TemplateFileServer::Replacements &) override;
std::set<Anope::string> GetData() override;
};
diff --git a/modules/webcpanel/pages/chanserv/drop.cpp b/modules/webcpanel/pages/chanserv/drop.cpp
index 5fa37b5a2..c81543c57 100644
--- a/modules/webcpanel/pages/chanserv/drop.cpp
+++ b/modules/webcpanel/pages/chanserv/drop.cpp
@@ -13,7 +13,7 @@ WebCPanel::ChanServ::Drop::Drop(const Anope::string &cat, const Anope::string &u
}
-bool WebCPanel::ChanServ::Drop::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements)
+bool WebCPanel::ChanServ::Drop::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, ::NickServ::Nick *na, TemplateFileServer::Replacements &replacements)
{
if (message.post_data.count("channel") > 0 && message.post_data.count("confChan") > 0)
@@ -31,11 +31,11 @@ bool WebCPanel::ChanServ::Drop::OnRequest(HTTPProvider *server, const Anope::str
replacements["MESSAGES"] = "Invalid Confirmation";
}
- std::deque<ChannelInfo *> queue;
+ std::deque<::ChanServ::Channel *> queue;
na->nc->GetChannelReferences(queue);
for (unsigned i = 0; i < queue.size(); ++i)
{
- ChannelInfo *ci = queue[i];
+ ::ChanServ::Channel *ci = queue[i];
if ((ci->HasExt("SECUREFOUNDER") ? ci->AccessFor(na->nc).founder : ci->AccessFor(na->nc).HasPriv("FOUNDER")) || (na->nc->IsServicesOper() && na->nc->o->ot->HasCommand("chanserv/drop")))
{
replacements["CHANNEL_NAMES"] = ci->name;
diff --git a/modules/webcpanel/pages/chanserv/drop.h b/modules/webcpanel/pages/chanserv/drop.h
index 684562453..773dfe789 100644
--- a/modules/webcpanel/pages/chanserv/drop.h
+++ b/modules/webcpanel/pages/chanserv/drop.h
@@ -16,7 +16,7 @@ namespace WebCPanel
public:
Drop(const Anope::string &cat, const Anope::string &u);
- bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) override;
+ bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, ::NickServ::Nick *, TemplateFileServer::Replacements &) override;
};
diff --git a/modules/webcpanel/pages/chanserv/info.cpp b/modules/webcpanel/pages/chanserv/info.cpp
index c16c3eaec..725446958 100644
--- a/modules/webcpanel/pages/chanserv/info.cpp
+++ b/modules/webcpanel/pages/chanserv/info.cpp
@@ -12,7 +12,7 @@ WebCPanel::ChanServ::Info::Info(const Anope::string &cat, const Anope::string &u
{
}
-bool WebCPanel::ChanServ::Info::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements)
+bool WebCPanel::ChanServ::Info::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, ::NickServ::Nick *na, TemplateFileServer::Replacements &replacements)
{
const Anope::string &chname = message.get_data["channel"];
diff --git a/modules/webcpanel/pages/chanserv/info.h b/modules/webcpanel/pages/chanserv/info.h
index 8f70f13b2..2e9888ede 100644
--- a/modules/webcpanel/pages/chanserv/info.h
+++ b/modules/webcpanel/pages/chanserv/info.h
@@ -16,7 +16,7 @@ class Info : public WebPanelProtectedPage
public:
Info(const Anope::string &cat, const Anope::string &u);
- bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) override;
+ bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, ::NickServ::Nick *, TemplateFileServer::Replacements &) override;
};
}
diff --git a/modules/webcpanel/pages/chanserv/modes.cpp b/modules/webcpanel/pages/chanserv/modes.cpp
index f087b86a9..61c170ee2 100644
--- a/modules/webcpanel/pages/chanserv/modes.cpp
+++ b/modules/webcpanel/pages/chanserv/modes.cpp
@@ -12,7 +12,7 @@ WebCPanel::ChanServ::Modes::Modes(const Anope::string &cat, const Anope::string
{
}
-bool WebCPanel::ChanServ::Modes::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements)
+bool WebCPanel::ChanServ::Modes::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, ::NickServ::Nick *na, TemplateFileServer::Replacements &replacements)
{
const Anope::string &chname = message.get_data["channel"];
const Anope::string &mode = message.get_data["m"];
@@ -27,7 +27,7 @@ bool WebCPanel::ChanServ::Modes::OnRequest(HTTPProvider *server, const Anope::st
}
replacements["ESCAPED_CHANNEL"] = HTTPUtils::URLEncode(chname);
- ChannelInfo *ci = ChannelInfo::Find(chname);
+ ::ChanServ::Channel *ci = ::ChanServ::Find(chname);
if (!ci)
{
@@ -44,7 +44,7 @@ bool WebCPanel::ChanServ::Modes::OnRequest(HTTPProvider *server, const Anope::st
return true;
}
- AccessGroup u_access = ci->AccessFor(na->nc);
+ ::ChanServ::AccessGroup u_access = ci->AccessFor(na->nc);
bool has_priv = na->nc->IsServicesOper() && na->nc->o->ot->HasPriv("chanserv/administration");
if (!u_access.HasPriv("MODE") && !has_priv)
diff --git a/modules/webcpanel/pages/chanserv/modes.h b/modules/webcpanel/pages/chanserv/modes.h
index 5fd69e07f..33197b1f4 100644
--- a/modules/webcpanel/pages/chanserv/modes.h
+++ b/modules/webcpanel/pages/chanserv/modes.h
@@ -16,7 +16,7 @@ class Modes : public WebPanelProtectedPage
public:
Modes(const Anope::string &cat, const Anope::string &u);
- bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) override;
+ bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, ::NickServ::Nick *, TemplateFileServer::Replacements &) override;
std::set<Anope::string> GetData() override;
};
diff --git a/modules/webcpanel/pages/chanserv/set.cpp b/modules/webcpanel/pages/chanserv/set.cpp
index f763ba13b..c2ea480d4 100644
--- a/modules/webcpanel/pages/chanserv/set.cpp
+++ b/modules/webcpanel/pages/chanserv/set.cpp
@@ -12,7 +12,7 @@ WebCPanel::ChanServ::Set::Set(const Anope::string &cat, const Anope::string &u)
{
}
-bool WebCPanel::ChanServ::Set::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements)
+bool WebCPanel::ChanServ::Set::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, ::NickServ::Nick *na, TemplateFileServer::Replacements &replacements)
{
const Anope::string &chname = message.get_data["channel"];
bool can_set = false;
@@ -26,7 +26,7 @@ bool WebCPanel::ChanServ::Set::OnRequest(HTTPProvider *server, const Anope::stri
return true;
}
- ChannelInfo *ci = ChannelInfo::Find(chname);
+ ::ChanServ::Channel *ci = ::ChanServ::Find(chname);
if (!ci)
{
diff --git a/modules/webcpanel/pages/chanserv/set.h b/modules/webcpanel/pages/chanserv/set.h
index 12c94dcf0..3c6af8adb 100644
--- a/modules/webcpanel/pages/chanserv/set.h
+++ b/modules/webcpanel/pages/chanserv/set.h
@@ -16,7 +16,7 @@ class Set : public WebPanelProtectedPage
public:
Set(const Anope::string &cat, const Anope::string &u);
- bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) override;
+ bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, ::NickServ::Nick *, TemplateFileServer::Replacements &) override;
std::set<Anope::string> GetData() override;
};
diff --git a/modules/webcpanel/pages/chanserv/utils.cpp b/modules/webcpanel/pages/chanserv/utils.cpp
index b4571b74c..f14595a82 100644
--- a/modules/webcpanel/pages/chanserv/utils.cpp
+++ b/modules/webcpanel/pages/chanserv/utils.cpp
@@ -9,7 +9,7 @@
namespace
{
- bool ChannelSort(ChannelInfo *ci1, ChannelInfo *ci2)
+ bool ChannelSort(ChanServ::Channel *ci1, ChanServ::Channel *ci2)
{
return ci::less()(ci1->name, ci2->name);
}
@@ -21,15 +21,15 @@ namespace WebCPanel
namespace ChanServ
{
-void BuildChanList(NickAlias *na, TemplateFileServer::Replacements &replacements)
+void BuildChanList(::NickServ::Nick *na, TemplateFileServer::Replacements &replacements)
{
- std::deque<ChannelInfo *> queue;
+ std::deque<::ChanServ::Channel *> queue;
na->nc->GetChannelReferences(queue);
std::sort(queue.begin(), queue.end(), ChannelSort);
for (unsigned i = 0; i < queue.size(); ++i)
{
- ChannelInfo *ci = queue[i];
+ ::ChanServ::Channel *ci = queue[i];
if (na->nc != ci->GetFounder() && ci->AccessFor(na->nc).empty())
continue;
diff --git a/modules/webcpanel/pages/chanserv/utils.h b/modules/webcpanel/pages/chanserv/utils.h
index 111abb4ad..34e82999f 100644
--- a/modules/webcpanel/pages/chanserv/utils.h
+++ b/modules/webcpanel/pages/chanserv/utils.h
@@ -11,7 +11,7 @@ namespace WebCPanel
namespace ChanServ
{
-extern void BuildChanList(NickAlias *, TemplateFileServer::Replacements &);
+extern void BuildChanList(::NickServ::Nick *, TemplateFileServer::Replacements &);
}
diff --git a/modules/webcpanel/pages/hostserv/request.cpp b/modules/webcpanel/pages/hostserv/request.cpp
index ee6356214..605e0082c 100644
--- a/modules/webcpanel/pages/hostserv/request.cpp
+++ b/modules/webcpanel/pages/hostserv/request.cpp
@@ -7,11 +7,11 @@
#include "../../webcpanel.h"
-WebCPanel::HostServ::Request::Request(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage (cat, u)
+WebCPanel::HostServ::Request::Request(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage (cat, u)
{
}
-bool WebCPanel::HostServ::Request::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements)
+bool WebCPanel::HostServ::Request::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, ::NickServ::Nick *na, TemplateFileServer::Replacements &replacements)
{
if (message.post_data.count("req") > 0)
{
diff --git a/modules/webcpanel/pages/hostserv/request.h b/modules/webcpanel/pages/hostserv/request.h
index 53e72c1bc..c8a518361 100644
--- a/modules/webcpanel/pages/hostserv/request.h
+++ b/modules/webcpanel/pages/hostserv/request.h
@@ -16,7 +16,7 @@ class Request : public WebPanelProtectedPage
public:
Request(const Anope::string &cat, const Anope::string &u);
- bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) override;
+ bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, ::NickServ::Nick *, TemplateFileServer::Replacements &) override;
};
}
diff --git a/modules/webcpanel/pages/index.cpp b/modules/webcpanel/pages/index.cpp
index 0b2ce3d9c..d2a99becd 100644
--- a/modules/webcpanel/pages/index.cpp
+++ b/modules/webcpanel/pages/index.cpp
@@ -6,8 +6,9 @@
*/
#include "../webcpanel.h"
+#include "modules/nickserv.h"
-class WebpanelRequest : public IdentifyRequest
+class WebpanelRequest : public NickServ::IdentifyRequestListener
{
HTTPReply reply;
HTTPMessage message;
@@ -17,16 +18,16 @@ class WebpanelRequest : public IdentifyRequest
TemplateFileServer::Replacements replacements;
public:
- WebpanelRequest(Module *o, HTTPReply &r, HTTPMessage &m, HTTPProvider *s, const Anope::string &p_n, HTTPClient *c, TemplateFileServer::Replacements &re, const Anope::string &user, const Anope::string &pass) : IdentifyRequest(o, user, pass), reply(r), message(m), server(s), page_name(p_n), client(c), replacements(re) { }
+ WebpanelRequest(HTTPReply &r, HTTPMessage &m, HTTPProvider *s, const Anope::string &p_n, HTTPClient *c, TemplateFileServer::Replacements &re) : reply(r), message(m), server(s), page_name(p_n), client(c), replacements(re) { }
- void OnSuccess() override
+ void OnSuccess(NickServ::IdentifyRequest *req) override
{
if (!client || !server)
return;
- NickAlias *na = NickAlias::Find(this->GetAccount());
+ ::NickServ::Nick *na = ::NickServ::FindNick(req->GetAccount());
if (!na)
{
- this->OnFail();
+ this->OnFail(req);
return;
}
@@ -50,7 +51,7 @@ class WebpanelRequest : public IdentifyRequest
reply.cookies.push_back(c);
}
- {
+ {
HTTPReply::cookie c;
c.push_back(std::make_pair("id", id));
c.push_back(std::make_pair("Path", "/"));
@@ -63,7 +64,7 @@ class WebpanelRequest : public IdentifyRequest
client->SendReply(&reply);
}
- void OnFail() override
+ void OnFail(NickServ::IdentifyRequest *req) override
{
if (!client || !server)
return;
@@ -82,11 +83,11 @@ bool WebCPanel::Index::OnRequest(HTTPProvider *server, const Anope::string &page
replacements["TITLE"] = page_title;
- if (!user.empty() && !pass.empty())
+ if (!user.empty() && !pass.empty() && ::NickServ::service)
{
- // Rate limit check.
+ // XXX Rate limit check.
- WebpanelRequest *req = new WebpanelRequest(me, reply, message, server, page_name, client, replacements, user, pass);
+ ::NickServ::IdentifyRequest *req = ::NickServ::service->CreateIdentifyRequest(new WebpanelRequest(reply, message, server, page_name, client, replacements), me, user, pass);
Event::OnCheckAuthentication(&Event::CheckAuthentication::OnCheckAuthentication, nullptr, req);
req->Dispatch();
return false;
diff --git a/modules/webcpanel/pages/logout.cpp b/modules/webcpanel/pages/logout.cpp
index d9f5432a3..648b277cc 100644
--- a/modules/webcpanel/pages/logout.cpp
+++ b/modules/webcpanel/pages/logout.cpp
@@ -11,7 +11,7 @@ WebCPanel::Logout::Logout(const Anope::string &u) : WebPanelProtectedPage("", u)
{
}
-bool WebCPanel::Logout::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements)
+bool WebCPanel::Logout::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, ::NickServ::Nick *na, TemplateFileServer::Replacements &replacements)
{
na->Shrink<Anope::string>("webcpanel_id");
na->Shrink<Anope::string>("webcpanel_ip");
diff --git a/modules/webcpanel/pages/logout.h b/modules/webcpanel/pages/logout.h
index f44f3aad5..d3e6cb1ff 100644
--- a/modules/webcpanel/pages/logout.h
+++ b/modules/webcpanel/pages/logout.h
@@ -13,7 +13,7 @@ class Logout : public WebPanelProtectedPage
public:
Logout(const Anope::string &u);
- bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) override;
+ bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickServ::Nick *, TemplateFileServer::Replacements &) override;
};
}
diff --git a/modules/webcpanel/pages/memoserv/memos.cpp b/modules/webcpanel/pages/memoserv/memos.cpp
index 944864cdd..845e7becd 100644
--- a/modules/webcpanel/pages/memoserv/memos.cpp
+++ b/modules/webcpanel/pages/memoserv/memos.cpp
@@ -11,41 +11,42 @@ WebCPanel::MemoServ::Memos::Memos(const Anope::string &cat, const Anope::string
{
}
-bool WebCPanel::MemoServ::Memos::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements)
+bool WebCPanel::MemoServ::Memos::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, ::NickServ::Nick *na, TemplateFileServer::Replacements &replacements)
{
const Anope::string &chname = message.get_data["channel"];
- ChannelInfo *ci;
- const MemoInfo *mi;
- Memo *m;
+ ::ChanServ::Channel *ci;
+ const ::MemoServ::MemoInfo *mi;
+ ::MemoServ::Memo *m;
- for (registered_channel_map::const_iterator it = RegisteredChannelList->begin(), it_end = RegisteredChannelList->end(); it != it_end; ++it)
- {
- ci = it->second;
-
- if (ci->AccessFor(na->nc).HasPriv("MEMO"))
+ if (::ChanServ::service)
+ for (auto& it : ::ChanServ::service->GetChannels())
{
- replacements["CHANNEL_NAMES"] = ci->name;
- replacements["ESCAPED_CHANNEL_NAMES"] = HTTPUtils::URLEncode(ci->name);
+ ci = it.second;
+
+ if (ci->AccessFor(na->nc).HasPriv("MEMO"))
+ {
+ replacements["CHANNEL_NAMES"] = ci->name;
+ replacements["ESCAPED_CHANNEL_NAMES"] = HTTPUtils::URLEncode(ci->name);
+ }
}
- }
if (chname.empty())
{
replacements["MESSAGES"] = "No Channel specified, displaying the memos for your Nick";
- mi = &na->nc->memos;
+ mi = na->nc->memos;
}
else
{
- ci = ChannelInfo::Find(chname);
+ ci = ::ChanServ::Find(chname);
if (ci)
{
replacements["MESSAGES"] = "Displaying the memos for " + chname + ".";
- mi = &ci->memos;
+ mi = ci->memos;
}
else
{
replacements["MESSAGES"] = "Channel " + chname + " not found, displaying the memos for your nick";
- mi = &na->nc->memos;
+ mi = na->nc->memos;
}
replacements["CHANNEL_NAME"] = ci->name;
@@ -84,7 +85,7 @@ bool WebCPanel::MemoServ::Memos::OnRequest(HTTPProvider *server, const Anope::st