diff options
| author | 2008-06-01 14:18:07 +0000 | |
|---|---|---|
| committer | 2008-06-01 14:18:07 +0000 | |
| commit | ada434820d2d81d8e4bcf633ebcbfef20606b51c (patch) | |
| tree | 945c80ec070f872cd32cb8a8706079b28ce88cbc /src/modules/m_spanningtree/protocolinterface.cpp | |
| parent | Forward port r9825: Fix bug found by the atheme migration testing: +V should ... (diff) | |
Add ProtocolInterface::Introduce() to prevent confusion over event ordering, and allow for more flexible protocol use
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9827 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree/protocolinterface.cpp')
| -rw-r--r-- | src/modules/m_spanningtree/protocolinterface.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/protocolinterface.cpp b/src/modules/m_spanningtree/protocolinterface.cpp index e586c7017..850a27c22 100644 --- a/src/modules/m_spanningtree/protocolinterface.cpp +++ b/src/modules/m_spanningtree/protocolinterface.cpp @@ -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 + } +} |
