71 $contents = file_get_contents(HTMLPURIFIER_PREFIX .
'/HTMLPurifier/ConfigSchema/schema.ser');
72 $r = unserialize($contents);
74 $hash = sha1($contents);
75 trigger_error(
"Unserialization of configuration schema failed, sha1 of file was $hash", E_USER_ERROR);
85 public static function instance($prototype = null)
87 if ($prototype !== null) {
106 public function add($key, $default, $type, $allow_null)
108 $obj =
new stdclass();
111 $obj->allow_null =
true;
113 $this->info[$key] = $obj;
114 $this->defaults[$key] = $default;
115 $this->defaultPlist->set($key, $default);
128 if (!isset($this->info[$key]->aliases)) {
129 $this->info[$key]->aliases = array();
131 foreach ($aliases as $alias => $real) {
132 $this->info[$key]->aliases[$alias] = $real;
145 $this->info[$key]->allowed = $allowed;
156 $obj->key = $new_key;
157 $obj->isAlias =
true;
158 $this->info[$key] = $obj;
166 foreach ($this->info as $key => $v) {
167 if (count((array) $v) == 1) {
168 $this->info[$key] = $v->type;
169 } elseif (count((array) $v) == 2 && isset($v->allow_null)) {
170 $this->info[$key] = -$v->type;