HTMLPurifier_AttrTransform_Lang   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 6
eloc 8
dl 0
loc 20
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A transform() 0 11 6
1
<?php
2
3
/**
4
 * Post-transform that copies lang's value to xml:lang (and vice-versa)
5
 * @note Theoretically speaking, this could be a pre-transform, but putting
6
 *       post is more efficient.
7
 */
8
class HTMLPurifier_AttrTransform_Lang extends HTMLPurifier_AttrTransform
9
{
10
11
    /**
12
     * @param array $attr
13
     * @param HTMLPurifier_Config $config
14
     * @param HTMLPurifier_Context $context
15
     * @return array
16
     */
17
    public function transform($attr, $config, $context)
18
    {
19
        $lang = isset($attr['lang']) ? $attr['lang'] : false;
20
        $xml_lang = isset($attr['xml:lang']) ? $attr['xml:lang'] : false;
21
22
        if ($lang !== false && $xml_lang === false) {
23
            $attr['xml:lang'] = $lang;
24
        } elseif ($xml_lang !== false) {
25
            $attr['lang'] = $xml_lang;
26
        }
27
        return $attr;
28
    }
29
}
30
31
// vim: et sw=4 sts=4
32