Changeset 53039 in spip-zone for _plugins_/fusion_pdf


Ignore:
Timestamp:
Oct 8, 2011, 9:19:23 PM (9 years ago)
Author:
toutati@…
Message:

Modification sur le titre, on prend maintenant le titre de l'objet id_objet demande

Location:
_plugins_/fusion_pdf
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/fusion_pdf/action/fusion_pdf.php

    r53029 r53039  
    99       
    1010        // On recupere les infos de l'argument
    11         @list($path_parent,$interval,$prefix,$titre_sale,$objet,$id_objet) = explode('//', $arg);
     11        @list($id_document_parent,$interval,$prefix,$objet,$id_objet) = explode('/', $arg);
    1212        $id_objet = intval($id_objet);
     13        $id_document_parent = intval($id_document_parent);
    1314       
    14         spip_log("fusion pour pdf $path_parent, $interval,$prefix,$titre_sale,$objet,$id_objet",'fusionpdf');
     15        spip_log("fusion pour pdf $id_document_parent, $interval,$prefix,$objet,$id_objet",'fusionpdf');
    1516
    1617        // todo autoriser('fusion_pdf', 'article',$arg[1]))
    17         if ($path_parent && $interval!=' ') {
    18                 $fusion=fusion_pdf_post($path_parent, $interval,$prefix, $titre_sale,$objet,$id_objet);
     18        if ($id_document_parent && $interval!=' ') {
     19                $fusion=fusion_pdf_post($id_document_parent, $interval,$prefix,$objet,$id_objet);
    1920        }
    2021       
     
    2627
    2728
    28 function fusion_pdf_post($path_parent, $interval, $prefix,$titre_sale,$objet,$id_objet){
     29function fusion_pdf_post($id_document_parent, $interval, $prefix,$objet,$id_objet){
    2930       
    30         $fichier_propre=titrature($titre_sale,$prefix).'.pdf';
    31         $outputpdf=_DIR_IMG.'/pdf/'.$fichier_propre;
     31        $titre=sql_getfetsel('titre', 'spip_'.$objet.'s', "id_$objet=".$id_objet);     
     32        $fichier_propre=titrature($titre,$prefix).'.pdf';
     33        $outputpdf=_DIR_IMG.'pdf/'.$fichier_propre;
    3234       
    33         spip_log("fusionpost2 generer $outputpdf a partir de $path_parent",'fusionpdf');       
    34 
     35        spip_log("fusionpost2 generer pour $objet $id_objet $outputpdf a partir de $id_document_parent",'fusionpdf');   
     36       
     37        //recuperer le $path_parent
     38        $path_parent= sql_getfetsel('fichier', 'spip_documents', "id_document=".$id_document_parent);
     39        $path_parent=_DIR_IMG."$path_parent";
    3540       
    3641        //verifier que ce n'est pas encore dans la base
     
    3944       
    4045        //on extrait les pages et on fusionne
    41         fusionner($path_parent,$outputpdf,$interval);
     46        $fusion=fusionner($path_parent,$outputpdf,$interval);
    4247       
    43         $date_objet=sql_getfetsel('date',"spip_".$objet."s","id_$objet='$id_objet'");
     48        if($fusion){
     49                $date_objet=sql_getfetsel('date',"spip_".$objet."s","id_$objet='$id_objet'");
     50                       
     51                //preparer les champs
     52                                $champs['date'] = $date_objet;
     53                                $champs['fichier'] = 'pdf/'.$fichier_propre;
     54                                $champs['taille'] =  filesize($outputpdf);
     55                                $champs['largeur'] = 0;
     56                                $champs['hauteur'] = 0;
     57                                $champs['mode'] = 'document';
     58                                $champs['extension'] = 'pdf';
     59                                $champs['statut'] = 'publie';
     60                               
     61                //les inserer avec pipeline adequat     
     62                $id_document = insert_document($champs);
     63       
     64                if($id_document){
    4465               
    45         //preparer les champs
    46                         $champs['date'] = $date_objet;
    47                         $champs['fichier'] = $outputpdf;
    48                         $champs['taille'] =  filesize($outputpdf);
    49                         $champs['largeur'] = 0;
    50                         $champs['hauteur'] = 0;
    51                         $champs['mode'] = 'document';
    52                         $champs['extension'] = 'pdf';
    53                         $champs['statut'] = 'publie';
    54                        
    55         //les inserer avec pipeline adequat     
    56         $id_document = insert_document($champs);
    57 
    58         if($id_document){
    59        
    60         //puis sauvegarder le document dans l'objet demande
    61         spip_log("insertion doc= $id_document",'fusionpdf');
    62                 $document_lien = sql_insertq(
    63                         'spip_documents_liens',
    64                         array(
    65                                 'id_document'=>$id_document,
    66                                 'id_objet'=>$id_objet,
    67                                 'objet'=>$objet,
    68                                 'vu'=>'non'
    69                         )
    70                 );
     66                //puis sauvegarder le document dans l'objet demande
     67                spip_log("insertion doc= $id_document",'fusionpdf');
     68                        $document_lien = sql_insertq(
     69                                'spip_documents_liens',
     70                                array(
     71                                        'id_document'=>$id_document,
     72                                        'id_objet'=>$id_objet,
     73                                        'objet'=>$objet,
     74                                        'vu'=>'non'
     75                                )
     76                        );
     77                }
    7178        }
    7279
     
    7784function fusionner($path_parent,$outputpdf,$interval) {
    7885        // pour fusionner divers pdfs entre eux
    79         //le path_parent pourrait etre un tableau (cheminpdf1=>pages,cheminpdf2=>pages)
     86        //le id_document_parent pourrait etre un tableau (cheminpdf1=>pages,cheminpdf2=>pages)
    8087        if(include_once(find_in_path('lib/PDFMerger/PDFMerger.php'))){
    8188       
     
    8390        $pdf->addPDF($path_parent,$interval)
    8491                ->merge('file', $outputpdf);                   
    85         } else  spip_log("librairie introuvable input= $path_parent output= $outputpdf",'fusionpdf');
    86 
    87        
     92        }
     93        if($pdf) return true;
     94        else spip_log("librairie introuvable input= $path_parent output= $outputpdf",'fusionpdf');
    8895}
    8996
  • _plugins_/fusion_pdf/plugin.xml

    r53029 r53039  
    22        <nom>Fusion pdf</nom>
    33        <auteur>Anne-lise Martenot (elastick.net)</auteur>
    4         <version>0.2.1</version>
     4        <version>0.2.2</version>
    55        <etat>test</etat>
    66        <icon>img/fusionpdf_120.png</icon>
  • _plugins_/fusion_pdf/squelettes/inclure/action_fusionpdf.html

    r53029 r53039  
    66       
    77<BOUCLE_documents(DOCUMENTS){id_rubrique}{extension=pdf}{0,1}>
    8 #SET{path_parent,#FICHIER}
     8#SET{id_document_parent,#ID_DOCUMENT}
    99</BOUCLE_documents>
    1010
    1111[(#REM)
    1212        Pour donner à manger à fusion_pdf:
    13         - le chemin complet du pdf de départ
    14         - l'interval de type "1-5" ou "1,3,9" ou "all"
    15         - le prefix du nom de fichier pdf généré
    16         - suivi d'un titre comme #TITRE
     13        - le pdf de départ #FICHIER suffit
     14        - l'interval de type "1-5" ou "1,3,9" ou all
     15        - le prefix du nom de fichier, le titre sera celui de
    1716        - l'objet auquel le document pdf généré sera lié
    1817        - l'id_objet auquel le document pdf généré sera lié
     
    2019
    2120[(#BOUTON_ACTION{<:fusionpdf:generez_le_pdf:>,
    22 [(#URL_ACTION_AUTEUR{fusion_pdf,#GET{path_parent}//5-7//FusionPDF//#TITRE//article//#ID_ARTICLE,#SELF
     21[(#URL_ACTION_AUTEUR{fusion_pdf,#GET{id_document_parent}/5-7/FusionPDF/#TITRE/article/#ID_ARTICLE,#SELF
    2322})],ajax})]     
    2423
Note: See TracChangeset for help on using the changeset viewer.