Changeset 44161 in spip-zone


Ignore:
Timestamp:
Feb 4, 2011, 11:12:30 PM (9 years ago)
Author:
cedric@…
Message:

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

Location:
_core_/plugins/medias
Files:
2 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _core_/plugins/medias/action/ajouter_documents.php

    r43779 r44161  
    9292
    9393        include_spip('inc/modifier');
    94         if (isset($file['distant']) AND $file['distant'] AND $mode=='vignette') {
     94        if (isset($file['distant']) AND $file['distant'] AND !in_array($mode,array('choix','auto','image','document'))) {
    9595                include_spip('inc/distant');
    9696                $file['tmp_name'] = _DIR_RACINE . copie_locale($source);
     
    147147
    148148                // Si mode == 'choix', fixer le mode image/document
    149                 if ($mode == 'choix' OR !in_array($mode, array('vignette', 'image', 'document'))) {
     149                if (in_array($mode,array('choix','auto'))) {
    150150                        $choisir_mode_document = charger_fonction('choisir_mode_document','inc');
    151151                        $mode = $choisir_mode_document($champs, $champs['inclus'] == 'image', $objet);
     
    180180        include_spip('action/editer_document');
    181181        // Installer le document dans la base
    182         // attention piege semantique : les images s'installent en mode 'vignette'
    183182        if (!$id_document){
    184183                $id_document = insert_document();
     
    361360                                ));
    362361        }
    363        
    364         // Si on veut uploader une vignette, il faut qu'elle ait ete bien lue
    365         if ($infos['mode'] == 'vignette') {
    366                 if ($infos['inclus'] != 'image')
    367                         return _T('medias:erreur_format_fichier_image',array('nom'=> $infos['fichier'])); #SVG
    368 
    369                 if (!($infos['largeur'] OR $infos['hauteur']))
    370                         return _T('medias:erreur_upload_vignette',array('nom'=>$infos['fichier']));
    371         }
     362
     363  // verifier en fonction du mode si une fonction est proposee
     364        if ($verifier_document_mode = charger_fonction("verifier_document_mode_".$infos['mode'],"inc",true))
     365                return $verifier_document_mode($infos);
    372366
    373367        return true;
  • _core_/plugins/medias/plugin.xml

    r44160 r44161  
    33        <auteur>Collectif SPIP, Cedric Morin &amp; Romy Duhem-Verdiere pour la mediatheque</auteur>
    44        <icon>images/portfolio-64.png</icon>
    5         <version>1.6.0</version>
     5        <version>2.0.0</version>
    66        <version_base>0.11.0</version_base>
    77        <etat>dev</etat>
Note: See TracChangeset for help on using the changeset viewer.