Skip to content
Extraits de code Groupes Projets
Valider 4ef25a1e rédigé par cedric@yterium.com's avatar cedric@yterium.com
Parcourir les fichiers

report de r44142

generaliser le cas derogatoire du mode=vignette pour permettre a des plugins d'ajouter des documents avec d'autres modes
Il suffit de fournir une fonction surchargeable inc_verifier_document_mode_xxx_dist() pour que celle ci soit appelee au chargement d'un document dans le mode xxx
parent 3bd5a4ea
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -59,6 +59,7 @@ inc/getdocument.php -text
inc/joindre_document.php -text
inc/marquer_doublons_doc.php -text
inc/renseigner_document.php -text
inc/verifier_document_mode_vignette.php -text
inc/vignette.php -text
javascript/jquery.MultiFile.js -text
javascript/medias_edit.js -text
......
......@@ -91,7 +91,7 @@ function action_ajouter_un_document_dist($id_document, $file, $objet, $id_objet,
$mode = ((isset($file['mode']) AND $file['mode'])?$file['mode']:$mode);
include_spip('inc/modifier');
if (isset($file['distant']) AND $file['distant'] AND $mode=='vignette') {
if (isset($file['distant']) AND $file['distant'] AND !in_array($mode,array('choix','auto','image','document'))) {
include_spip('inc/distant');
$file['tmp_name'] = _DIR_RACINE . copie_locale($source);
$source = $file['tmp_name'];
......@@ -146,7 +146,7 @@ function action_ajouter_un_document_dist($id_document, $file, $objet, $id_objet,
$champs = array_merge($champs,$infos);
// Si mode == 'choix', fixer le mode image/document
if ($mode == 'choix' OR !in_array($mode, array('vignette', 'image', 'document'))) {
if (in_array($mode,array('choix','auto'))) {
$choisir_mode_document = charger_fonction('choisir_mode_document','inc');
$mode = $choisir_mode_document($champs, $champs['inclus'] == 'image', $objet);
}
......@@ -179,7 +179,6 @@ function action_ajouter_un_document_dist($id_document, $file, $objet, $id_objet,
include_spip('action/editer_document');
// Installer le document dans la base
// attention piege semantique : les images s'installent en mode 'vignette'
if (!$id_document){
$id_document = insert_document();
spip_log ("ajout du document ".$file['tmp_name']." ".$file['name']." (M '$mode' T '$objet' L '$id_objet' D '$id_document')");
......@@ -360,15 +359,10 @@ function verifier_taille_document_acceptable($infos){
'hauteur_vignette' => $infos['hauteur']))
));
}
// Si on veut uploader une vignette, il faut qu'elle ait ete bien lue
if ($infos['mode'] == 'vignette') {
if ($infos['inclus'] != 'image')
return _T('medias:erreur_format_fichier_image',array('nom'=> $infos['fichier'])); #SVG
if (!($infos['largeur'] OR $infos['hauteur']))
return _T('medias:erreur_upload_vignette',array('nom'=>$infos['fichier']));
}
// verifier en fonction du mode si une fonction est proposee
if ($verifier_document_mode = charger_fonction("verifier_document_mode_".$infos['mode'],"inc",true))
return $verifier_document_mode($infos);
return true;
}
......
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2010 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined("_ECRIRE_INC_VERSION")) return;
function inc_verifier_document_mode_vignette_dist($infos){
// Si on veut uploader une vignette, il faut qu'elle ait ete bien lue
if ($infos['inclus'] != 'image')
return _T('medias:erreur_format_fichier_image',array('nom'=> $infos['fichier'])); #SVG
if (!($infos['largeur'] OR $infos['hauteur']))
return _T('medias:erreur_upload_vignette',array('nom'=>$infos['fichier']));
return true;
}
\ No newline at end of file
......@@ -2,7 +2,7 @@
<nom>Medias</nom>
<auteur>Collectif SPIP, Cedric Morin &amp; Romy Duhem-Verdiere pour la mediatheque</auteur>
<icon>images/portfolio-64.png</icon>
<version>1.6.0</version>
<version>2.0.0</version>
<version_base>0.11.0</version_base>
<etat>dev</etat>
<description>Gestion des medias de SPIP</description>
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter