Seditio Source
Root |
./othercms/ips_4.3.4/system/3rd_party/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php
<?php

/**
 * Converts HTMLPurifier_ConfigSchema_Interchange to our runtime
 * representation used to perform checks on user configuration.
 */
class HTMLPurifier_ConfigSchema_Builder_ConfigSchema
{

   
/**
     * @param HTMLPurifier_ConfigSchema_Interchange $interchange
     * @return HTMLPurifier_ConfigSchema
     */
   
public function build($interchange)
    {
       
$schema = new HTMLPurifier_ConfigSchema();
        foreach (
$interchange->directives as $d) {
           
$schema->add(
               
$d->id->key,
               
$d->default,
               
$d->type,
               
$d->typeAllowsNull
           
);
            if (
$d->allowed !== null) {
               
$schema->addAllowedValues(
                   
$d->id->key,
                   
$d->allowed
               
);
            }
            foreach (
$d->aliases as $alias) {
               
$schema->addAlias(
                   
$alias->key,
                   
$d->id->key
               
);
            }
            if (
$d->valueAliases !== null) {
               
$schema->addValueAliases(
                   
$d->id->key,
                   
$d->valueAliases
               
);
            }
        }
       
$schema->postProcess();
        return
$schema;
    }
}

// vim: et sw=4 sts=4