Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
/**
4
 * Abstract base token class that all others inherit from.
5
 */
6
abstract class HTMLPurifier_Token
7
{
8
    /**
9
     * Line number node was on in source document. Null if unknown.
10
     * @type int
11
     */
12
    public $line;
13
 
14
    /**
15
     * Column of line node was on in source document. Null if unknown.
16
     * @type int
17
     */
18
    public $col;
19
 
20
    /**
21
     * Lookup array of processing that this token is exempt from.
22
     * Currently, valid values are "ValidateAttributes" and
23
     * "MakeWellFormed_TagClosedError"
24
     * @type array
25
     */
26
    public $armor = array();
27
 
28
    /**
29
     * Used during MakeWellFormed.  See Note [Injector skips]
30
     * @type
31
     */
32
    public $skip;
33
 
34
    /**
35
     * @type
36
     */
37
    public $rewind;
38
 
39
    /**
40
     * @type
41
     */
42
    public $carryover;
43
 
44
    /**
45
     * @param string $n
46
     * @return null|string
47
     */
48
    public function __get($n)
49
    {
50
        if ($n === 'type') {
51
            trigger_error('Deprecated type property called; use instanceof', E_USER_NOTICE);
52
            switch (get_class($this)) {
53
                case 'HTMLPurifier_Token_Start':
54
                    return 'start';
55
                case 'HTMLPurifier_Token_Empty':
56
                    return 'empty';
57
                case 'HTMLPurifier_Token_End':
58
                    return 'end';
59
                case 'HTMLPurifier_Token_Text':
60
                    return 'text';
61
                case 'HTMLPurifier_Token_Comment':
62
                    return 'comment';
63
                default:
64
                    return null;
65
            }
66
        }
67
    }
68
 
69
    /**
70
     * Sets the position of the token in the source document.
71
     * @param int $l
72
     * @param int $c
73
     */
74
    public function position($l = null, $c = null)
75
    {
76
        $this->line = $l;
77
        $this->col = $c;
78
    }
79
 
80
    /**
81
     * Convenience function for DirectLex settings line/col position.
82
     * @param int $l
83
     * @param int $c
84
     */
85
    public function rawPosition($l, $c)
86
    {
87
        if ($c === -1) {
88
            $l++;
89
        }
90
        $this->line = $l;
91
        $this->col = $c;
92
    }
93
 
94
    /**
95
     * Converts a token into its corresponding node.
96
     */
97
    abstract public function toNode();
98
}
99
 
100
// vim: et sw=4 sts=4