diff --git a/ecrire/inc/getdocument.php b/ecrire/inc/getdocument.php index 643222a65c76096e35fe2ce468e8905c3f4fd0ca..968e7fdb914e8ff5683803d1c92d631dc01e7f63 100644 --- a/ecrire/inc/getdocument.php +++ b/ecrire/inc/getdocument.php @@ -141,6 +141,19 @@ function check_upload_error($error, $msg='') { ' >>"></div></form>'); } +// Erreur appelee depuis public.php (la precedente ne fonctionne plus +// depuis qu'on est sortis de spip_image.php, apparemment). +function erreur_upload_trop_gros() { + include_spip('inc/filtres'); + minipres(_T('pass_erreur'), + "<p>" + .taille_en_octets($_SERVER["CONTENT_LENGTH"]) + .'<br />' + ._T('upload_limit', + array('max' => ini_get('upload_max_filesize'))) + ."</p>"); + exit; +} // // Gestion des fichiers ZIP diff --git a/ecrire/public.php b/ecrire/public.php index 8d144786ff5ee3f45ba0d827a9abc94c63366a36..5eb89435a0aa9127864b156c69c0d0e84bf9e6c8 100644 --- a/ecrire/public.php +++ b/ecrire/public.php @@ -64,8 +64,19 @@ if (defined('_INC_PUBLIC')) { die (_L("Faut pas se gener")); # par defaut - } else + } else { + // traiter le cas pathologique d'un upload de document ayant echoue + // car trop gros + if (empty($_GET) AND empty($_POST) AND empty($_FILES) + AND strlen($_SERVER["CONTENT_LENGTH"]) >= 7 + AND strstr($_SERVER["CONTENT_TYPE"], "multipart/form-data;")) { + include_spip('inc/getdocument'); + erreur_upload_trop_gros(); + } + + // mais plus probablement nous sommes dans le cas $fond = 'sommaire'; + } // Particularites de certains squelettes if ($fond == 'login')