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

📄 config.class.php

📁 一个用PHP编写的
💻 PHP
📖 第 1 页 / 共 2 页
字号:
        if (is_dir('./config')) {            die('Remove "./config" directory before using phpMyAdmin!');        }    }    /**     * check config source     *     * @return  boolean wether source is valid or not     */    function checkConfigSource()    {        if (! $this->getSource()) {            // no configuration file set at all            return false;        }        if ( ! file_exists($this->getSource()) ) {            // do not trigger error here            // https://sf.net/tracker/?func=detail&aid=1370269&group_id=23067&atid=377408            /*            trigger_error(                'phpMyAdmin-ERROR: unkown configuration source: ' . $source,                E_USER_WARNING);            */            $this->source_mtime = 0;            return false;        }        if ( ! is_readable($this->getSource()) ) {            $this->source_mtime = 0;            die('Existing configuration file (' . $this->getSource() . ') is not readable.');        }        // Check for permissions (on platforms that support it):        $perms = @fileperms($this->getSource());        if (!($perms === false) && ($perms & 2)) {            // This check is normally done after loading configuration            $this->checkWebServerOs();            if ($this->get('PMA_IS_WINDOWS') == 0) {                $this->source_mtime = 0;                die('Wrong permissions on configuration file, should not be world writable!');            }        }        return true;    }    /**     * returns specific config setting     * @param   string  $setting     * @return  mixed   value     */    function get($setting)    {        if ( isset( $this->settings[$setting] ) ) {            return $this->settings[$setting];        }        return null;    }    /**     * sets configuration variable     *     * @uses    $this->settings     * @param   string  $setting    configuration option     * @param   string  $value      new value for configuration option     */    function set($setting, $value)    {        $this->settings[$setting] = $value;    }    /**     * returns source for current config     * @return  string  config source     */    function getSource()    {        return $this->source;    }    /**     * old PHP 4 style constructor     *     * @deprecated     */    function PMA_Config($source = null)    {        $this->__construct($source);    }    /**     * $cfg['PmaAbsoluteUri'] is a required directive else cookies won't be     * set properly and, depending on browsers, inserting or updating a     * record might fail     */    function checkPmaAbsoluteUri()    {        // Setup a default value to let the people and lazy syadmins work anyway,        // they'll get an error if the autodetect code doesn't work        $pma_absolute_uri = $this->get('PmaAbsoluteUri');        if ( strlen($pma_absolute_uri) < 1 ) {            $url = array();            // At first we try to parse REQUEST_URI, it might contain full URI            if (PMA_getenv('REQUEST_URI')) {                $url = parse_url(PMA_getenv('REQUEST_URI'));            }            // If we don't have scheme, we didn't have full URL so we need to            // dig deeper            if ( empty( $url['scheme'] ) ) {                // Scheme                if (PMA_getenv('HTTP_SCHEME')) {                    $url['scheme'] = PMA_getenv('HTTP_SCHEME');                } else {                    $url['scheme'] =                        PMA_getenv('HTTPS') && strtolower(PMA_getenv('HTTPS')) != 'off'                            ? 'https'                            : 'http';                }                // Host and port                if (PMA_getenv('HTTP_HOST')) {                    if (strpos(PMA_getenv('HTTP_HOST'), ':') !== false) {                        list( $url['host'], $url['port'] ) =                            explode(':', PMA_getenv('HTTP_HOST'));                    } else {                        $url['host'] = PMA_getenv('HTTP_HOST');                    }                } elseif (PMA_getenv('SERVER_NAME')) {                    $url['host'] = PMA_getenv('SERVER_NAME');                } else {                    $this->error_pma_uri = true;                    return false;                }                // If we didn't set port yet...                if (empty($url['port']) && PMA_getenv('SERVER_PORT')) {                    $url['port'] = PMA_getenv('SERVER_PORT');                }                // And finally the path could be already set from REQUEST_URI                if ( empty( $url['path'] ) ) {                    if (PMA_getenv('PATH_INFO')) {                        $path = parse_url(PMA_getenv('PATH_INFO'));                    } else {                        // PHP_SELF in CGI often points to cgi executable, so use it                        // as last choice                        $path = parse_url(PMA_getenv('PHP_SELF'));                    }                    $url['path'] = $path['path'];                }            }            // Make url from parts we have            $pma_absolute_uri = $url['scheme'] . '://';            // Was there user information?            if (!empty($url['user'])) {                $pma_absolute_uri .= $url['user'];                if (!empty($url['pass'])) {                    $pma_absolute_uri .= ':' . $url['pass'];                }                $pma_absolute_uri .= '@';            }            // Add hostname            $pma_absolute_uri .= $url['host'];            // Add port, if it not the default one            if ( ! empty( $url['port'] )              && ( ( $url['scheme'] == 'http' && $url['port'] != 80 )                || ( $url['scheme'] == 'https' && $url['port'] != 443 ) ) ) {                $pma_absolute_uri .= ':' . $url['port'];            }            // And finally path, without script name, the 'a' is there not to            // strip our directory, when path is only /pmadir/ without filename.            // Backslashes returned by Windows have to be changed.            // Only replace backslashes by forward slashes if on Windows,            // as the backslash could be valid on a non-Windows system.            if ($this->get('PMA_IS_WINDOWS') == 1) {                $path = str_replace("\\", "/", dirname($url['path'] . 'a'));            } else {                $path = dirname($url['path'] . 'a');            }            // To work correctly within transformations overview:            if (defined('PMA_PATH_TO_BASEDIR') && PMA_PATH_TO_BASEDIR == '../../') {                if ($this->get('PMA_IS_WINDOWS') == 1) {                    $path = str_replace("\\", "/", dirname(dirname($path)));                } else {                    $path = dirname(dirname($path));                }            }            // in vhost situations, there could be already an ending slash            if (substr($path, -1) != '/') {                $path .= '/';            }            $pma_absolute_uri .= $path;            // We used to display a warning if PmaAbsoluteUri wasn't set, but now            // the autodetect code works well enough that we don't display the            // warning at all. The user can still set PmaAbsoluteUri manually.            // See            // http://sf.net/tracker/?func=detail&aid=1257134&group_id=23067&atid=377411        } else {            // The URI is specified, however users do often specify this            // wrongly, so we try to fix this.            // Adds a trailing slash et the end of the phpMyAdmin uri if it            // does not exist.            if (substr($pma_absolute_uri, -1) != '/') {                $pma_absolute_uri .= '/';            }            // If URI doesn't start with http:// or https://, we will add            // this.            if ( substr($pma_absolute_uri, 0, 7) != 'http://'              && substr($pma_absolute_uri, 0, 8) != 'https://' ) {                $pma_absolute_uri =                    (PMA_getenv('HTTPS') && strtolower(PMA_getenv('HTTPS')) != 'off'                        ? 'https'                        : 'http')                    . ':' . (substr($pma_absolute_uri, 0, 2) == '//' ? '' : '//')                    . $pma_absolute_uri;            }        }        $this->set('PmaAbsoluteUri', $pma_absolute_uri);    }    /**     * check selected collation_connection     * @TODO check validity of $_REQUEST['collation_connection']     */    function checkCollationConnection()    {        // (could be improved by executing it after the MySQL connection only if        //  PMA_MYSQL_INT_VERSION >= 40100 )        if ( ! empty( $_REQUEST['collation_connection'] ) ) {            $this->set('collation_connection',                strip_tags($_REQUEST['collation_connection']) );        }    }    /**     * checks if upload is enabled     *     */    function checkUpload()    {        $this->set('enable_upload', true);        if ( strtolower(@ini_get('file_uploads')) == 'off'          || @ini_get('file_uploads') == 0 ) {            $this->set('enable_upload', false);        }    }    /**     * Maximum upload size as limited by PHP     * Used with permission from Moodle (http://moodle.org) by Martin Dougiamas     *     * this section generates $max_upload_size in bytes     */    function checkUploadSize()    {        if ( ! $filesize = ini_get('upload_max_filesize') ) {            $filesize = "5M";        }        if ( $postsize = ini_get('post_max_size') ) {            $this->set('max_upload_size',                min(get_real_size($filesize), get_real_size($postsize)) );        } else {            $this->set('max_upload_size', get_real_size($filesize));        }    }    /**     * check for https     */    function checkIsHttps()    {        $this->set('is_https', PMA_Config::isHttps());    }    /**     * @static     */    function isHttps()    {        $is_https = false;        $url = array();        // At first we try to parse REQUEST_URI, it might contain full URI        if (PMA_getenv('REQUEST_URI')) {            $url = parse_url(PMA_getenv('REQUEST_URI'));        }        // If we don't have scheme, we didn't have full URL so we need to        // dig deeper        if ( empty( $url['scheme'] ) ) {            // Scheme            if (PMA_getenv('HTTP_SCHEME')) {                $url['scheme'] = PMA_getenv('HTTP_SCHEME');            } else {                $url['scheme'] =                    PMA_getenv('HTTPS') && strtolower(PMA_getenv('HTTPS')) != 'off'                        ? 'https'                        : 'http';            }        }        if ( isset( $url['scheme'] )          && $url['scheme'] == 'https' ) {            $is_https = true;        } else {            $is_https = false;        }        return $is_https;    }    /**     * detect correct cookie path     */    function checkCookiePath()    {        $this->set('cookie_path', PMA_Config::getCookiePath());    }    /**     * @static     */    function getCookiePath()    {        static $cookie_path = null;        if ( null !== $cookie_path ) {            return $cookie_path;        }        $url = '';        if (PMA_getenv('REQUEST_URI')) {            $url = PMA_getenv('REQUEST_URI');        }        // If we don't have path        if (empty($url)) {            if (PMA_getenv('PATH_INFO')) {                $url = PMA_getenv('PATH_INFO');            } elseif (PMA_getenv('PHP_SELF')) {                // PHP_SELF in CGI often points to cgi executable, so use it                // as last choice                $url = PMA_getenv('PHP_SELF');            } elseif (PMA_getenv('SCRIPT_NAME')) {                $url = PMA_getenv('PHP_SELF');            }        }        $url = parse_url($url);                $cookie_path   = substr($url['path'], 0, strrpos($url['path'], '/'))  . '/';        return $cookie_path;    }    /**     * enables backward compatibility     */    function enableBc()    {        $GLOBALS['cfg']             =& $this->settings;        $GLOBALS['default_server']  =& $this->default_server;        $GLOBALS['collation_connection'] = $this->get('collation_connection');        $GLOBALS['is_upload']       = $this->get('enable_upload');        $GLOBALS['max_upload_size'] = $this->get('max_upload_size');        $GLOBALS['cookie_path']     = $this->get('cookie_path');        $GLOBALS['is_https']        = $this->get('is_https');        $defines = array(            'PMA_VERSION',            'PMA_THEME_VERSION',            'PMA_THEME_GENERATION',            'PMA_PHP_STR_VERSION',            'PMA_PHP_INT_VERSION',            'PMA_IS_WINDOWS',            'PMA_IS_IIS',            'PMA_IS_GD2',            'PMA_USR_OS',            'PMA_USR_BROWSER_VER',            'PMA_USR_BROWSER_AGENT',             );        foreach ( $defines as $define ) {            if ( ! defined($define) ) {                define($define, $this->get($define));            }        }    }    /**     * @todo finish     */    function save() {}}?>

⌨️ 快捷键说明

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