summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/treesocket2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_spanningtree/treesocket2.cpp')
-rw-r--r--src/modules/m_spanningtree/treesocket2.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp
index fe56ea1bf..8bb404a45 100644
--- a/src/modules/m_spanningtree/treesocket2.cpp
+++ b/src/modules/m_spanningtree/treesocket2.cpp
@@ -207,6 +207,21 @@ bool TreeSocket::ForceNick(const std::string &prefix, std::deque<std::string> &p
return true;
}
+bool TreeSocket::OperQuit(const std::string &prefix, std::deque<std::string> &params)
+{
+ if (params.size() < 1)
+ return true;
+
+ userrec* u = this->Instance->FindNick(prefix);
+
+ if (u)
+ {
+ Utils->DoOneToAllButSender(prefix,"OPERQUIT",params,prefix);
+ u->SetOperQuit(params[0]);
+ }
+ return true;
+}
+
/*
* Remote SQUIT (RSQUIT). Routing works similar to SVSNICK: Route it to the server that the target is connected to locally,
* then let that server do the dirty work (squit it!). Example:
@@ -1157,6 +1172,10 @@ bool TreeSocket::ProcessLine(std::string &line)
}
return this->ForceNick(prefix,params);
}
+ else if (command == "OPERQUIT")
+ {
+ return this->OperQuit(prefix,params);
+ }
else if (command == "RSQUIT")
{
return this->RemoteSquit(prefix, params);