- // check if this is our mode character...
- if ((modechar == 'P') && (type == MT_CHANNEL))
- {
- log(DEBUG,"Allowing P change");
- return 1;
+ ConfigReader Conf(ServerInstance);
+ percent = Conf.ReadInteger("blockcaps", "percent", "100", 0, true);
+ minlen = Conf.ReadInteger("blockcaps", "minlen", "1", 0, true);
+ std::string hmap = Conf.ReadValue("blockcaps", "capsmap", 0);
+ if (hmap.empty())
+ hmap = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ memset(capsmap, 0, sizeof(capsmap));
+ for (std::string::iterator n = hmap.begin(); n != hmap.end(); n++)
+ capsmap[(unsigned char)*n] = 1;
+ if (percent < 1 || percent > 100)
+ {
+ ServerInstance->Logs->Log("CONFIG",DEFAULT, "<blockcaps:percent> out of range, setting to default of 100.");
+ percent = 100;