Changeset 53039 in spip-zone
- Timestamp:
- Oct 8, 2011, 9:19:23 PM (9 years ago)
- Location:
- _plugins_/fusion_pdf
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/fusion_pdf/action/fusion_pdf.php
r53029 r53039 9 9 10 10 // 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); 12 12 $id_objet = intval($id_objet); 13 $id_document_parent = intval($id_document_parent); 13 14 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'); 15 16 16 17 // 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); 19 20 } 20 21 … … 26 27 27 28 28 function fusion_pdf_post($ path_parent, $interval, $prefix,$titre_sale,$objet,$id_objet){29 function fusion_pdf_post($id_document_parent, $interval, $prefix,$objet,$id_objet){ 29 30 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; 32 34 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"; 35 40 36 41 //verifier que ce n'est pas encore dans la base … … 39 44 40 45 //on extrait les pages et on fusionne 41 fusionner($path_parent,$outputpdf,$interval);46 $fusion=fusionner($path_parent,$outputpdf,$interval); 42 47 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){ 44 65 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 } 71 78 } 72 79 … … 77 84 function fusionner($path_parent,$outputpdf,$interval) { 78 85 // 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) 80 87 if(include_once(find_in_path('lib/PDFMerger/PDFMerger.php'))){ 81 88 … … 83 90 $pdf->addPDF($path_parent,$interval) 84 91 ->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'); 88 95 } 89 96 -
_plugins_/fusion_pdf/plugin.xml
r53029 r53039 2 2 <nom>Fusion pdf</nom> 3 3 <auteur>Anne-lise Martenot (elastick.net)</auteur> 4 <version>0.2. 1</version>4 <version>0.2.2</version> 5 5 <etat>test</etat> 6 6 <icon>img/fusionpdf_120.png</icon> -
_plugins_/fusion_pdf/squelettes/inclure/action_fusionpdf.html
r53029 r53039 6 6 7 7 <BOUCLE_documents(DOCUMENTS){id_rubrique}{extension=pdf}{0,1}> 8 #SET{ path_parent,#FICHIER}8 #SET{id_document_parent,#ID_DOCUMENT} 9 9 </BOUCLE_documents> 10 10 11 11 [(#REM) 12 12 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 17 16 - l'objet auquel le document pdf généré sera lié 18 17 - l'id_objet auquel le document pdf généré sera lié … … 20 19 21 20 [(#BOUTON_ACTION{<:fusionpdf:generez_le_pdf:>, 22 [(#URL_ACTION_AUTEUR{fusion_pdf,#GET{ path_parent}//5-7//FusionPDF//#TITRE//article//#ID_ARTICLE,#SELF21 [(#URL_ACTION_AUTEUR{fusion_pdf,#GET{id_document_parent}/5-7/FusionPDF/#TITRE/article/#ID_ARTICLE,#SELF 23 22 })],ajax})] 24 23
Note: See TracChangeset
for help on using the changeset viewer.