/** * Test for ConfigGenerator::getConfigFile * * @return void * @group medium */ public function testGetConfigFile() { unset($_SESSION['eol']); $GLOBALS['PMA_Config'] = new Config(); $GLOBALS['server'] = 0; $cf = new ConfigFile(); $_SESSION['ConfigFile0'] = array('a', 'b', 'c'); $_SESSION['ConfigFile0']['Servers'] = array(array(1, 2, 3)); $cf->setPersistKeys(array("1/", 2)); $result = ConfigGenerator::getConfigFile($cf); $this->assertContains("<?php\n" . "/*\n" . " * Generated configuration file\n" . " * Generated by: phpMyAdmin " . $GLOBALS['PMA_Config']->get('PMA_VERSION') . " setup script\n", $result); $this->assertContains("/* Servers configuration */\n" . '$i = 0;' . "\n\n" . "/* Server: localhost [0] */\n" . '$i++;' . "\n" . '$cfg[\'Servers\'][$i][\'0\'] = 1;' . "\n" . '$cfg[\'Servers\'][$i][\'1\'] = 2;' . "\n" . '$cfg[\'Servers\'][$i][\'2\'] = 3;' . "\n\n" . "/* End of servers configuration */\n\n", $result); $this->assertContains('?>', $result); }
/** * Test for ConfigGenerator::getConfigFile * * @return void * @group medium */ public function testGetConfigFile() { $GLOBALS['cfg']['AvailableCharsets'] = array(); unset($_SESSION['eol']); $GLOBALS['PMA_Config'] = new Config(); $GLOBALS['server'] = 0; $cf = new ConfigFile(); $_SESSION['ConfigFile0'] = array('a', 'b', 'c'); $_SESSION['ConfigFile0']['Servers'] = array(array(1, 2, 3)); $cf->setPersistKeys(array("1/", 2)); /* TODO: This is sometimes one second off... */ $date = date(DATE_RFC1123); $result = ConfigGenerator::getConfigFile($cf); $this->assertContains("<?php\n" . "/*\n" . " * Generated configuration file\n" . " * Generated by: phpMyAdmin " . $GLOBALS['PMA_Config']->get('PMA_VERSION') . " setup script\n" . " * Date: " . $date . "\n" . " */\n\n", $result); $this->assertContains("/* Servers configuration */\n" . '$i = 0;' . "\n\n" . "/* Server: localhost [0] */\n" . '$i++;' . "\n" . '$cfg[\'Servers\'][$i][\'0\'] = 1;' . "\n" . '$cfg[\'Servers\'][$i][\'1\'] = 2;' . "\n" . '$cfg[\'Servers\'][$i][\'2\'] = 3;' . "\n\n" . "/* End of servers configuration */\n\n", $result); $this->assertContains('?>', $result); }
* Core libraries. */ require_once './libraries/config/FormDisplay.tpl.php'; require_once './setup/lib/index.lib.php'; $config_readable = false; $config_writable = false; $config_exists = false; PMA_checkConfigRw($config_readable, $config_writable, $config_exists); echo '<h2>', __('Configuration file'), '</h2>'; echo PMA_displayFormTop('config.php'); echo '<input type="hidden" name="eol" value="', htmlspecialchars(PMA_ifSetOr($_GET['eol'], 'unix')), '" />'; echo PMA_displayFieldsetTop('config.inc.php', '', null, array('class' => 'simple')); echo '<tr>'; echo '<td>'; echo '<textarea cols="50" rows="20" name="textconfig" ' . 'id="textconfig" spellcheck="false">'; echo htmlspecialchars(ConfigGenerator::getConfigFile($GLOBALS['ConfigFile'])); echo '</textarea>'; echo '</td>'; echo '</tr>'; echo '<tr>'; echo '<td class="lastrow" style="text-align: left">'; echo '<input type="submit" name="submit_download" value="', __('Download'), '" class="green" />'; echo '<input type="submit" name="submit_save" value="', __('Save'), '"'; if (!$config_writable) { echo ' disabled="disabled"'; } echo '/>'; echo '</td>'; echo '</tr>'; echo PMA_displayFieldsetBottomSimple(); echo PMA_displayFormBottom();
// drop post data header('HTTP/1.1 303 See Other'); header('Location: index.php' . PMA_URL_getCommon()); exit; } elseif (PMA_ifSetOr($_POST['submit_download'], '')) { // // Output generated config file // PMA_downloadHeader('config.inc.php', 'text/plain'); echo ConfigGenerator::getConfigFile($GLOBALS['ConfigFile']); exit; } elseif (PMA_ifSetOr($_POST['submit_save'], '')) { // // Save generated config file on the server // $result = @file_put_contents($config_file_path, ConfigGenerator::getConfigFile($GLOBALS['ConfigFile'])); if ($result === false) { $state = 'config_not_saved'; } else { $state = 'config_saved'; } header('HTTP/1.1 303 See Other'); header('Location: index.php' . PMA_URL_getCommon() . '&action_done=' . $state); exit; } elseif (PMA_ifSetOr($_POST['submit_load'], '')) { // // Load config file from the server // $GLOBALS['ConfigFile']->setConfigData(loadConfig($config_file_path)); header('HTTP/1.1 303 See Other'); header('Location: index.php' . PMA_URL_getCommon());