Gestion des formats de fichiers dans le gestionnaire de médias
flipflip
Member
dans Modifications
Bonjour à tous, avec l'arrivé de la gestion de plusieurs niveaux d'utilisateur il m'a semblé logique que le webmaster puisse choisir quelle format de fichier il autorise sur son site, surtout vis à vis des rédacteurs.
Première étape, modifier le fichier core/admin/parametres_avances.php. Après la ligne 84 ajouté :
Pour les dev, dans le fichier install.php je pense qu'en ajoutant des valeurs par défaut au tableau de paramètre comme ça devrait être ok :
Première étape, modifier le fichier core/admin/parametres_avances.php. Après la ligne 84 ajouté :
<fieldset class="withlabel">
<legend>Extensions des fichiers dans le gestionnaire de médias :</legend>
<p class="field">
<label>Extensions des images authorisées dans le gestionnaire de médias :</label>
<a class="help" title="Sépaées par des virgules"> </a>
</p>
<?php plxUtils::printInput('extensions_images_medias', $plxAdmin->aConf['extensions_images_medias']); ?>
<p class="field">
<label>Extensions des documents authorisées dans le gestionnaire de médias :</label>
<a class="help" title="Séprées par des virgules"> </a>
</p>
<?php plxUtils::printInput('extensions_documents_medias', $plxAdmin->aConf['extensions_documents_medias']); ?>
</fieldset>
Dans le fichier core/admin/media.php, ligne 184, remplace les lignes :
# Envoi d'un fichier
elseif(!empty($_POST['send']) AND !empty($_FILES)) {
$plxMedias->upload($dir, $_FILES['file'], $medias);
header('Location: medias.php?dir='.urlencode($dir).($view!=''?'&v='.$view:''));
exit;
}
Par
# Envoi d'un fichier
elseif(!empty($_POST['send']) AND !empty($_FILES)) {
$plxMedias->upload($dir, $_FILES['file'], $medias, $plxAdmin->aConf['extensions_images_medias'], $plxAdmin->aConf['extensions_documents_medias']);
header('Location: medias.php?dir='.urlencode($dir).($view!=''?'&v='.$view:''));
exit;
}
Dans le fichier code/lib/class.plx.medias.php, ligne 312, remplacé :
public function upload($dir, $files, $medias) {
Par
public function upload($dir, $files, $medias, $ext_image, $ext_document) {
Ligne 319, après
$ext = strtolower(strrchr(basename($files['name'][$numfile]),'.'));
Ajouter
$ext_images = explode(',', $ext_image);
$ext_documents = explode(',', $ext_document);
Remplacer
if($medias=='images' AND !in_array($ext, array('.gif', '.jpg', '.png')))
$msg_error = 'Vérifiez le format de vos images: gif, jpg et png uniquement';
elseif($medias=='documents' AND (substr($ext,0,4)=='.php' OR in_array($ext, array('.cgi'))))
$msg_error = "Type de fichier non autorisé: php, cgi";
Par
if($medias=='images' AND !in_array($ext, $ext_images))
$msg_error = 'Vérifiez le format de vos images. Seul les images aux formats '.$ext_image.' sont autorisé';
elseif($medias=='documents' AND !in_array($ext, $ext_documents))
$msg_error = 'Type de fichier non autorisé. Seul les fichiers aux formats : '.$ext_document.' sont autorisé';
Voila la modification est terminé. Maintenant aller sur la page http://www.votresitefr/core/admin/parametres_avances.php et en bas ajouter les extensions de fichiers que vous autorisé sous la forme :
.jpg,.bmp,.gif
Pareil pour les documents.Pour les dev, dans le fichier install.php je pense qu'en ajoutant des valeurs par défaut au tableau de paramètre comme ça devrait être ok :
'extensions_images_medias' => '.jpg,.gif,.png',
'extensions_documents_medias' => '.doc,.odt',
J'ai un string de l'array
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
J'ai un string de l'array
je me permet de réveiller le thread : est-il toujours prévu d'adapter ça pour la version la plus récente (5.1.5 à l'heure où je poste) ?
J'en aurai furieusement besoin dans la mesure où je tente d'utiliser pluXML pour faire un mini-site de téléchargement d'installeurs divers & variés (*.exe) : je bosse dans la formation professionnelle, et mes users - des formateurs - ne sont pas forcément à l'aise avec la gestion de fichiers, donc d'expérience je préfère leur passer les outils que je développe sous forme d'installeurs plutôt que de zip....
est-ce que le code sur le wiki pour modifier les formats de fichier (extensions) est valable pour du 5.2 ?
sinon, comment faudrait-il faire ? Quel paramètres dans quels fichiers ?
Je ne sais pas trop, il faudrait que je me replonge dans le code de pluxml mais pour le moment j'ai pas trop le temps. L'idéal serait que se soit intégré à pluxml ou dans le pire des cas en faire un plugin...
J'ai un string de l'array