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

📄 server_privileges.php

📁 phpMyAdmin图形界面化操作,我已经配置好了,只要把解要压缩后的文件放到站点下就可以用了
💻 PHP
📖 第 1 页 / 共 5 页
字号:
               . '            <label for="text_max_updates"><tt><dfn title="'                . $GLOBALS['strPrivDescMaxUpdates'] . '">MAX UPDATES PER HOUR</dfn></tt></label>' . "\n"               . '            <input type="text" name="max_updates" id="text_max_updates" value="'                . $row['max_updates'] . '" size="11" maxlength="11" title="' . $GLOBALS['strPrivDescMaxUpdates'] . '" />' . "\n"               . '        </div>' . "\n"               . '        <div class="item">' . "\n"               . '            <label for="text_max_connections"><tt><dfn title="'                . $GLOBALS['strPrivDescMaxConnections'] . '">MAX CONNECTIONS PER HOUR</dfn></tt></label>' . "\n"               . '            <input type="text" name="max_connections" id="text_max_connections" value="'                . $row['max_connections'] . '" size="11" maxlength="11" title="' . $GLOBALS['strPrivDescMaxConnections'] . '" />' . "\n"               . '        </div>' . "\n"               . '        <div class="item">' . "\n"               . '            <label for="text_max_user_connections"><tt><dfn title="'                . $GLOBALS['strPrivDescMaxUserConnections'] . '">MAX USER_CONNECTIONS</dfn></tt></label>' . "\n"               . '            <input type="text" name="max_user_connections" id="text_max_user_connections" value="'                . $row['max_user_connections'] . '" size="11" maxlength="11" title="' . $GLOBALS['strPrivDescMaxUserConnections'] . '" />' . "\n"               . '        </div>' . "\n"               . '    </fieldset>' . "\n";           }        // for Safari 2.0.2        echo '    <div class="clearfloat"></div>' . "\n";    }    echo '</fieldset>' . "\n";    if ($submit) {        echo '<fieldset id="fieldset_user_privtable_footer" class="tblFooters">' . "\n"           . '    <input type="submit" name="update_privs" value="' . $GLOBALS['strGo'] . '" />' . "\n"           . '</fieldset>' . "\n";    }} // end of the 'PMA_displayPrivTable()' function/** * Displays the fields used by the "new user" form as well as the * "change login information / copy user" form. * * @param   string     $mode    are we creating a new user or are we just *                              changing  one? (allowed values: 'new', 'change') * @global  array      $cfg     the phpMyAdmin configuration * @global  ressource  $user_link the database connection * * @return  void */function PMA_displayLoginInformationFields($mode = 'new'){    // Get user/host name lengths    $fields_info = PMA_DBI_get_fields('mysql', 'user');    $username_length = 16;    $hostname_length = 41;    foreach ($fields_info as $key => $val) {        if ($val['Field'] == 'User') {            strtok($val['Type'], '()');            $v = strtok('()');            if (is_int($v)) {                $username_length = $v;            }        } elseif ($val['Field'] == 'Host') {            strtok($val['Type'], '()');            $v = strtok('()');            if (is_int($v)) {                $hostname_length = $v;            }        }    }    unset($fields_info);    if (isset($GLOBALS['username']) && strlen($GLOBALS['username']) === 0) {        $GLOBALS['pred_username'] = 'any';    }    echo '<fieldset id="fieldset_add_user_login">' . "\n"       . '<legend>' . $GLOBALS['strLoginInformation'] . '</legend>' . "\n"       . '<div class="item">' . "\n"       . '<label for="select_pred_username">' . "\n"       . '    ' . $GLOBALS['strUserName'] . ':' . "\n"       . '</label>' . "\n"       . '<span class="options">' . "\n"       . '    <select name="pred_username" id="select_pred_username" title="' . $GLOBALS['strUserName'] . '"' . "\n"       . '        onchange="if (this.value == \'any\') { username.value = \'\'; } else if (this.value == \'userdefined\') { username.focus(); username.select(); }">' . "\n"       . '        <option value="any"' . ((isset($GLOBALS['pred_username']) && $GLOBALS['pred_username'] == 'any') ? ' selected="selected"' : '') . '>' . $GLOBALS['strAnyUser'] . '</option>' . "\n"       . '        <option value="userdefined"' . ((!isset($GLOBALS['pred_username']) || $GLOBALS['pred_username'] == 'userdefined') ? ' selected="selected"' : '') . '>' . $GLOBALS['strUseTextField'] . ':</option>' . "\n"       . '    </select>' . "\n"       . '</span>' . "\n"       . '<input type="text" name="username" maxlength="'        . $username_length . '" title="' . $GLOBALS['strUserName'] . '"'        . (empty($GLOBALS['username'])            ? ''            : ' value="' . (isset($GLOBALS['new_username'])                ? $GLOBALS['new_username']                : $GLOBALS['username']) . '"')        . ' onchange="pred_username.value = \'userdefined\';" />' . "\n"       . '</div>' . "\n"       . '<div class="item">' . "\n"       . '<label for="select_pred_hostname">' . "\n"       . '    ' . $GLOBALS['strHost'] . ':' . "\n"       . '</label>' . "\n"       . '<span class="options">' . "\n"       . '    <select name="pred_hostname" id="select_pred_hostname" title="' . $GLOBALS['strHost'] . '"' . "\n";    $_current_user = PMA_DBI_fetch_value('SELECT USER();');    if (! empty($_current_user)) {        $thishost = str_replace("'", '', substr($_current_user, (strrpos($_current_user, '@') + 1)));        if ($thishost == 'localhost' || $thishost == '127.0.0.1') {            unset($thishost);        }    }    echo '    onchange="if (this.value == \'any\') { hostname.value = \'%\'; } else if (this.value == \'localhost\') { hostname.value = \'localhost\'; } '       . (empty($thishost) ? '' : 'else if (this.value == \'thishost\') { hostname.value = \'' . addslashes(htmlspecialchars($thishost)) . '\'; } ')       . 'else if (this.value == \'hosttable\') { hostname.value = \'\'; } else if (this.value == \'userdefined\') { hostname.focus(); hostname.select(); }">' . "\n";    unset($_current_user);    // when we start editing a user, $GLOBALS['pred_hostname'] is not defined    if (!isset($GLOBALS['pred_hostname']) && isset($GLOBALS['hostname'])) {        switch (strtolower($GLOBALS['hostname'])) {            case 'localhost':            case '127.0.0.1':                $GLOBALS['pred_hostname'] = 'localhost';                break;            case '%':                $GLOBALS['pred_hostname'] = 'any';                break;            default:                $GLOBALS['pred_hostname'] = 'userdefined';                break;        }    }    echo '        <option value="any"'        . ((isset($GLOBALS['pred_hostname']) && $GLOBALS['pred_hostname'] == 'any')            ? ' selected="selected"' : '') . '>' . $GLOBALS['strAnyHost']        . '</option>' . "\n"       . '        <option value="localhost"'        . ((isset($GLOBALS['pred_hostname']) && $GLOBALS['pred_hostname'] == 'localhost')            ? ' selected="selected"' : '') . '>' . $GLOBALS['strLocalhost']        . '</option>' . "\n";    if (!empty($thishost)) {        echo '        <option value="thishost"'            . ((isset($GLOBALS['pred_hostname']) && $GLOBALS['pred_hostname'] == 'thishost')                ? ' selected="selected"' : '') . '>' . $GLOBALS['strThisHost']            . '</option>' . "\n";    }    unset($thishost);    echo '        <option value="hosttable"'        . ((isset($GLOBALS['pred_hostname']) && $GLOBALS['pred_hostname'] == 'hosttable')            ? ' selected="selected"' : '') . '>' . $GLOBALS['strUseHostTable']        . '</option>' . "\n"       . '        <option value="userdefined"'        . ((isset($GLOBALS['pred_hostname']) && $GLOBALS['pred_hostname'] == 'userdefined')            ? ' selected="selected"' : '')        . '>' . $GLOBALS['strUseTextField'] . ':</option>' . "\n"       . '    </select>' . "\n"       . '</span>' . "\n"       . '<input type="text" name="hostname" maxlength="'        . $hostname_length . '" value="'        . (isset($GLOBALS['hostname']) ? $GLOBALS['hostname'] : '')        . '" title="' . $GLOBALS['strHost']        . '" onchange="pred_hostname.value = \'userdefined\';" />' . "\n"       . '</div>' . "\n"       . '<div class="item">' . "\n"       . '<label for="select_pred_password">' . "\n"       . '    ' . $GLOBALS['strPassword'] . ':' . "\n"       . '</label>' . "\n"       . '<span class="options">' . "\n"       . '    <select name="pred_password" id="select_pred_password" title="'        . $GLOBALS['strPassword'] . '"' . "\n"       . '            onchange="if (this.value == \'none\') { pma_pw.value = \'\'; pma_pw2.value = \'\'; } else if (this.value == \'userdefined\') { pma_pw.focus(); pma_pw.select(); }">' . "\n"       . ($mode == 'change' ? '            <option value="keep" selected="selected">' . $GLOBALS['strKeepPass'] . '</option>' . "\n" : '')       . '        <option value="none"';    if (isset($GLOBALS['username']) && $mode != 'change') {        echo '  selected="selected"';    }    echo '>' . $GLOBALS['strNoPassword'] . '</option>' . "\n"       . '        <option value="userdefined"' . (isset($GLOBALS['username']) ? '' : ' selected="selected"') . '>' . $GLOBALS['strUseTextField'] . ':</option>' . "\n"       . '    </select>' . "\n"       . '</span>' . "\n"       . '<input type="password" id="text_pma_pw" name="pma_pw" title="' . $GLOBALS['strPassword'] . '" onchange="pred_password.value = \'userdefined\';" />' . "\n"       . '</div>' . "\n"       . '<div class="item">' . "\n"       . '<label for="text_pma_pw2">' . "\n"       . '    ' . $GLOBALS['strReType'] . ':' . "\n"       . '</label>' . "\n"       . '<span class="options">&nbsp;</span>' . "\n"       . '<input type="password" name="pma_pw2" id="text_pma_pw2" title="' . $GLOBALS['strReType'] . '" onchange="pred_password.value = \'userdefined\';" />' . "\n"       . '</div>' . "\n"       . '<div class="item">' . "\n"       . '<label for="button_generate_password">' . "\n"       . '    ' . $GLOBALS['strGeneratePassword'] . ':' . "\n"       . '</label>' . "\n"       . '<span class="options">' . "\n"       . '    <input type="button" id="button_generate_password" value="' . $GLOBALS['strGenerate'] . '" onclick="suggestPassword()" />' . "\n"       . '    <input type="button" id="button_copy_password" value="' . $GLOBALS['strCopy'] . '" onclick="suggestPasswordCopy(this.form)" />' . "\n"       . '</span>' . "\n"       . '<input type="text" name="generated_pw" id="generated_pw" />' . "\n"       . '</div>' . "\n"       . '</fieldset>' . "\n";} // end of the 'PMA_displayUserAndHostFields()' function/** * Changes / copies a user, part I */if (isset($_REQUEST['change_copy'])) {    $user_host_condition =        ' WHERE `User`'        .' = \'' . PMA_sqlAddslashes($old_username) . "'"        .' AND `Host`'        .' = \'' . $old_hostname . '\';';    $row = PMA_DBI_fetch_single_row('SELECT * FROM `mysql`.`user` ' . $user_host_condition);    if (! $row) {        PMA_Message::notice('strNoUsersFound')->display();        unset($_REQUEST['change_copy']);    } else {        extract($row, EXTR_OVERWRITE);        // Recent MySQL versions have the field "Password" in mysql.user,        // so the previous extract creates $Password but this script        // uses $password        if (!isset($password) && isset($Password)) {            $password = $Password;        }        $queries = array();    }}/** * Adds a user *   (Changes / copies a user, part II) */if (isset($_REQUEST['adduser_submit']) || isset($_REQUEST['change_copy'])) {    $sql_query = '';    if ($pred_username == 'any') {        $username = '';    }    switch ($pred_hostname) {        case 'any':            $hostname = '%';            break;        case 'localhost':            $hostname = 'localhost';            break;        case 'hosttable':            $hostname = '';            break;        case 'thishost':            $_user_name = PMA_DBI_fetch_value('SELECT USER()');            $hostname = substr($_user_name, (strrpos($_user_name, '@') + 1));            unset($_user_name);            break;    }    $sql = "SELECT '1' FROM `mysql`.`user`"        . " WHERE `User` = '" . PMA_sqlAddslashes($username) . "'"        . " AND `Host` = '" . PMA_sqlAddslashes($hostname) . "';";    if (PMA_DBI_fetch_value($sql) == 1) {        $message = PMA_Message::error('strUserAlreadyExists');        $message->addParam('[i]\'' . $username . '\'@\'' . $hostname . '\'[/i]');        $_REQUEST['adduser'] = true;    } else {        $create_user_real = 'CREATE USER \'' . PMA_sqlAddslashes($username) . '\'@\'' . $hostname . '\'';        $real_sql_query =            'GRANT ' . join(', ', PMA_extractPrivInfo()) . ' ON *.* TO \''            . PMA_sqlAddslashes($username) . '\'@\'' . $hostname . '\'';        if ($pred_password != 'none' && $pred_password != 'keep') {            $sql_query = $real_sql_query . ' IDENTIFIED BY \'***\'';            $real_sql_query .= ' IDENTIFIED BY \'' . PMA_sqlAddslashes($pma_pw) . '\'';            if (isset($create_user_real)) {                $create_user_show = $create_user_real . ' IDENTIFIED BY \'***\'';                $create_user_real .= ' IDENTIFIED BY \'' . PMA_sqlAddslashes($pma_pw) . '\'';            }        } else {            if ($pred_password == 'keep' && !empty($password)) {                $real_sql_query .= ' IDENTIFIED BY PASSWORD \'' . $password . '\'';                if (isset($create_user_real)) {                    $create_user_real .= ' IDENTIFIED BY PASSWORD \'' . $password . '\'';                }            }            $sql_query = $real_sql_query;            if (isset($create_user_real)) {                $create_user_show = $create_user_real;            }        }        /**         * @todo similar code appears twice in this script         */        if ((isset($Grant_priv) && $Grant_priv == 'Y')         || (isset($max_questions) || isset($max_connections)          || isset($max_updates) || isset($max_user_connections))) {            $real_sql_query .= ' WITH';            $sql_query .= ' WITH';            if (isset($Grant_priv) && $Grant_priv == 'Y') {                $real_sql_query .= ' GRANT OPTION';                $sql_query .= ' GRANT OPTION';            }            if (isset($max_questions)) {                // avoid negative values                $max_questions = max(0, (int)$max_questions);                $real_sql_query .= ' MAX_QUERIES_PER_HOUR ' . $max_questions;                $sql_query .= ' MAX_QUERIES_PER_HOUR ' . $max_questions;            }            if (isset($max_connections)) {                $max_connections = max(0, (int)$max_connections);                $real_sql_query .= ' MAX_CONNECTIONS_PER_HOUR ' . $max_connections;

⌨️ 快捷键说明

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