Move more POST handling into ManagedAction
This commit is contained in:
parent
1ea876296d
commit
05006f687a
@ -116,24 +116,4 @@ class FormAction extends ManagedAction
|
|||||||
$form = new $class($this, $this->formOpts);
|
$form = new $class($this, $this->formOpts);
|
||||||
return $form;
|
return $form;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets called from handle() if isPost() is true;
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
protected function handlePost()
|
|
||||||
{
|
|
||||||
// check for this before token since all POST and FILES data
|
|
||||||
// is losts when size is exceeded
|
|
||||||
if (empty($_POST) && $_SERVER['CONTENT_LENGTH']>0) {
|
|
||||||
// TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
|
|
||||||
// TRANS: %s is the number of bytes of the CONTENT_LENGTH.
|
|
||||||
$msg = _m('The server was unable to handle that much POST data (%s MiB) due to its current configuration.',
|
|
||||||
'The server was unable to handle that much POST data (%s MiB) due to its current configuration.',
|
|
||||||
round($_SERVER['CONTENT_LENGTH']/1024/1024,2));
|
|
||||||
throw new ClientException($msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
return parent::handlePost();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -75,6 +75,17 @@ class ManagedAction extends Action
|
|||||||
// This will only be run if the Action has the property canPost==true
|
// This will only be run if the Action has the property canPost==true
|
||||||
assert($this->canPost);
|
assert($this->canPost);
|
||||||
|
|
||||||
|
// check for this before token since all POST and FILES data
|
||||||
|
// is losts when size is exceeded
|
||||||
|
if (empty($_POST) && $_SERVER['CONTENT_LENGTH']>0) {
|
||||||
|
// TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
|
||||||
|
// TRANS: %s is the number of bytes of the CONTENT_LENGTH.
|
||||||
|
$msg = _m('The server was unable to handle that much POST data (%s MiB) due to its current configuration.',
|
||||||
|
'The server was unable to handle that much POST data (%s MiB) due to its current configuration.',
|
||||||
|
round($_SERVER['CONTENT_LENGTH']/1024/1024,2));
|
||||||
|
throw new ClientException($msg);
|
||||||
|
}
|
||||||
|
|
||||||
$this->checkSessionToken();
|
$this->checkSessionToken();
|
||||||
return $this->doPost();
|
return $this->doPost();
|
||||||
}
|
}
|
||||||
@ -85,6 +96,6 @@ class ManagedAction extends Action
|
|||||||
* exception on failure, with a descriptive message.
|
* exception on failure, with a descriptive message.
|
||||||
*/
|
*/
|
||||||
protected function doPost() {
|
protected function doPost() {
|
||||||
throw new Exception('Unhandled POST');
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user