46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| #!/usr/bin/php
 | |
| <?php
 | |
| 
 | |
| require_once dirname(__FILE__) . '/common.php';
 | |
| require_once dirname(__FILE__) . '/../library/HTMLPurifier.auto.php';
 | |
| assertCli();
 | |
| 
 | |
| /**
 | |
|  * @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));
 | |
| echo "done!\n";
 | |
| 
 | |
| // vim: et sw=4 sts=4
 | 
