mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-19 02:56:15 +00:00
Fix re-numbering of values in exportVar()
Using array_merge resulted in values being re-indexed, change how arrays are combined to preserve keys. Fixes #2506
This commit is contained in:
parent
11ed1e6ea5
commit
29514b08fb
2 changed files with 29 additions and 4 deletions
|
@ -329,8 +329,21 @@ object(View) {
|
||||||
float => (float) 1.333
|
float => (float) 1.333
|
||||||
}
|
}
|
||||||
TEXT;
|
TEXT;
|
||||||
// $result = str_replace(array("\r\n", "\n"), "", $result);
|
$result = str_replace(array("\r\n", "\n"), "", $result);
|
||||||
// $expected = str_replace(array("\r\n", "\n"), "", $expected);
|
$expected = str_replace(array("\r\n", "\n"), "", $expected);
|
||||||
|
$this->assertEquals($expected, $result);
|
||||||
|
|
||||||
|
$data = array(
|
||||||
|
1 => 'Index one',
|
||||||
|
5 => 'Index five'
|
||||||
|
);
|
||||||
|
$result = Debugger::exportVar($data);
|
||||||
|
$expected = <<<TEXT
|
||||||
|
array(
|
||||||
|
(int) 1 => 'Index one',
|
||||||
|
(int) 5 => 'Index five'
|
||||||
|
)
|
||||||
|
TEXT;
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -496,13 +496,23 @@ class Debugger {
|
||||||
/**
|
/**
|
||||||
* Export an array type object. Filters out keys used in datasource configuration.
|
* Export an array type object. Filters out keys used in datasource configuration.
|
||||||
*
|
*
|
||||||
|
* The following keys are replaced with ***'s
|
||||||
|
*
|
||||||
|
* - password
|
||||||
|
* - login
|
||||||
|
* - host
|
||||||
|
* - database
|
||||||
|
* - port
|
||||||
|
* - prefix
|
||||||
|
* - schema
|
||||||
|
*
|
||||||
* @param array $var The array to export.
|
* @param array $var The array to export.
|
||||||
* @param integer $depth The current depth, used for recursion tracking.
|
* @param integer $depth The current depth, used for recursion tracking.
|
||||||
* @param integer $indent The current indentation level.
|
* @param integer $indent The current indentation level.
|
||||||
* @return string Exported array.
|
* @return string Exported array.
|
||||||
*/
|
*/
|
||||||
protected static function _array(array $var, $depth, $indent) {
|
protected static function _array(array $var, $depth, $indent) {
|
||||||
$var = array_merge($var, array_intersect_key(array(
|
$secrets = array(
|
||||||
'password' => '*****',
|
'password' => '*****',
|
||||||
'login' => '*****',
|
'login' => '*****',
|
||||||
'host' => '*****',
|
'host' => '*****',
|
||||||
|
@ -510,7 +520,9 @@ class Debugger {
|
||||||
'port' => '*****',
|
'port' => '*****',
|
||||||
'prefix' => '*****',
|
'prefix' => '*****',
|
||||||
'schema' => '*****'
|
'schema' => '*****'
|
||||||
), $var));
|
);
|
||||||
|
$replace = array_intersect_key($secrets, $var);
|
||||||
|
$var = $replace + $var;
|
||||||
|
|
||||||
$out = "array(";
|
$out = "array(";
|
||||||
$n = $break = $end = null;
|
$n = $break = $end = null;
|
||||||
|
|
Loading…
Add table
Reference in a new issue