]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Added reason to OnUserQuit
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Tue, 29 Nov 2005 15:37:04 +0000 (15:37 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Tue, 29 Nov 2005 15:37:04 +0000 (15:37 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2007 e03df62e-2008-0410-955e-edbf42e46eb7

include/modules.h
src/commands.cpp
src/inspircd.cpp
src/modules.cpp
src/modules/extra/m_sqllog.cpp
src/modules/m_foobar.cpp
src/modules/m_nicklock.cpp
src/modules/m_park.cpp
src/modules/m_silence.cpp
src/modules/m_spanningtree.cpp
src/modules/m_watch.cpp

index 5e217d078725703d412587bff146d91c4569d764..1213e60ca91c0fbf36376bcf483f60e0cfeb5af9 100644 (file)
@@ -265,7 +265,7 @@ class Module : public classbase
         * This event is only called when the user is fully registered when they quit. To catch
         * raw disconnections, use the OnUserDisconnect method.
         */
-       virtual void OnUserQuit(userrec* user);
+       virtual void OnUserQuit(userrec* user, std::string message);
 
        /** Called whenever a user's socket is closed.
         * The details of the exiting user are available to you in the parameter userrec *user
index 1b7c03ea3f8e32867fe0cb759c508be6b04c30cb..a1f914734692ca30984eed2d814486c8811e12fa 100644 (file)
@@ -867,6 +867,7 @@ void handle_quit(char **parameters, int pcnt, userrec *user)
                        Write(user->fd,"ERROR :Closing link (%s@%s) [%s%s]",user->ident,user->host,PrefixQuit,parameters[0]);
                        WriteOpers("*** Client exiting: %s!%s@%s [%s%s]",user->nick,user->ident,user->host,PrefixQuit,parameters[0]);
                        WriteCommonExcept(user,"QUIT :%s%s",PrefixQuit,parameters[0]);
+                       FOREACH_MOD OnUserQuit(user,parameters[0]);
 
                }
                else
@@ -874,9 +875,9 @@ void handle_quit(char **parameters, int pcnt, userrec *user)
                        Write(user->fd,"ERROR :Closing link (%s@%s) [QUIT]",user->ident,user->host);
                        WriteOpers("*** Client exiting: %s!%s@%s [Client exited]",user->nick,user->ident,user->host);
                        WriteCommonExcept(user,"QUIT :Client exited");
+                       FOREACH_MOD OnUserQuit(user,"Client exited");
 
                }
-               FOREACH_MOD OnUserQuit(user);
                AddWhoWas(user);
        }
 
index fa5e420c572f5d8206a7949df53b9067275c4ade..68aee86819f3617dec7fc25eeda7bb7ef4d6d1c1 100644 (file)
@@ -1097,7 +1097,7 @@ void kill_link(userrec *user,const char* r)
        log(DEBUG,"closing fd %lu",(unsigned long)user->fd);
 
        if (user->registered == 7) {
-               FOREACH_MOD OnUserQuit(user);
+               FOREACH_MOD OnUserQuit(user,reason);
                WriteCommonExcept(user,"QUIT :%s",reason);
        }
 
index 899e6759a7a6f6b43c1fa65cd0bfaec15164c36f..61abe55647d1919add49f4981a92593bf6e2e899 100644 (file)
@@ -306,7 +306,7 @@ std::string Event::GetEventID()
                Module::Module() { }
                Module::~Module() { }
 void           Module::OnUserConnect(userrec* user) { }
-void           Module::OnUserQuit(userrec* user) { }
+void           Module::OnUserQuit(userrec* user, std::string message) { }
 void           Module::OnUserDisconnect(userrec* user) { }
 void           Module::OnUserJoin(userrec* user, chanrec* channel) { }
 void           Module::OnUserPart(userrec* user, chanrec* channel) { }
index 72d1ffcea26baadfc6d147dab30c253c62118cc7..0596fdc74285b55ed34653369614e76b3d304eff 100644 (file)
@@ -225,7 +225,7 @@ class ModuleSQLLog : public Module
                AddLogEntry(LT_CONNECT,user->nick,user->host,user->server);
        }
 
-       virtual void OnUserQuit(userrec* user)
+       virtual void OnUserQuit(userrec* user, std::string reason)
        {
                AddLogEntry(LT_DISCONNECT,user->nick,user->host,user->server);
        }
index 81757799c17a351a94864f85762aa54aa0ed20ad..b2e56c94d7afb9f03eab8d81838c8cbd4bdc6ce9 100644 (file)
@@ -66,7 +66,7 @@ class ModuleFoobar : public Module
                Srv->Log(DEBUG,"Foobar: User connecting: " + b);
        }
 
-       virtual void OnUserQuit(userrec* user)
+       virtual void OnUserQuit(userrec* user, std::string reason)
        {
                // method called when a user disconnects
        
index 70fbcac620b91b5db18c0723cba9bb498a1571a9..e31fed67596e0fdf9bf8748e0c01d8303b9080ae 100644 (file)
@@ -103,7 +103,7 @@ class ModuleNickLock : public Module
                return 0;
        }
 
-        virtual void OnUserQuit(userrec* user)
+        virtual void OnUserQuit(userrec* user, std::string reason)
         {
                 user->Shrink("nick_locked");
         }
index 8ceb54715e39c0d05d76e6d9e3f821afeef7f2a4..8ca5fcf89969e87ebf986a8483ff025d2cbaebcd 100644 (file)
@@ -209,7 +209,7 @@ class ModulePark : public Module
                 output = output + std::string(" PARK");
         }
 
-        virtual void OnUserQuit(userrec* user)
+        virtual void OnUserQuit(userrec* user, std::string reason)
         {
                 std::string nick = user->nick;
                 // track quits in our parked user list
index c423506a0c5338aebf68c8b2198b6acaa15772ef..e1c4f3fee0477fbde6337be5031ebf396865c849 100644 (file)
@@ -131,7 +131,7 @@ class ModuleSilence : public Module
                Srv->AddCommand("SILENCE",handle_silence,0,0,"m_silence.so");
        }
 
-       virtual void OnUserQuit(userrec* user)
+       virtual void OnUserQuit(userrec* user, std::string reason)
        {
                // when the user quits tidy up any silence list they might have just to keep things tidy
                // and to prevent a HONKING BIG MEMORY LEAK!
index cd35e824d882e20a3005d2a772e5874d2df2e5a9..8e0812bd7322a132327b343fd37b0e8eb86fd0ad 100644 (file)
@@ -1312,6 +1312,26 @@ class ModuleSpanningTree : public Module
                }
        }
 
+       virtual void OnUserConnect(userrec* user)
+       {
+               if (std::string(user->server) == Srv->GetServerName())
+               {
+                       log(DEBUG,"**** User on %s CONNECTS: %s",user->server,user->nick);
+                       std::deque<std::string> params;
+                       sprintf(agestr,"%d",user->age);
+                       params.clear();
+                       params.push_back(agestr);
+                       params.push_back(user->nick);
+                       params.push_back(user->host);
+                       params.push_back(user->dhost);
+                       params.push_back(user->ident);
+                       params.push_back("+"+std::string(user->modes))
+                       params.push_back(user->ip);
+                       params.push_back(":"+std::string(user->fullname))
+                       DoOneToMany(Srv->GetServerName(),"NICK",params);
+               }
+       }
+
        virtual ~ModuleSpanningTree()
        {
                delete Srv;
index 008aada574fb117f320b4991294847ba20c7b3cf..b15a0b65c747c438a7a699ccf15a4b467864d809 100644 (file)
@@ -189,7 +189,7 @@ class Modulewatch : public Module
                Srv->AddCommand("WATCH",handle_watch,0,0,"m_watch.so");
        }
 
-       virtual void OnUserQuit(userrec* user)
+       virtual void OnUserQuit(userrec* user, std::string reason)
        {
                log(DEBUG,"*** WATCH: On global quit: user %s",user->nick);
                irc::string n2 = user->nick;