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