4 chdir(dirname(__FILE__
));
5 require_once 'common.php';
8 echo "Please do not run this script. It is here for historical purposes only.";
13 * Extracts all definitions inside a configuration schema
14 * (HTMLPurifier_ConfigSchema) and exports them as plain text files.
16 * @todo Extract version numbers.
19 define('HTMLPURIFIER_SCHEMA_STRICT', true); // description data needs to be collected
20 require_once dirname(__FILE__
) . '/../library/HTMLPurifier.auto.php';
22 // We need includes to ensure all HTMLPurifier_ConfigSchema calls are
24 require_once 'HTMLPurifier.includes.php';
26 // Also, these extra files will be necessary.
27 require_once 'HTMLPurifier/Filter/ExtractStyleBlocks.php';
30 * Takes a hash and saves its contents to library/HTMLPurifier/ConfigSchema/
32 function saveHash($hash) {
33 if ($hash === false) return;
34 $dir = realpath(dirname(__FILE__
) . '/../library/HTMLPurifier/ConfigSchema');
35 $name = $hash['ID'] . '.txt';
36 $file = $dir . '/' . $name;
37 if (file_exists($file)) {
38 trigger_error("File already exists; skipped $name");
41 $file = new FSTools_File($file);
44 foreach ($hash as $key => $value) {
45 $multiline = $multiline ||
(strpos($value, "\n") !== false);
47 $file->put("--$key--" . PHP_EOL
);
48 $file->put(str_replace("\n", PHP_EOL
, $value) . PHP_EOL
);
51 $file->put("$value" . PHP_EOL
);
53 $file->put("$key: $value" . PHP_EOL
);
60 $schema = HTMLPurifier_ConfigSchema
::instance();
61 $adapter = new HTMLPurifier_ConfigSchema_StringHashReverseAdapter($schema);
63 foreach ($schema->info
as $ns => $ns_array) {
64 saveHash($adapter->get($ns));
65 foreach ($ns_array as $dir => $x) {
66 saveHash($adapter->get($ns, $dir));