Skip to content

Commit

Permalink
Fix duplicate values when merging POST data.
Browse files Browse the repository at this point in the history
Fixes #2648
  • Loading branch information
markstory committed Mar 7, 2012
1 parent 4c6cab0 commit 17eb0e4
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 7 deletions.
14 changes: 7 additions & 7 deletions lib/Cake/Network/CakeRequest.php
Expand Up @@ -174,15 +174,15 @@ protected function _processPost() {
}
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);
}
}
}

Expand Down
7 changes: 7 additions & 0 deletions lib/Cake/Test/Case/Network/CakeRequestTest.php
Expand Up @@ -204,6 +204,13 @@ public function testPostParsing() {
));
$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);
}

/**
Expand Down

0 comments on commit 17eb0e4

Please sign in to comment.