diff options
| author | Adam <Adam@anope.org> | 2012-09-01 18:54:51 -0400 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2012-09-01 18:54:51 -0400 |
| commit | e3d5140dcc936ff411c438b7e3997104cb5f085a (patch) | |
| tree | 49d7ee0b3e531a1c81e35fb10f25e6340fa781ba /modules/extra/webcpanel/pages/chanserv/info.cpp | |
| parent | f81d0113a21187d68c5fa0f1262e5514465b1953 (diff) | |
Added a web panel module + a default template
Diffstat (limited to 'modules/extra/webcpanel/pages/chanserv/info.cpp')
| -rw-r--r-- | modules/extra/webcpanel/pages/chanserv/info.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/modules/extra/webcpanel/pages/chanserv/info.cpp b/modules/extra/webcpanel/pages/chanserv/info.cpp new file mode 100644 index 000000000..8db88f496 --- /dev/null +++ b/modules/extra/webcpanel/pages/chanserv/info.cpp @@ -0,0 +1,32 @@ +/* + * (C) 2003-2012 Anope Team + * Contact us at team@anope.org + * + * Please read COPYING and README for further details. + */ + +#include "../../webcpanel.h" + +WebCPanel::ChanServ::Info::Info(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u) +{ +} + +void WebCPanel::ChanServ::Info::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements) +{ + // XXX this is slightly inefficient + for (registered_channel_map::const_iterator it = RegisteredChannelList->begin(), it_end = RegisteredChannelList->end(); it != it_end; ++it) + { + ChannelInfo *ci = it->second; + + if (ci->AccessFor(na->nc).HasPriv("SET") || ci->AccessFor(na->nc).HasPriv("ACCESS_LIST")) + { + replacements["CHANNEL_NAMES"] = ci->name; + replacements["ESCAPED_CHANNEL_NAMES"] = HTTPUtils::URLEncode(ci->name); + } + } + + + TemplateFileServer page("chanserv/main.html"); + page.Serve(server, page_name, client, message, reply, replacements); +} + |
