]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_alltime.cpp
Fix potential for duplicate SID if the SID is auto generated.
[user/henk/code/inspircd.git] / src / modules / m_alltime.cpp
index 0ce517886d707318e00b56b3ca8c93826ac2fa43..37dbf38a0ba66d009479690ed09e2f78ce9c2e2f 100644 (file)
@@ -1,11 +1,17 @@
-/* Written by Special (john@yarbbles.com) */
+/*       +------------------------------------+
+ *       | Inspire Internet Relay Chat Daemon |
+ *       +------------------------------------+
+ *
+ *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ * See: http://www.inspircd.org/wiki/index.php/Credits
+ *
+ * This program is free but copyrighted software; see
+ *            the file COPYING for details.
+ *
+ * ---------------------------------------------------
+ */
 
-using namespace std;
-
-#include <stdio.h>
-#include <string>
 #include "inspircd.h"
-#include "modules.h"
 
 /* $ModDesc: Display timestamps from all servers connected to the network */
 
@@ -15,20 +21,23 @@ class cmd_alltime : public command_t
        cmd_alltime(InspIRCd *Instance) : command_t(Instance, "ALLTIME", 'o', 0)
        {
                this->source = "m_alltime.so";
-               syntax = "";
+               syntax.clear();
+               translation.push_back(TR_END);
        }
 
        CmdResult Handle(const char **parameters, int pcnt, userrec *user)
        {
                char fmtdate[64];
-               time_t now = ServerInstance->Time();
+               char fmtdate2[64];
+               time_t now = ServerInstance->Time(false);
                strftime(fmtdate, sizeof(fmtdate), "%F %T", gmtime(&now));
+               now = ServerInstance->Time(true);
+               strftime(fmtdate2, sizeof(fmtdate2), "%F %T", gmtime(&now));
                
-               // I'm too lazy to add a function to fetch the delta, so lets just cheat..
-               int delta = time(NULL) - now;
+               int delta = ServerInstance->GetTimeDelta();
                
-               string msg = ":" + string(ServerInstance->Config->ServerName) + " NOTICE " + user->nick + " :Time for " +
-                       ServerInstance->Config->ServerName + " is: " + fmtdate + " (delta " + ConvToStr(delta) + " seconds)";
+               string msg = ":" + string(ServerInstance->Config->ServerName) + " NOTICE " + user->nick + " :System time for " +
+                       ServerInstance->Config->ServerName + " is: " + fmtdate + " (delta " + ConvToStr(delta) + " seconds): Time with delta: "+ fmtdate2;
                
                if (IS_LOCAL(user))
                {
@@ -42,17 +51,19 @@ class cmd_alltime : public command_t
                        Event ev((char *) &params, NULL, "send_push");
                        ev.Send(ServerInstance);
                }
-               
+
+               /* we want this routed out! */
                return CMD_SUCCESS;
        }
 };
 
+
 class Modulealltime : public Module
 {
        cmd_alltime *mycommand;
  public:
        Modulealltime(InspIRCd *Me)
-               : Module::Module(Me)
+               : Module(Me)
        {
                mycommand = new cmd_alltime(ServerInstance);
                ServerInstance->AddCommand(mycommand);
@@ -69,25 +80,4 @@ class Modulealltime : public Module
        
 };
 
-class ModulealltimeFactory : public ModuleFactory
-{
- public:
-       ModulealltimeFactory()
-       {
-       }
-       
-       ~ModulealltimeFactory()
-       {
-       }
-       
-       virtual Module *CreateModule(InspIRCd *Me)
-       {
-               return new Modulealltime(Me);
-       }
-};
-
-
-extern "C" void *init_module(void)
-{
-       return new ModulealltimeFactory;
-}
+MODULE_INIT(Modulealltime)