From 05006f687aa09515fba058120e0d236552062de1 Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Sun, 8 Mar 2015 21:08:27 +0100 Subject: [PATCH] Move more POST handling into ManagedAction --- lib/formaction.php | 20 -------------------- lib/managedaction.php | 13 ++++++++++++- 2 files changed, 12 insertions(+), 21 deletions(-) diff --git a/lib/formaction.php b/lib/formaction.php index 7c68583268..0cc455e968 100644 --- a/lib/formaction.php +++ b/lib/formaction.php @@ -116,24 +116,4 @@ class FormAction extends ManagedAction $form = new $class($this, $this->formOpts); 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(); - } } diff --git a/lib/managedaction.php b/lib/managedaction.php index 22752aff61..4caf977210 100644 --- a/lib/managedaction.php +++ b/lib/managedaction.php @@ -75,6 +75,17 @@ class ManagedAction extends Action // This will only be run if the Action has the property canPost==true 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(); return $this->doPost(); } @@ -85,6 +96,6 @@ class ManagedAction extends Action * exception on failure, with a descriptive message. */ protected function doPost() { - throw new Exception('Unhandled POST'); + return false; } }