source: spip-zone/_plugins_/article_pdf/article_pdf.html @ 108964

Last change on this file since 108964 was 108964, checked in by maieul@…, 22 months ago

problème de fin de ligne

File size: 5.0 KB
Line 
1#CACHE{0}
2<?php
3
4        // Mode release => $debug=0
5        // Mode debug => $debug=1
6       
7        <B_principale>
8        <BOUCLE_principale(ARTICLES){id_article}>
9       
10        $conf_url_site = '[(#URL_ARTICLE|url_absolue|texte_script)]' ;
11        $conf_nom_site = '[(#NOM_SITE_SPIP|pdf_first_clean|supprimer_tags|texte_script)]' ;
12       
13        // Recuperation et definition des differents elements
14       
15        $site='[(#NOM_SITE_SPIP|pdf_first_clean|supprimer_tags|texte_script)]';
16        $rubrique='<B_rubrique_mere><BOUCLE_rubrique_mere(RUBRIQUES){id_rubrique}>[(#TITRE|supprimer_numero|pdf_first_clean|supprimer_tags|texte_script)]</BOUCLE_rubrique_mere></B_rubrique_mere>[(#NOM_SITE_SPIP|pdf_first_clean|supprimer_tags|texte_script)]<//B_rubrique_mere>';
17        $DateParution='[(#DATE_REDAC|affdate|pdf_first_clean|texte_script)]';
18        $DateMiseEnLigne='[(#DATE|nom_jour|texte_script)] [(#DATE|affdate|pdf_first_clean|texte_script)]';
19       
20        /*$auteur='<BOUCLE_auteurs(AUTEURS){id_article}{", "}>[(#NOM|pdf_first_clean|texte_script)]</BOUCLE_auteurs>';*/
21        $motsclef='<BOUCLE_keywords(MOTS){id_article}{", "}>[(#TITRE|pdf_first_clean|supprimer_tags|texte_script)]</BOUCLE_keywords>';
22        $yahoo='-<BOUCLE_yahoo(HIERARCHIE){id_article}> [(#TITRE|supprimer_numero|pdf_first_clean|supprimer_tags|texte_script)] - </BOUCLE_yahoo>';
23
24        $logo_site='[(#LOGO_SITE_SPIP|extraire_attribut{src}|texte_script)]';
25        $logo_site = preg_replace(',[?][0-9]+$,','',$logo_site);
26        // attention à l'ordre des filtres SPIP
27        $logo_fichier='[(#LOGO_ARTICLE_RUBRIQUE|texte_script|extraire_attribut{src})]'; //fonctionne correctement
28        $logo_fichier = preg_replace(',[?][0-9]+$,','',$logo_fichier);
29//  [$logo_lien="(#URL_ARTICLE)";]
30               
31        [$surtitre='(#SURTITRE|pdf_first_clean|supprimer_tags|texte_script)';]
32        [$titre='(#TITRE|supprimer_numero|pdf_first_clean|supprimer_tags|texte_script)';]
33        [$soustitre='(#SOUSTITRE|pdf_first_clean|supprimer_tags|texte_script)';]
34        [$chapo='(#CHAPO|pdf_first_clean|texte_script)';]
35        [$descriptif='(#DESCRIPTIF|pdf_first_clean|texte_script)';]
36        [$texte= '(#TEXTE|image_reduire{400,400}|abs_url|pdf_first_clean|texte_script)';]
37        [$ps='(#PS|pdf_first_clean|texte_script)';]
38        [$notes='(#NOTES|pdf_first_clean|texte_script)';]
39       
40        $copyright = '[(#VAL{articlepdf:copyright}|_T|pdf_first_clean|texte_script)][(#NOM_SITE_SPIP|pdf_first_clean|supprimer_tags|texte_script)][(#VAL{articlepdf:tous_droits_reserves}|_T|pdf_first_clean|texte_script)]';
41
42        $id_article = "#ID_ARTICLE";
43       
44        $files_pdf = '[(#TITRE|pdf_nommer_ancien{article, #ID_ARTICLE})]';     
45        $file_out = _DIR_STOCK_PDF . $files_pdf ;
46       
47        $files_pdf_new = '[(#TITRE|pdf_nommer{article, #ID_ARTICLE})]';
48        $file_out_new = _DIR_STOCK_PDF . $files_pdf_new ;
49       
50        //creer un pdf avec un nouveau nom que si un ancien n'existe pas
51        if (!file_exists($file_out)) {
52                $file_out = $file_out_new ;
53                $files_pdf = $files_pdf_new;
54        }
55       
56        if (file_exists($file_out))
57        {
58                clearstatcache;
59                $damo = date(YmdHi , strtotime("#DATE_MODIF")) ;
60                $dage = date(YmdHi , filemtime($file_out)) ;
61                if ($damo > $dage)
62                {
63                        unlink($file_out);
64                }
65        }
66       
67        </BOUCLE_principale>
68        </B_principale>
69        header("Location: index.php");
70        exit;
71        <//B_principale>
72       
73        if ($debug == 1 && file_exists($file_out))
74        {
75                unlink($file_out);
76        }
77       
78        if (!file_exists($file_out))
79        {
80       
81                define('FPDF_FONTPATH',_DIR_FPDF_LIB.'font');
82                include_spip(_DIR_FPDF_LIB.'fpdf');
83                include_spip('pdf/lib_pdf_global');
84                include_spip('pdf/lib_pdf_spip');
85       
86                //--------------------------------
87                // Debut génération du PDF
88                //--------------------------------
89                $pdf->debug=$debug;
90                $pdf=new PDF_SPIP();
91               
92                $pdf->SetCompression(false);
93                $pdf->SetDisplayMode(fullpage, single );       
94               
95                // haut, gauche,  bas, droite
96                $pdf->SetAllMargins(12,15,12,10);
97       
98                $pdf->SetTitle($titre);
99                $pdf->SetCreator($site);
100                $pdf->SetCopyright($copyright);
101                $pdf->SetSubject($rubrique);
102                $pdf->SetKeywords($motsclef);
103       
104                $pdf->Build($file_out);
105               
106                $lier_pdf = pipeline('build_pdf',array(
107                        'args'=>array(
108                                'objet'         => 'article',
109                                'id_objet'      => $id_article,
110                                'file_name' => $files_pdf
111                        ),
112                        'data'=> $file_out,
113        ));
114               
115        }
116       
117        $id_document = $lier_pdf[data][$file_out];
118        if($id_document > 0){
119                $file_out = '#URL_DOCUMENT{$id_document}';
120        }
121
122                // Vous voulez afficher un pdf
123                header("Content-type: application/pdf");
124        //Si on est en mutualisé avec masquages des vraies urls d'images
125        if (stripos($GLOBALS['spip_pipeline']['affichage_final'],'mutualisation_url_img_courtes')){
126                $file_out = str_replace(_DIR_IMG,_DIR_RACINE . _NOM_PERMANENTS_ACCESSIBLES,$file_out);
127        }
128        if ($debug==1)
129        {
130                // Affiche le PDF directement dans l'onglet de Firefox
131                // Ne fonctionne pas sous IE 6 SP2 : le pdf n'est pas reconnu (pris pour un fichier texte)
132                header("location: ". url_de_base() . $file_out);
133        }
134        else
135        {
136                // Il sera nommé $files_pdf
137                // ATTENTION : pour "filename", mettre un nom de fichier court (<nom>.<extension>)
138                // sinon IE 6 SP2 ne reconnaîtra pas le type de fichier
139                // Semble poser problème sous IE6 SP1
140                // Ah,  Microsoft, je vous jure !
141                header('Content-Disposition: attachment; filename=' . $files_pdf);
142
143                // Le source du PDF original.pdf
144                readfile($file_out);
145        }
146
147        exit;
Note: See TracBrowser for help on using the repository browser.