std::string MySeparator;
public:
- ModuleHostChange()
- {
+ void init()
+ {
OnRehash(NULL);
Implementation eventlist[] = { I_OnRehash, I_OnUserConnect };
- ServerInstance->Modules->Attach(eventlist, this, 2);
+ ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
}
virtual void OnRehash(User* user)
{
- ConfigReader Conf;
- MySuffix = Conf.ReadValue("host","suffix",0);
- MyPrefix = Conf.ReadValue("host","prefix","",0);
- MySeparator = Conf.ReadValue("host","separator",".",0);
+ ConfigTag* host = ServerInstance->Config->ConfValue("host");
+ MySuffix = host->getString("suffix");
+ MyPrefix = host->getString("prefix");
+ MySeparator = host->getString("separator", ".");
hostchanges.clear();
std::set<std::string> dupecheck;
if (!strcasecmp(action.c_str(), "set"))
{
act = Host::HCA_SET;
- newhost = tag->getString("newhost");
+ newhost = tag->getString("value");
}
else if (!strcasecmp(action.c_str(), "suffix"))
act = Host::HCA_SUFFIX;
else
throw ModuleException("Invalid hostchange action: " + action);
- hostchanges.push_back(std::make_pair(mask, Host(act, tag->getString("ports"), newhost)));
+ hostchanges.push_back(std::make_pair(mask, Host(act, newhost, tag->getString("ports"))));
}
}
}
if (!newhost.empty())
{
- user->WriteServ("NOTICE "+std::string(user->nick)+" :Setting your virtual host: " + newhost);
+ user->WriteServ("NOTICE "+user->nick+" :Setting your virtual host: " + newhost);
if (!user->ChangeDisplayedHost(newhost.c_str()))
- user->WriteServ("NOTICE "+std::string(user->nick)+" :Could not set your virtual host: " + newhost);
+ user->WriteServ("NOTICE "+user->nick+" :Could not set your virtual host: " + newhost);
return;
}
}