From 5ebf3160aa4ce659f0dcdb9319cf3ff3d2615815 Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Sat, 6 May 2006 17:55:07 +0000 Subject: [PATCH] =?UTF-8?q?possibilit=C3=A9=20de=20limiter=20le=20poids=20?= =?UTF-8?q?des=20documents,=20et=20le=20poids=20et/ou=20la=20taille=20des?= =?UTF-8?q?=20images=20Le=20message=20d'erreur=20est=20normalement=20desti?= =?UTF-8?q?n=C3=A9=20aux=20logos,=20donc=20c'est=20pas=20g=C3=A9nial,=20ma?= =?UTF-8?q?is=20plus=20de=20nouvelle=20chaine=20de=20langue=20pour=20le=20?= =?UTF-8?q?moment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/inc/getdocument.php | 40 ++++++++++++++++++++++++++++++++++++++ ecrire/inc/utils.php | 6 ++++++ 2 files changed, 46 insertions(+) diff --git a/ecrire/inc/getdocument.php b/ecrire/inc/getdocument.php index 016c9351af..d5b0af1f43 100644 --- a/ecrire/inc/getdocument.php +++ b/ecrire/inc/getdocument.php @@ -288,6 +288,46 @@ function ajouter_un_document ($source, $nom_envoye, $type_lien, $id_lien, $mode, $hauteur = intval($size_image[1]); $type_image = decoder_type_image($size_image[2]); + $poids = filesize($fichier); + if (!$type_image) { + if (_DOC_MAX_SIZE > 0 + AND $poids > _DOC_MAX_SIZE*1024) { + @unlink ($fichier); + check_upload_error(6, + _T('info_logo_max_poids', + array('maxi' => taille_en_octets(_DOC_MAX_SIZE*1024), + 'actuel' => taille_en_octets($poids)))); + } + } + else { + if (_IMG_MAX_SIZE > 0 + AND $poids > _IMG_MAX_SIZE*1024) { + @unlink ($fichier); + check_upload_error(6, + _T('info_logo_max_poids', + array('maxi' => taille_en_octets(_IMG_MAX_SIZE*1024), + 'actuel' => taille_en_octets($poids)))); + } + + if (_IMG_MAX_WIDTH * _IMG_MAX_HEIGHT + AND ($size_image[0] > _IMG_MAX_WIDTH + OR $size_image[1] > _IMG_MAX_HEIGHT)) { + @unlink ($fichier); + check_upload_error(6, + _T('info_logo_max_taille', + array( + 'maxi' => + _T('info_largeur_vignette', + array('largeur_vignette' => _IMG_MAX_WIDTH, + 'hauteur_vignette' => _IMG_MAX_HEIGHT)), + 'actuel' => + _T('info_largeur_vignette', + array('largeur_vignette' => $size_image[0], + 'hauteur_vignette' => $size_image[1])) + ))); + } + } + // Si on veut uploader une vignette, il faut qu'elle ait ete bien lue if ($mode == 'vignette' AND !($largeur * $hauteur)) { @unlink($fichier); diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 1530b2d7bb..dad75a7414 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -876,6 +876,12 @@ function spip_initialisation() { define('_LOGO_MAX_SIZE', 0); # poids en ko define('_LOGO_MAX_WIDTH', 0); # largeur en pixels define('_LOGO_MAX_HEIGHT', 0); # hauteur en pixels + + define('_DOC_MAX_SIZE', 0); # poids en ko + + define('_IMG_MAX_SIZE', 0); # poids en ko + define('_IMG_MAX_WIDTH', 0); # largeur en pixels + define('_IMG_MAX_HEIGHT', 0); # hauteur en pixels // Le fichier de connexion a la base de donnees define('_FILE_CONNECT_INS', (_DIR_RESTREINT . "inc_connect")); -- GitLab