Ejemplo n.º 1
0
 /**
  * Creates config file
  *
  * @param ConfigFile $cf Config file instance
  *
  * @return string
  */
 public static function getConfigFile(ConfigFile $cf)
 {
     $crlf = isset($_SESSION['eol']) && $_SESSION['eol'] == 'win' ? "\r\n" : "\n";
     $conf = $cf->getConfig();
     // header
     $ret = '<?php' . $crlf . '/*' . $crlf . ' * Generated configuration file' . $crlf . ' * Generated by: phpMyAdmin ' . $GLOBALS['PMA_Config']->get('PMA_VERSION') . ' setup script' . $crlf . ' * Date: ' . gmdate(DATE_RFC1123) . $crlf . ' */' . $crlf . $crlf;
     //servers
     if (!empty($conf['Servers'])) {
         $ret .= self::getServerPart($cf, $crlf, $conf['Servers']);
         unset($conf['Servers']);
     }
     // other settings
     $persistKeys = $cf->getPersistKeysMap();
     foreach ($conf as $k => $v) {
         $k = preg_replace('/[^A-Za-z0-9_]/', '_', $k);
         $ret .= self::_getVarExport($k, $v, $crlf);
         if (isset($persistKeys[$k])) {
             unset($persistKeys[$k]);
         }
     }
     // keep 1d array keys which are present in $persist_keys (config.values.php)
     foreach (array_keys($persistKeys) as $k) {
         if (mb_strpos($k, '/') === false) {
             $k = preg_replace('/[^A-Za-z0-9_]/', '_', $k);
             $ret .= self::_getVarExport($k, $cf->getDefault($k), $crlf);
         }
     }
     $ret .= '?' . '>';
     return $ret;
 }
Ejemplo n.º 2
0
 /**
  * Test for ConfigFile::getServerCount
  *
  * @return void
  * @test
  */
 public function testGetServerCount()
 {
     $this->object->set('Servers/1/x', 1);
     $this->object->set('Servers/2/x', 2);
     $this->object->set('Servers/3/x', 3);
     $this->object->set('Servers/4/x', 4);
     $this->object->set('ServerDefault', 3);
     $this->assertEquals(4, $this->object->getServerCount());
     $this->object->removeServer(2);
     $this->object->removeServer(2);
     $this->assertEquals(2, $this->object->getServerCount());
     $this->assertLessThanOrEqual(2, $this->object->get('ServerDefault'));
     $this->assertEquals(array('Servers' => array(1 => array('x' => 1), 2 => array('x' => 4))), $this->object->getConfig());
     $this->assertEquals(array('Servers/1/x' => 1, 'Servers/2/x' => 4), $this->object->getConfigArray());
 }