]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/addline.cpp
Add the server id to the Server class.
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / addline.cpp
index d063176743548427129d96778382925c7f414623..d6c33d2ff9835b4b99a885a5b42c5e63e0c08a81 100644 (file)
 #include "utils.h"
 #include "commands.h"
 
-CmdResult CommandAddLine::Handle(User* usr, std::vector<std::string>& params)
+CmdResult CommandAddLine::Handle(User* usr, Params& params)
 {
        XLineFactory* xlf = ServerInstance->XLines->GetFactory(params[0]);
        const std::string& setter = usr->nick;
 
        if (!xlf)
        {
-               ServerInstance->SNO->WriteToSnoMask('d',"%s sent me an unknown ADDLINE type (%s).",setter.c_str(),params[0].c_str());
+               ServerInstance->SNO->WriteToSnoMask('x', "%s sent me an unknown ADDLINE type (%s).", setter.c_str(), params[0].c_str());
                return CMD_FAILURE;
        }
 
        XLine* xl = NULL;
        try
        {
-               xl = xlf->Generate(ServerInstance->Time(), ConvToInt(params[4]), params[2], params[5], params[1]);
+               xl = xlf->Generate(ServerInstance->Time(), ConvToNum<unsigned long>(params[4]), params[2], params[5], params[1]);
        }
        catch (ModuleException &e)
        {
-               ServerInstance->SNO->WriteToSnoMask('d',"Unable to ADDLINE type %s from %s: %s", params[0].c_str(), setter.c_str(), e.GetReason());
+               ServerInstance->SNO->WriteToSnoMask('x', "Unable to ADDLINE type %s from %s: %s", params[0].c_str(), setter.c_str(), e.GetReason().c_str());
                return CMD_FAILURE;
        }
-       xl->SetCreateTime(ConvToInt(params[3]));
+       xl->SetCreateTime(ConvToNum<time_t>(params[3]));
        if (ServerInstance->XLines->AddLine(xl, NULL))
        {
                if (xl->duration)
                {
-                       std::string timestr = ServerInstance->TimeString(xl->expiry);
-                       ServerInstance->SNO->WriteToSnoMask('X',"%s added %s%s on %s to expire on %s: %s",setter.c_str(),params[0].c_str(),params[0].length() == 1 ? "-line" : "",
-                                       params[1].c_str(), timestr.c_str(), params[5].c_str());
+                       ServerInstance->SNO->WriteToSnoMask('X', "%s added timed %s%s for %s, expires in %s (on %s): %s",
+                               setter.c_str(), params[0].c_str(), params[0].length() == 1 ? "-line" : "",
+                               params[1].c_str(), InspIRCd::DurationString(xl->duration).c_str(),
+                               InspIRCd::TimeString(xl->expiry).c_str(), params[5].c_str());
                }
                else
                {
-                       ServerInstance->SNO->WriteToSnoMask('X',"%s added permanent %s%s on %s: %s",setter.c_str(),params[0].c_str(),params[0].length() == 1 ? "-line" : "",
-                                       params[1].c_str(),params[5].c_str());
+                       ServerInstance->SNO->WriteToSnoMask('X', "%s added permanent %s%s on %s: %s",
+                               setter.c_str(), params[0].c_str(), params[0].length() == 1 ? "-line" : "",
+                               params[1].c_str(), params[5].c_str());
                }
 
-               TreeServer* remoteserver = Utils->FindServer(usr->server);
+               TreeServer* remoteserver = TreeServer::Get(usr);
 
-               if (!remoteserver->bursting)
+               if (!remoteserver->IsBursting())
                {
                        ServerInstance->XLines->ApplyLines();
                }