BUGFIX Type checking in CMS URL params (fixes #7187)

Nasty issue where nested requests to sub-controllers within LeftAndMain->EditForm() would fail because of
LeftAndMain->currentPageID() being taken from the URL, even though it was a field action name.
Example: POST /admin/pages/edit/EditForm/field/MyGridField/item/1/ItemEditForm/field/MyUploadField/upload
The current ID would be detected as "field" in this case.
Bug was previously fixed for AssetAdmin.
This commit is contained in:
Ingo Schommer 2012-06-22 17:47:45 +02:00
parent 3e7bf77a70
commit ba9c3c7b8e

View File

@ -1170,7 +1170,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
* @return int
*/
public function currentPageID() {
if($this->request->requestVar('ID')) {
if($this->request->requestVar('ID') && is_numeric($this->request->requestVar('ID'))) {
return $this->request->requestVar('ID');
} elseif (isset($this->urlParams['ID']) && is_numeric($this->urlParams['ID'])) {
return $this->urlParams['ID'];