- // XXX write me
-//format << Srv->Config->ServerName << " 223 " << user->nick << " :" << iter->banmask << " " << iter->set_on << " " << iter->length << " " <<
-//iter->set_by << " " << iter->reason;
-
- return 0;
+ if (symbol != 'S')
+ return MOD_RES_PASSTHRU;
+
+ ServerInstance->XLines->InvokeStats("SHUN", 223, user, out);
+ return MOD_RES_DENY;
+ }
+
+ virtual void OnRehash(User* user)
+ {
+ ConfigReader MyConf;
+ std::string cmds = MyConf.ReadValue("shun", "enabledcommands", 0);
+
+ if (cmds.empty())
+ cmds = "PING PONG QUIT";
+
+ ShunEnabledCommands.clear();
+ NotifyOfShun = true;
+ affectopers = false;
+
+ std::stringstream dcmds(cmds);
+ std::string thiscmd;
+
+ while (dcmds >> thiscmd)
+ {
+ ShunEnabledCommands.insert(thiscmd);
+ }
+
+ NotifyOfShun = MyConf.ReadFlag("shun", "notifyuser", "yes", 0);
+ affectopers = MyConf.ReadFlag("shun", "affectopers", "no", 0);