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

📄 index.class.php

📁 phpMyAdmin图形界面化操作,我已经配置好了,只要把解要压缩后的文件放到站点下就可以用了
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php/* vim: set expandtab sw=4 ts=4 sts=4: *//** * holds the datasbe index class * * @version $Id: Index.class.php 11647 2008-10-12 13:03:57Z lem9 $ *//** * @since phpMyAdmin 3.0.0 *  */class PMA_Index{    /**     * Class-wide storage container for indexes (caching, singleton)     *     * @var array     */    protected static $_registry = array();        /**     * @var string The name of the schema     */    protected $_schema = '';        /**     * @var string The name of the table     */    protected $_table = '';        /**     * @var string The name of the index     */    protected $_name = '';        /**     * Columns in index     *     * @var array     */    protected $_columns = array();        /**     * The index method used (BTREE, FULLTEXT, HASH, RTREE).     *     * @var string     */    protected $_type = '';    /**     * The index choice (PRIMARY, UNIQUE, INDEX, FULLTEXT)     *     * @var string     */    protected $_choice = '';        /**     * Various remarks.     *     * @var string     */    protected $_remarks = '';        /**     * Any comment provided for the index with a COMMENT attribute when the      * index was created.     *     * @var string     */    protected $_comment = '';        /**     * @var integer 0 if the index cannot contain duplicates, 1 if it can.      */    protected $_non_unique = 0;        /**     * Indicates how the key is packed. NULL if it is not.     *     * @var string     */    protected $_packed = null;        /**     * Constructor     *     * @uses    $this->set()     * @param   array $params     */    public function __construct($params = array())    {        $this->set($params);    }        static public function singleton($schema, $table, $index_name = '')    {        PMA_Index::_loadIndexes($table, $schema);        if (! isset(PMA_Index::$_registry[$schema][$table][$index_name])) {            $index = new PMA_Index;            if (strlen($index_name)) {                $index->setName($index_name);                PMA_Index::$_registry[$schema][$table][$index->getName()] = $index;            }            return $index;        } else {            return PMA_Index::$_registry[$schema][$table][$index_name];        }    }        /**     * returns an array with all indexes from the given table     *     * @uses    PMA_Index::_loadIndexes()     * @uses    PMA_Index::$_registry     * @param   string $table     * @param   string $schema     * @return  array     */    static public function getFromTable($table, $schema)    {        PMA_Index::_loadIndexes($table, $schema);                if (isset(PMA_Index::$_registry[$schema][$table])) {            return PMA_Index::$_registry[$schema][$table];        } else {            return array();        }    }        /**     * return primary if set, false otherwise     *     * @uses    PMA_Index::_loadIndexes()     * @uses    PMA_Index::$_registry     * @param   string $table     * @param   string $schema     * @return  mixed primary index or false if no one exists     */    static public function getPrimary($table, $schema)    {        PMA_Index::_loadIndexes($table, $schema);                if (isset(PMA_Index::$_registry[$schema][$table]['PRIMARY'])) {            return PMA_Index::$_registry[$schema][$table]['PRIMARY'];        } else {            return false;        }    }        /**     * Load index data for table     *     * @uses    PMA_Index::$_registry     * @uses    PMA_DBI_fetch_result()     * @uses    PMA_backquote()     * @uses    PMA_Index     * @uses    PMA_Index->addColumn()     * @param   string $table     * @param   string $schema     * @return  boolean     */    static protected function _loadIndexes($table, $schema)    {        if (isset(PMA_Index::$_registry[$schema][$table])) {            return true;        }                $_raw_indexes = PMA_DBI_fetch_result('SHOW INDEX FROM ' . PMA_backquote($schema) . '.' . PMA_backquote($table));        foreach ($_raw_indexes as $_each_index) {            $_each_index['Schema'] = $schema;            if (! isset(PMA_Index::$_registry[$schema][$table][$_each_index['Key_name']])) {                $key = new PMA_Index($_each_index);                PMA_Index::$_registry[$schema][$table][$_each_index['Key_name']] = $key;            } else {                $key = PMA_Index::$_registry[$schema][$table][$_each_index['Key_name']];            }                        $key->addColumn($_each_index);        }                return true;    }        /**     * Add column to index     *     * @uses    $this->_columns     * @uses    PMA_Index_Column     * @param   array $params column params     */    public function addColumn($params)    {        if (strlen($params['Column_name'])) {            $this->_columns[$params['Column_name']] = new PMA_Index_Column($params);        }    }        public function addColumns($columns)    {        $_columns = array();                if (isset($columns['names'])) {            // coming from form            // $columns[names][]            // $columns[sub_parts][]            foreach ($columns['names'] as $key => $name) {                $_columns[] = array(                    'Column_name'   => $name,                    'Sub_part'      => $columns['sub_parts'][$key],                );            }        } else {            // coming from SHOW INDEXES            // $columns[][name]            // $columns[][sub_part]            // ...            $_columns = $columns;        }                foreach ($_columns as $column) {            $this->addColumn($column);        }    }        /**     * Returns true if $column indexed in this index     *     * @uses    $this->_columns     * @param   string $column     * @return  boolean     */    public function hasColumn($column)    {        return isset($this->_columns[$column]);    }        public function set($params)    {        if (isset($params['columns'])) {            $this->addColumns($params['columns']);        }        if (isset($params['Schema'])) {            $this->_schema = $params['Schema'];        }        if (isset($params['Table'])) {            $this->_table = $params['Table'];        }        if (isset($params['Key_name'])) {            $this->_name = $params['Key_name'];        }        if (isset($params['Index_type'])) {            $this->_type = $params['Index_type'];        }        if (isset($params['Comment'])) {            $this->_remarks = $params['Comment'];        }        if (isset($params['Index_comment'])) {            $this->_comment = $params['Index_comment'];        }        if (isset($params['Non_unique'])) {            $this->_non_unique = $params['Non_unique'];        }        if (isset($params['Packed'])) {            $this->_packed = $params['Packed'];        }        if ('PRIMARY' == $this->_name) {            $this->_choice = 'PRIMARY';        } elseif ('FULLTEXT' == $this->_type) {            $this->_choice = 'FULLTEXT';        } elseif ('0' == $this->_non_unique) {            $this->_choice = 'UNIQUE';        } else {            $this->_choice = 'INDEX';        }    }        public function getColumnCount()    {        return count($this->_columns);    }        public function getComment()    {        return $this->_comment;    }        public function getRemarks()    {        return $this->_remarks;    }        public function getComments()    {        $comments = $this->getRemarks();        if (strlen($comments)) {            $comments .= "\n";        }        $comments .= $this->getComment();

⌨️ 快捷键说明

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