forked from GNUsocial/gnu-social
HTMLPurifier defangs arbitrary submitted HTML. We're using it in the OStatus plugin, but it may be valuable for other parts of the codebase (I think OEmbed might benefit, for example).
29 lines
711 B
PHP
29 lines
711 B
PHP
<?php
|
|
|
|
/**
|
|
* Post-transform that copies lang's value to xml:lang (and vice-versa)
|
|
* @note Theoretically speaking, this could be a pre-transform, but putting
|
|
* post is more efficient.
|
|
*/
|
|
class HTMLPurifier_AttrTransform_Lang extends HTMLPurifier_AttrTransform
|
|
{
|
|
|
|
public function transform($attr, $config, $context) {
|
|
|
|
$lang = isset($attr['lang']) ? $attr['lang'] : false;
|
|
$xml_lang = isset($attr['xml:lang']) ? $attr['xml:lang'] : false;
|
|
|
|
if ($lang !== false && $xml_lang === false) {
|
|
$attr['xml:lang'] = $lang;
|
|
} elseif ($xml_lang !== false) {
|
|
$attr['lang'] = $xml_lang;
|
|
}
|
|
|
|
return $attr;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// vim: et sw=4 sts=4
|