- Implementation eventlist[] = { I_OnEvent, I_OnRequest };
- ServerInstance->Modules->Attach(eventlist, this, 2);
+ Implementation eventlist[] = { I_OnEvent };
+ ServerInstance->Modules->Attach(eventlist, this, 1);
+ }
+
+ std::string Sanitize(const std::string &str)
+ {
+ std::string ret;
+ ret.reserve(str.length() * 2);
+
+ for (std::string::const_iterator x = str.begin(); x != str.end(); ++x)
+ {
+ std::map<char, char const*>::const_iterator it = entities.find(*x);
+
+ if (it != entities.end())
+ {
+ ret += '&';
+ ret += it->second;
+ ret += ';';
+ }
+ else if (*x < 32 || *x > 126)
+ {
+ int n = (unsigned char)*x;
+ ret += ("&#" + ConvToStr(n) + ";");
+ }
+ else
+ {
+ ret += *x;
+ }
+ }
+ return ret;
+ }
+
+ void DumpMeta(std::stringstream& data, Extensible* ext)
+ {
+ data << "<metadata>";
+ 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 << "\">" << Sanitize(value) << "</meta>";
+ else if (!item->key.empty())
+ data << "<meta name=\"" << item->key << "\"/>";
+ }
+ data << "</metadata>";