]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/protocolinterface.cpp
Add ProtocolInterface::Introduce() to prevent confusion over event ordering, and...
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / protocolinterface.cpp
index e586c7017160c7d5761d6abdbad63f08f90f510e..850a27c22de970605089162caea1168e6a2bf5fa 100644 (file)
@@ -172,3 +172,27 @@ void SpanningTreeProtocolInterface::SendUserNotice(User* target, const std::stri
        }
 }
 
+void SpanningTreeProtocolInterface::Introduce(User* user)
+{
+       if (IS_LOCAL(user))
+       {
+               std::deque<std::string> params;
+               params.push_back(user->uuid);
+               params.push_back(ConvToStr(user->age));
+               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->FormatModes()));
+               params.push_back(user->GetIPString());
+               params.push_back(ConvToStr(user->signon));
+               params.push_back(":"+std::string(user->fullname));
+               Utils->DoOneToMany(ServerInstance->Config->GetSID(), "UID", params);
+       }
+
+       TreeServer* SourceServer = Utils->FindServer(user->server);
+       if (SourceServer)
+       {
+               SourceServer->SetUserCount(1); // increment by 1
+       }
+}