Comment limiter la taille des fichiers en upload ?

Imprimer Syndication RSS 2.0

ZebulonT

Actif
Actif

Avatar de ZebulonT

Messages : 174

Inscription :

Bonjour jchouix,

As-tu éventuellement une idée à propos du problème de la variable "$lang_upload[39]" que nous avions évoquée ICI un peut plus haut dans le sujet ?...

A+ :wink:

Aller en haut de page Aller en bas de page

jchouix

Administrateur

Avatar de jchouix

Messages : 1390

Inscription :

salut,
je n'ai pas rencontré de problème avec cette variable.
As tu vérifié que c'était bien dans les fichiers contenus dans le répertoire plugins/adm_redacteurs/editors/upload/lang/ que tu as rajouté cette variable ?
Je te demande cela car il y a un autre répertoire upload/ avec d'autres fichiers de langue dans le répertoire admin/editors/upload/lang/ et tu aurais pu les confondre.
A+

Message édité 1 fois, dernière édition par jchouix le Aller en haut de page Aller en bas de page

mistinguette

De passage
De passage

Avatar de mistinguette

Messages : 32

Inscription :

Bonjour,
Je me permets d'intervenir non pas pour donner un avis ( j'en suis bien incapable à la lecture de ce fil) mais pour demander si à la fin, on pourra avoir un petit résumé clair de la faà§on de procéder car je trouve intéressant l'idée de limiter la taille de ce que l'on autorise à uploader
Bonne cogitation :wink:

Aller en haut de page Aller en bas de page

ZebulonT

Actif
Actif

Avatar de ZebulonT

Messages : 174

Inscription :

Bonjour Mistinguette, :wink:

Je me permets d'intervenir .../... pour demander si à la fin, on pourra avoir un petit résumé clair de la faà§on de procéder car je trouve intéressant l'idée de limiter la taille de ce que l'on autorise à uploader

Cela me semble effectivement une bonne idée et je propose donc à jchouix de collaborer à la rédaction d'un article (?) à mettre quelque part en exergue... Sur le site dans une catégorie tutos ???

Aller en haut de page Aller en bas de page

ZebulonT

Actif
Actif

Avatar de ZebulonT

Messages : 174

Inscription :

Re bonjour,
As tu vérifié que c'était bien dans les fichiers contenus dans le répertoire plugins/adm_redacteurs/editors/upload/lang/ que tu as rajouté cette variable ?
Je te demande cela car il y a un autre répertoire upload/ avec d'autres fichiers de langue dans le répertoire admin/editors/upload/lang/ et tu aurais pu les confondre.
A+

C'est effectivement bien dans le fichier du répertoire plugins/adm_redacteurs/editors/upload/lang/ que j'ai ajouté la variable. Et que cela ne fonctionne pas... Je l'ai ensuite commentée.
Je viens maintenant de la rajouter dans le fichier du répertoire plugins/adm_redacteurs/editors/upload/lang/ et maintenant cela fonctionne !

A mon avis cela viens de la manipulation "hasardeuse" que j'ai commise il y a un certain temps déjà ! Voir le sujet ICI o๠j'en parle... Il y a "un mélange" entre les fichier de la partie admin et ceux du plugin adm_redacteurs... Et je pense également que le problème que j'évoquais ICI avec le fichier .htaccess est également imputable à cette manip "hasardeuse"...

Bref, tout fonctionne mais il n'y a plus de distinction claire entre les fichiers de la partie admin et adm_redacteurs !

A+

Aller en haut de page Aller en bas de page

jchouix

Administrateur

Avatar de jchouix

Messages : 1390

Inscription :

bonsoir,
Citation (ZebulonT)
Bref, tout fonctionne mais il n'y a plus de distinction claire entre les fichiers de la partie admin et adm_redacteurs !
En effet, en lisant ton post, je n'ai pas tout compris. Néanmoins avec un peu de rigueur, tu devrais clarifier la situation et ne plus tout mélanger.
Citation (ZebulonT)
Cela me semble effectivement une bonne idée et je propose donc à jchouix de collaborer à la rédaction d'un article (?) à mettre quelque part en exergue... Sur le site dans une catégorie tutos ???
C'est une très bonne idée et je te propose aussi d'intégrer ton code dans la partie upload du plugin et bien entendu, je rajouterai dans l'entàªte des fichiers concernés tes coordonnées pour indiquer que l'origine de ce code vient de toi.
Qu'en dis tu ?
A+

Aller en haut de page Aller en bas de page

ZebulonT

Actif
Actif

Avatar de ZebulonT

Messages : 174

Inscription :

Bonsoir jchouix,

Citation (jchouix)
En effet, en lisant ton post, je n'ai pas tout compris. Néanmoins avec un peu de rigueur, tu devrais clarifier la situation et ne plus tout mélanger.

Le problème n'est pas tant que je mélange les fichiers, mais que j'ai installé une partie des fichiers du fork de FCKeditor dans la partie plugins/adm_redacteurs/editors/fckeditor_config/ afin de bénéficier du fork pour les rédacteurs... Cela fonctionne très bien mais la conséquence est que certains fichiers du fork font appel (et continuent à faire appel) à d'autres fichiers qui se trouvent toujours dans la partie admin/editors/fckeditor_config/...

C'est le cas notamment pour les images des icà´nes du menu... Et manifestement c'est aussi le cas pour le fichier admin/editors/upload/lang/fr_upload.inc et c'est pour cela que lorsque j'y ai placé la variable $lang_upload[39] = "mon commentaire" le problème était résolu...

Et qu'inversément tous mes essais dans le fichier plugins/adm_redacteurs/editors/upload/lang/fr_upload.inc ne donnaient aucun résultat !

Donc, quand je dit :
Citation (ZebulonT)
Bref, tout fonctionne mais il n'y a plus de distinction claire entre les fichiers de la partie admin et adm_redacteurs !
Je veux dire que mon installation du fork de FCKeditor dans la partie plugin/adm_redacteurs nécessite l'accès à des fichiers qui se situent dans la partie admin/... Alors que je suppose que tu as conà§u le plugin adm_redacteurs pour qu'il fonctionne en totale indépendance de la partie admin ???


Pour ce qui est de ceci :
Citation (jchouix)
Citation (ZebulonT)
Cela me semble effectivement une bonne idée et je propose donc à jchouix de collaborer à la rédaction d'un article (?) à mettre quelque part en exergue... Sur le site dans une catégorie tutos ???
C'est une très bonne idée et je te propose aussi d'intégrer ton code dans la partie upload du plugin et bien entendu, je rajouterai dans l'entàªte des fichiers concernés tes coordonnées pour indiquer que l'origine de ce code vient de toi.
Qu'en dis tu ?

Pas de problème, je peux essayer de tout "rassembler" dans un petit tutos au format PDF que je te soumettrai par e-mail et tu me fais tes commentaires en retour... Dès que tu trouves que c'est OK, tu publies à ta convenance. :wink:

A+

Aller en haut de page Aller en bas de page

jchouix

Administrateur

Avatar de jchouix

Messages : 1390

Inscription :

re-,
Citation (ZebulonT)
Alors que je suppose que tu as conà§u le plugin adm_redacteurs pour qu'il fonctionne en totale indépendance de la partie admin ???
Exact :fsb2_oui:
Citation (ZebulonT)
Pas de problème, je peux essayer de tout "rassembler" dans un petit tutos au format PDF que je te soumettrai par e-mail et tu me fais tes commentaires en retour... Dès que tu trouves que c'est OK, tu publies à ta convenance.
Merci pour ton aide et ta participation.
Cordialement
A+

Aller en haut de page Aller en bas de page

ZebulonT

Actif
Actif

Avatar de ZebulonT

Messages : 174

Inscription :

Salut jchouix, :wink:

Il était temps de reprendre le fil de cette discussion pour enfin intégrer cette "fonctionnalité" dans la prochaine version de ton plugin...

J'ai donc pris le taureau par les cornes afin de te proposer quelque chose qui s'intègre "dignement" dans la somme de travail que tu as déjà accomplie ! :fsb2_goutte:

Voici donc le code que je te propose :
:fsb2_arrow: plg_adm_redacteurs_v5.5.2_guppy_v466+
:fsb2_arrow: Fichier plugins/adm_redacteurs/inc/upload.inc
:fsb2_arrow: Ajout après la ligne 45
//INITIALISATION DES VARIABLES DE CONFIGURATION POUR UPLOAD (A NE SURTOUT PAS MODIFIER !!)
$pathRepUpload = 'plugins/adm_redacteurs/editors/';
$allowedUpload = false;
$allowedCreateRep = false;
$allowedRenameRepFile = false;
$allowedDeleteRepFile = false;
$allowedExtFileUpload = array();
$deniedExtFileUpload = array();
//Ajout de ZebulonT
$limitUpload = true; //Activation (true) ou désactivation (false)  de la limitation de la taille des fichiers en upload
$maxFileSizeUpload = '307200'; //Taille maximale des fichiers en upload (en octets)
//Fin ajout de ZebulonT

:fsb2_arrow: Ajout après la ligne 204
			if((count($allowedExtFileUpload) > 0 && !in_array(substr($_FILES['ficup']['name'],-4,4),$allowedExtFileUpload)) || (count($deniedExtFileUpload) > 0 && in_array(substr($_FILES['ficup']['name'],-4,4),$deniedExtFileUpload))) { //AUTORISATION EXTENSION DU FICHIER
	     		$pagerror = 1; 
		 		$erreur = $lang_upload[21];	
			}
			//Ajout de ZebulonT
			//Controle de la taille des fichiers
			if ($limitUpload == true){
				if (filesize($_FILES['ficup']['tmp_name']) > $maxFileSizeUpload)
				{
				$pagerror = 1;
				$erreur = $lang_upload[40].$maxFileSizeUpload / 1024 .' Ko !'; // On récupère et complète le message d'erreur en cas de dépassement de la taille maximale
				}
			}
			//Fin ajout de ZebulonT

:fsb2_arrow: Ajout après la ligne 575
		//UPLOAD DES FICHIERS
		if($allowedUpload == true) {  //AUTORISATION	
			if ((isset($redacprefs['rwritfile']) && $redacprefs['rwritfile'] == "On" && $redacprefs['rwritcatfile'] == "On") || (isset($redacprefs['rwritfile']) && $redacprefs['rwritfile'] == "On" && $redacprefs['rwritcatfile'] != "On" && ereg('^('.implode($accessRepUpload,'|').')/'.$redacprefs['rnamecatfile'],$rep))) {   //AUTORISATION REDACTEUR
        		echo '<form name="uploadit" enctype="multipart/form-data" action="admin.php?lng='.$lng.'" method="post" onsubmit="return UploadValid(this,\'ficup\');" >';
				echo '<input type="hidden" name="pg" value="upload" />';
        		echo '<input type="hidden" name="rep" value="'.$rep.'" />';
				echo '<input type="hidden" name="upvalid" value="ok" />';
				echo '<input type="hidden" name="uptype" value="'.$uptype.'" />';
				//echo '<input type="hidden" name="pathconfig" value="'.$pathRepUploadConfig.'" />';
				//echo '<input type="hidden" name="namerepconfig" value="'.$nameRepUploadConfig.'" />';
				//Ajout de ZebulonT
				//Si on limite la taille des fichiers en upload ici... Alors il n'y a pas de message d'erreur !...
				//echo '<input type="hidden" name="MAX_FILE_SIZE" value="'.$maxFileSizeUpload.'">';
				if ($limitUpload == true){	//Si la limitation de l'upload est activée...
				echo '<div class="labelupload">'.$lang_upload[39].$maxFileSizeUpload / 1024 .' Ko !</div>'; //On affiche un avertissement à  propos de la taille maximale autorisée pour les fichiers en upload !
				}
				//Fin ajout de ZebulonT

Je te laisse le soin de "transposer" les numéros de lignes pour le fichier plugins/adm_redacteurs/editors/upload/upload.php...

Et pour les fichiers de langue :
:fsb2_arrow: Fichier plugins/adm_redacteurs/editors/upload/lang/fr_upload.inc
:fsb2_arrow: Ajout à la fin du fichier
//Ajout de ZebulonT
$lang_upload[39] = 'Attention : la taille des fichiers en upload est limitée à  ';
$lang_upload[40] = 'Echec de l\'upload car la taille du fichier est supérieure à  la taille maximale définie par votre administrateur !<br /><br />Veuillez recommencer avec un fichier qui ne dépasse pas la taille permise de ';
//Fin ajout de ZebulonT

:fsb2_arrow: Fichier plugins/adm_redacteurs/editors/upload/lang/en_upload.inc
:fsb2_arrow: Ajout à la fin du fichier
//Ajout de ZebulonT
$lang_upload[39] = 'Be carefull, in upload, the file size is limited to ';
$lang_upload[40] = 'Error in upload because the file size overlap maximum size permitted by website\'s administrator.<br /><br />Please try again with a file smallish than ';
//Fin ajout de ZebulonT

Pour ce qui est des autres langues, je ne suis malheureusement pas compétent... :fsb2_cry:

Comme tu peux le voir, il suffit de modifier la variable $limitUpload pour complètement désactiver la "fonctionnalité" :fsb2_oui:

Si tu es d'accord, je propose d'inclure, soit directement dans la page "Administration des Rédacteurs", soit via un lien supplémentaire dans celle-ci, une petite case à cocher pour activer la limitation et un champ à remplir pour définir la taille maximale. Ce serait assez sympa :fsb2_glasses:

Mais la question que je me pose est : ou stocker de faà§on transitoire la valeur des deux variables concernées ($limitUpload & $maxFileSizeUpload) afin de ne pas écrire directement dans les fichiers ci-dessus ?

Merci d'avance pour tes suggestions éclairées à ce propos. :wink:

A+

Aller en haut de page Aller en bas de page

jchouix

Administrateur

Avatar de jchouix

Messages : 1390

Inscription :

bonsoir ZebulonT,
on va remplacer le nom de la variable $limitUpload par $limitFileSizeUpload si tu veux bien.
Sinon, tout le reste est très bien et est cohérent avec le code existant.
Citation
Si tu es d'accord, je propose d'inclure, soit directement dans la page "Administration des Rédacteurs", soit via un lien supplémentaire dans celle-ci, une petite case à cocher pour activer la limitation et un champ à remplir pour définir la taille maximale. Ce serait assez sympa.
Cela ne me parait pas judicieux car si tu veux gérer l'upload, il te faut écrire une administration complète et pas seulement une toute petite partie. Je pense que le mieux serait d'écrire un plugin indépendant qui s'occupe de cela. Quand j'ai écrit la partie upload, j'avais cette idée dans la tàªte. C'est pourquoi, j'ai mis toute la config dans un seul fichier initulé config_upload.inc. Il suffit donc de créer un formulaire qui contient toutes les options de la config de l'upload et lors du traitement de ce formulaire, on génère ce fichier config_upload.inc.
Si tu veux faire ce plugin, c'est avec plaisir que je te le confie.
A+

Aller en haut de page Aller en bas de page

ZebulonT

Actif
Actif

Avatar de ZebulonT

Messages : 174

Inscription :

Salut jchouix,

bonsoir ZebulonT,
on va remplacer le nom de la variable $limitUpload par $limitFileSizeUpload si tu veux bien.
Sinon, tout le reste est très bien et est cohérent avec le code existant.

Ok, pas de problème pour le nom de la variable $limitFileSizeUpload. Tu as raison, c'est plus cohérent que $limitUpload que j'ai mis juste pour donner un nom qui ne soit pas trop long... :oups:

Citation
Si tu veux faire ce plugin, c'est avec plaisir que je te le confie.
A+

Je peux envisager la chose... J'avoue ne pas avoir analysé toutes les options possible de l'upload. Je vais regarder cela de plus près.

Bonne soirée à toi.

A+

Aller en haut de page Aller en bas de page

ZebulonT

Actif
Actif

Avatar de ZebulonT

Messages : 174

Inscription :

Bonjour mistinguette, :wink:

J'étais justement en train de finaliser une petite note "mode d'emploi" pour transmettre le tout à jchouix afin qu'il l'intègre dans la prochaine version...

Mais si tu veux je peux te filer l'archive avec les fichiers afin que tu l'installes comme un fork si tu souhaites avoir cette fonctionnalité dès maintenant ! :fsb2_glasses:

Donnes-moi ton adresse e-mail en MP (message privé) si tu veux et je t'enverrai cela.

A+

Edit : Finalement, je l'ai mis en téléchargement sur mon site :fsb2_arrow: http://www.cyclotronp.net/guppy/download.php?lng=fr

Message édité 1 fois, dernière édition par ZebulonT le Aller en haut de page Aller en bas de page

mistinguette

De passage
De passage

Avatar de mistinguette

Messages : 32

Inscription :

Bonne nouvelles, Oui à§a m'intéresse si c'est facile et sans risque :=$
Je vais voir ton site et je te MP

Edit : bon veni vidi mais soucis pas compris ! Est ce que tu pourrai copier une peu plus le code dans le quel on doit modifier genre

blabalababababababaabbababa
abababababababababababababaab

mon code à changer
bababababababaababa
abababababababababba

Message édité 1 fois, dernière édition par mistinguette le Aller en haut de page Aller en bas de page

ZebulonT

Actif
Actif

Avatar de ZebulonT

Messages : 174

Inscription :

Bonjour,

Si c'est sans risques ? :oups: Va-t-en savoir... :fsb2_ET: :fsb2_boulet: :fsb2_devil: :fsb2_godgrace: :fsb2_clown: :fsb2_mad: :fsb2_ice: ...

Je plaisante ! :wink:

Pour la facilité, je pense pourtant que mes explications sont "correctes"... :oups:

Il n'y a en fait pas vraiment de code à changer, à l'exception de la variable $limitFileSizeUpload, à laquelle il faut affecter la valeur true, comme ceci :
$limitFileSizeUpload = true; //Activation (true) ou désactivation (false)  de la limitation de la taille des fichiers en upload

Et pour ce qui est de retrouver l'emplacement dans le code, je donne les numéro des lignes concernées sur mon site...

Et si tu veux plus de code avant la variable concernée, je te suggère de relire ce message ci-dessus et tout particulièrement le premier "pavé" de code PHP dans lequel tu devrais trouver ton bonheur ! :fsb2_glasses:

A+

PS : si c'est toujours trop difficile pour toi, dis moi juste si la taille limite de 300 Ko te convient et je peux t'envoyer par mail une version "préparée" rien que pour toi... :fsb2_oui:

Aller en haut de page Aller en bas de page