- multipage documentation - determine how to multilingualize - add blurbs to ToC */ if (version_compare(PHP_VERSION, '5.2', '<')) { exit('PHP 5.2+ required.'); } error_reporting(E_ALL | E_STRICT); // load dual-libraries require_once dirname(__FILE__) . '/../extras/HTMLPurifierExtras.auto.php'; require_once dirname(__FILE__) . '/../library/HTMLPurifier.auto.php'; // setup HTML Purifier singleton HTMLPurifier::getInstance(array('AutoFormat.PurifierLinkify' => true)); $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; } $interchange->validate(); $style = 'plain'; // use $_GET in the future, careful to validate! $configdoc_xml = dirname(__FILE__) . '/configdoc.xml'; $xml_builder = new HTMLPurifier_ConfigSchema_Builder_Xml(); $xml_builder->openURI($configdoc_xml); $xml_builder->build($interchange); unset($xml_builder); // free handle $xslt = new ConfigDoc_HTMLXSLTProcessor(); $xslt->importStylesheet(dirname(__FILE__) . "/styles/{$style}.xsl");
* @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));
public static function buildFromDirectory($dir = null) { $builder = new HTMLPurifier_ConfigSchema_InterchangeBuilder(); $interchange = new HTMLPurifier_ConfigSchema_Interchange(); return $builder->buildDir($interchange, $dir); }