diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-11-12 15:59:25 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-11-12 15:59:25 +0000 |
commit | b0316eb0472aff155feda1b3c9d0c59d44e3dc3e (patch) | |
tree | 3e3c65c1ee32bf6189d62e379779686268e64bc6 | |
parent | 0bcea9f631a18007ec4421575c5a8c5c0c87fbe3 (diff) |
Add send_opers event and OPERNOTICE command to send remote server NOTICE
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5708 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/modules/m_samode.cpp | 5 | ||||
-rw-r--r-- | src/modules/m_spanningtree.cpp | 19 |
2 files changed, 23 insertions, 1 deletions
diff --git a/src/modules/m_samode.cpp b/src/modules/m_samode.cpp index 1f68e48bf..6e776e7c0 100644 --- a/src/modules/m_samode.cpp +++ b/src/modules/m_samode.cpp @@ -72,6 +72,11 @@ class cmd_samode : public command_t Event rmode((char *)&n, NULL, "send_mode_explicit"); rmode.Send(ServerInstance); + n.clear(); + n.push_back(std::string(user->nick) + " used SAMODE: " + ServerInstance->Modes->GetLastParse()); + Event rmode2((char *)&n, NULL, "send_opers"); + rmode.Send(ServerInstance); + /* XXX: Yes, this is right. We dont want to propogate the * actual SAMODE command, just the MODE command generated * by the send_mode_explicit diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index 93996bcdb..a622c2624 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -3402,6 +3402,18 @@ class TreeSocket : public InspSocket } return true; } + else if (command == "OPERNOTICE") + { + std::string sourceserv = this->myhost; + + if (this->InboundServerName != "") + sourceserv = this->InboundServerName; + + if (params.size() >= 1) + Instance->WriteOpers("*** From " + sourceserv + ": " + params[1]); + + return Utils->DoOneToAllButSenderRaw(line, sourceserv, prefix, command, params); + } else if (command == "ENDBURST") { this->bursting = false; @@ -5161,9 +5173,14 @@ class ModuleSpanningTree : public Module { if (params->size() < 2) return; - // Insert the TS value of the object, either userrec or chanrec Utils->DoOneToMany(ServerInstance->Config->ServerName,"MODE",*params); } + else if (event->GetEventID() == "send_opers") + { + if (params->size() < 1) + return; + Utils->DoOneToMany(ServerInstance->Config->ServerName,"OPERNOTICE",*params); + } else if (event->GetEventID() == "send_push") { if (params->size() < 2) |