📄 setup.php
字号:
$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;docSQLDir'); $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 (!empty($dirs['docSQLDir']) && !is_dir($dirs['docSQLDir'])) { message('error', 'docSQL directory ' . htmlspecialchars($dirs['docSQLDir']) . ' 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 choone none type.'); $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', 'Could not load neither recode nor iconv 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 maximal 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_left_real': if (isset($_POST['submit_save'])) { $vals = grab_values('LeftFrameLight:bool;LeftFrameDBTree:bool;LeftFrameDBSeparator;LeftFrameTableSeparator;LeftFrameTableLevel:int;LeftDisplayLogo:bool;LeftDisplayServers: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_left': 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('error', 'Invalid value for textarea rows!'); $err = TRUE; } if (isset($vals['CharTextareaCols']) && $vals['CharTextareaCols'] < 1) { message('error', 'Invalid value for CHAR textarea columns!'); $err = TRUE; } if (isset($vals['CharTextareaRows']) && $vals['CharTextareaRows'] < 1) { message('error', 'Invalid value for CHAR textarea rows!'); $err = TRUE; } if (isset($vals['InsertRows']) && $vals['InsertRows'] < 1) { message('error', 'Invalid value for inserted rows count!'); $err = TRUE; } if ($err) { show_edit_form($vals); } else { $configuration = array_merge($configuration, $vals); message('notice', 'Configuration changed'); $show_info = TRUE; } } else { $show_info = TRUE; } break; case 'lay_edit': show_edit_form($configuration); break; case 'lay_window_real': if (isset($_POST['submit_save'])) { $vals = grab_values('EditInWindow:bool;QueryWindowHeight:int;QueryWindowWidth:int;QueryWindowDefTab'); $err = FALSE; if (isset($vals['QueryWindowWidth']) && $vals['QueryWindowWidth'] < 1) { message('error', 'Invalid value for query window width!'); $err = TRUE; } if (isset($vals['QueryWindowHeight']) && $vals['QueryWindowHeight'] < 1) { message('error', 'Invalid value for query window height'); $err = TRUE; } if ($err) { show_window_form($vals); } else { $configuration = array_merge($configuration, $vals); message('notice', 'Configuration changed'); $show_info = TRUE; } } else { $show_info = TRUE; } break; case 'lay_window': show_window_form($configuration); break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -