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)
34 if ($hash === false) return;
35 $dir = realpath(dirname(__FILE__
) . '/../library/HTMLPurifier/ConfigSchema');
36 $name = $hash['ID'] . '.txt';
37 $file = $dir . '/' . $name;
38 if (file_exists($file)) {
39 trigger_error("File already exists; skipped $name");
42 $file = new FSTools_File($file);
45 foreach ($hash as $key => $value) {
46 $multiline = $multiline ||
(strpos($value, "\n") !== false);
48 $file->put("--$key--" . PHP_EOL
);
49 $file->put(str_replace("\n", PHP_EOL
, $value) . PHP_EOL
);
52 $file->put("$value" . PHP_EOL
);
54 $file->put("$key: $value" . PHP_EOL
);
61 $schema = HTMLPurifier_ConfigSchema
::instance();
62 $adapter = new HTMLPurifier_ConfigSchema_StringHashReverseAdapter($schema);
64 foreach ($schema->info
as $ns => $ns_array) {
65 saveHash($adapter->get($ns));
66 foreach ($ns_array as $dir => $x) {
67 saveHash($adapter->get($ns, $dir));