PATH:
home
/
letacommog
/
letaweb
/
admin
/
classes
/
htmlpurifier
/
configdoc
<?php /** * Generates XML and HTML documents describing configuration. * * @note PHP 5.2+ only! */ /* TODO: - make XML format richer - extend XSLT transformation (see the corresponding XSLT file) - allow generation of packaged docs that can be easily moved - 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"); $output = $xslt->transformToHTML($configdoc_xml); if (!$output) { echo "Error in generating files\n"; exit(1); } // write out file_put_contents(dirname(__FILE__)."/$style.html", $output); if (php_sapi_name() != 'cli') { // output (instant feedback if it's a browser) echo $output; } else { echo "Files generated successfully.\n"; } // vim: et sw=4 sts=4
[+]
..
[+]
styles
[-] usage.xml
[edit]
[-] types.xml
[edit]
[-] generate.php
[edit]