PATH:
home
/
letacommog
/
letaweb
/
admin
/
classes
/
htmlpurifier
/
maintenance
#!/usr/bin/php <?php chdir(dirname(__FILE__)); require_once 'common.php'; assertCli(); /* * @file * Parses *.ent files into an entity lookup table, and then serializes and * writes the whole kaboodle to a file. The resulting file is cached so * that this script does not need to be run. This script should rarely, * if ever, be run, since HTML's entities are fairly immutable. */ // here's where the entity files are located, assuming working directory // is the same as the location of this PHP file. Needs trailing slash. $entity_dir = '../docs/entities/'; // defines the output file for the serialized content. $output_file = '../library/HTMLPurifier/EntityLookup/entities.ser'; // courtesy of a PHP manual comment function unichr($dec) { if ($dec < 128) { $utf = chr($dec); } elseif ($dec < 2048) { $utf = chr(192 + (($dec - ($dec % 64)) / 64)); $utf .= chr(128 + ($dec % 64)); } else { $utf = chr(224 + (($dec - ($dec % 4096)) / 4096)); $utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64)); $utf .= chr(128 + ($dec % 64)); } return $utf; } if (!is_dir($entity_dir)) { exit("Fatal Error: Can't find entity directory.\n"); } if (file_exists($output_file)) { exit("Fatal Error: output file already exists.\n"); } $dh = @opendir($entity_dir); if (!$dh) { exit("Fatal Error: Cannot read entity directory.\n"); } $entity_files = array(); while (($file = readdir($dh)) !== false) { if (@$file[0] === '.') { continue; } if (substr(strrchr($file, '.'), 1) !== 'ent') { continue; } $entity_files[] = $file; } closedir($dh); if (!$entity_files) { exit("Fatal Error: No entity files to parse.\n"); } $entity_table = array(); $regexp = '/<!ENTITY\s+([A-Za-z0-9]+)\s+"&#(?:38;#)?([0-9]+);">/'; foreach ($entity_files as $file) { $contents = file_get_contents($entity_dir.$file); $matches = array(); preg_match_all($regexp, $contents, $matches, PREG_SET_ORDER); foreach ($matches as $match) { $entity_table[$match[1]] = unichr($match[2]); } } $output = serialize($entity_table); $fh = fopen($output_file, 'w'); fwrite($fh, $output); fclose($fh); echo 'Completed successfully.'; // vim: et sw=4 sts=4
[+]
..
[-] PH5P.patch
[edit]
[-] generate-entity-file.php
[edit]
[-] common.php
[edit]
[-] add-vimline.php
[edit]
[-] config-scanner.php
[edit]
[-] .htaccess
[edit]
[-] generate-includes.php
[edit]
[-] compile-doxygen.sh
[edit]
[-] generate-standalone.php
[edit]
[-] generate-ph5p-patch.php
[edit]
[-] flush-definition-cache.php
[edit]
[-] remove-trailing-whitespace.php
[edit]
[-] update-config.php
[edit]
[-] flush.php
[edit]
[-] update-freshmeat.php
[edit]
[-] regenerate-docs.sh
[edit]
[-] old-remove-schema-def.php
[edit]
[-] generate-schema-cache.php
[edit]
[-] rename-config.php
[edit]
[-] old-extract-schema.php
[edit]
[-] merge-library.php
[edit]
[-] old-remove-require-once.php
[edit]
[-] PH5P.php
[edit]