From 004c4cbe5f4c37cf455cb6d0caa434fbbb3406ea Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 2 Jan 2014 11:02:14 -0500 Subject: Move modules out of extras that dont have external dependencies --- modules/extra/webcpanel/CMakeLists.txt | 6 - modules/extra/webcpanel/pages/chanserv/access.cpp | 162 ------------- modules/extra/webcpanel/pages/chanserv/access.h | 27 --- modules/extra/webcpanel/pages/chanserv/akick.cpp | 94 ------- modules/extra/webcpanel/pages/chanserv/akick.h | 27 --- modules/extra/webcpanel/pages/chanserv/drop.cpp | 58 ----- modules/extra/webcpanel/pages/chanserv/drop.h | 25 -- modules/extra/webcpanel/pages/chanserv/info.cpp | 28 --- modules/extra/webcpanel/pages/chanserv/info.h | 25 -- modules/extra/webcpanel/pages/chanserv/modes.cpp | 108 --------- modules/extra/webcpanel/pages/chanserv/modes.h | 27 --- modules/extra/webcpanel/pages/chanserv/set.cpp | 155 ------------ modules/extra/webcpanel/pages/chanserv/set.h | 27 --- modules/extra/webcpanel/pages/chanserv/utils.cpp | 45 ---- modules/extra/webcpanel/pages/chanserv/utils.h | 19 -- modules/extra/webcpanel/pages/confirm.cpp | 32 --- modules/extra/webcpanel/pages/confirm.h | 22 -- modules/extra/webcpanel/pages/hostserv/request.cpp | 36 --- modules/extra/webcpanel/pages/hostserv/request.h | 24 -- modules/extra/webcpanel/pages/index.cpp | 99 -------- modules/extra/webcpanel/pages/index.h | 22 -- modules/extra/webcpanel/pages/logout.cpp | 23 -- modules/extra/webcpanel/pages/logout.h | 20 -- modules/extra/webcpanel/pages/memoserv/memos.cpp | 115 --------- modules/extra/webcpanel/pages/memoserv/memos.h | 25 -- modules/extra/webcpanel/pages/nickserv/access.cpp | 40 --- modules/extra/webcpanel/pages/nickserv/access.h | 25 -- modules/extra/webcpanel/pages/nickserv/alist.cpp | 59 ----- modules/extra/webcpanel/pages/nickserv/alist.h | 25 -- modules/extra/webcpanel/pages/nickserv/cert.cpp | 43 ---- modules/extra/webcpanel/pages/nickserv/cert.h | 25 -- modules/extra/webcpanel/pages/nickserv/info.cpp | 118 --------- modules/extra/webcpanel/pages/nickserv/info.h | 25 -- modules/extra/webcpanel/pages/operserv/akill.cpp | 64 ----- modules/extra/webcpanel/pages/operserv/akill.h | 25 -- modules/extra/webcpanel/pages/register.cpp | 24 -- modules/extra/webcpanel/pages/register.h | 22 -- modules/extra/webcpanel/static_fileserver.cpp | 42 ---- modules/extra/webcpanel/static_fileserver.h | 19 -- modules/extra/webcpanel/template_fileserver.cpp | 261 -------------------- modules/extra/webcpanel/template_fileserver.h | 27 --- .../templates/default/chanserv/access.html | 77 ------ .../templates/default/chanserv/akick.html | 61 ----- .../templates/default/chanserv/chanlist.html | 17 -- .../webcpanel/templates/default/chanserv/drop.html | 32 --- .../webcpanel/templates/default/chanserv/main.html | 3 - .../templates/default/chanserv/modes.html | 56 ----- .../webcpanel/templates/default/chanserv/set.html | 93 ------- .../extra/webcpanel/templates/default/confirm.html | 51 ---- .../extra/webcpanel/templates/default/cubes.png | Bin 723 -> 0 bytes .../extra/webcpanel/templates/default/favicon.ico | Bin 3774 -> 0 bytes .../extra/webcpanel/templates/default/footer.html | 14 -- .../extra/webcpanel/templates/default/header.html | 64 ----- .../templates/default/hostserv/request.html | 45 ---- .../extra/webcpanel/templates/default/login.html | 55 ----- modules/extra/webcpanel/templates/default/logo.png | Bin 19247 -> 0 bytes .../templates/default/memoserv/memos.html | 112 --------- .../templates/default/nickserv/access.html | 42 ---- .../templates/default/nickserv/alist.html | 23 -- .../webcpanel/templates/default/nickserv/cert.html | 42 ---- .../webcpanel/templates/default/nickserv/info.html | 72 ------ .../templates/default/operserv/akill.html | 77 ------ .../webcpanel/templates/default/register.html | 65 ----- .../extra/webcpanel/templates/default/style.css | 166 ------------- modules/extra/webcpanel/webcpanel.cpp | 270 --------------------- modules/extra/webcpanel/webcpanel.h | 178 -------------- 66 files changed, 3710 deletions(-) delete mode 100644 modules/extra/webcpanel/CMakeLists.txt delete mode 100644 modules/extra/webcpanel/pages/chanserv/access.cpp delete mode 100644 modules/extra/webcpanel/pages/chanserv/access.h delete mode 100644 modules/extra/webcpanel/pages/chanserv/akick.cpp delete mode 100644 modules/extra/webcpanel/pages/chanserv/akick.h delete mode 100644 modules/extra/webcpanel/pages/chanserv/drop.cpp delete mode 100644 modules/extra/webcpanel/pages/chanserv/drop.h delete mode 100644 modules/extra/webcpanel/pages/chanserv/info.cpp delete mode 100644 modules/extra/webcpanel/pages/chanserv/info.h delete mode 100644 modules/extra/webcpanel/pages/chanserv/modes.cpp delete mode 100644 modules/extra/webcpanel/pages/chanserv/modes.h delete mode 100644 modules/extra/webcpanel/pages/chanserv/set.cpp delete mode 100644 modules/extra/webcpanel/pages/chanserv/set.h delete mode 100644 modules/extra/webcpanel/pages/chanserv/utils.cpp delete mode 100644 modules/extra/webcpanel/pages/chanserv/utils.h delete mode 100644 modules/extra/webcpanel/pages/confirm.cpp delete mode 100644 modules/extra/webcpanel/pages/confirm.h delete mode 100644 modules/extra/webcpanel/pages/hostserv/request.cpp delete mode 100644 modules/extra/webcpanel/pages/hostserv/request.h delete mode 100644 modules/extra/webcpanel/pages/index.cpp delete mode 100644 modules/extra/webcpanel/pages/index.h delete mode 100644 modules/extra/webcpanel/pages/logout.cpp delete mode 100644 modules/extra/webcpanel/pages/logout.h delete mode 100644 modules/extra/webcpanel/pages/memoserv/memos.cpp delete mode 100644 modules/extra/webcpanel/pages/memoserv/memos.h delete mode 100644 modules/extra/webcpanel/pages/nickserv/access.cpp delete mode 100644 modules/extra/webcpanel/pages/nickserv/access.h delete mode 100644 modules/extra/webcpanel/pages/nickserv/alist.cpp delete mode 100644 modules/extra/webcpanel/pages/nickserv/alist.h delete mode 100644 modules/extra/webcpanel/pages/nickserv/cert.cpp delete mode 100644 modules/extra/webcpanel/pages/nickserv/cert.h delete mode 100644 modules/extra/webcpanel/pages/nickserv/info.cpp delete mode 100644 modules/extra/webcpanel/pages/nickserv/info.h delete mode 100644 modules/extra/webcpanel/pages/operserv/akill.cpp delete mode 100644 modules/extra/webcpanel/pages/operserv/akill.h delete mode 100644 modules/extra/webcpanel/pages/register.cpp delete mode 100644 modules/extra/webcpanel/pages/register.h delete mode 100644 modules/extra/webcpanel/static_fileserver.cpp delete mode 100644 modules/extra/webcpanel/static_fileserver.h delete mode 100644 modules/extra/webcpanel/template_fileserver.cpp delete mode 100644 modules/extra/webcpanel/template_fileserver.h delete mode 100644 modules/extra/webcpanel/templates/default/chanserv/access.html delete mode 100644 modules/extra/webcpanel/templates/default/chanserv/akick.html delete mode 100644 modules/extra/webcpanel/templates/default/chanserv/chanlist.html delete mode 100644 modules/extra/webcpanel/templates/default/chanserv/drop.html delete mode 100644 modules/extra/webcpanel/templates/default/chanserv/main.html delete mode 100644 modules/extra/webcpanel/templates/default/chanserv/modes.html delete mode 100644 modules/extra/webcpanel/templates/default/chanserv/set.html delete mode 100644 modules/extra/webcpanel/templates/default/confirm.html delete mode 100644 modules/extra/webcpanel/templates/default/cubes.png delete mode 100644 modules/extra/webcpanel/templates/default/favicon.ico delete mode 100644 modules/extra/webcpanel/templates/default/footer.html delete mode 100644 modules/extra/webcpanel/templates/default/header.html delete mode 100644 modules/extra/webcpanel/templates/default/hostserv/request.html delete mode 100644 modules/extra/webcpanel/templates/default/login.html delete mode 100644 modules/extra/webcpanel/templates/default/logo.png delete mode 100644 modules/extra/webcpanel/templates/default/memoserv/memos.html delete mode 100644 modules/extra/webcpanel/templates/default/nickserv/access.html delete mode 100644 modules/extra/webcpanel/templates/default/nickserv/alist.html delete mode 100644 modules/extra/webcpanel/templates/default/nickserv/cert.html delete mode 100644 modules/extra/webcpanel/templates/default/nickserv/info.html delete mode 100644 modules/extra/webcpanel/templates/default/operserv/akill.html delete mode 100644 modules/extra/webcpanel/templates/default/register.html delete mode 100644 modules/extra/webcpanel/templates/default/style.css delete mode 100644 modules/extra/webcpanel/webcpanel.cpp delete mode 100644 modules/extra/webcpanel/webcpanel.h (limited to 'modules/extra/webcpanel') diff --git a/modules/extra/webcpanel/CMakeLists.txt b/modules/extra/webcpanel/CMakeLists.txt deleted file mode 100644 index 247973f61..000000000 --- a/modules/extra/webcpanel/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -build_subdir(${CMAKE_CURRENT_SOURCE_DIR}) - -install(DIRECTORY templates - DESTINATION "${DB_DIR}/modules/webcpanel" -) - diff --git a/modules/extra/webcpanel/pages/chanserv/access.cpp b/modules/extra/webcpanel/pages/chanserv/access.cpp deleted file mode 100644 index d87613ed7..000000000 --- a/modules/extra/webcpanel/pages/chanserv/access.cpp +++ /dev/null @@ -1,162 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" -#include "utils.h" - -WebCPanel::ChanServ::Access::Access(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) -{ -} - -bool WebCPanel::ChanServ::Access::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) -{ - TemplateFileServer Page("chanserv/access.html"); - const Anope::string &chname = message.get_data["channel"]; - - BuildChanList(na, replacements); - - if (chname.empty()) - { - Page.Serve(server, page_name, client, message, reply, replacements); - return true; - } - - ChannelInfo *ci = ChannelInfo::Find(chname); - - if (!ci) - { - replacements["MESSAGES"] = "Channel not registered."; - Page.Serve(server, page_name, client, message, reply, replacements); - return true; - } - - 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) - { - replacements["MESSAGES"] = "Access denied."; - Page.Serve(server, page_name, client, message, reply, replacements); - return true; - } - - replacements["ACCESS_LIST"] = "YES"; - - const 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) - { - std::vector params; - params.push_back(ci->name); - params.push_back("DEL"); - params.push_back(message.get_data["mask"]); - - WebPanel::RunCommand(na->nc->display, na->nc, "ChanServ", "chanserv/access", params, replacements); - } - 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::const_iterator it = AccessProvider::GetProviders().begin(); it != AccessProvider::GetProviders().end(); ++it) - if ((*it)->name == message.post_data["provider"]) - a = *it; - - if (a) - { - bool denied = false; - - for (unsigned i = 0, end = ci->GetAccessCount(); i < end; ++i) - { - ChanAccess *acc = ci->GetAccess(i); - - if (acc->mask == message.post_data["mask"]) - { - if ((!highest || *acc >= *highest) && !u_access.founder && !has_priv) - { - replacements["MESSAGES"] = "Access denied"; - denied = true; - } - else - delete acc; - break; - } - } - - - unsigned access_max = Config->GetModule("chanserv")->Get("accessmax", "1024"); - if (access_max && ci->GetAccessCount() >= access_max) - replacements["MESSAGES"] = "Sorry, you can only have " + stringify(access_max) + " access entries on a channel."; - else if (!denied) - { - ChanAccess *new_acc = a->Create(); - new_acc->ci = ci; - new_acc->mask = message.post_data["mask"]; - new_acc->creator = na->nc->display; - try - { - new_acc->AccessUnserialize(message.post_data["access"]); - } - catch (...) - { - replacements["MESSAGES"] = "Invalid access expression for the given type"; - delete new_acc; - new_acc = NULL; - } - if (new_acc) - { - new_acc->last_seen = 0; - new_acc->created = Anope::CurTime; - - if ((!highest || *highest <= *new_acc) && !u_access.founder && !has_priv) - delete new_acc; - else if (new_acc->AccessSerialize().empty()) - { - replacements["MESSAGES"] = "Invalid access expression for the given type"; - delete new_acc; - } - else - { - ci->AddAccess(new_acc); - replacements["MESSAGES"] = "Access for " + new_acc->mask + " set to " + new_acc->AccessSerialize(); - } - } - } - } - } - } - - replacements["ESCAPED_CHANNEL"] = HTTPUtils::URLEncode(chname); - replacements["ACCESS_CHANGE"] = u_access.HasPriv("ACCESS_CHANGE") ? "YES" : "NO"; - - for (unsigned i = 0; i < ci->GetAccessCount(); ++i) - { - 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::const_iterator it = AccessProvider::GetProviders().begin(); it != AccessProvider::GetProviders().end(); ++it) - { - const AccessProvider *a = *it; - replacements["PROVIDERS"] = a->name; - } - - Page.Serve(server, page_name, client, message, reply, replacements); - return true; -} - -std::set WebCPanel::ChanServ::Access::GetData() -{ - std::set v; - v.insert("channel"); - return v; -} - diff --git a/modules/extra/webcpanel/pages/chanserv/access.h b/modules/extra/webcpanel/pages/chanserv/access.h deleted file mode 100644 index 7f81f2d39..000000000 --- a/modules/extra/webcpanel/pages/chanserv/access.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -namespace ChanServ -{ - -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 &) anope_override; - - std::set GetData() anope_override; -}; - -} - -} - diff --git a/modules/extra/webcpanel/pages/chanserv/akick.cpp b/modules/extra/webcpanel/pages/chanserv/akick.cpp deleted file mode 100644 index bff38910c..000000000 --- a/modules/extra/webcpanel/pages/chanserv/akick.cpp +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" -#include "utils.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) -{ - const Anope::string &chname = message.get_data["channel"]; - TemplateFileServer Page("chanserv/akick.html"); - - BuildChanList(na, replacements); - - if (chname.empty()) - { - Page.Serve(server, page_name, client, message, reply, replacements); - return true; - } - - ChannelInfo *ci = ChannelInfo::Find(chname); - - if (!ci) - { - replacements["MESSAGES"] = "Channel not registered"; - Page.Serve(server, page_name, client, message, reply, replacements); - return true; - } - - 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) - { - replacements["MESSAGES"] = "Permission denied."; - Page.Serve(server, page_name, client, message, reply, replacements); - return true; - } - - replacements["AKICK"] = "YES"; - - if (message.get_data["del"].empty() == false && message.get_data["mask"].empty() == false) - { - std::vector params; - params.push_back(ci->name); - params.push_back("DEL"); - params.push_back(message.get_data["mask"]); - - WebPanel::RunCommand(na->nc->display, na->nc, "ChanServ", "chanserv/akick", params, replacements); - } - else if (message.post_data["mask"].empty() == false) - { - std::vector params; - params.push_back(ci->name); - params.push_back("ADD"); - params.push_back(message.post_data["mask"]); - if (message.post_data["reason"].empty() == false) - params.push_back(message.post_data["reason"]); - - WebPanel::RunCommand(na->nc->display, na->nc, "ChanServ", "chanserv/akick", params, replacements); - } - - replacements["ESCAPED_CHANNEL"] = HTTPUtils::URLEncode(chname); - - for (unsigned i = 0; i < ci->GetAkickCount(); ++i) - { - AutoKick *akick = ci->GetAkick(i); - - if (akick->nc) - replacements["MASKS"] = HTTPUtils::Escape(akick->nc->display); - else - replacements["MASKS"] = HTTPUtils::Escape(akick->mask); - replacements["CREATORS"] = HTTPUtils::Escape(akick->creator); - replacements["REASONS"] = HTTPUtils::Escape(akick->reason); - } - - Page.Serve(server, page_name, client, message, reply, replacements); - return true; -} - -std::set WebCPanel::ChanServ::Akick::GetData() -{ - std::set v; - v.insert("channel"); - return v; -} - diff --git a/modules/extra/webcpanel/pages/chanserv/akick.h b/modules/extra/webcpanel/pages/chanserv/akick.h deleted file mode 100644 index bd5b18132..000000000 --- a/modules/extra/webcpanel/pages/chanserv/akick.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -namespace ChanServ -{ - -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 &) anope_override; - - std::set GetData() anope_override; -}; - -} - -} - diff --git a/modules/extra/webcpanel/pages/chanserv/drop.cpp b/modules/extra/webcpanel/pages/chanserv/drop.cpp deleted file mode 100644 index 5fa37b5a2..000000000 --- a/modules/extra/webcpanel/pages/chanserv/drop.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" -#include "utils.h" - -WebCPanel::ChanServ::Drop::Drop(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage (cat, u) -{ -} - - -bool WebCPanel::ChanServ::Drop::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) -{ - - if (message.post_data.count("channel") > 0 && message.post_data.count("confChan") > 0) - { - if (message.post_data["channel"] == message.post_data["confChan"]) - { - std::vector params; - const Anope::string &channel = HTTPUtils::URLDecode(message.post_data["channel"]); - params.push_back(channel); - params.push_back(channel); - - WebPanel::RunCommand(na->nc->display, na->nc, "ChanServ", "chanserv/drop", params, replacements); - } - else - replacements["MESSAGES"] = "Invalid Confirmation"; - } - - std::deque queue; - na->nc->GetChannelReferences(queue); - for (unsigned i = 0; i < queue.size(); ++i) - { - ChannelInfo *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; - replacements["ESCAPED_CHANNEL_NAMES"] = HTTPUtils::URLEncode(ci->name); - } - } - - if (message.get_data.count("channel") > 0) - { - const Anope::string &chname = message.get_data["channel"]; - - replacements["CHANNEL_DROP"] = chname; - replacements["ESCAPED_CHANNEL"] = HTTPUtils::URLEncode(chname); - } - - TemplateFileServer page("chanserv/drop.html"); - page.Serve(server, page_name, client, message, reply, replacements); - return true; - -} diff --git a/modules/extra/webcpanel/pages/chanserv/drop.h b/modules/extra/webcpanel/pages/chanserv/drop.h deleted file mode 100644 index d418ade8f..000000000 --- a/modules/extra/webcpanel/pages/chanserv/drop.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - - namespace ChanServ - { - - class Drop : public WebPanelProtectedPage - { - public: - Drop(const Anope::string &cat, const Anope::string &u); - - bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) anope_override; - - }; - - } - -} diff --git a/modules/extra/webcpanel/pages/chanserv/info.cpp b/modules/extra/webcpanel/pages/chanserv/info.cpp deleted file mode 100644 index c16c3eaec..000000000 --- a/modules/extra/webcpanel/pages/chanserv/info.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" -#include "utils.h" - -WebCPanel::ChanServ::Info::Info(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) -{ -} - -bool WebCPanel::ChanServ::Info::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) -{ - const Anope::string &chname = message.get_data["channel"]; - - if (!chname.empty()) - replacements["ESCAPED_CHANNEL"] = HTTPUtils::URLEncode(chname); - - BuildChanList(na, replacements); - - TemplateFileServer page("chanserv/main.html"); - page.Serve(server, page_name, client, message, reply, replacements); - return true; -} - diff --git a/modules/extra/webcpanel/pages/chanserv/info.h b/modules/extra/webcpanel/pages/chanserv/info.h deleted file mode 100644 index 4302264d6..000000000 --- a/modules/extra/webcpanel/pages/chanserv/info.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -namespace ChanServ -{ - -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 &) anope_override; -}; - -} - -} - diff --git a/modules/extra/webcpanel/pages/chanserv/modes.cpp b/modules/extra/webcpanel/pages/chanserv/modes.cpp deleted file mode 100644 index e3e93dd03..000000000 --- a/modules/extra/webcpanel/pages/chanserv/modes.cpp +++ /dev/null @@ -1,108 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" -#include "utils.h" - -WebCPanel::ChanServ::Modes::Modes(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) -{ -} - -bool WebCPanel::ChanServ::Modes::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) -{ - const Anope::string &chname = message.get_data["channel"]; - const Anope::string &mode = message.get_data["m"]; - TemplateFileServer Page("chanserv/modes.html"); - - BuildChanList(na, replacements); - - if (chname.empty()) - { - Page.Serve(server, page_name, client, message, reply, replacements); - return true; - } - - ChannelInfo *ci = ChannelInfo::Find(chname); - - if (!ci) - { - Page.Serve(server, page_name, client, message, reply, replacements); - return true; - } - - Channel *c = Channel::Find(chname); - - if (!c) - { - replacements["MESSAGES"] = Anope::printf(CHAN_X_NOT_IN_USE, chname.c_str()); - Page.Serve(server, page_name, client, message, reply, replacements); - return true; - } - - 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) - { - replacements["MESSAGES"] = "Access denied."; - Page.Serve(server, page_name, client, message, reply, replacements); - return true; - } - - replacements["MODE"] = "YES"; - - /* build a list with the names of all listmodes */ - for (std::vector::const_iterator it = ModeManager::GetChannelModes().begin(); it != ModeManager::GetChannelModes().end(); ++it) - { - /* "NAMEBASE" is a special mode from InspIRCds m_namedmodes, we dont want this here*/ - if ((*it) && (*it)->type == MODE_LIST && (*it)->name != "NAMEBASE") - replacements["LISTMODES"] = (*it)->mchar; - } - - ChannelMode *cm = ModeManager::FindChannelModeByName(mode); - if (cm) - { - if (message.get_data["del"].empty() == false && message.get_data["mask"].empty() == false) - { - std::vector params; - params.push_back(ci->name); - params.push_back("SET"); - params.push_back("-" + Anope::string(cm->mchar)); - params.push_back(message.get_data["mask"]); - WebPanel::RunCommand(na->nc->display, na->nc, "ChanServ", "chanserv/mode", params, replacements); - } - else if (message.post_data["mask"].empty() == false) - { - std::vector params; - params.push_back(ci->name); - params.push_back("SET"); - params.push_back("+" + Anope::string(cm->mchar)); - params.push_back(message.post_data["mask"]); - WebPanel::RunCommand(na->nc->display, na->nc, "ChanServ", "chanserv/mode", params, replacements); - } - - for (Channel::ModeList::const_iterator it = c->GetModes().begin(); it != c->GetModes().end(); ++it) - { - if (it->first == mode) - replacements["MASKS"] = HTTPUtils::Escape(it->second); - } - } - - replacements["ESCAPED_CHANNEL"] = HTTPUtils::URLEncode(chname); - replacements["ESCAPED_MODE"] = HTTPUtils::URLEncode(mode); - - Page.Serve(server, page_name, client, message, reply, replacements); - return true; -} - -std::set WebCPanel::ChanServ::Modes::GetData() -{ - std::set v; - v.insert("channel"); - return v; -} - diff --git a/modules/extra/webcpanel/pages/chanserv/modes.h b/modules/extra/webcpanel/pages/chanserv/modes.h deleted file mode 100644 index 36f5a1d27..000000000 --- a/modules/extra/webcpanel/pages/chanserv/modes.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -namespace ChanServ -{ - -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 &) anope_override; - - std::set GetData() anope_override; -}; - -} - -} - diff --git a/modules/extra/webcpanel/pages/chanserv/set.cpp b/modules/extra/webcpanel/pages/chanserv/set.cpp deleted file mode 100644 index f763ba13b..000000000 --- a/modules/extra/webcpanel/pages/chanserv/set.cpp +++ /dev/null @@ -1,155 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" -#include "utils.h" - -WebCPanel::ChanServ::Set::Set(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) -{ -} - -bool WebCPanel::ChanServ::Set::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) -{ - const Anope::string &chname = message.get_data["channel"]; - bool can_set = false; - TemplateFileServer page("chanserv/set.html"); - - BuildChanList(na, replacements); - - if (chname.empty()) - { - page.Serve(server, page_name, client, message, reply, replacements); - return true; - } - - ChannelInfo *ci = ChannelInfo::Find(chname); - - if (!ci) - { - page.Serve(server, page_name, client, message, reply, replacements); - return true; - } - - replacements["OKAY"]; - - if (ci->AccessFor(na->nc).HasPriv("SET")) - { - replacements["CAN_SET"]; - can_set = true; - } - - if (can_set && message.post_data.empty() == false) - { - if (ci->HasExt("KEEPTOPIC") != message.post_data.count("keeptopic")) - { - if (!ci->HasExt("KEEPTOPIC")) - ci->Extend("KEEPTOPIC"); - else - ci->Shrink("KEEPTOPIC"); - replacements["MESSAGES"] = "Secure updated"; - } - if (ci->HasExt("PEACE") != message.post_data.count("peace")) - { - if (!ci->HasExt("PEACE")) - ci->Extend("PEACE"); - else - ci->Shrink("PEACE"); - replacements["MESSAGES"] = "Peace updated"; - } - if (ci->HasExt("CS_PRIVATE") != message.post_data.count("private")) - { - if (!ci->HasExt("CS_PRIVATE")) - ci->Extend("CS_PRIVATE"); - else - ci->Shrink("CS_PRIVATE"); - replacements["MESSAGES"] = "Private updated"; - } - if (ci->HasExt("RESTRICTED") != message.post_data.count("restricted")) - { - if (!ci->HasExt("RESTRICTED")) - ci->Extend("RESTRICTED"); - else - ci->Shrink("RESTRICTED"); - replacements["MESSAGES"] = "Restricted updated"; - } - if (ci->HasExt("CS_SECURE") != message.post_data.count("secure")) - { - if (!ci->HasExt("CS_SECURE")) - ci->Extend("CS_SECURE"); - else - ci->Shrink("CS_SECURE"); - replacements["MESSAGES"] = "Secure updated"; - } - if (ci->HasExt("SECUREOPS") != message.post_data.count("secureops")) - { - if (!ci->HasExt("SECUREOPS")) - ci->Extend("SECUREOPS"); - else - ci->Shrink("SECUREOPS"); - replacements["MESSAGES"] = "Secureops updated"; - } - if (ci->HasExt("TOPICLOCK") != message.post_data.count("topiclock")) - { - if (!ci->HasExt("TOPICLOCK")) - ci->Extend("TOPICLOCK"); - else - ci->Shrink("TOPICLOCK"); - replacements["MESSAGES"] = "Topiclock updated"; - } - } - - replacements["CHANNEL"] = HTTPUtils::Escape(ci->name); - replacements["CHANNEL_ESCAPED"] = HTTPUtils::URLEncode(ci->name); - if (ci->GetFounder()) - replacements["FOUNDER"] = ci->GetFounder()->display; - if (ci->GetSuccessor()) - replacements["SUCCESSOR"] = ci->GetSuccessor()->display; - replacements["TIME_REGISTERED"] = Anope::strftime(ci->time_registered, na->nc); - replacements["LAST_USED"] = Anope::strftime(ci->last_used, na->nc); - replacements["ESCAPED_CHANNEL"] = HTTPUtils::URLEncode(chname); - - if (!ci->last_topic.empty()) - { - replacements["LAST_TOPIC"] = HTTPUtils::Escape(ci->last_topic); - replacements["LAST_TOPIC_SETTER"] = HTTPUtils::Escape(ci->last_topic_setter); - } - - if (can_set) - { - if (ci->HasExt("KEEPTOPIC")) - replacements["KEEPTOPIC"]; - - if (ci->HasExt("PEACE")) - replacements["PEACE"]; - - if (ci->HasExt("CS_PRIVATE")) - replacements["PRIVATE"]; - - if (ci->HasExt("RESTRICTED")) - replacements["RESTRICTED"]; - - if (ci->HasExt("CS_SECURE")) - replacements["SECURE"]; - - if (ci->HasExt("SECUREOPS")) - replacements["SECUREOPS"]; - - if (ci->HasExt("TOPICLOCK")) - replacements["TOPICLOCK"]; - } - - page.Serve(server, page_name, client, message, reply, replacements); - return true; -} - -std::set WebCPanel::ChanServ::Set::GetData() -{ - std::set v; - v.insert("channel"); - return v; -} - diff --git a/modules/extra/webcpanel/pages/chanserv/set.h b/modules/extra/webcpanel/pages/chanserv/set.h deleted file mode 100644 index dcd483419..000000000 --- a/modules/extra/webcpanel/pages/chanserv/set.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -namespace ChanServ -{ - -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 &) anope_override; - - std::set GetData() anope_override; -}; - -} - -} - diff --git a/modules/extra/webcpanel/pages/chanserv/utils.cpp b/modules/extra/webcpanel/pages/chanserv/utils.cpp deleted file mode 100644 index b4571b74c..000000000 --- a/modules/extra/webcpanel/pages/chanserv/utils.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" - -namespace -{ - bool ChannelSort(ChannelInfo *ci1, ChannelInfo *ci2) - { - return ci::less()(ci1->name, ci2->name); - } -} - -namespace WebCPanel -{ - -namespace ChanServ -{ - -void BuildChanList(NickAlias *na, TemplateFileServer::Replacements &replacements) -{ - std::deque queue; - na->nc->GetChannelReferences(queue); - std::sort(queue.begin(), queue.end(), ChannelSort); - - for (unsigned i = 0; i < queue.size(); ++i) - { - ChannelInfo *ci = queue[i]; - - if (na->nc != ci->GetFounder() && ci->AccessFor(na->nc).empty()) - continue; - - replacements["CHANNEL_NAMES"] = ci->name; - replacements["ESCAPED_CHANNEL_NAMES"] = HTTPUtils::URLEncode(ci->name); - } -} - -} - -} - diff --git a/modules/extra/webcpanel/pages/chanserv/utils.h b/modules/extra/webcpanel/pages/chanserv/utils.h deleted file mode 100644 index 111abb4ad..000000000 --- a/modules/extra/webcpanel/pages/chanserv/utils.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -namespace ChanServ -{ - -extern void BuildChanList(NickAlias *, TemplateFileServer::Replacements &); - -} - -} - diff --git a/modules/extra/webcpanel/pages/confirm.cpp b/modules/extra/webcpanel/pages/confirm.cpp deleted file mode 100644 index 7a4a3467e..000000000 --- a/modules/extra/webcpanel/pages/confirm.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../webcpanel.h" - -bool WebCPanel::Confirm::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply) -{ - TemplateFileServer::Replacements replacements; - const Anope::string &user = message.post_data["username"], &pass = message.post_data["password"], &email = message.post_data["email"]; - - replacements["TITLE"] = page_title; - - if (!user.empty() && !pass.empty()) - { - std::vector params; - params.push_back(pass); - if (!email.empty()) - params.push_back(email); - - WebPanel::RunCommand(user, NULL, "NickServ", "nickserv/register", params, replacements); - } - - TemplateFileServer page("confirm.html"); - - page.Serve(server, page_name, client, message, reply, replacements); - return true; -} - diff --git a/modules/extra/webcpanel/pages/confirm.h b/modules/extra/webcpanel/pages/confirm.h deleted file mode 100644 index eceeedee1..000000000 --- a/modules/extra/webcpanel/pages/confirm.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "modules/httpd.h" - -namespace WebCPanel -{ - -class Confirm : public WebPanelPage -{ - public: - Confirm(const Anope::string &u) : WebPanelPage(u) { } - - bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &) anope_override; -}; - -} - diff --git a/modules/extra/webcpanel/pages/hostserv/request.cpp b/modules/extra/webcpanel/pages/hostserv/request.cpp deleted file mode 100644 index ee6356214..000000000 --- a/modules/extra/webcpanel/pages/hostserv/request.cpp +++ /dev/null @@ -1,36 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" - -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) -{ - if (message.post_data.count("req") > 0) - { - std::vector params; - params.push_back(HTTPUtils::URLDecode(message.post_data["req"])); - - WebPanel::RunCommand(na->nc->display, na->nc, "HostServ", "hostserv/request", params, replacements, "CMDR"); - } - - if (na->HasVhost()) - { - if (na->GetVhostIdent().empty() == false) - replacements["VHOST"] = na->GetVhostIdent() + "@" + na->GetVhostHost(); - else - replacements["VHOST"] = na->GetVhostHost(); - } - if (ServiceReference("Command", "hostserv/request")) - replacements["CAN_REQUEST"] = "YES"; - TemplateFileServer page("hostserv/request.html"); - page.Serve(server, page_name, client, message, reply, replacements); - return true; -} diff --git a/modules/extra/webcpanel/pages/hostserv/request.h b/modules/extra/webcpanel/pages/hostserv/request.h deleted file mode 100644 index 59d790937..000000000 --- a/modules/extra/webcpanel/pages/hostserv/request.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -namespace HostServ -{ - -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 &) anope_override; -}; - -} - -} diff --git a/modules/extra/webcpanel/pages/index.cpp b/modules/extra/webcpanel/pages/index.cpp deleted file mode 100644 index 1b136c7fb..000000000 --- a/modules/extra/webcpanel/pages/index.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../webcpanel.h" - -class WebpanelRequest : public IdentifyRequest -{ - HTTPReply reply; - HTTPMessage message; - Reference server; - Anope::string page_name; - Reference client; - 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) { } - - void OnSuccess() anope_override - { - if (!client || !server) - return; - NickAlias *na = NickAlias::Find(this->GetAccount()); - if (!na) - { - this->OnFail(); - return; - } - - Anope::string id; - for (int i = 0; i < 64; ++i) - { - char c; - do - c = 48 + (rand() % 75); - while (!isalnum(c)); - id += c; - } - - na->Extend("webcpanel_id", id); - na->Extend("webcpanel_ip", client->GetIP()); - - { - HTTPReply::cookie c; - c.push_back(std::make_pair("account", na->nick)); - c.push_back(std::make_pair("Path", "/")); - reply.cookies.push_back(c); - } - - { - HTTPReply::cookie c; - c.push_back(std::make_pair("id", id)); - c.push_back(std::make_pair("Path", "/")); - reply.cookies.push_back(c); - } - - reply.error = HTTP_FOUND; - reply.headers["Location"] = Anope::string("http") + (server->IsSSL() ? "s" : "") + "://" + message.headers["Host"] + "/nickserv/info"; - - client->SendReply(&reply); - } - - void OnFail() anope_override - { - if (!client || !server) - return; - replacements["INVALID_LOGIN"] = "Invalid username or password"; - TemplateFileServer page("login.html"); - page.Serve(server, page_name, client, message, reply, replacements); - - client->SendReply(&reply); - } -}; - -bool WebCPanel::Index::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply) -{ - TemplateFileServer::Replacements replacements; - const Anope::string &user = message.post_data["username"], &pass = message.post_data["password"]; - - replacements["TITLE"] = page_title; - - if (!user.empty() && !pass.empty()) - { - // Rate limit check. - - WebpanelRequest *req = new WebpanelRequest(me, reply, message, server, page_name, client, replacements, user, pass); - FOREACH_MOD(OnCheckAuthentication, (NULL, req)); - req->Dispatch(); - return false; - } - - TemplateFileServer page("login.html"); - page.Serve(server, page_name, client, message, reply, replacements); - return true; -} - diff --git a/modules/extra/webcpanel/pages/index.h b/modules/extra/webcpanel/pages/index.h deleted file mode 100644 index b3c638d05..000000000 --- a/modules/extra/webcpanel/pages/index.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "modules/httpd.h" - -namespace WebCPanel -{ - -class Index : public WebPanelPage -{ - public: - Index(const Anope::string &u) : WebPanelPage(u) { } - - bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &) anope_override; -}; - -} - diff --git a/modules/extra/webcpanel/pages/logout.cpp b/modules/extra/webcpanel/pages/logout.cpp deleted file mode 100644 index d9f5432a3..000000000 --- a/modules/extra/webcpanel/pages/logout.cpp +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../webcpanel.h" - -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) -{ - na->Shrink("webcpanel_id"); - na->Shrink("webcpanel_ip"); - - reply.error = HTTP_FOUND; - reply.headers["Location"] = Anope::string("http") + (server->IsSSL() ? "s" : "") + "://" + message.headers["Host"] + "/"; - return true; -} - diff --git a/modules/extra/webcpanel/pages/logout.h b/modules/extra/webcpanel/pages/logout.h deleted file mode 100644 index ab324bdf9..000000000 --- a/modules/extra/webcpanel/pages/logout.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -class Logout : public WebPanelProtectedPage -{ - public: - Logout(const Anope::string &u); - - bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) anope_override; -}; - -} - diff --git a/modules/extra/webcpanel/pages/memoserv/memos.cpp b/modules/extra/webcpanel/pages/memoserv/memos.cpp deleted file mode 100644 index 944864cdd..000000000 --- a/modules/extra/webcpanel/pages/memoserv/memos.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" - -WebCPanel::MemoServ::Memos::Memos(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) -{ -} - -bool WebCPanel::MemoServ::Memos::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) -{ - const Anope::string &chname = message.get_data["channel"]; - ChannelInfo *ci; - const MemoInfo *mi; - 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")) - { - 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; - } - else - { - ci = ChannelInfo::Find(chname); - if (ci) - { - replacements["MESSAGES"] = "Displaying the memos for " + chname + "."; - mi = &ci->memos; - } - else - { - replacements["MESSAGES"] = "Channel " + chname + " not found, displaying the memos for your nick"; - mi = &na->nc->memos; - } - - replacements["CHANNEL_NAME"] = ci->name; - replacements["ESCAPED_CHANNEL_NAME"] = HTTPUtils::URLEncode(ci->name); - } - if (message.post_data.count("receiver") > 0 && message.post_data.count("message") > 0) - { - std::vector params; - 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"); - } - if (message.get_data.count("del") > 0 && message.get_data.count("number") > 0) - { - std::vector params; - if (!chname.empty()) - params.push_back(chname); - params.push_back(message.get_data["number"]); - - WebPanel::RunCommand(na->nc->display, na->nc, "MemoServ", "memoserv/del", params, replacements, "CMDR"); - } - if (message.get_data.count("read") > 0 && message.get_data.count("number") > 0) - { - std::vector params; - int number = -1; - - try - { - number = convertTo(message.get_data["number"]); - } - catch (const ConvertException &ex) - { - replacements["MESSAGES"] = "ERROR - invalid parameter for NUMBER"; - } - - if (number > 0) - { - m = mi->GetMemo(number-1); - - if (!m) - replacements["MESSAGES"] = "ERROR - invalid memo number."; - else if (message.get_data["read"] == "1") - m->unread = false; - else if (message.get_data["read"] == "2") - m->unread = true; - } - } - - for (unsigned i = 0; i < mi->memos->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["UNREAD"] = "YES"; - else - replacements["UNREAD"] = "NO"; - } - - TemplateFileServer page("memoserv/memos.html"); - page.Serve(server, page_name, client, message, reply, replacements); - return true; -} - diff --git a/modules/extra/webcpanel/pages/memoserv/memos.h b/modules/extra/webcpanel/pages/memoserv/memos.h deleted file mode 100644 index e55104823..000000000 --- a/modules/extra/webcpanel/pages/memoserv/memos.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -namespace MemoServ -{ - -class Memos : public WebPanelProtectedPage -{ - public: - Memos(const Anope::string &cat, const Anope::string &u); - - bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) anope_override; -}; - -} - -} - diff --git a/modules/extra/webcpanel/pages/nickserv/access.cpp b/modules/extra/webcpanel/pages/nickserv/access.cpp deleted file mode 100644 index de7809591..000000000 --- a/modules/extra/webcpanel/pages/nickserv/access.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" - -WebCPanel::NickServ::Access::Access(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) -{ -} - -bool WebCPanel::NickServ::Access::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) -{ - if (message.post_data.count("access") > 0) - { - std::vector params; - params.push_back("ADD"); - params.push_back(message.post_data["access"]); - - WebPanel::RunCommand(na->nc->display, na->nc, "NickServ", "nickserv/access", params, replacements); - } - else if (message.get_data.count("del") > 0 && message.get_data.count("mask") > 0) - { - std::vector params; - params.push_back("DEL"); - params.push_back(message.get_data["mask"]); - - WebPanel::RunCommand(na->nc->display, na->nc, "NickServ", "nickserv/access", params, replacements); - } - - for (unsigned i = 0; i < na->nc->access.size(); ++i) - replacements["ACCESS"] = na->nc->access[i]; - - TemplateFileServer page("nickserv/access.html"); - page.Serve(server, page_name, client, message, reply, replacements); - return true; -} - diff --git a/modules/extra/webcpanel/pages/nickserv/access.h b/modules/extra/webcpanel/pages/nickserv/access.h deleted file mode 100644 index 8c7337236..000000000 --- a/modules/extra/webcpanel/pages/nickserv/access.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -namespace NickServ -{ - -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 &) anope_override; -}; - -} - -} - diff --git a/modules/extra/webcpanel/pages/nickserv/alist.cpp b/modules/extra/webcpanel/pages/nickserv/alist.cpp deleted file mode 100644 index 21e281f5f..000000000 --- a/modules/extra/webcpanel/pages/nickserv/alist.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" - -static bool ChannelSort(ChannelInfo *ci1, ChannelInfo *ci2) -{ - return ci::less()(ci1->name, ci2->name); -} - -WebCPanel::NickServ::Alist::Alist(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) -{ -} - -bool WebCPanel::NickServ::Alist::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) -{ - std::deque queue; - na->nc->GetChannelReferences(queue); - std::sort(queue.begin(), queue.end(), ChannelSort); - - int chan_count = 0; - - for (unsigned q = 0; q < queue.size(); ++q) - { - ChannelInfo *ci = queue[q]; - - if (ci->GetFounder() == na->nc) - { - ++chan_count; - - replacements["NUMBERS"] = stringify(chan_count); - replacements["CHANNELS"] = (ci->HasExt("CS_NO_EXPIRE") ? "!" : "") + ci->name; - replacements["ACCESSES"] = "Founder"; - continue; - } - - AccessGroup access = ci->AccessFor(na->nc); - if (access.empty()) - continue; - - ++chan_count; - - replacements["NUMBERS"] = stringify(chan_count); - replacements["CHANNELS"] = (ci->HasExt("CS_NO_EXPIRE") ? "!" : "") + ci->name; - Anope::string access_str; - for (unsigned i = 0; i < access.size(); ++i) - access_str += ", " + access[i]->AccessSerialize(); - replacements["ACCESSES"] = access_str.substr(2); - } - - TemplateFileServer page("nickserv/alist.html"); - page.Serve(server, page_name, client, message, reply, replacements); - return true; -} - diff --git a/modules/extra/webcpanel/pages/nickserv/alist.h b/modules/extra/webcpanel/pages/nickserv/alist.h deleted file mode 100644 index 357699f4e..000000000 --- a/modules/extra/webcpanel/pages/nickserv/alist.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -namespace NickServ -{ - -class Alist : public WebPanelProtectedPage -{ - public: - Alist(const Anope::string &cat, const Anope::string &u); - - bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) anope_override; -}; - -} - -} - diff --git a/modules/extra/webcpanel/pages/nickserv/cert.cpp b/modules/extra/webcpanel/pages/nickserv/cert.cpp deleted file mode 100644 index eb86f4bd8..000000000 --- a/modules/extra/webcpanel/pages/nickserv/cert.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" -#include "modules/ns_cert.h" - -WebCPanel::NickServ::Cert::Cert(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) -{ -} - -bool WebCPanel::NickServ::Cert::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) -{ - if (message.post_data.count("certfp") > 0) - { - std::vector params; - params.push_back("ADD"); - params.push_back(message.post_data["certfp"]); - - WebPanel::RunCommand(na->nc->display, na->nc, "NickServ", "nickserv/cert", params, replacements); - } - else if (message.get_data.count("del") > 0 && message.get_data.count("mask") > 0) - { - std::vector params; - params.push_back("DEL"); - params.push_back(message.get_data["mask"]); - - WebPanel::RunCommand(na->nc->display, na->nc, "NickServ", "nickserv/cert", params, replacements); - } - - NSCertList *cl = na->nc->GetExt("certificates"); - if (cl) - for (unsigned i = 0; i < cl->GetCertCount(); ++i) - replacements["CERTS"] = cl->GetCert(i); - - TemplateFileServer page("nickserv/cert.html"); - page.Serve(server, page_name, client, message, reply, replacements); - return true; -} - diff --git a/modules/extra/webcpanel/pages/nickserv/cert.h b/modules/extra/webcpanel/pages/nickserv/cert.h deleted file mode 100644 index 7fa86e6eb..000000000 --- a/modules/extra/webcpanel/pages/nickserv/cert.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -namespace NickServ -{ - -class Cert : public WebPanelProtectedPage -{ - public: - Cert(const Anope::string &cat, const Anope::string &u); - - bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) anope_override; -}; - -} - -} - diff --git a/modules/extra/webcpanel/pages/nickserv/info.cpp b/modules/extra/webcpanel/pages/nickserv/info.cpp deleted file mode 100644 index f8753d83f..000000000 --- a/modules/extra/webcpanel/pages/nickserv/info.cpp +++ /dev/null @@ -1,118 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" - -WebCPanel::NickServ::Info::Info(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) -{ -} - -bool WebCPanel::NickServ::Info::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) -{ - if (message.post_data.empty() == false) - { - if (message.post_data.count("email") > 0) - { - if (message.post_data["email"] != na->nc->email) - { - if (!message.post_data["email"].empty() && !Mail::Validate(message.post_data["email"])) - replacements["ERRORS"] = "Invalid email"; - else - { - na->nc->email = message.post_data["email"]; - replacements["MESSAGES"] = "Email updated"; - } - } - } - if (message.post_data.count("greet") > 0) - { - Anope::string *greet = na->nc->GetExt("greet"); - const Anope::string &post_greet = HTTPUtils::URLDecode(message.post_data["greet"].replace_all_cs("+", " ")); - - if (post_greet.empty()) - na->nc->Shrink("greet"); - else if (!greet || post_greet != *greet) - na->nc->Extend("greet", post_greet); - - replacements["MESSAGES"] = "Greet updated"; - } - if (na->nc->HasExt("AUTOOP") != message.post_data.count("autoop")) - { - if (!na->nc->HasExt("AUTOOP")) - na->nc->Extend("AUTOOP"); - else - na->nc->Shrink("AUTOOP"); - replacements["MESSAGES"] = "Autoop updated"; - } - if (na->nc->HasExt("NS_PRIVATE") != message.post_data.count("private")) - { - if (!na->nc->HasExt("NS_PRIVATE")) - na->nc->Extend("NS_PRIVATE"); - else - na->nc->Shrink("NS_PRIVATE"); - replacements["MESSAGES"] = "Private updated"; - } - if (na->nc->HasExt("NS_SECURE") != message.post_data.count("secure")) - { - if (!na->nc->HasExt("NS_SECURE")) - na->nc->Extend("NS_SECURE"); - else - na->nc->Shrink("NS_SECURE"); - replacements["MESSAGES"] = "Secure updated"; - } - if (message.post_data["kill"] == "on" && !na->nc->HasExt("KILLPROTECT")) - { - na->nc->Extend("KILLPROTECT"); - na->nc->Shrink("KILL_QUICK"); - replacements["MESSAGES"] = "Kill updated"; - } - else if (message.post_data["kill"] == "quick" && !na->nc->HasExt("KILL_QUICK")) - { - na->nc->Shrink("KILLPROTECT"); - na->nc->Extend("KILL_QUICK"); - replacements["MESSAGES"] = "Kill updated"; - } - else if (message.post_data["kill"] == "off" && (na->nc->HasExt("KILLPROTECT") || na->nc->HasExt("KILL_QUICK"))) - { - na->nc->Shrink("KILLPROTECT"); - na->nc->Shrink("KILL_QUICK"); - replacements["MESSAGES"] = "Kill updated"; - } - } - - replacements["DISPLAY"] = HTTPUtils::Escape(na->nc->display); - if (na->nc->email.empty() == false) - replacements["EMAIL"] = HTTPUtils::Escape(na->nc->email); - replacements["TIME_REGISTERED"] = Anope::strftime(na->time_registered, na->nc); - if (na->HasVhost()) - { - if (na->GetVhostIdent().empty() == false) - replacements["VHOST"] = na->GetVhostIdent() + "@" + na->GetVhostHost(); - else - replacements["VHOST"] = na->GetVhostHost(); - } - Anope::string *greet = na->nc->GetExt("greet"); - if (greet) - replacements["GREET"] = HTTPUtils::Escape(*greet); - if (na->nc->HasExt("AUTOOP")) - replacements["AUTOOP"]; - if (na->nc->HasExt("NS_PRIVATE")) - replacements["PRIVATE"]; - if (na->nc->HasExt("NS_SECURE")) - replacements["SECURE"]; - if (na->nc->HasExt("KILLPROTECT")) - replacements["KILL_ON"]; - if (na->nc->HasExt("KILL_QUICK")) - replacements["KILL_QUICK"]; - if (!na->nc->HasExt("KILLPROTECT") && !na->nc->HasExt("KILL_QUICK")) - replacements["KILL_OFF"]; - - TemplateFileServer page("nickserv/info.html"); - page.Serve(server, page_name, client, message, reply, replacements); - return true; -} - diff --git a/modules/extra/webcpanel/pages/nickserv/info.h b/modules/extra/webcpanel/pages/nickserv/info.h deleted file mode 100644 index 46e588f8b..000000000 --- a/modules/extra/webcpanel/pages/nickserv/info.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -namespace NickServ -{ - -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 &) anope_override; -}; - -} - -} - diff --git a/modules/extra/webcpanel/pages/operserv/akill.cpp b/modules/extra/webcpanel/pages/operserv/akill.cpp deleted file mode 100644 index 24f1dbf63..000000000 --- a/modules/extra/webcpanel/pages/operserv/akill.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "../../webcpanel.h" - -WebCPanel::OperServ::Akill::Akill(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) -{ -} - -bool WebCPanel::OperServ::Akill::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) -{ - - static ServiceReference akills("XLineManager","xlinemanager/sgline"); - - if (!na->nc->IsServicesOper() && !(na->nc->o && na->nc->o->ot && na->nc->o->ot->HasPriv("operserv/akill"))) - { - replacements["NOACCESS"]; - } - else - { - if (akills->GetCount() == 0) - replacements["AKILLS"] = "No Akills to display."; - - if (message.post_data.count("mask") > 0 && message.post_data.count("expiry") > 0 && message.post_data.count("reason") > 0) - { - std::vector params; - std::stringstream cmdstr; - params.push_back("ADD"); - cmdstr << "+" << HTTPUtils::URLDecode(message.post_data["expiry"]); - cmdstr << " " << HTTPUtils::URLDecode(message.post_data["mask"]); - cmdstr << " " << HTTPUtils::URLDecode(message.post_data["reason"]); - params.push_back(cmdstr.str()); - WebPanel::RunCommand(na->nc->display, na->nc, "OperServ", "operserv/akill", params, replacements); - } - - if (message.get_data["del"] == "1" && message.get_data.count("number") > 0) - { - std::vector params; - params.push_back("DEL"); - params.push_back(HTTPUtils::URLDecode(message.get_data["number"])); - WebPanel::RunCommand(na->nc->display, na->nc, "OperServ", "operserv/akill", params, replacements); - } - - for (unsigned i = 0, end = akills->GetCount(); i < end; ++i) - { - const XLine *x = akills->GetEntry(i); - replacements["NUMBER"] = stringify(i + 1); - replacements["HOST"] = x->mask; - replacements["SETTER"] = x->by; - replacements["TIME"] = Anope::strftime(x->created, NULL, true); - replacements["EXPIRE"] = Anope::Expires(x->expires, na->nc); - replacements["REASON"] = x->reason; - } - } - - TemplateFileServer page("operserv/akill.html"); - page.Serve(server, page_name, client, message, reply, replacements); - return true; -} - diff --git a/modules/extra/webcpanel/pages/operserv/akill.h b/modules/extra/webcpanel/pages/operserv/akill.h deleted file mode 100644 index 9fd47d79a..000000000 --- a/modules/extra/webcpanel/pages/operserv/akill.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -namespace WebCPanel -{ - -namespace OperServ -{ - -class Akill : public WebPanelProtectedPage -{ - public: - Akill(const Anope::string &cat, const Anope::string &u); - - bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) anope_override; -}; - -} - -} - diff --git a/modules/extra/webcpanel/pages/register.cpp b/modules/extra/webcpanel/pages/register.cpp deleted file mode 100644 index cd3494713..000000000 --- a/mo