Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
/**
4
 * Converts HTMLPurifier_ConfigSchema_Interchange to our runtime
5
 * representation used to perform checks on user configuration.
6
 */
7
class HTMLPurifier_ConfigSchema_Builder_ConfigSchema
8
{
9
 
10
    /**
11
     * @param HTMLPurifier_ConfigSchema_Interchange $interchange
12
     * @return HTMLPurifier_ConfigSchema
13
     */
14
    public function build($interchange)
15
    {
16
        $schema = new HTMLPurifier_ConfigSchema();
17
        foreach ($interchange->directives as $d) {
18
            $schema->add(
19
                $d->id->key,
20
                $d->default,
21
                $d->type,
22
                $d->typeAllowsNull
23
            );
24
            if ($d->allowed !== null) {
25
                $schema->addAllowedValues(
26
                    $d->id->key,
27
                    $d->allowed
28
                );
29
            }
30
            foreach ($d->aliases as $alias) {
31
                $schema->addAlias(
32
                    $alias->key,
33
                    $d->id->key
34
                );
35
            }
36
            if ($d->valueAliases !== null) {
37
                $schema->addValueAliases(
38
                    $d->id->key,
39
                    $d->valueAliases
40
                );
41
            }
42
        }
43
        $schema->postProcess();
44
        return $schema;
45
    }
46
}
47
 
48
// vim: et sw=4 sts=4