X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmodules%2Fm_httpd_stats.cpp;h=8b2ce75f5b628f3251433240e707aa4e3cf2ae8d;hb=fca345d6b5bc453d3e0b914a1c7a1865991ea220;hp=1aef5410276ccdd3394b9d40e5e09d950eee6011;hpb=0b907417dc09c20dacb5f676c26ac7ce380fd9d4;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_httpd_stats.cpp b/src/modules/m_httpd_stats.cpp index 1aef54102..8b2ce75f5 100644 --- a/src/modules/m_httpd_stats.cpp +++ b/src/modules/m_httpd_stats.cpp @@ -28,11 +28,8 @@ using namespace std; /* $ModDesc: Provides statistics over HTTP via m_httpd.so */ -extern user_hash clientlist; -extern chan_hash chanlist; extern std::vector all_opers; extern InspIRCd* ServerInstance; -extern ServerConfig* Config; extern int MODCOUNT; @@ -102,38 +99,42 @@ class ModuleHttpStats : public Module if ((http->GetURI() == "/stats") || (http->GetURI() == "/stats/")) { - log(DEBUG,"HTTP URL!"); - - data << ""; - data << "InspIRCd server statisitics for " << Srv->GetServerName() << " (" << Srv->GetServerDescription() << ")"; - data << ""; - data << "

InspIRCd server statisitics for " << Srv->GetServerName() << " (" << Srv->GetServerDescription() << ")

"; - - data << "
"; - data << "

Totals

"; - data << ""; - data << ""; - data << ""; - data << ""; - data << ""; - data << "
Users" << clientlist.size() << "
Channels" << chanlist.size() << "
Opers" << all_opers.size() << "
Sockets" << (ServerInstance->SE->GetMaxFds() - ServerInstance->SE->GetRemainingFds()) << " (Max: " << ServerInstance->SE->GetMaxFds() << " via socket engine '" << ServerInstance->SE->GetName() << "')
"; - data << "
"; - - data << "
"; - data << "

Modules

"; - data << ""; + data << "\n\ + "; + + data << ""; + data << ""; + data << "InspIRCd server statisitics for " << Srv->GetServerName() << " (" << ServerInstance->Config->ServerDesc << ")"; + data << ""; + data << "

InspIRCd server statisitics for " << Srv->GetServerName() << " (" << ServerInstance->Config->ServerDesc << ")

"; + + data << "
"; + data << "

Totals

"; + data << "
"; + data << ""; + data << ""; + data << ""; + data << ""; + data << "
Users" << ServerInstance->clientlist.size() << "
Channels" << ServerInstance->chanlist.size() << "
Opers" << all_opers.size() << "
Sockets" << (ServerInstance->SE->GetMaxFds() - ServerInstance->SE->GetRemainingFds()) << " (Max: " << ServerInstance->SE->GetMaxFds() << " via socket engine '" << ServerInstance->SE->GetName() << "')
"; + data << "
"; + + data << "
"; + data << "

Modules

"; + data << ""; for (int i = 0; i <= MODCOUNT; i++) { - if (Config->module_names[i] != "") - data << ""; + if (ServerInstance->Config->module_names[i] != "") + data << ""; } - data << "
" << Config->module_names[i] << "
" << ServerInstance->Config->module_names[i] << "
"; - data << "
"; + data << ""; + data << ""; - data << "
"; - data << "

Channels

"; - data << ""; - data << ""; + data << "
"; + data << "

Channels

"; + data << "
UsersName@%+
"; + data << ""; /* If the list has changed since last time it was displayed, re-sort it * this time only (not every time, as this would be moronic) @@ -144,26 +145,34 @@ class ModuleHttpStats : public Module int n = 0; for (SortedIter a = so->begin(); ((a != so->end()) && (n < 25)); a++, n++) { - chanrec* c = Srv->FindChannel(a->second.c_str()); + chanrec* c = ServerInstance->FindChan(a->second.c_str()); if (c) { - data << ""; - data << ""; - data << ""; - data << ""; - data << ""; + data << ""; + data << ""; + data << ""; + data << ""; + data << ""; + data << ""; } } - data << "
UsersName@%+Topic
" << a->first << "" << a->second << "" << c->GetOppedUsers()->size() << "" << c->GetHalfoppedUsers()->size() << "" << c->GetVoicedUsers()->size() << "
" << a->first << "" << a->second << "" << c->GetOppedUsers()->size() << "" << c->GetHalfoppedUsers()->size() << "" << c->GetVoicedUsers()->size() << "" << c->topic << "
"; - data << "
"; + data << ""; + data << ""; + + + + + data << "
"; + data << "

Valid XHTML 1.1

"; + data << "
"; - data << ""; - data << ""; + data << ""; + data << ""; /* Send the document back to m_httpd */ - HTTPDocument response(http->sock, &data, 200, "X-Powered-By: m_http_stats.so\r\nContent-Type: text/html\r\n"); + HTTPDocument response(http->sock, &data, 200, "X-Powered-By: m_http_stats.so\r\nContent-Type: text/html; charset=iso-8859-1\r\n"); Request req((char*)&response, (Module*)this, event->GetSource()); req.Send();