Salut jchouix,
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 !
Voici donc le code que je te propose :
plg_adm_redacteurs_v5.5.2_guppy_v466+
Fichier
plugins/adm_redacteurs/inc/upload.inc
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
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
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 :
Fichier
plugins/adm_redacteurs/editors/upload/lang/fr_upload.inc
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
Fichier
plugins/adm_redacteurs/editors/upload/lang/en_upload.inc
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...
Comme tu peux le voir, il suffit de modifier la variable $limitUpload pour complètement désactiver la "fonctionnalité"
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
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.
A+