Ejemplo n.º 1
0
 /**
  * Returns validator list
  *
  * @param ConfigFile $cf Config file instance
  *
  * @return array
  */
 public static function getValidators(ConfigFile $cf)
 {
     static $validators = null;
     if ($validators !== null) {
         return $validators;
     }
     $validators = $cf->getDbEntry('_validators', array());
     if (defined('PMA_SETUP')) {
         return $validators;
     }
     // not in setup script: load additional validators for user
     // preferences we need original config values not overwritten
     // by user preferences, creating a new PMA\libraries\Config instance is a
     // better idea than hacking into its code
     $uvs = $cf->getDbEntry('_userValidators', array());
     foreach ($uvs as $field => $uv_list) {
         $uv_list = (array) $uv_list;
         foreach ($uv_list as &$uv) {
             if (!is_array($uv)) {
                 continue;
             }
             for ($i = 1, $nb = count($uv); $i < $nb; $i++) {
                 if (mb_substr($uv[$i], 0, 6) == 'value:') {
                     $uv[$i] = PMA_arrayRead(mb_substr($uv[$i], 6), $GLOBALS['PMA_Config']->base_settings);
                 }
             }
         }
         $validators[$field] = isset($validators[$field]) ? array_merge((array) $validators[$field], $uv_list) : $uv_list;
     }
     return $validators;
 }
Ejemplo n.º 2
0
 /**
  * Test for ConfigFile::getDbEntry
  *
  * @return void
  * @test
  */
 public function testGetDbEntry()
 {
     $cfg_db = array();
     include './libraries/config.values.php';
     // verify that $cfg_db read from config.values.php is valid
     $this->assertGreaterThanOrEqual(20, count($cfg_db));
     $this->assertEquals($cfg_db['Servers'][1]['port'], $this->object->getDbEntry('Servers/1/port'));
     $this->assertNull($this->object->getDbEntry('no such key'));
     $this->assertEquals(array(1), $this->object->getDbEntry('no such key', array(1)));
 }