diff options
Diffstat (limited to 'modules/extra/webcpanel/webcpanel.cpp')
| -rw-r--r-- | modules/extra/webcpanel/webcpanel.cpp | 270 |
1 files changed, 0 insertions, 270 deletions
diff --git a/modules/extra/webcpanel/webcpanel.cpp b/modules/extra/webcpanel/webcpanel.cpp deleted file mode 100644 index 0c1fc3903..000000000 --- a/modules/extra/webcpanel/webcpanel.cpp +++ /dev/null @@ -1,270 +0,0 @@ -/* - * (C) 2003-2014 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - */ - -#include "webcpanel.h" - -Module *me; -Anope::string provider_name, template_name, template_base, page_title; - -class ModuleWebCPanel : public Module -{ - ServiceReference<HTTPProvider> provider; - Panel panel; - PrimitiveExtensibleItem<Anope::string> id, ip; - - StaticFileServer style_css, logo_png, cubes_png, favicon_ico; - - WebCPanel::Index index; - WebCPanel::Logout logout; - WebCPanel::Register _register; - WebCPanel::Confirm confirm; - - WebCPanel::NickServ::Info nickserv_info; - WebCPanel::NickServ::Cert nickserv_cert; - WebCPanel::NickServ::Access nickserv_access; - WebCPanel::NickServ::Alist nickserv_alist; - - WebCPanel::ChanServ::Info chanserv_info; - WebCPanel::ChanServ::Set chanserv_set; - WebCPanel::ChanServ::Access chanserv_access; - WebCPanel::ChanServ::Akick chanserv_akick; - WebCPanel::ChanServ::Modes chanserv_modes; - WebCPanel::ChanServ::Drop chanserv_drop; - - WebCPanel::MemoServ::Memos memoserv_memos; - - WebCPanel::HostServ::Request hostserv_request; - - WebCPanel::OperServ::Akill operserv_akill; - - - public: - ModuleWebCPanel(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, EXTRA | VENDOR), - panel(this, "webcpanel"), id(this, "webcpanel_id"), ip(this, "webcpanel_ip"), - style_css("style.css", "/static/style.css", "text/css"), logo_png("logo.png", "/static/logo.png", "image/png"), cubes_png("cubes.png", "/static/cubes.png", "image/png"), favicon_ico("favicon.ico", "/favicon.ico", "image/x-icon"), - index("/"), logout("/logout"), _register("/register"), confirm("/confirm"), - nickserv_info("NickServ", "/nickserv/info"), nickserv_cert("NickServ", "/nickserv/cert"), nickserv_access("NickServ", "/nickserv/access"), nickserv_alist("NickServ", "/nickserv/alist"), - chanserv_info("ChanServ", "/chanserv/info"), chanserv_set("ChanServ", "/chanserv/set"), chanserv_access("ChanServ", "/chanserv/access"), chanserv_akick("ChanServ", "/chanserv/akick"), - chanserv_modes("ChanServ", "/chanserv/modes"), chanserv_drop("ChanServ", "/chanserv/drop"), memoserv_memos("MemoServ", "/memoserv/memos"), hostserv_request("HostServ", "/hostserv/request"), - operserv_akill("OperServ", "/operserv/akill") - { - - me = this; - - Configuration::Block *block = Config->GetModule(this); - provider_name = block->Get<const Anope::string>("server", "httpd/main"); - template_name = block->Get<const Anope::string>("template", "default"); - template_base = Anope::DataDir + "/modules/webcpanel/templates/" + template_name; - page_title = block->Get<const Anope::string>("title", "Anope IRC Services"); - - provider = ServiceReference<HTTPProvider>("HTTPProvider", provider_name); - if (!provider) - throw ModuleException("Unable to find HTTPD provider. Is m_httpd loaded?"); - - provider->RegisterPage(&this->style_css); - provider->RegisterPage(&this->logo_png); - provider->RegisterPage(&this->cubes_png); - provider->RegisterPage(&this->favicon_ico); - - provider->RegisterPage(&this->index); - provider->RegisterPage(&this->logout); - provider->RegisterPage(&this->_register); - provider->RegisterPage(&this->confirm); - - BotInfo *NickServ = Config->GetClient("NickServ"); - if (NickServ) - { - Section s; - s.name = NickServ->nick; - - SubSection ss; - ss.name = "Information"; - ss.url = "/nickserv/info"; - s.subsections.push_back(ss); - provider->RegisterPage(&this->nickserv_info); - - if (IRCD && IRCD->CanCertFP) - { - ss.name = "SSL Certificates"; - ss.url = "/nickserv/cert"; - s.subsections.push_back(ss); - provider->RegisterPage(&this->nickserv_cert); - } - - ss.name = "Access"; - ss.url = "/nickserv/access"; - s.subsections.push_back(ss); - provider->RegisterPage(&this->nickserv_access); - - ss.name = "AList"; - ss.url = "/nickserv/alist"; - s.subsections.push_back(ss); - provider->RegisterPage(&this->nickserv_alist); - - panel.sections.push_back(s); - } - - BotInfo *ChanServ = Config->GetClient("ChanServ"); - if (ChanServ) - { - Section s; - s.name = ChanServ->nick; - - SubSection ss; - ss.name = "Channels"; - ss.url = "/chanserv/info"; - s.subsections.push_back(ss); - provider->RegisterPage(&this->chanserv_info); - - ss.name = "Settings"; - ss.url = "/chanserv/set"; - s.subsections.push_back(ss); - provider->RegisterPage(&this->chanserv_set); - - ss.name = "Access"; - ss.url = "/chanserv/access"; - s.subsections.push_back(ss); - provider->RegisterPage(&this->chanserv_access); - - ss.name = "Akick"; - ss.url = "/chanserv/akick"; - s.subsections.push_back(ss); - provider->RegisterPage(&this->chanserv_akick); - - ss.name = "Modes"; - ss.url = "/chanserv/modes"; - s.subsections.push_back(ss); - provider->RegisterPage(&this->chanserv_modes); - - ss.name = "Drop"; - ss.url = "/chanserv/drop"; - s.subsections.push_back(ss); - provider->RegisterPage(&this->chanserv_drop); - - panel.sections.push_back(s); - } - - BotInfo *MemoServ = Config->GetClient("MemoServ"); - if (MemoServ) - { - Section s; - s.name = MemoServ->nick; - - SubSection ss; - ss.name = "Memos"; - ss.url = "/memoserv/memos"; - s.subsections.push_back(ss); - provider->RegisterPage(&this->memoserv_memos); - - panel.sections.push_back(s); - } - - BotInfo *HostServ = Config->GetClient("HostServ"); - if (HostServ) - { - Section s; - s.name = HostServ->nick; - - SubSection ss; - ss.name = "vHost Request"; - ss.url = "/hostserv/request"; - s.subsections.push_back(ss); - provider->RegisterPage(&this->hostserv_request); - - panel.sections.push_back(s); - } - - BotInfo *OperServ = Config->GetClient("OperServ"); - if (OperServ) - { - Section s; - s.name = OperServ->nick; - - SubSection ss; - ss.name = "Akill"; - ss.url = "/operserv/akill"; - s.subsections.push_back(ss); - provider->RegisterPage(&this->operserv_akill); - - panel.sections.push_back(s); - } - } - - ~ModuleWebCPanel() - { - if (provider) - { - provider->UnregisterPage(&this->style_css); - provider->UnregisterPage(&this->logo_png); - provider->UnregisterPage(&this->cubes_png); - provider->UnregisterPage(&this->favicon_ico); - - provider->UnregisterPage(&this->index); - provider->UnregisterPage(&this->logout); - provider->UnregisterPage(&this->_register); - provider->UnregisterPage(&this->confirm); - - provider->UnregisterPage(&this->nickserv_info); - provider->UnregisterPage(&this->nickserv_cert); - provider->UnregisterPage(&this->nickserv_access); - provider->UnregisterPage(&this->nickserv_alist); - - provider->UnregisterPage(&this->chanserv_info); - provider->UnregisterPage(&this->chanserv_set); - provider->UnregisterPage(&this->chanserv_access); - provider->UnregisterPage(&this->chanserv_akick); - provider->UnregisterPage(&this->chanserv_modes); - provider->UnregisterPage(&this->chanserv_drop); - - provider->UnregisterPage(&this->memoserv_memos); - - provider->UnregisterPage(&this->hostserv_request); - - provider->UnregisterPage(&this->operserv_akill); - } - } -}; - -namespace WebPanel -{ - void RunCommand(const Anope::string &user, NickCore *nc, const Anope::string &service, const Anope::string &c, const std::vector<Anope::string> ¶ms, TemplateFileServer::Replacements &r, const Anope::string &key) - { - ServiceReference<Command> cmd("Command", c); - if (!cmd) - { - r[key] = "Unable to find command " + c; - return; - } - - BotInfo *bi = Config->GetClient(service); - if (!bi) - { - if (BotListByNick->empty()) - return; - bi = BotListByNick->begin()->second; // Pick one... - } - - struct MyComandReply : CommandReply - { - TemplateFileServer::Replacements &re; - const Anope::string &k; - - MyComandReply(TemplateFileServer::Replacements &_r, const Anope::string &_k) : re(_r), k(_k) { } - - void SendMessage(BotInfo *source, const Anope::string &msg) anope_override - { - re[k] = msg; - } - } - my_reply(r, key); - - CommandSource source(user, NULL, nc, &my_reply, bi); - cmd->Execute(source, params); - } -} - -MODULE_INIT(ModuleWebCPanel) |
