Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
/**
4
 * XHTML 1.1 Edit Module, defines editing-related elements. Text Extension
5
 * Module.
6
 */
7
class HTMLPurifier_HTMLModule_Edit extends HTMLPurifier_HTMLModule
8
{
9
 
10
    /**
11
     * @type string
12
     */
13
    public $name = 'Edit';
14
 
15
    /**
16
     * @param HTMLPurifier_Config $config
17
     */
18
    public function setup($config)
19
    {
20
        $contents = 'Chameleon: #PCDATA | Inline ! #PCDATA | Flow';
21
        $attr = array(
22
            'cite' => 'URI',
23
            // 'datetime' => 'Datetime', // not implemented
24
        );
25
        $this->addElement('del', 'Inline', $contents, 'Common', $attr);
26
        $this->addElement('ins', 'Inline', $contents, 'Common', $attr);
27
    }
28
 
29
    // HTML 4.01 specifies that ins/del must not contain block
30
    // elements when used in an inline context, chameleon is
31
    // a complicated workaround to acheive this effect
32
 
33
    // Inline context ! Block context (exclamation mark is
34
    // separator, see getChildDef for parsing)
35
 
36
    /**
37
     * @type bool
38
     */
39
    public $defines_child_def = true;
40
 
41
    /**
42
     * @param HTMLPurifier_ElementDef $def
43
     * @return HTMLPurifier_ChildDef_Chameleon
44
     */
45
    public function getChildDef($def)
46
    {
47
        if ($def->content_model_type != 'chameleon') {
48
            return false;
49
        }
50
        $value = explode('!', $def->content_model);
51
        return new HTMLPurifier_ChildDef_Chameleon($value[0], $value[1]);
52
    }
53
}
54
 
55
// vim: et sw=4 sts=4