From 4751499654ea2f2fdcd7370ba62e3ad15173c86d Mon Sep 17 00:00:00 2001 From: "cedric@yterium.com" <> Date: Sat, 25 Oct 2014 13:50:38 +0000 Subject: [PATCH] =?UTF-8?q?Fix=20http://core.spip.org/issues/2699=20et=20h?= =?UTF-8?q?ttp://core.spip.org/issues/3234=20:=20gerer=20une=20erreur=20mi?= =?UTF-8?q?nimale=20quand=20le=20fichier=20upload=C3=A9=20est=20plus=20gro?= =?UTF-8?q?s=20que=20post=5Fmax=5Fsize,=20auquel=20cas=20on=20n'a=20aucun?= =?UTF-8?q?=20$=5FPOST=20exploitable=20pour=20gerer=20cette=20erreur=20pro?= =?UTF-8?q?prement.=20On=20envoie=20sur=20un=20minipres.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- medias_fonctions.php | 22 ++++++++++++++++++++++ paquet.xml | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/medias_fonctions.php b/medias_fonctions.php index 796ee7ee..80659bc3 100644 --- a/medias_fonctions.php +++ b/medias_fonctions.php @@ -33,6 +33,28 @@ if (isset($GLOBALS['visiteur_session']['zip_to_clean']) } session_set('zip_to_clean'); } +// capturer un formulaire post plus grand que post_max_size +// on genere un minipres car on ne peut rien faire de mieux +if ($_SERVER['REQUEST_METHOD']=='POST' and strlen($_SERVER['CONTENT_TYPE'])>0 and + substr($_SERVER['CONTENT_TYPE'], 0, 19)=='multipart/form-data' and + $_SERVER['CONTENT_LENGTH']>medias_inigetoctets('post_max_size')){ + include_spip('inc/minipres'); + echo minipres(_T('medias:upload_limit',array('max' => ini_get('post_max_size')))); + exit; +} +function medias_inigetoctets($var){ + $last = ''; + $val = trim(@ini_get($var)); + if ($val!=''){ + $last = strtolower($val[strlen($val)-1]); + } + switch ($last) { // The 'G' modifier is available since PHP 5.1.0 + case 'g': $val *= 1024; + case 'm': $val *= 1024; + case 'k': $val *= 1024; + } + return $val; +} /** * Afficher la puce de statut pour les documents diff --git a/paquet.xml b/paquet.xml index 0a40b039..20969095 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,7 +1,7 @@ <paquet prefix="medias" categorie="multimedia" - version="2.9.13" + version="2.9.14" etat="stable" compatibilite="[3.0.0;3.1.*]" logo="prive/themes/spip/images/portfolio-32.png" -- GitLab