⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 config.php

📁 很棒的在线教学系统
💻 PHP
📖 第 1 页 / 共 2 页
字号:
                $this->serials[$namespace] = false;    }        /**     * Convenience function for error reporting     * @private     */    function _listify($lookup) {        $list = array();        foreach ($lookup as $name => $b) $list[] = $name;        return implode(', ', $list);    }        /**     * Retrieves reference to the HTML definition.     * @param $raw Return a copy that has not been setup yet. Must be     *             called before it's been setup, otherwise won't work.     */    function &getHTMLDefinition($raw = false) {        $def =& $this->getDefinition('HTML', $raw);        return $def; // prevent PHP 4.4.0 from complaining    }        /**     * Retrieves reference to the CSS definition     */    function &getCSSDefinition($raw = false) {        $def =& $this->getDefinition('CSS', $raw);        return $def;    }        /**     * Retrieves a definition     * @param $type Type of definition: HTML, CSS, etc     * @param $raw  Whether or not definition should be returned raw     */    function &getDefinition($type, $raw = false) {        if (!$this->finalized && $this->autoFinalize) $this->finalize();        $factory = HTMLPurifier_DefinitionCacheFactory::instance();        $cache = $factory->create($type, $this);        if (!$raw) {            // see if we can quickly supply a definition            if (!empty($this->definitions[$type])) {                if (!$this->definitions[$type]->setup) {                    $this->definitions[$type]->setup($this);                    $cache->set($this->definitions[$type], $this);                }                return $this->definitions[$type];            }            // memory check missed, try cache            $this->definitions[$type] = $cache->get($this);            if ($this->definitions[$type]) {                // definition in cache, return it                return $this->definitions[$type];            }        } elseif (            !empty($this->definitions[$type]) &&            !$this->definitions[$type]->setup        ) {            // raw requested, raw in memory, quick return            return $this->definitions[$type];        }        // quick checks failed, let's create the object        if ($type == 'HTML') {            $this->definitions[$type] = new HTMLPurifier_HTMLDefinition();        } elseif ($type == 'CSS') {            $this->definitions[$type] = new HTMLPurifier_CSSDefinition();        } elseif ($type == 'URI') {            $this->definitions[$type] = new HTMLPurifier_URIDefinition();        } else {            trigger_error("Definition of $type type not supported");            $false = false;            return $false;        }        // quick abort if raw        if ($raw) {            if (is_null($this->get($type, 'DefinitionID'))) {                // fatally error out if definition ID not set                trigger_error("Cannot retrieve raw version without specifying %$type.DefinitionID", E_USER_ERROR);                $false = new HTMLPurifier_Error();                return $false;            }            return $this->definitions[$type];        }        // set it up        $this->definitions[$type]->setup($this);        // save in cache        $cache->set($this->definitions[$type], $this);        return $this->definitions[$type];    }        /**     * Loads configuration values from an array with the following structure:     * Namespace.Directive => Value     * @param $config_array Configuration associative array     */    function loadArray($config_array) {        if ($this->isFinalized('Cannot load directives after finalization')) return;        foreach ($config_array as $key => $value) {            $key = str_replace('_', '.', $key);            if (strpos($key, '.') !== false) {                // condensed form                list($namespace, $directive) = explode('.', $key);                $this->set($namespace, $directive, $value);            } else {                $namespace = $key;                $namespace_values = $value;                foreach ($namespace_values as $directive => $value) {                    $this->set($namespace, $directive, $value);                }            }        }    }        /**     * Returns a list of array(namespace, directive) for all directives     * that are allowed in a web-form context as per an allowed     * namespaces/directives list.     * @param $allowed List of allowed namespaces/directives     * @static     */    function getAllowedDirectivesForForm($allowed) {        $schema = HTMLPurifier_ConfigSchema::instance();        if ($allowed !== true) {             if (is_string($allowed)) $allowed = array($allowed);             $allowed_ns = array();             $allowed_directives = array();             $blacklisted_directives = array();             foreach ($allowed as $ns_or_directive) {                 if (strpos($ns_or_directive, '.') !== false) {                     // directive                     if ($ns_or_directive[0] == '-') {                         $blacklisted_directives[substr($ns_or_directive, 1)] = true;                     } else {                         $allowed_directives[$ns_or_directive] = true;                     }                 } else {                     // namespace                     $allowed_ns[$ns_or_directive] = true;                 }             }        }        $ret = array();        foreach ($schema->info as $ns => $keypairs) {            foreach ($keypairs as $directive => $def) {                if ($allowed !== true) {                    if (isset($blacklisted_directives["$ns.$directive"])) continue;                    if (!isset($allowed_directives["$ns.$directive"]) && !isset($allowed_ns[$ns])) continue;                }                if ($def->class == 'alias') continue;                if ($directive == 'DefinitionID' || $directive == 'DefinitionRev') continue;                $ret[] = array($ns, $directive);            }        }        return $ret;    }        /**     * Loads configuration values from $_GET/$_POST that were posted     * via ConfigForm     * @param $array $_GET or $_POST array to import     * @param $index Index/name that the config variables are in     * @param $allowed List of allowed namespaces/directives      * @param $mq_fix Boolean whether or not to enable magic quotes fix     * @static     */    function loadArrayFromForm($array, $index, $allowed = true, $mq_fix = true) {        $ret = HTMLPurifier_Config::prepareArrayFromForm($array, $index, $allowed, $mq_fix);        $config = HTMLPurifier_Config::create($ret);        return $config;    }        /**     * Merges in configuration values from $_GET/$_POST to object. NOT STATIC.     * @note Same parameters as loadArrayFromForm     */    function mergeArrayFromForm($array, $index, $allowed = true, $mq_fix = true) {         $ret = HTMLPurifier_Config::prepareArrayFromForm($array, $index, $allowed, $mq_fix);         $this->loadArray($ret);    }        /**     * Prepares an array from a form into something usable for the more     * strict parts of HTMLPurifier_Config     * @static     */    function prepareArrayFromForm($array, $index, $allowed = true, $mq_fix = true) {        $array = (isset($array[$index]) && is_array($array[$index])) ? $array[$index] : array();        $mq = get_magic_quotes_gpc() && $mq_fix;                $allowed = HTMLPurifier_Config::getAllowedDirectivesForForm($allowed);        $ret = array();        foreach ($allowed as $key) {            list($ns, $directive) = $key;            $skey = "$ns.$directive";            if (!empty($array["Null_$skey"])) {                $ret[$ns][$directive] = null;                continue;            }            if (!isset($array[$skey])) continue;            $value = $mq ? stripslashes($array[$skey]) : $array[$skey];            $ret[$ns][$directive] = $value;        }        return $ret;    }        /**     * Loads configuration values from an ini file     * @param $filename Name of ini file     */    function loadIni($filename) {        if ($this->isFinalized('Cannot load directives after finalization')) return;        $array = parse_ini_file($filename, true);        $this->loadArray($array);    }        /**     * Checks whether or not the configuration object is finalized.     * @param $error String error message, or false for no error     */    function isFinalized($error = false) {        if ($this->finalized && $error) {            trigger_error($error, E_USER_ERROR);        }        return $this->finalized;    }        /**     * Finalizes configuration only if auto finalize is on and not     * already finalized     */    function autoFinalize() {        if (!$this->finalized && $this->autoFinalize) $this->finalize();    }        /**     * Finalizes a configuration object, prohibiting further change     */    function finalize() {        $this->finalized = true;    }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -