void DumpMeta(std::stringstream& data, Extensible* ext)
{
data << "<metadata>";
- for(ExtensibleStore::const_iterator i = ext->GetExtList().begin(); i != ext->GetExtList().end(); i++)
+ for(Extensible::ExtensibleStore::const_iterator i = ext->GetExtList().begin(); i != ext->GetExtList().end(); i++)
{
ExtensionItem* item = i->first;
std::string value = item->serialize(FORMAT_USER, ext, i->second);
- if (value.empty())
- data << "<meta name=\"" << item->key << "\"/>";
- else
+ if (!value.empty())
data << "<meta name=\"" << item->key << "\">" << Sanitize(value) << "</meta>";
+ else if (!item->key.empty())
+ data << "<meta name=\"" << item->key << "\"/>";
}
data << "</metadata>";
}
Membership* memb = x->second;
data << "<channelmember><uid>" << memb->user->uuid << "</uid><privs>"
<< Sanitize(c->GetAllPrefixChars(x->first)) << "</privs><modes>"
- << memb->modes << "</modes></channelmember>";
+ << memb->modes << "</modes>";
+ DumpMeta(data, memb);
+ data << "</channelmember>";
}
DumpMeta(data, c);
virtual Version GetVersion()
{
- return Version("Provides statistics over HTTP via m_httpd.so", VF_VENDOR, API_VERSION);
+ return Version("Provides statistics over HTTP via m_httpd.so", VF_VENDOR);
}
};