| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | <?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
 |