void ReadConfig()
{
- ConfigReader c(ServerInstance);
+ ConfigReader c;
this->stylesheet = c.ReadValue("httpstats", "stylesheet", 0);
}
- ModuleHttpStats(InspIRCd* Me) : Module(Me)
- {
+ ModuleHttpStats() {
ReadConfig();
this->changed = true;
Implementation eventlist[] = { I_OnEvent, I_OnRequest };
data << "<usercount>" << ServerInstance->Users->clientlist->size() << "</usercount>";
data << "<channelcount>" << ServerInstance->chanlist->size() << "</channelcount>";
data << "<opercount>" << ServerInstance->Users->all_opers.size() << "</opercount>";
- data << "<socketcount>" << (ServerInstance->SE->GetMaxFds() - ServerInstance->SE->GetRemainingFds()) << "</socketcount><socketmax>" << ServerInstance->SE->GetMaxFds() << "</socketmax><socketengine>" << ServerInstance->SE->GetName() << "</socketengine>";
+ data << "<socketcount>" << (ServerInstance->SE->GetUsedFds()) << "</socketcount><socketmax>" << ServerInstance->SE->GetMaxFds() << "</socketmax><socketengine>" << ServerInstance->SE->GetName() << "</socketengine>";
time_t current_time = 0;
current_time = ServerInstance->Time();
data << "<channel>";
data << "<usercount>" << c->GetUsers()->size() << "</usercount><channelname>" << c->name << "</channelname>";
- data << "<channelops>" << c->GetOppedUsers()->size() << "</channelops>";
- data << "<channelhalfops>" << c->GetHalfoppedUsers()->size() << "</channelhalfops>";
- data << "<channelvoices>" << c->GetVoicedUsers()->size() << "</channelvoices>";
data << "<channeltopic>";
data << "<topictext>" << Sanitize(c->topic) << "</topictext>";
data << "<setby>" << Sanitize(c->setby) << "</setby>";
data << "<settime>" << c->topicset << "</settime>";
data << "</channeltopic>";
data << "<channelmodes>" << Sanitize(c->ChanModes(true)) << "</channelmodes>";
- CUList* ulist = c->GetUsers();
+ const UserMembList* ulist = c->GetUsers();
- for (CUList::iterator x = ulist->begin(); x != ulist->end(); ++x)
+ for (UserMembCIter x = ulist->begin(); x != ulist->end(); ++x)
{
data << "<channelmember><uid>" << x->first->uuid << "</uid><privs>" << Sanitize(c->GetAllPrefixChars(x->first)) << "</privs></channelmember>";
}
if (u->IsModeSet(n))
modes += n;
- data << modes << "</modes><ident>" << Sanitize(u->ident) << "</ident><port>" << u->GetPort() << "</port><ipaddress>" << u->GetIPString() << "</ipaddress>";
+ data << modes << "</modes><ident>" << Sanitize(u->ident) << "</ident><port>" << u->GetServerPort() << "</port><ipaddress>" << u->GetIPString() << "</ipaddress>";
data << "</user>";
}
data << "<parentname>" << b->parentname << "</parentname>";
data << "<gecos>" << b->gecos << "</gecos>";
data << "<usercount>" << b->usercount << "</usercount>";
- data << "<opercount>" << b->opercount << "</opercount>";
+// This is currently not implemented, so, commented out.
+// data << "<opercount>" << b->opercount << "</opercount>";
data << "<lagmillisecs>" << b->latencyms << "</lagmillisecs>";
data << "</server>";
}
virtual Version GetVersion()
{
- return Version("$Id$", VF_VENDOR, API_VERSION);
+ return Version("Provides statistics over HTTP via m_httpd.so", VF_VENDOR, API_VERSION);
}
};