/** * Returns configuration array (full, multidimensional format) * * @return array */ public function getConfig() { $c = $_SESSION[$this->id]; foreach ($this->cfgUpdateReadMapping as $map_to => $map_from) { PMA_array_write($map_to, $c, PMA_array_read($map_from, $c)); PMA_array_remove($map_from, $c); } return $c; }
function testPMA_array_remove() { $arr = array("int" => 1, "str" => "str_val", "arr" => array('val1', 'val2', 'val3'), "sarr" => array('arr1' => array(1, 2, 3), array(3, array('a', 'b', 'c'), 4))); PMA_array_remove('int', $arr); $this->assertArrayNotHasKey('int', $arr); PMA_array_remove('str', $arr); $this->assertArrayNotHasKey('str', $arr); PMA_array_remove('arr/0', $arr); $this->assertArrayNotHasKey(0, $arr['arr']); PMA_array_remove('arr/1', $arr); $this->assertArrayNotHasKey(1, $arr['arr']); PMA_array_remove('arr/2', $arr); $this->assertArrayNotHasKey('arr', $arr); $tmp_arr = $arr; PMA_array_remove('sarr/not_existing/1', $arr); $this->assertEquals($tmp_arr, $arr); PMA_array_remove('sarr/arr1/0', $arr); $this->assertArrayNotHasKey(0, $arr['sarr']['arr1']); PMA_array_remove('sarr/arr1/1', $arr); $this->assertArrayNotHasKey(1, $arr['sarr']['arr1']); PMA_array_remove('sarr/arr1/2', $arr); $this->assertArrayNotHasKey('arr1', $arr['sarr']); PMA_array_remove('sarr/0/0', $arr); $this->assertArrayNotHasKey(0, $arr['sarr'][0]); PMA_array_remove('sarr/0/1/0', $arr); $this->assertArrayNotHasKey(0, $arr['sarr'][0][1]); PMA_array_remove('sarr/0/1/1', $arr); $this->assertArrayNotHasKey(1, $arr['sarr'][0][1]); PMA_array_remove('sarr/0/1/2', $arr); $this->assertArrayNotHasKey(1, $arr['sarr'][0]); PMA_array_remove('sarr/0/2', $arr); $this->assertEmpty($arr); }