]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/coremods/core_info/cmd_info.cpp
Redo OnSetEndPoint logic to fix duplicate clones (#1549).
[user/henk/code/inspircd.git] / src / coremods / core_info / cmd_info.cpp
index c7e8e10e0c7eed5e7a29106d6f5eed0148fba77c..ee079493488e81005f653023b9978589192f3956 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Copyright (C) 2011 Jackmcbarn <jackmcbarn@jackmcbarn.no-ip.org>
  *   Copyright (C) 2009-2010 Daniel De Graaf <danieldg@inspircd.org>
- *   Copyright (C) 2007-2008 Robin Burchell <robin+git@viroteck.net>
+ *   Copyright (C) 2007-2015 Robin Burchell <robin+git@viroteck.net>
  *   Copyright (C) 2008 Thomas Stagner <aquanight@inspircd.org>
  *
  * This file is part of InspIRCd.  InspIRCd is free software: you can
@@ -24,7 +24,7 @@
 #include "core_info.h"
 
 CommandInfo::CommandInfo(Module* parent)
-       : Command(parent, "INFO")
+       : ServerTargetCommand(parent, "INFO")
 {
        Penalty = 4;
        syntax = "[<servername>]";
@@ -53,7 +53,7 @@ static const char* const lines[] = {
        "    Robin Burchell,         w00t,       <w00t@inspircd.org>",
        " ",
        "\2Active Contributors\2:",
-       "    Adam           ChrisTX         Shawn          Shutter",
+       "    Adam           linuxdaemon     Sheogorath",
        " ",
        "\2Former Contributors\2:",
        "   dmb             Zaba            skenmy         GreenReaper",
@@ -61,14 +61,14 @@ static const char* const lines[] = {
        "   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",
+       "   jackmcbarn      ChrisTX         Shawn          Shutter",
        " ",
        "\2Thanks To\2:",
-       "   Asmo            Brik            fraggeln",
+       "   Asmo            Brik            fraggeln       genius3000",
        " ",
        " Best experienced with: \2An IRC client\2",
        NULL
@@ -76,22 +76,15 @@ static const char* const lines[] = {
 
 /** 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)
                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;
 }