mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-10 02:59:01 -04:00
Allow opermotd to specify its file in <files> without also requiring an <opermotd> block
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12355 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
parent
f2256deeef
commit
9d4004e8d4
@ -693,6 +693,7 @@ void FileReader::LoadFile(const std::string &filename)
|
||||
}
|
||||
else
|
||||
{
|
||||
fc.clear();
|
||||
FILE* f = fopen(filename.c_str(), "r");
|
||||
if (!f)
|
||||
return;
|
||||
|
@ -46,12 +46,12 @@ class ModuleHTTPAccessList : public Module
|
||||
void ReadConfig()
|
||||
{
|
||||
acl_list.clear();
|
||||
ConfigReader c;
|
||||
int n_items = c.Enumerate("httpdacl");
|
||||
for (int i = 0; i < n_items; ++i)
|
||||
ConfigTagList acls = ServerInstance->Config->ConfTags("httpdacl");
|
||||
for (ConfigIter i = acls.first; i != acls.second; i++)
|
||||
{
|
||||
std::string path = c.ReadValue("httpdacl", "path", i);
|
||||
std::string types = c.ReadValue("httpdacl", "types", i);
|
||||
ConfigTag* c = i->second;
|
||||
std::string path = c->getString("path");
|
||||
std::string types = c->getString("types");
|
||||
irc::commasepstream sep(types);
|
||||
std::string type;
|
||||
std::string username;
|
||||
@ -63,16 +63,16 @@ class ModuleHTTPAccessList : public Module
|
||||
{
|
||||
if (type == "password")
|
||||
{
|
||||
username = c.ReadValue("httpdacl", "username", i);
|
||||
password = c.ReadValue("httpdacl", "password", i);
|
||||
username = c->getString("username");
|
||||
password = c->getString("password");
|
||||
}
|
||||
else if (type == "whitelist")
|
||||
{
|
||||
whitelist = c.ReadValue("httpdacl", "whitelist", i);
|
||||
whitelist = c->getString("whitelist");
|
||||
}
|
||||
else if (type == "blacklist")
|
||||
{
|
||||
blacklist = c.ReadValue("httpdacl", "blacklist", i);
|
||||
blacklist = c->getString("blacklist");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -16,25 +16,11 @@
|
||||
#include "protocol.h"
|
||||
|
||||
/* $ModDesc: Provides statistics over HTTP via m_httpd.so */
|
||||
/* $ModDep: httpd.h */
|
||||
|
||||
class ModuleHttpStats : public Module
|
||||
class ModuleHttpConfig : public Module
|
||||
{
|
||||
|
||||
std::string stylesheet;
|
||||
bool changed;
|
||||
|
||||
public:
|
||||
|
||||
void ReadConfig()
|
||||
{
|
||||
ConfigReader c;
|
||||
this->stylesheet = c.ReadValue("httpstats", "stylesheet", 0);
|
||||
}
|
||||
|
||||
ModuleHttpStats() {
|
||||
ReadConfig();
|
||||
this->changed = true;
|
||||
ModuleHttpConfig() {
|
||||
Implementation eventlist[] = { I_OnEvent };
|
||||
ServerInstance->Modules->Attach(eventlist, this, 1);
|
||||
}
|
||||
@ -108,14 +94,14 @@ class ModuleHttpStats : public Module
|
||||
}
|
||||
}
|
||||
|
||||
virtual ~ModuleHttpStats()
|
||||
virtual ~ModuleHttpConfig()
|
||||
{
|
||||
}
|
||||
|
||||
virtual Version GetVersion()
|
||||
{
|
||||
return Version("Provides statistics over HTTP via m_httpd.so", VF_VENDOR);
|
||||
return Version("Provides configuration over HTTP via m_httpd.so", VF_VENDOR);
|
||||
}
|
||||
};
|
||||
|
||||
MODULE_INIT(ModuleHttpStats)
|
||||
MODULE_INIT(ModuleHttpConfig)
|
||||
|
@ -21,20 +21,10 @@
|
||||
class ModuleHttpStats : public Module
|
||||
{
|
||||
static std::map<char, char const*> const &entities;
|
||||
std::string stylesheet;
|
||||
bool changed;
|
||||
|
||||
public:
|
||||
|
||||
void ReadConfig()
|
||||
{
|
||||
ConfigReader c;
|
||||
this->stylesheet = c.ReadValue("httpstats", "stylesheet", 0);
|
||||
}
|
||||
|
||||
ModuleHttpStats() {
|
||||
ReadConfig();
|
||||
this->changed = true;
|
||||
Implementation eventlist[] = { I_OnEvent };
|
||||
ServerInstance->Modules->Attach(eventlist, this, 1);
|
||||
}
|
||||
|
@ -63,12 +63,9 @@ class ModuleOpermotd : public Module
|
||||
|
||||
void LoadOperMOTD()
|
||||
{
|
||||
ConfigReader conf;
|
||||
std::string filename;
|
||||
filename = conf.ReadValue("opermotd","file",0);
|
||||
delete opermotd;
|
||||
opermotd = new FileReader(filename);
|
||||
onoper = conf.ReadFlag("opermotd","onoper","yes",0);
|
||||
ConfigTag* conf = ServerInstance->Config->ConfValue("opermotd");
|
||||
opermotd->LoadFile(conf->getString("file","opermotd"));
|
||||
onoper = conf->getBool("onoper", true);
|
||||
}
|
||||
|
||||
ModuleOpermotd()
|
||||
@ -84,6 +81,8 @@ class ModuleOpermotd : public Module
|
||||
|
||||
virtual ~ModuleOpermotd()
|
||||
{
|
||||
delete opermotd;
|
||||
opermotd = NULL;
|
||||
}
|
||||
|
||||
virtual Version GetVersion()
|
||||
@ -91,7 +90,6 @@ class ModuleOpermotd : public Module
|
||||
return Version("Shows a message to opers after oper-up, adds /opermotd", VF_VENDOR);
|
||||
}
|
||||
|
||||
|
||||
virtual void OnOper(User* user, const std::string &opertype)
|
||||
{
|
||||
if (onoper)
|
||||
|
Loading…
x
Reference in New Issue
Block a user