63         $contents = file_get_contents(HTMLPURIFIER_PREFIX . 
'/HTMLPurifier/ConfigSchema/schema.ser');
 
   64         $r = unserialize($contents);
 
   66             $hash = sha1($contents);
 
   67             trigger_error(
"Unserialization of configuration schema failed, sha1 of file was $hash", E_USER_ERROR);
 
   75     public static function instance($prototype = null) {
 
   76         if ($prototype !== null) {
 
   96     public function add($key, $default, $type, $allow_null) {
 
   97         $obj = 
new stdclass();
 
   99         if ($allow_null) $obj->allow_null = 
true;
 
  100         $this->info[$key] = $obj;
 
  101         $this->defaults[$key] = $default;
 
  102         $this->defaultPlist->set($key, $default);
 
  115         if (!isset($this->info[$key]->aliases)) {
 
  116             $this->info[$key]->aliases = array();
 
  118         foreach ($aliases as $alias => $real) {
 
  119             $this->info[$key]->aliases[$alias] = $real;
 
  132         $this->info[$key]->allowed = $allowed;
 
  144         $obj->key = $new_key;
 
  145         $obj->isAlias = 
true;
 
  146         $this->info[$key] = $obj;
 
  153         foreach ($this->info as $key => $v) {
 
  154             if (count((array) $v) == 1) {
 
  155                 $this->info[$key] = $v->type;
 
  156             } elseif (count((array) $v) == 2 && isset($v->allow_null)) {
 
  157                 $this->info[$key] = -$v->type;