]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/coremods/core_info/cmd_info.cpp
Allow channels/auspex to see a secret channel topic. (#1654)
[user/henk/code/inspircd.git] / src / coremods / core_info / cmd_info.cpp
index 8dad99453581684e212f2e9e17cef64aedbe4a30..29518e376d9d43688a2eaafc42fbf9080691feca 100644 (file)
 #include "core_info.h"
 
 CommandInfo::CommandInfo(Module* parent)
-       : Command(parent, "INFO")
+       : ServerTargetCommand(parent, "INFO")
 {
        Penalty = 4;
        syntax = "[<servername>]";
 }
 
 static const char* const lines[] = {
-       "                   -/\\- \2InspIRCd\2 -\\/-",
+       "                   -/\\- \002InspIRCd\002 -\\/-",
        "                 November 2002 - Present",
        " ",
-       "\2Core Developers\2:",
+       "\002Core Developers\002:",
        "    Attila Molnar,          Attila,     <attilamolnar@hush.com>",
        "    Peter Powell,           SaberUK,    <petpow@saberuk.com>",
        " ",
-       "\2Former Developers\2:",
+       "\002Former Developers\002:",
        "    Oliver Lupton,          Om,         <om@inspircd.org>",
        "    John Brooks,            Special,    <special@inspircd.org>",
        "    Dennis Friis,           peavey,     <peavey@inspircd.org>",
@@ -47,51 +47,44 @@ static const char* const lines[] = {
        "    Matt Smith,             dz,         <dz@inspircd.org>",
        "    Daniel De Graaf,        danieldg,   <danieldg@inspircd.org>",
        " ",
-       "\2Founding Developers\2:",
+       "\002Founding Developers\002:",
        "    Craig Edwards,          Brain,      <brain@inspircd.org>",
        "    Craig McLure,           Craig,      <craig@inspircd.org>",
        "    Robin Burchell,         w00t,       <w00t@inspircd.org>",
        " ",
-       "\2Active Contributors\2:",
-       "    Adam           Shutter",
+       "\002Active Contributors\002:",
+       "    Adam           linuxdaemon     Sheogorath",
        " ",
-       "\2Former Contributors\2:",
+       "\002Former Contributors\002:",
        "   dmb             Zaba            skenmy         GreenReaper",
        "   Dan             Jason           satmd          owine",
        "   Adremelech      John2           jilles         HiroP",
        "   eggy            Bricker         AnMaster       djGrrr",
        "   nenolod         Quension        praetorian     pippijn",
-       "   CC              jamie           typobox43      Burlex (win32)",
+       "   CC              jamie           typobox43      Burlex",
        "   Stskeeps        ThaPrince       BuildSmart     Thunderhacker",
        "   Skip            LeaChim         Majic          MacGyver",
        "   Namegduf        Ankit           Phoenix        Taros",
-       "   jackmcbarn      ChrisTX         Shawn",
+       "   jackmcbarn      ChrisTX         Shawn          Shutter",
        " ",
-       "\2Thanks To\2:",
-       "   Asmo            Brik            fraggeln",
+       "\002Thanks To\002:",
+       "   Asmo            Brik            fraggeln       genius3000",
        " ",
-       " Best experienced with: \2An IRC client\2",
+       " Best experienced with: \002An IRC client\002",
        NULL
 };
 
 /** Handle /INFO
  */
-CmdResult CommandInfo::Handle (const std::vector<std::string>& parameters, User *user)
+CmdResult CommandInfo::Handle(User* user, const Params& parameters)
 {
-       if (parameters.size() > 0 && parameters[0] != ServerInstance->Config->ServerName)
+       if (parameters.size() > 0 && !irc::equals(parameters[0], ServerInstance->Config->ServerName))
                return CMD_SUCCESS;
 
        int i=0;
        while (lines[i])
-               user->SendText(":%s %03d %s :%s", ServerInstance->Config->ServerName.c_str(), RPL_INFO, user->nick.c_str(), lines[i++]);
-       FOREACH_MOD(OnInfo, (user));
-       user->SendText(":%s %03d %s :End of /INFO list", ServerInstance->Config->ServerName.c_str(), RPL_ENDOFINFO, user->nick.c_str());
-       return CMD_SUCCESS;
-}
+               user->WriteRemoteNumeric(RPL_INFO, lines[i++]);
 
-RouteDescriptor CommandInfo::GetRouting(User* user, const std::vector<std::string>& parameters)
-{
-       if (parameters.size() > 0)
-               return ROUTE_UNICAST(parameters[0]);
-       return ROUTE_LOCALONLY;
+       user->WriteRemoteNumeric(RPL_ENDOFINFO, "End of /INFO list");
+       return CMD_SUCCESS;
 }