Changeset 62042 in spip-zone


Ignore:
Timestamp:
Jun 3, 2012, 11:19:33 AM (7 years ago)
Author:
kent1@…
Message:

Premier gros commit...

Les doc2img passent en documents de SPIP, plus de table dédiée mais un mode de document différent

Location:
_plugins_/doc2img/trunk
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/doc2img/trunk/base/doc2img.php

    r52838 r62042  
    33if (!defined("_ECRIRE_INC_VERSION")) return;
    44
    5 function doc2img_declarer_tables_interfaces($interface){
    6 
    7         $interface['table_des_tables']['doc2img'] = 'doc2img';
    8         $interface['tables_jointures']['spip_documents'][] = 'doc2img';
    9 
    10         return $interface;
    11 
    12 }
    13 
    145function doc2img_declarer_tables_principales($tables_principales){
    15 
    16         $spip_doc2img_champs = array(
    17                 'id_doc2img' => "bigint(21) NOT NULL",
    18                 'id_document' => "bigint(21) NOT NULL",
    19                 'fichier' => "varchar(255) NOT NULL",
    20                 'page' => "int NOT NULL",
    21                 "taille"        => "integer",
    22                 "largeur"       => "integer",
    23                 "hauteur"       => "integer",
    24         );
    25 
    26     $spip_doc2img_key = array("PRIMARY KEY"     => "id_doc2img", );
    27         $spip_doc2img_cles = array(
    28                 "PRIMARY KEY"   => "id_doc2img",
    29                 "KEY id_document" => "id_document",
    30                 "UNIQUE KEY document" => "id_document,page"
    31         );
    32 
    33         $tables_principales['spip_doc2img'] = array(
    34                 'field' => &$spip_doc2img_champs,
    35                 'key' => &$spip_doc2img_cles
    36         );
    37 
     6        $tables_principales['spip_documents']['field']['page'] = "bigint DEFAULT '0' NOT NULL";
    387        return $tables_principales;
    398
  • _plugins_/doc2img/trunk/base/doc2img_install.php

    r52838 r62042  
    2121        include_spip('inc/meta');
    2222        include_spip('base/abstract_sql');
     23        include_spip('base/create');
    2324        $current_version = 0.0;
    2425
     
    2728
    2829                if (version_compare($current_version,'0.0','<=')){
    29                         include_spip('base/create');
    30                         include_spip('inc/flock');
     30                       
    3131                        // A la première installation on crée les tables
    32                         creer_base();
    33 
    34                         // Creation du répertoire de destination pour compat
    35                         $dir_doc2img = _DIR_IMG.'doc2img/';
    36                         sous_repertoire(_DIR_IMG, 'doc2img');
     32                        maj_tables('spip_documents');
    3733
    3834            // Insertion d'une première configuration
     
    7268                        ecrire_meta($nom_meta_base_version,$current_version='0.3','non');
    7369                }
    74                 if (version_compare($current_version,'0.5','<')){
    75                     //on permet la numérotation des page
    76             sql_alter(
    77                                 "TABLE spip_doc2img
    78                         ADD page INTEGER NOT NULL DEFAULT 0;"
    79                         );
    80                         ecrire_meta($nom_meta_base_version,$current_version='0.5','non');
    81                 }
    82                 if (version_compare($current_version,'0.9','<')){
    83                     sql_query(
    84                         "CREATE UNIQUE INDEX document ON spip_doc2img (id_document,page)"
    85                     );
    86                         ecrire_meta($nom_meta_base_version,$current_version='0.9','non');
    87                 }
    88                 if (version_compare($current_version,'0.92','<')){
    89             sql_alter(
    90                 "TABLE spip_doc2img
    91                     ADD largeur INT"
    92             );
    93             sql_alter(
    94                 "TABLE spip_doc2img
    95                     ADD hauteur INT"
    96             );
    97             sql_alter(
    98                 "TABLE spip_doc2img
    99                     ADD taille INT"
    100             );
    101                         ecrire_meta($nom_meta_base_version,$current_version='0.92','non');
    102                 }
    10370                if (version_compare($current_version,'0.93','<')){
    10471                        if (class_exists('Imagick')) {
     
    11178                        ecrire_meta($nom_meta_base_version,$current_version='0.93','non');
    11279                }
     80                if (version_compare($current_version,'0.94','<')){
     81                        /**
     82                         * Transformation des anciens doc2img en documents normaux
     83                         */
     84                        maj_tables('spip_documents');
     85                        doc2img_update_to_docs();
     86                        ecrire_meta($nom_meta_base_version,$current_version='0.94','non');
     87                        //sql_query("DROP TABLE spip_doc2img");
     88                }
    11389        }
    11490}
    11591
     92function doc2img_update_to_docs(){
     93        include_spip('inc/documents');
     94        $doc2imgs = sql_select('*','spip_doc2img');
     95        $ajouter_documents = charger_fonction('ajouter_documents', 'action');
     96        include_spip('action/editer_document');
     97        while($doc2img = sql_fetch($doc2imgs)){
     98                /**
     99                 * On déplace le document dans la table des documents
     100                 */
     101                $id_document = $doc2img['id_document'];
     102                $files = array(array('tmp_name'=>get_spip_doc($doc2img['fichier']),'name'=>basename(get_spip_doc($doc2img['fichier']))));
     103                $x = $ajouter_documents('new', $files,'document', $id_document, 'doc2img');
     104                if(intval($x)){
     105                        /**
     106                         * Si on a un document :
     107                         * - on ajoute le numéro de page dans spip_documents
     108                         * - on supprime le document en base
     109                         * - on supprime le fichier physique
     110                         */
     111                        document_set($x,array("page" => $doc2img['page']));
     112                        sql_delete('spip_doc2img','id_document='.intval($id_document).' AND fichier='.sql_quote($doc2img['fichier']));
     113                        spip_unlink(get_spip_doc($doc2img['fichier']));
     114                }
     115        }
     116}
    116117// Supprimer les éléments du plugin
    117118function doc2img_vider_tables($nom_meta_base_version) {
    118119        include_spip('base/abstract_sql');
    119         sql_query("DROP TABLE spip_doc2img");
     120        sql_drop_table('spip_doc2img');
    120121        effacer_meta('doc2img');
    121122        effacer_meta($nom_meta_base_version);
  • _plugins_/doc2img/trunk/doc2img_pipeline.php

    r61763 r62042  
    5252    }
    5353        if($flux['args']['operation'] == 'supprimer_document'){
    54 
    55                 $v = sql_select("id_doc2img,fichier","spip_doc2img","id_document=".intval($flux['args']['id_objet']));
    56 
    57                 include_spip('inc/documents');
    58 
    59                 while($version = sql_fetch($v)){
    60                         $liste[] = $version['id_doc2img'];
    61                         if (@file_exists($f = get_spip_doc($version['fichier']))) {
    62                                 supprimer_fichier($f);
    63                         }
    64                 }
    65                 if(is_array($liste)){
    66                         $in = sql_in('id_doc2img', $liste);
    67                         sql_delete("spip_doc2img", $in);
     54                $v = sql_select("*","spip_documents as L1 LEFT JOIN spip_documents_liens as L2 ON L1.id_document=L2.id_document","L2.id_objet=".intval($flux['args']['id_objet']).' AND L2.objet="document" AND L1.mode="doc2img"');
     55                include_spip('action/dissocier_document');
     56                while($conversion = sql_fetch($v)){
     57                        supprimer_lien_document($conversion['id_document'], 'document', $flux['args']['id_objet'],true);
    6858                }
    6959        }
  • _plugins_/doc2img/trunk/fonds/cfg_doc2img.html

    r52370 r62042  
    1010<!-- descriptif=<p><:doc2img:explication_doc2img:></p>[(#GET{liste_fichier}|=={oui}|oui)<p><:doc2img:explication_formats_possibles{formats=#GET{formats_possibles}}:></p>]-->
    1111<div class="ajax">
    12     #FORMULAIRE_CONFIG_DOC2IMG
     12    #FORMULAIRE_CONFIGURER_DOC2IMG
    1313</div>
  • _plugins_/doc2img/trunk/inc/doc2img_convertir.php

    r61760 r62042  
    88 *  Ensemble des actions necessaires à la conversion d'un document en image :
    99 *  - recupère les informations sur le documents (nom, repertoire, nature)
    10  *  - determine les informatsions sur le documents finals (nom, respertoire, extension)
     10 *  - determine les informations sur le documents final (nom, repertoire, extension)
    1111 *
    1212 *  Documentation intéressante :
     
    2222        if(!in_array($type,array('full','vignette')))
    2323                $type = 'full';
    24         if(function_exists('imagick_readimage') OR class_exists('Imagick')){
     24       
     25        if(class_exists('Imagick')){
    2526            // NOTE : les repertoires doivent se finir par un /
    2627
    2728            include_spip('inc/documents');
    2829            include_spip('inc/flock');
    29 
    30             $config = lire_config('doc2img');
    31 
    32             //racine du site c'est a dire url_site/
    33             //une action se repere à la racine du site
    34             $racine_site = _DIR_RACINE;
     30                include_spip('inc/config');
     31
     32            $config = lire_config('doc2img',array());
    3533
    3634            $document = doc2img_document($id_document);
    37 
    38             //verrouille document ou quitte
    39             //si erreur sur verrou alors on quitte le script
    40             if (!$fp = @spip_fopen_lock($document['source_url']['absolute'].$document['fullname'],'r',LOCK_EX)) {
    41                 return "erreur document verrouillé";
    42             }
    43 
    44             //suppresssion d'un eventuel repertoire deja existant
    45             //include_spip('base/doc2img_install');
    46             //rm($document['cible_url']['absolute']);
    47 
    48             //suppression dans la base
    49             sql_delete(
    50                 "spip_doc2img",
    51                 "id_document = ".$id_document
    52             );
    53 
    54             //creation du repertoire cible
    55             if (!is_dir($document['cible_url']['absolute']) && !@mkdir($document['cible_url']['absolute'])) {
    56                 return "erreur impossible de creer le repertoire";
    57             }
     35                spip_log($document,'doc2img');
    5836
    5937            /**
     
    6139             * On détermine le nombre de pages du document
    6240             * On libère la ressource automatiquement si on utilise la class
    63              * car on réouvre chaque page par la suitre
     41             * car on réouvre chaque page par la suite
    6442             */
    65             if (class_exists('Imagick')) {
    66                 $image = new Imagick($document['source_url']['absolute'].$document['fullname']);
    67                 $identify = $image->identifyImage();
    68                 $identify2 = $image->getImageProperties();
    69                 $nb_pages = $image->getNumberImages();
    70                 $image->clear();
    71                 $image->destroy();
    72             } else {
    73                 spip_log('Erreur Doc2Img : La class doc2img n est pas disponible');
    74                 return false;
    75             }
     43                $image = new Imagick($document['fichier']);
     44                $identify = $image->identifyImage();
     45                $identify2 = $image->getImageProperties();
     46                $nb_pages = $image->getNumberImages();
     47                $image->clear();
     48                $image->destroy();
    7649
    7750            $frame = 0;
     
    7952                $resolution = $config['resolution'] ? $config['resolution'] : 150;
    8053               
     54                $ajouter_documents = charger_fonction('ajouter_documents', 'action');
    8155               
    8256                if($type == 'full'){
     57                        /**
     58                         * Est ce que ce document a déja été converti
     59                         * Si oui, on supprime son ancienne conversion
     60                         */
     61                        $documents_doc2img = sql_select('L1.id_document',
     62                                                                                        'spip_documents AS L1 LEFT JOIN spip_documents_liens AS L2 ON L1.id_document=L2.id_document',
     63                                                                                        'L1.mode="doc2img" AND L2.objet="document" AND L2.id_objet='.intval($id_document));
     64                       
     65                        $documents_a_supprimer = array();
     66                        while($document_doc2img = sql_fetch($documents_doc2img)){
     67                                spip_log($document_doc2img,'doc2img');
     68                                $documents_a_supprimer[] = $document_doc2img['id_document'];
     69                        }
     70                        if(count($documents_a_supprimer) > 0){
     71                                spip_log('On supprime les documents','doc2img');
     72                                spip_log($documents_a_supprimer,'doc2img');
     73                                $supprimer_document = charger_fonction('supprimer_document','action');
     74                                foreach ($documents_a_supprimer as $id_document) {
     75                                        $supprimer_document($id_document); // pour les orphelins du contexte, on traite avec la fonction existante
     76                                }
     77                        }
    8378                    // chaque page est un fichier qu'on sauve dans la table doc2img indexé
    8479                    // par son numéro de page
     
    9085                                $image_frame->setResolution($resolution,$resolution);
    9186                        }
    92                                 $image_frame->readImage($document['source_url']['absolute'].$document['fullname'].'['.$frame.']');
     87                                $image_frame->readImage($document['fichier'].'['.$frame.']');
    9388                                $image_frame->setImageFormat($config['format_cible']);
    9489                                if(is_numeric($config['compression']) && ($config['compression'] > 50) && ($config['compression'] <= 100)){
    9590                                        $image_frame->setImageCompressionQuality($config['compression']);
    9691                                }
    97                     $handle_frame = $image_frame;
    9892       
    9993                        //calcule des dimensions
    100                         $dimensions = doc2img_ratio($handle_frame,$config);
     94                        //$dimensions = doc2img_ratio($image_frame,$config);
    10195       
    10296                        //nom du fichier cible, c'est à dire la frame (image) indexée
    103                         $document['frame'] = $document['name'].'-'.$frame.'.'.$config['format_cible'];
    104        
     97                        $frame_name = $document['name'].'-'.$frame.'.'.$config['format_cible'];
     98                                $dest = $document['cible_url'].$frame_name;
    10599                        //on sauvegarde la page
    106100                       
    107101                        //$image_frame->resizeImage($dimensions['largeur'], $dimensions['hauteur'],Imagick::FILTER_LANCZOS,1);
    108                     $image_frame->writeImage($document['cible_url']['absolute'].$document['frame']);
    109                     $taille = filesize(get_spip_doc(set_spip_doc($document['cible_url']['relative'].$document['frame'])));
    110        
    111                         $largeur = $dimensions['largeur'];
    112                                 $hauteur = $dimensions['hauteur'];
    113        
    114                                 //sauvegarde les donnees dans la base
    115                         if (!sql_insertq(
    116                             "spip_doc2img",
    117                             array(
    118                                 "id_document" => $id_document,
    119                                 "fichier" => set_spip_doc($document['cible_url']['relative'].$document['frame']),
    120                                 "page" => $frame,
    121                                 "largeur" => $largeur,
    122                                 "hauteur" => $hauteur,
    123                                 "taille" => $taille
    124                             )
    125                         )) {
    126                             return "erreur base de donnée";
    127                         }
    128        
     102                    $image_frame->writeImage($dest);
     103                               
     104                                /**
     105                                 * On ajoute le document dans la table spip_documents avec comme type "doc2img"
     106                                 * Il sera automatiquement lié au document original
     107                                 */
     108                                $files = array(array('tmp_name'=>$dest,'name'=>$frame_name));
     109                                $x = $ajouter_documents('new', $files,'document', $id_document, 'doc2img');
     110
    129111                        if(($frame == 0) && ($config['logo_auto']=='on') && in_array($config['format_cible'],array('png','jpg'))){
    130112                                if(
     
    132114                                        OR !file_exists(get_spip_doc(sql_getfetsel('fichier','spip_documents','id_document='.intval($id_vignette))))
    133115                                ){
     116                                                $frame_tmp = $document['cible_url'].$document['name'].'-logo.'.$config['format_cible'];
     117                                                $image_frame->writeImage($frame_tmp);
     118                                                $files = array(array('tmp_name'=>$frame_tmp,'name'=>$frame_name));
     119                                                spip_log('On va ajouter une vignette','doc2img');
    134120                                        if(is_numeric($id_vignette)){
    135                                                 sql_delete('spip_documents','id_document='.intval($id_vignette));
     121                                                $supprimer_document = charger_fonction('supprimer_document','action');
     122                                                        $supprimer_document($id_vignette);
     123                                                        spip_log('suppression de la vignette '.$id_vignette,'doc2img');
    136124                                        }
    137                                         $ajouter_documents = charger_fonction('ajouter_documents', 'inc');
    138                                                 $x = $ajouter_documents($document['cible_url']['absolute'].$document['frame'], $document['cible_url']['absolute'].$document['frame'],
    139                                                                     'document', $id, 'vignette', $id_document, $actifs);
     125                                                $x = $ajouter_documents($id_document, $files,'document', $id_document, 'vignette');
     126                                                spip_log($x,'doc2img');
     127                                                spip_log('On ajouter une vignette '.$x,'doc2img');
    140128                                }
    141129                        }
     
    147135            }else{
    148136                do {
    149                         spip_log("Conversion de la page $frame",'doc2img');
    150                         //on accede à la page $frame
    151                         $image_frame = new Imagick();
    152                         if(is_numeric($resolution) && ($resolution <= '600') && ($resolution > $identify['resolution']['x'])){
    153                                 $image_frame->setResolution($resolution,$resolution);
    154                         }
    155                                 $image_frame->readImage($document['source_url']['absolute'].$document['fullname'].'['.$frame.']');
    156                                 $image_frame->setImageFormat($config['format_cible']);
    157                                 if(is_numeric($config['compression']) && ($config['compression'] > 50) && ($config['compression'] <= 100)){
    158                                         $image_frame->setImageCompressionQuality($config['compression']);
    159                                 }
    160                     $handle_frame = $image_frame;
    161        
    162                         //calcule des dimensions
    163                         $dimensions = doc2img_ratio($handle_frame,$config);
    164        
    165                         //nom du fichier cible, c'est à dire la frame (image) indexée
    166                         $document['frame'] = $document['name'].'-'.$frame.'.'.$config['format_cible'];
    167        
    168                         //on sauvegarde la page
    169                         //$image_frame->resizeImage($dimensions['largeur'], $dimensions['hauteur'],Imagick::FILTER_LANCZOS,1);
    170                     $image_frame->writeImage($document['cible_url']['absolute'].$document['frame']);
    171                     $taille = filesize(get_spip_doc(set_spip_doc($document['cible_url']['relative'].$document['frame'])));
    172        
    173                         $largeur = $dimensions['largeur'];
    174                                 $hauteur = $dimensions['hauteur'];
    175        
    176                         if(in_array($config['format_cible'],array('png','jpg'))){
     137                        if(in_array($config['format_cible'],array('png','jpg'))){
     138                                //on accede à la page $frame
     139                                $image_frame = new Imagick();
     140                                if(is_numeric($resolution) && ($resolution <= '600') && ($resolution > $identify['resolution']['x'])){
     141                                        $image_frame->setResolution($resolution,$resolution);
     142                                }
     143                                        $image_frame->readImage($document['fichier'].'['.$frame.']');
     144                                        $image_frame->setImageFormat($config['format_cible']);
     145                                        if(is_numeric($config['compression']) && ($config['compression'] > 50) && ($config['compression'] <= 100)){
     146                                                $image_frame->setImageCompressionQuality($config['compression']);
     147                                        }
     148               
     149                                //nom du fichier cible, c'est à dire la frame (image) indexée
     150                                $document['frame'] = $document['name'].'-'.$frame.'.'.$config['format_cible'];
     151               
     152                                //on sauvegarde la page
     153                            $image_frame->writeImage($document['cible_url'].$document['frame']);
    177154                                if(
    178155                                        ($id_vignette = sql_getfetsel('id_vignette','spip_documents','id_document='.intval($id_document)) == 0)
     
    182159                                                sql_delete('spip_documents','id_document='.intval($id_vignette));
    183160                                        }
    184                                         $ajouter_documents = charger_fonction('ajouter_documents', 'inc');
    185                                                 $x = $ajouter_documents($document['cible_url']['absolute'].$document['frame'], $document['cible_url']['absolute'].$document['frame'],
     161                                               
     162                                                $x = $ajouter_documents($document['cible_url'].$document['frame'], $document['cible_url'].$document['frame'],
    186163                                                                    'document', $id, 'vignette', $id_document, $actifs);
    187164                                }
    188                         }
    189 
    190                     $image_frame->clear();
    191                     $image_frame->destroy();
     165                            $image_frame->clear();
     166                            $image_frame->destroy();
     167                    }else{
     168                                        spip_log("DOC2IMG : le format de sortie sélectionné dans la configuration ne permet pas de créer une vignette",'doc2img');
     169                    }
    192170                        $frame++;
    193171                    } while($frame < 1 );
     
    196174            // libération du verrou
    197175            spip_fclose_unlock($fp);
    198 
    199176            return true;
    200177        }else{
     178                spip_log('Erreur Doc2Img : La class doc2img n est pas disponible');
    201179                return false;
    202180        }
     
    231209        'extension,mode,distant',
    232210        'spip_documents',
    233         'id_document = '.$id_document
     211        'id_document = '.intval($id_document)
    234212    );
    235213
    236214    //on liste les extensions autorisées depuis CFG
    237     $types_autorises = explode(',',lire_config("doc2img/format_document",null,true));
     215    $types_autorises = explode(',',lire_config('doc2img/format_document','pdf,tiff,bmp'));
    238216
    239217    //on controle si le document est convertible ou non
    240     if (($info_document['mode'] != 'vignette')
     218    if (!in_array($info_document['mode'],array('doc2img','vignette'))
    241219        && ($info_document['distant'] != 'oui')
    242220        && in_array($info_document['extension'],$types_autorises)) {
     
    256234 * @return booleen $resultat : true document convertible, false sinon
    257235 */
    258 function doc2img_ratio(&$handle,$config=array()) {
     236function doc2img_ratio($handle,$config=array()) {
    259237
    260238    $ratio['largeur'] = $ratio['hauteur'] = 1;
     
    310288
    311289    //on recupere l'url du document
    312     $fichier = sql_getfetsel(
    313         'fichier',
     290    $fichier = sql_fetsel(
     291        '*',
    314292        'spip_documents',
    315293        'id_document='.$id_document
     
    317295
    318296    //chemin relatif du fichier
    319     $fichier = get_spip_doc($fichier);
     297    $fichier = get_spip_doc($fichier['fichier']);
    320298
    321299    //nom complet du fichier : recherche ce qui suit le dernier / et retire ce dernier
     
    324302
    325303    //url relative du repertoire contenant le fichier , on retire aussi le / en fin
    326     $document['source_url']['relative'] = $result[1].'/';
    327     $document['source_url']['absolute'] = $racine_site.$document['source_url']['relative'];
     304    $document['fichier'] = $fichier;
    328305
    329306    //information sur le nom du fichier
    330     $document['extension'] = $result[3];
     307    $document['extension'] = $fichier['extension'];
    331308    $document['name'] = $result[2];
    332     $document['fullname'] = $result[2].'.'.$result[3];
     309    $document['fullname'] = basename($fichier);
    333310
    334311    //creation du repertoire cible
    335312    //url relative du repertoire cible
    336     if(!is_dir(_DIR_IMG.lire_config('doc2img/repertoire_cible'))){
    337         sous_repertoire(_DIR_IMG, lire_config('doc2img/repertoire_cible'));
    338     }
    339     $document['cible_url']['relative'] = _DIR_IMG.lire_config('doc2img/repertoire_cible').'/'.$document['name'].'/';
    340     $document['cible_url']['absolute'] = $racine_site.$document['cible_url']['relative'];
     313    if(!is_dir(_DIR_VAR."cache-doc2img")){
     314        sous_repertoire(_DIR_VAR,"cache-doc2img");
     315    }
     316    $document['cible_url'] = _DIR_VAR."cache-doc2img".'/';
    341317
    342318    return $document;
  • _plugins_/doc2img/trunk/modeles/docimg.html

    r61753 r62042  
    11[(#REM)
    22
    3         Modèle docimg
     3        Modèle doc_img
    44]
    55<B_d2c>
     
    77        <div class="spip_docimg_#ID_DOCUMENT spip_documents[ spip_documents_(#ENV{align})][ (#ENV{class})] spip_lien_ok"[ style='float:(#ENV{align}|match{left|right});']>
    88        [(#ENV{no_pagination}|non)[<p class="pagination">(#PAGINATION)</p>]]
    9         <BOUCLE_d2c(DOC2IMG) {id_document=#ENV{id_document,#ENV{id}}}{par id_doc2img} {pagination 1}>
    10                 #SET{fichier,#EVAL{_DIR_IMG}#FICHIER}
    11                 <a href="#GET{fichier}" class="mediabox">
    12                 [(#GET{fichier}|image_reduire{#ENV{largeur,640},#ENV{hauteur,0}}|inserer_attribut{alt,''})]
     9        <BOUCLE_d2c(DOCUMENTS){mode=doc2img}{objet=document} {id_objet=#ENV{id_document,#ENV{id}}}{par id_document} {pagination 1}{statut==.*}>
     10                <a href="#URL_DOCUMENT" class="mediabox">
     11                [(#FICHIER|image_reduire{#ENV{largeur,640},#ENV{hauteur,0}}|inserer_attribut{alt,''})]
    1312                </a>
    1413        </BOUCLE_d2c>
  • _plugins_/doc2img/trunk/plugin.xml

    r61763 r62042  
    22        <nom><multi>[fr]Documents en Images[en]Documents to images</multi></nom>
    33        <auteur>Camille Lafitte</auteur>
    4         <version>1.2.0</version>
     4        <version>1.2.1</version>
    55        <etat>dev</etat>
    66        <slogan>
     
    1010                </multi>
    1111        </slogan>
    12     <description><multi>
    13         [fr]Ce plugin permet de convertir &#224; la vol&#233;e des pdf, tiff et autres types de document en image ou série d'images. Ces images sont ensuite exploitables via une boucle spécifique.
     12        <description><multi>
     13                [fr]Ce plugin permet de convertir &#224; la vol&#233;e des pdf, tiff et autres types de document en image ou série d'images. Ces images sont ensuite exploitables via une boucle spécifique.
    1414                [en]This plugin will convert on the fly pdf, tiff and other kind of documents in image or serie of images. These images can then be used with a specific loop.
    1515        </multi></description>
    16     <lien>http://www.spip-contrib.net/doc2img</lien>
     16        <lien>http://www.spip-contrib.net/doc2img</lien>
    1717        <icon>images/doc2img-128.png</icon>
    18     <prefix>doc2img</prefix>
     18        <prefix>doc2img</prefix>
    1919        <install>base/doc2img_install.php</install>
    20     <fonctions>doc2img_fonctions.php</fonctions>
    21         <version_base>0.93</version_base>
     20        <fonctions>doc2img_fonctions.php</fonctions>
     21        <version_base>0.94</version_base>
    2222        <pipeline>
    2323                <nom>declarer_tables_principales</nom>
     
    2828                <inclure>base/doc2img.php</inclure>
    2929        </pipeline>
    30     <pipeline>
    31        <nom>affiche_gauche</nom>
    32        <inclure>doc2img_pipeline.php</inclure>
    33    </pipeline>
    34     <pipeline>
    35        <nom>post_edition</nom>
    36        <inclure>doc2img_pipeline.php</inclure>
    37    </pipeline>
     30        <pipeline>
     31                <nom>affiche_gauche</nom>
     32                <inclure>doc2img_pipeline.php</inclure>
     33        </pipeline>
     34        <pipeline>
     35                <nom>post_edition</nom>
     36                <inclure>doc2img_pipeline.php</inclure>
     37        </pipeline>
    3838        <pipeline>
    3939                <nom>document_desc_actions</nom>
     
    4848                <inclure>doc2img_pipeline.php</inclure>
    4949        </pipeline>
    50         <necessite id="SPIP" version="[2.1.14;2.1.99]" />
     50        <necessite id="SPIP" version="[2.1.14;3.0.99]" />
    5151        <necessite id="spip_bonux" version="[2.3.0;]" />
    52         <utilise id="medias" version="[1.6.12;]" />
    53    <categorie>edition</categorie>
     52        <necessite id="medias" version="[1.6.12;]" />
     53        <categorie>edition</categorie>
    5454</plugin>
  • _plugins_/doc2img/trunk/prive/doc2img_liste.html

    r38725 r62042  
    33<B_listed2c>
    44Liste des #GRAND_TOTAL documents
    5 <BOUCLE_listed2c(DOC2IMG) {fusion id_document}>
    6     <a href=#URL_PAGE{prive/doc2img_liste,id_document=#ID_DOCUMENT}> #ID_DOCUMENT </a>
     5<BOUCLE_listed2c(DOCUMENTS){objet=document}{mode=doc2img}{fusion id_objet}>
     6    <a href=[(#SELF|parametre_url{id_document=#ID_DOCUMENT})]> #ID_DOCUMENT </a>
    77</BOUCLE_listed2c>
    8     La table est vide
    98<//B_listed2c>
    10 <B_d2c>
    11     <p class="pagination">#PAGINATION{page_precedent_suivant}</p>
    12 <BOUCLE_d2c(DOC2IMG) {id_document} {pagination 1} >
    13     <img src="#EVAL{_DIR_IMG}#FICHIER" />
    14 </BOUCLE_d2c>
    15     <p>Ce document poss&eacute;de #GRAND_TOTAL page(s)</p>
    16     <p class="pagination">#PAGINATION{page_precedent_suivant}</p>
    17 </B_d2c>
     9[(#MODELE{doc_img}{id_document})]
Note: See TracChangeset for help on using the changeset viewer.