|
- #!/usr/bin/php
- <?php
-
- require_once dirname(__FILE__) . '/common.php';
- require_once dirname(__FILE__) . '/../library/HTMLPurifier.auto.php';
- assertCli();
-
- /**
- * @file
- * Generates a schema cache file, saving it to
- * library/HTMLPurifier/ConfigSchema/schema.ser.
- *
- * This should be run when new configuration options are added to
- * HTML Purifier. A cached version is available via the repository
- * so this does not normally have to be regenerated.
- *
- * If you have a directory containing custom configuration schema files,
- * you can simple add a path to that directory as a parameter to
- * this, and they will get included.
- */
-
- $target = dirname(__FILE__) . '/../library/HTMLPurifier/ConfigSchema/schema.ser';
-
- $builder = new HTMLPurifier_ConfigSchema_InterchangeBuilder();
- $interchange = new HTMLPurifier_ConfigSchema_Interchange();
-
- $builder->buildDir($interchange);
-
- $loader = dirname(__FILE__) . '/../config-schema.php';
- if (file_exists($loader)) include $loader;
- foreach ($_SERVER['argv'] as $i => $dir) {
- if ($i === 0) continue;
- $builder->buildDir($interchange, realpath($dir));
- }
-
- $interchange->validate();
-
- $schema_builder = new HTMLPurifier_ConfigSchema_Builder_ConfigSchema();
- $schema = $schema_builder->build($interchange);
-
- echo "Saving schema... ";
- file_put_contents($target, serialize($schema));
- echo "done!\n";
-
- // vim: et sw=4 sts=4
|