diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-01-30 00:06:12 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-01-30 00:06:12 +0000 |
commit | 9cdf0340ad29bb34dd4d0de433df55096b01ec80 (patch) | |
tree | ac70371bd7caeef4d44ad0c4be93652be8c542da | |
parent | 9d85ba0dad8d7e02365a26c9b944a0a0ab036eb3 (diff) |
See last commit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2982 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/modules/m_spanningtree.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index 160632bef..caaaa775a 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -1245,6 +1245,7 @@ class TreeSocket : public InspSocket /* Send everything else (channel modes, xlines etc) */ this->SendChannelModes(s); this->SendXLines(s); + FOREACH_MOD(I_OnSyncOtherMetaData,OnSyncOtherMetaData((Module*)TreeProtocolModule,(void*)this,list[j])); this->WriteLine("ENDBURST"); Srv->SendOpers("*** Finished bursting to \2"+s->GetName()+"\2."); } @@ -1473,7 +1474,11 @@ class TreeSocket : public InspSocket TreeServer* ServerSource = FindServer(prefix); if (ServerSource) { - if (*(params[0].c_str()) == '#') + if (params[0] == "*") + { + FOREACH_MOD(I_OnDecodeMetaData,OnDecodeMetaData(TYPE_OTHER,NULL,params[1],params[2])); + } + else if (*(params[0].c_str()) == '#') { chanrec* c = Srv->FindChannel(params[0]); if (c) @@ -1481,7 +1486,7 @@ class TreeSocket : public InspSocket FOREACH_MOD(I_OnDecodeMetaData,OnDecodeMetaData(TYPE_CHANNEL,c,params[1],params[2])); } } - else + else if (*(params[0].c_str()) != '#') { userrec* u = Srv->FindNick(params[0]); if (u) @@ -3234,7 +3239,11 @@ class ModuleSpanningTree : public Module userrec* u = (userrec*)target; s->WriteLine(":"+Srv->GetServerName()+" METADATA "+u->nick+" "+extname+" :"+extdata); } - else + else if (target_type == TYPE_OTHER) + { + s->WriteLine(":"+Srv->GetServerName()+" METADATA * "+extname+" :"+extdata); + } + else if (target_type == TYPE_CHANNEL) { chanrec* c = (chanrec*)target; s->WriteLine(":"+Srv->GetServerName()+" METADATA "+c->name+" "+extname+" :"+extdata); |