From 76f43a55180e8b8e8e3bbb32be3931ca1431666a Mon Sep 17 00:00:00 2001 From: brain Date: Tue, 29 Nov 2005 16:11:50 +0000 Subject: Added NICK and QUIT git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2009 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_spanningtree.cpp | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) (limited to 'src/modules') diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index 8e0812bd7..172a36a14 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -1314,24 +1314,47 @@ class ModuleSpanningTree : public Module virtual void OnUserConnect(userrec* user) { + char agestr[MAXBUF]; if (std::string(user->server) == Srv->GetServerName()) { log(DEBUG,"**** User on %s CONNECTS: %s",user->server,user->nick); std::deque params; - sprintf(agestr,"%d",user->age); + snprintf(agestr,MAXBUF,"%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("+"+std::string(user->modes)); params.push_back(user->ip); - params.push_back(":"+std::string(user->fullname)) + params.push_back(":"+std::string(user->fullname)); DoOneToMany(Srv->GetServerName(),"NICK",params); } } + virtual void OnUserQuit(userrec* user, std::string reason) + { + if (std::string(user->server) == Srv->GetServerName()) + { + log(DEBUG,"**** User on %s QUITS: %s",user->server,user->nick); + std::deque params; + params.push_back(":"+reason); + DoOneToMany(user->nick,"QUIT",params); + } + } + + virtual void OnUserPostNick(userrec* user, std::string oldnick) + { + if (std::string(user->server) == Srv->GetServerName()) + { + log(DEBUG,"**** User on %s changes NICK: %s",user->server,user->nick); + std::deque params; + params.push_back(user->nick); + DoOneToMany(oldnick,"NICK",params); + } + } + virtual ~ModuleSpanningTree() { delete Srv; -- cgit v1.2.3