2 * InspIRCd -- Internet Relay Chat Daemon
4 * Copyright (C) 2010 Daniel De Graaf <danieldg@inspircd.org>
5 * Copyright (C) 2007 Craig Edwards <craigedwards@brainbox.cc>
7 * This file is part of InspIRCd. InspIRCd is free software: you can
8 * redistribute it and/or modify it under the terms of the GNU General Public
9 * License as published by the Free Software Foundation, version 2.
11 * This program is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
27 ModResult ModuleSpanningTree::OnStats(Stats::Context& stats)
29 if ((stats.GetSymbol() == 'c') || (stats.GetSymbol() == 'n'))
31 for (std::vector<reference<Link> >::iterator i = Utils->LinkBlocks.begin(); i != Utils->LinkBlocks.end(); ++i)
34 std::string ipaddr = "*@";
35 if (L->HiddenFromStats)
36 ipaddr.append("<hidden>");
38 ipaddr.append(L->IPAddr);
40 const std::string hook = (L->Hook.empty() ? "plaintext" : L->Hook);
41 stats.AddRow(213, stats.GetSymbol(), ipaddr, '*', L->Name, L->Port, hook);
42 if (stats.GetSymbol() == 'c')
43 stats.AddRow(244, 'H', '*', '*', L->Name);
47 else if (stats.GetSymbol() == 'U')
49 ConfigTagList tags = ServerInstance->Config->ConfTags("uline");
50 for (ConfigIter i = tags.first; i != tags.second; ++i)
52 std::string name = i->second->getString("server");
54 stats.AddRow(248, 'U', name);
58 return MOD_RES_PASSTHRU;