?? setup.php
字號:
} else { $show_info = TRUE; } break; case 'addserver': if (count($configuration['Servers']) == 0) { // First server will use defaults as in config.default.php $defaults = $PMA_Config_Setup->default_server; unset($defaults['AllowDeny']); // Ignore this for now } else { $defaults = array(); } // Guess MySQL extension to use, prefer mysqli if (!function_exists('mysql_get_client_info')) { PMA_dl('mysql'); } if (!function_exists('mysqli_get_client_info')) { PMA_dl('mysqli'); } if (function_exists('mysqli_get_client_info')) { $defaults['extension'] = 'mysqli'; } elseif (function_exists('mysql_get_client_info')) { $defaults['extension'] = 'mysql'; } else { message('warning', 'Could not load either mysql or mysqli extension, you might not be able to use phpMyAdmin! Check your PHP configuration.'); } if (isset($defaults['extension'])) { message('notice', 'Autodetected MySQL extension to use: ' . $defaults['extension']); } // Display form show_server_form($defaults); break; case 'editserver': if (!isset($_POST['server'])) { footer(); } show_server_form($configuration['Servers'][$_POST['server']], $_POST['server']); break; case 'deleteserver': if (!isset($_POST['server'])) { footer(); } message('notice', 'Deleted server ' . get_server_name($configuration['Servers'][$_POST['server']], $_POST['server'])); unset($configuration['Servers'][$_POST['server']]); compress_servers($configuration); $show_info = TRUE; break; case 'servers': if (count($configuration['Servers']) == 0) { message('notice', 'No servers defined, so none can be shown'); } else { foreach ($configuration['Servers'] as $i => $srv) { $data = array(); if (!empty($srv['verbose'])) { $data[] = array('Verbose name', $srv['verbose']); } $data[] = array('Host', $srv['host']); $data[] = array('MySQL extension', isset($srv['extension']) ? $srv['extension'] : $PMA_Config_Setup->default_server['extension']); $data[] = array('Authentication type', get_server_auth($srv)); $data[] = array('phpMyAdmin advanced features', empty($srv['pmadb']) || empty($srv['controluser']) || empty($srv['controlpass']) ? 'disabled' : 'enabled, db: ' . $srv['pmadb'] . ', user: ' . $srv['controluser']); $buttons = get_action('deleteserver', 'Delete', '<input type="hidden" name="server" value="' . $i . '" />') . get_action('editserver', 'Edit', '<input type="hidden" name="server" value="' . $i . '" />'); show_overview('Server ' . get_server_name($srv, $i), $data, $buttons); } } break; case 'feat_upload_real': if (isset($_POST['submit_save'])) { $dirs = grab_values('UploadDir;SaveDir'); $err = FALSE; if (!empty($dirs['UploadDir']) && !is_dir($dirs['UploadDir'])) { message('error', 'Upload directory ' . htmlspecialchars($dirs['UploadDir']) . ' does not exist!'); $err = TRUE; } if (!empty($dirs['SaveDir']) && !is_dir($dirs['SaveDir'])) { message('error', 'Save directory ' . htmlspecialchars($dirs['SaveDir']) . ' does not exist!'); $err = TRUE; } if ($err) { show_upload_form($dirs); } else { $configuration = array_merge($configuration, $dirs); message('notice', 'Configuration changed'); $show_info = TRUE; } } else { $show_info = TRUE; } break; case 'feat_upload': show_upload_form($configuration); break; case 'feat_security_real': if (isset($_POST['submit_save'])) { $vals = grab_values('blowfish_secret;ForceSSL:bool;ShowPhpInfo:bool;ShowChgPassword:bool;AllowArbitraryServer:bool;LoginCookieRecall:book;LoginCookieValidity:int'); $err = FALSE; if (empty($vals['blowfish_secret'])) { message('warning', 'Blowfish secret is empty, you will not be able to use cookie authentication.'); } if ($vals['AllowArbitraryServer']) { message('warning', 'Arbitrary server connection might be dangerous as it might allow access to internal servers that are not reachable from outside.'); } if (isset($vals['LoginCookieValidity']) && $vals['LoginCookieValidity'] < 1) { message('error', 'Invalid cookie validity time'); $err = TRUE; } if ($err) { show_security_form($vals); } else { $configuration = array_merge($configuration, $vals); message('notice', 'Configuration changed'); $show_info = TRUE; } } else { $show_info = TRUE; } break; case 'feat_security': show_security_form($configuration); break; case 'feat_manual_real': if (isset($_POST['submit_save'])) { $vals = grab_values('MySQLManualBase;MySQLManualType'); $err = FALSE; if ($vals['MySQLManualType'] != 'none' && empty($vals['MySQLManualBase'])) { message('error', 'You need to set manual base URL or choose type \'none\'.'); $err = TRUE; } if ($err) { show_manual_form($vals); } else { $configuration = array_merge($configuration, $vals); message('notice', 'Configuration changed'); $show_info = TRUE; } } else { $show_info = TRUE; } break; case 'feat_manual': show_manual_form($configuration); break; case 'feat_charset_real': if (isset($_POST['submit_save'])) { $vals = grab_values('AllowAnywhereRecoding:bool;DefaultCharset;RecodingEngine;IconvExtraParams'); $err = FALSE; if ($err) { show_charset_form($vals); } else { $configuration = array_merge($configuration, $vals); message('notice', 'Configuration changed'); $show_info = TRUE; } } else { $show_info = TRUE; } break; case 'feat_charset': $d = $configuration; if (!isset($d['RecodingEngine'])) { if (@extension_loaded('iconv')) { $d['RecodingEngine'] = 'iconv'; } elseif (@extension_loaded('recode')) { $d['RecodingEngine'] = 'recode'; } else { PMA_dl('iconv'); if (!@extension_loaded('iconv')) { PMA_dl('recode'); if (!@extension_loaded('recode')) { message('warning', 'Neither recode nor iconv could be loaded so charset conversion will most likely not work.'); } else { $d['RecodingEngine'] = 'recode'; } } else { $d['RecodingEngine'] = 'iconv'; } } if (isset($d['RecodingEngine'])) { message('notice', 'Autodetected recoding engine: ' . $d['RecodingEngine']); } } show_charset_form($d); unset($d); break; case 'feat_extensions_real': if (isset($_POST['submit_save'])) { $vals = grab_values('GD2Available'); $err = FALSE; if ($err) { show_extensions_form($vals); } else { $configuration = array_merge($configuration, $vals); message('notice', 'Configuration changed'); $show_info = TRUE; } } else { $show_info = TRUE; } break; case 'feat_extensions': $d = $configuration; if (!@extension_loaded('mbstring')) { PMA_dl('mbstring'); } if (!@extension_loaded('mbstring')) { message('warning', 'Could not load <code>mbstring</code> extension, which is required for work with multibyte strings like UTF-8 ones. Please consider installing it.'); } if (!isset($d['GD2Available'])) { if (PMA_IS_GD2 == 1) { message('notice', 'GD 2 or newer found.'); $d['GD2Available'] = 'yes'; } else { message('warning', 'GD 2 or newer is not present.'); $d['GD2Available'] = 'no'; } } show_extensions_form($d); unset($d); break; case 'feat_relation_real': if (isset($_POST['submit_save'])) { $vals = grab_values('QueryHistoryDB:bool;QueryHistoryMax:int;BrowseMIME:bool;PDFDefaultPageSize'); $err = FALSE; if (isset($vals['QueryHistoryMax']) && $vals['QueryHistoryMax'] < 1) { message('error', 'Invalid value for query maximum history size!'); $err = TRUE; } if ($err) { show_relation_form($vals); } else { $configuration = array_merge($configuration, $vals); message('notice', 'Configuration changed'); $show_info = TRUE; } } else { $show_info = TRUE; } break; case 'feat_relation': show_relation_form($configuration); break; case 'lay_navigation_real': if (isset($_POST['submit_save'])) { $vals = grab_values('LeftFrameLight:bool;LeftFrameDBTree:bool;LeftFrameDBSeparator;LeftFrameTableSeparator;LeftFrameTableLevel:int;LeftDisplayLogo:bool;LeftDisplayServers:bool;DisplayServersList:bool;DisplayDatabasesList:bool;LeftPointerEnable:bool'); $err = FALSE; if (isset($vals['LeftFrameTableLevel']) && $vals['LeftFrameTableLevel'] < 1) { message('error', 'Invalid value for maximum table nesting level!'); $err = TRUE; } if ($err) { show_left_form($vals); } else { $configuration = array_merge($configuration, $vals); message('notice', 'Configuration changed'); $show_info = TRUE; } } else { $show_info = TRUE; } break; case 'lay_navigation': show_left_form($configuration); break; case 'lay_tabs_real': if (isset($_POST['submit_save'])) { $vals = grab_values('DefaultTabServer;DefaultTabDatabase;DefaultTabTable;LightTabs:bool'); $err = FALSE; if ($err) { show_tabs_form($vals); } else { $configuration = array_merge($configuration, $vals); message('notice', 'Configuration changed'); $show_info = TRUE; } } else { $show_info = TRUE; } break; case 'lay_tabs': show_tabs_form($configuration); break; case 'lay_icons_real': if (isset($_POST['submit_save'])) { $vals = grab_values('ErrorIconic:bool;MainPageIconic:bool;ReplaceHelpImg:bool;NavigationBarIconic:tristate;PropertiesIconic:tristate'); $err = FALSE; if ($err) { show_icons_form($vals); } else { $configuration = array_merge($configuration, $vals); message('notice', 'Configuration changed'); $show_info = TRUE; } } else { $show_info = TRUE; } break; case 'lay_icons': show_icons_form($configuration); break; case 'lay_browse_real': if (isset($_POST['submit_save'])) { $vals = grab_values('BrowsePointerEnable:bool;BrowseMarkerEnable:bool;ModifyDeleteAtRight:bool;ModifyDeleteAtLeft:bool;RepeatCells:int;DefaultDisplay'); $err = FALSE; if (isset($vals['RepeatCells']) && $vals['RepeatCells'] < 1) { message('error', 'Invalid value for header repeating!'); $err = TRUE; } if (!$vals['ModifyDeleteAtLeft'] && !$vals['ModifyDeleteAtRight']) { message('error', 'No action buttons enabled!'); $err = TRUE; } if ($err) { show_browse_form($vals); } else { $configuration = array_merge($configuration, $vals); message('notice', 'Configuration changed'); $show_info = TRUE; } } else { $show_info = TRUE; } break; case 'lay_browse': show_browse_form($configuration); break; case 'lay_edit_real': if (isset($_POST['submit_save'])) { $vals = grab_values('TextareaCols:int;TextareaRows:int;LongtextDoubleTextarea:bool;TextareaAutoSelect:bool;CharEditing;CharTextareaCols:int;CharTextareaRows:int;CtrlArrowsMoving:bool;DefaultPropDisplay;InsertRows:int'); $err = FALSE; if (isset($vals['TextareaCols']) && $vals['TextareaCols'] < 1) { message('error', 'Invalid value for textarea columns!'); $err = TRUE; } if (isset($vals['TextareaRows']) && $vals['TextareaRows'] < 1) { message('er
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -