Fix duplicate values when merging POST data.

Fixes 
This commit is contained in:
mark_story 2012-03-06 20:22:13 -05:00
parent 4c6cab029c
commit 17eb0e4f68
2 changed files with 14 additions and 7 deletions
lib/Cake
Network
Test/Case/Network

View file

@ -174,15 +174,15 @@ class CakeRequest implements ArrayAccess {
}
unset($this->data['_method']);
}
$data = $this->data;
if (isset($this->data['data'])) {
$data = $this->data['data'];
}
if (count($this->data) <= 1) {
$this->data = $data;
} else {
unset($this->data['data']);
$this->data = Set::merge($this->data, $data);
if (count($this->data) <= 1) {
$this->data = $data;
} else {
unset($this->data['data']);
$this->data = Set::merge($this->data, $data);
}
}
}

View file

@ -204,6 +204,13 @@ class CakeRequestTest extends CakeTestCase {
));
$request = new CakeRequest('some/path');
$this->assertEquals($_POST['data'], $request->data);
$_POST = array(
'a' => array(1, 2),
'b' => array(1, 2)
);
$request = new CakeRequest('some/path');
$this->assertEquals($_POST, $request->data);
}
/**