array('title' => $title, 'desc' => $description); * @param string Prefix for the SHOW VARIABLES query. * @param int The indentation level * * @global array The global phpMyAdmin configuration. * * @return string The table that was generated based on the given information. */ define('PMA_ENGINE_DETAILS_TYPE_PLAINTEXT', 0); define('PMA_ENGINE_DETAILS_TYPE_SIZE', 1); define('PMA_ENGINE_DETAILS_TYPE_NUMERIC', 2); //Has no effect yet... define('PMA_ENGINE_DETAILS_TYPE_BOOLEAN', 3); // 'ON' or 'OFF' function PMA_generateEngineDetails($variables, $like = NULL, $indent = 0) { global $cfg; $spaces = ''; for ($i = 0; $i < $indent; $i++) { $spaces .= ' '; } /** * Get the variables! */ if (!empty($variables)) { $sql_query = 'SHOW ' . (PMA_MYSQL_INT_VERSION >= 40102 ? 'GLOBAL ' : '') . 'VARIABLES' . (empty($like) ? '' : ' LIKE \'' . $like . '\'') . ';'; $res = PMA_DBI_query($sql_query); $mysql_vars = array(); while ($row = PMA_DBI_fetch_row($res)) { if (isset($variables[$row[0]])) $mysql_vars[$row[0]] = $row[1]; } PMA_DBI_free_result($res); unset($res, $row, $sql_query); } if (empty($mysql_vars)) return $spaces . '

' . "\n" . $spaces . ' ' . $GLOBALS['strNoDetailsForEngine'] . "\n" . $spaces . '

' . "\n"; $dt_table = $spaces . '' . "\n"; $useBgcolorOne = TRUE; $has_content = FALSE; foreach ($variables as $var => $details) { if (!isset($mysql_vars[$var])) continue; if (!isset($details['type'])) $details['type'] = PMA_ENGINE_DETAILS_TYPE_PLAINTEXT; $is_num = $details['type'] == PMA_ENGINE_DETAILS_TYPE_SIZE || $details['type'] == PMA_ENGINE_DETAILS_TYPE_NUMERIC; $bgcolor = $useBgcolorOne ? $cfg['BgcolorOne'] : $cfg['BgcolorTwo']; $dt_table .= $spaces . ' ' . "\n" . $spaces . ' ' . "\n" . $spaces . ' ' . "\n" . $spaces . ' ' . "\n" . $spaces . ' ' . "\n"; $useBgcolorOne = !$useBgcolorOne; $has_content = TRUE; } if (!$has_content) return ''; return $dt_table; } /** * Did the user request information about a certain storage engine? */ if (empty($engine) || empty($mysql_storage_engines[$engine])) { /** * Displays the sub-page heading */ echo '

' . "\n" . ($cfg['MainPageIconic'] ? '' : '' ) . ' ' . $strStorageEngines . "\n" . '

' . "\n"; /** * Displays the table header */ echo '
' . "\n"; if (!empty($variables[$var]['desc'])) { $dt_table .= $spaces . ' ' . PMA_showHint($details['desc']) . "\n"; } $dt_table .= $spaces . ' ' . "\n" . $spaces . '  ' . $details['title'] . ' ' . "\n" . $spaces . ' ' . "\n" . $spaces . '  '; switch ($details['type']) { case PMA_ENGINE_DETAILS_TYPE_SIZE: $parsed_size = PMA_formatByteDown($mysql_vars[$var]); $dt_table .= $parsed_size[0] . ' ' . $parsed_size[1]; unset($parsed_size); break; default: $dt_table .= htmlspecialchars($mysql_vars[$var]); } $dt_table .= ' ' . "\n" . $spaces . '
' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n"; if (PMA_MYSQL_INT_VERSION >= 40102) { echo ' ' . "\n"; } echo ' ' . "\n" . ' ' . "\n" . ' ' . "\n"; /** * Listing the storage engines */ $useBgcolorOne = TRUE; $common_url = './server_engines.php?' . PMA_generate_common_url() . '&engine='; foreach ($mysql_storage_engines as $engine => $details) { echo ' ' . "\n" . ' ' . "\n"; if (PMA_MYSQL_INT_VERSION >= 40102) { echo ' ' . "\n"; } echo ' ' . "\n"; $useBgcolorOne = !$useBgcolorOne; } unset($useBgcolorOne, $common_url, $engine, $details); echo ' ' . "\n" . '
' . "\n" . ' ' . $strStorageEngine . "\n" . ' ' . "\n" . ' ' . $strDescription . "\n" . '
' . "\n" . ' ' . "\n" . ' ' . htmlspecialchars($details['Engine']) . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . htmlspecialchars($details['Comment']) . "\n" . '
' . "\n"; } else { /** * Displays details about a given Storage Engine */ $engine_plugin = PMA_StorageEngine::getEngine($engine); echo '

' . "\n" . ($cfg['MainPageIconic'] ? '' : '' ) . ' ' . htmlspecialchars($engine_plugin->getTitle()) . "\n" . '

' . "\n\n"; if (PMA_MYSQL_INT_VERSION >= 40102) { echo '

' . "\n" . ' ' . "\n" . ' ' . htmlspecialchars($engine_plugin->getComment()) . "\n" . ' ' . "\n" . '

' . "\n\n"; } $infoPages = $engine_plugin->getInfoPages(); if (!empty($infoPages) && is_array($infoPages)) { $common_url = './server_engines.php?' . PMA_generate_common_url() . '&engine=' . urlencode($engine); echo '

' . "\n" . ' [' . "\n"; if (empty($page)) { echo ' ' . $strServerTabVariables . '' . "\n"; } else { echo ' ' . $strServerTabVariables . '' . "\n"; } foreach ($infoPages as $current => $label) { echo ' |' . "\n"; if (isset($page) && $page == $current) { echo ' ' . $label . '' . "\n"; } else { echo ' ' . $label . '' . "\n"; } } unset($current, $label); echo ' ]' . "\n" . '

' . "\n\n"; } unset($infoPages, $page_output); if (!empty($page)) { $page_output = $engine_plugin->getPage($page); } if (!empty($page_output)) { echo $page_output; } else { echo '

' . "\n" . ' ' . $engine_plugin->getSupportInformationMessage() . "\n" . '

' . "\n" . PMA_generateEngineDetails($engine_plugin->getVariables(), $engine_plugin->getVariablesLikePattern()); } } /** * Sends the footer */ require_once('./footer.inc.php'); ?>