Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
/**
4
 * Super-class for definition datatype objects, implements serialization
5
 * functions for the class.
6
 */
7
abstract class HTMLPurifier_Definition
8
{
9
 
10
    /**
11
     * Has setup() been called yet?
12
     * @type bool
13
     */
14
    public $setup = false;
15
 
16
    /**
17
     * If true, write out the final definition object to the cache after
18
     * setup.  This will be true only if all invocations to get a raw
19
     * definition object are also optimized.  This does not cause file
20
     * system thrashing because on subsequent calls the cached object
21
     * is used and any writes to the raw definition object are short
22
     * circuited.  See enduser-customize.html for the high-level
23
     * picture.
24
     * @type bool
25
     */
26
    public $optimized = null;
27
 
28
    /**
29
     * What type of definition is it?
30
     * @type string
31
     */
32
    public $type;
33
 
34
    /**
35
     * Sets up the definition object into the final form, something
36
     * not done by the constructor
37
     * @param HTMLPurifier_Config $config
38
     */
39
    abstract protected function doSetup($config);
40
 
41
    /**
42
     * Setup function that aborts if already setup
43
     * @param HTMLPurifier_Config $config
44
     */
45
    public function setup($config)
46
    {
47
        if ($this->setup) {
48
            return;
49
        }
50
        $this->setup = true;
51
        $this->doSetup($config);
52
    }
53
}
54
 
55
// vim: et sw=4 sts=4