+ if (parameters.size() > 0 && parameters[0] != ServerInstance->Config->ServerName)
+ return CMD_SUCCESS;
+
+ ConfigTag* tag = NULL;
+ if (IS_LOCAL(user))
+ tag = user->GetClass()->config;
+ std::string rules_name = tag->getString("rules", "rules");
+ ConfigFileCache::iterator rules = ServerInstance->Config->Files.find(rules_name);
+ if (rules == ServerInstance->Config->Files.end())
+ {
+ user->SendText(":%s %03d %s :RULES file is missing.",
+ ServerInstance->Config->ServerName.c_str(), ERR_NORULES, user->nick.c_str());
+ return CMD_SUCCESS;
+ }
+ user->SendText(":%s %03d %s :%s server rules:", ServerInstance->Config->ServerName.c_str(),
+ RPL_RULESTART, user->nick.c_str(), ServerInstance->Config->ServerName.c_str());
+
+ for (file_cache::iterator i = rules->second.begin(); i != rules->second.end(); i++)
+ user->SendText(":%s %03d %s :- %s", ServerInstance->Config->ServerName.c_str(), RPL_RULES, user->nick.c_str(),i->c_str());
+
+ user->SendText(":%s %03d %s :End of RULES command.", ServerInstance->Config->ServerName.c_str(), RPL_RULESEND, user->nick.c_str());
+