diff options
-rw-r--r-- | src/mode.cpp | 1 | ||||
-rw-r--r-- | src/modules/m_spanningtree.cpp | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/mode.cpp b/src/mode.cpp index 6461ee311..7cc53d230 100644 --- a/src/mode.cpp +++ b/src/mode.cpp @@ -1157,6 +1157,7 @@ void process_modes(char **parameters,userrec* user,chanrec *chan,int status, int if (!silent) { WriteChannel(chan,user,"MODE %s %s",chan->name,outstr); + FOREACH_MOD OnMode(user, chan, TYPE_CHANNEL, outstr); } } } diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index fe00ac42b..adc4a2a38 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -490,6 +490,12 @@ class TreeSocket : public InspSocket std::string ident = params[4]; time_t age = atoi(params[0].c_str()); std::string modes = params[5]; + if (*(modes.c_str()) == '+') + { + char* m = (char*)modes.c_str(); + m++; + modes = m; + } std::string ip = params[6]; std::string gecos = params[7]; char* tempnick = (char*)nick.c_str(); @@ -1392,8 +1398,10 @@ class ModuleSpanningTree : public Module virtual void OnMode(userrec* user, void* dest, int target_type, std::string text) { + log(DEBUG,"*** ONMODE TRIGGER"); if (std::string(user->server) == Srv->GetServerName()) { + log(DEBUG,"*** LOCAL"); if (target_type == TYPE_USER) { userrec* u = (userrec*)dest; |