Skip to content
Extraits de code Groupes Projets
Valider e1530746 rédigé par RealET's avatar RealET :kissing_cat:
Parcourir les fichiers

fix : la version PDF d'un secteur ne marchait plus depuis bien longtemps

parent b170e024
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
#CACHE{0} #CACHE{0}
<?php <?php
//au choix, selon le cas (voir les avantages et les inconvéniants de chaque selon le site): //au choix, selon le cas (voir les avantages et les inconvniants de chaque selon le site):
$path_pdf = sous_repertoire(_DIR_IMG, "article_PDF"); //stockage sous le dossier IMG $path_pdf = sous_repertoire(_DIR_IMG, "article_PDF"); //stockage sous le dossier IMG
// Mode release => $debug=0 // Mode release => $debug=0
// Mode debug => $debug=1 (ne fonctionne pas sous Internet Explorer)=> ??? si, ça fonctionne ! // Mode debug => $debug=1 (ne fonctionne pas sous Internet Explorer)=> ??? si, a fonctionne !
$debug=1; $debug=1;
<B_principale> <B_principale>
<BOUCLE_principale(RUBRIQUES){id_rubrique}> <BOUCLE_principale(RUBRIQUES){id_rubrique}>
$conf_url_site = '[(#URL_SITE_SPIP|texte_script)]' ; $conf_url_site = '[(#URL_SITE_SPIP|texte_script)]' ;
$conf_nom_site = '[(#NOM_SITE_SPIP|pdf_first_clean|texte_script)]' ; $conf_nom_site = '[(#NOM_SITE_SPIP|pdf_first_clean|texte_script)]' ;
// Recuperation et definition des differents elements // Recuperation et definition des differents elements
$site='[(#NOM_SITE_SPIP|pdf_first_clean|texte_script)]'; $site='[(#NOM_SITE_SPIP|pdf_first_clean|texte_script)]';
$rubrique='[(#NOM_SITE_SPIP|pdf_first_clean|texte_script)]'; $rubrique='[(#NOM_SITE_SPIP|pdf_first_clean|texte_script)]';
$DateParution='[(#DATE_REDAC|affdate|pdf_first_clean|texte_script)]'; $DateParution='[(#DATE_REDAC|affdate|pdf_first_clean|texte_script)]';
$DateMiseEnLigne='[(#DATE|nom_jour|texte_script)] [(#DATE|affdate|pdf_first_clean|texte_script)]'; $DateMiseEnLigne='[(#DATE|nom_jour|texte_script)] [(#DATE|affdate|pdf_first_clean|texte_script)]';
$yahoo='-<BOUCLE_yahoo(HIERARCHIE){id_rubrique}> [(#TITRE|pdf_first_clean|texte_script)] - </BOUCLE_yahoo>'; $yahoo='-<BOUCLE_yahoo(HIERARCHIE){id_rubrique}> [(#TITRE|pdf_first_clean|texte_script)] - </BOUCLE_yahoo>';
$logo_site='[(#LOGO_SITE_SPIP|extraire_attribut{src}|texte_script)]'; //$logo_site='[(#LOGO_SITE_SPIP|supprimer_timestamp|extraire_attribut{src}|texte_script)]';
// attention à l'ordre des filtres SPIP // attention l'ordre des filtres SPIP
// [$logo_fichier='(#LOGO_ARTICLE_RUBRIQUE|extraire_attribut{src}|texte_script)';] ne fonctionne pas // [$logo_fichier='(#LOGO_ARTICLE_RUBRIQUE|extraire_attribut{src}|texte_script)';] ne fonctionne pas
[$logo_fichier='(#LOGO_ARTICLE_RUBRIQUE|texte_script|extraire_attribut{src})';] //fonctionne correctement [$logo_fichier='(#LOGO_ARTICLE_RUBRIQUE|sinon{''}|supprimer_timestamp|texte_script|extraire_attribut{src})';] //fonctionne correctement
// [$logo_lien="(#URL_ARTICLE)";] // [$logo_lien="(#URL_ARTICLE)";]
[$titre='(#TITRE|pdf_first_clean|texte_script)';] [$titre='(#TITRE|pdf_first_clean|texte_script)';]
[$descriptif='(#DESCRIPTIF|pdf_first_clean|texte_script)';] [$descriptif='(#DESCRIPTIF|pdf_first_clean|texte_script)';]
$texte= texte_script( $texte= texte_script(
pdf_first_clean( pdf_first_clean(
recuperer_fond('noisettes/aff_rub_complet_texte',array('id_rubrique' => '#ID_RUBRIQUE')) recuperer_fond('noisettes/aff_rub_complet_texte',array('id_rubrique' => '#ID_RUBRIQUE'))
) )
); );
$copyright = '[(#REM|texte{'Copyright (c) '}|pdf_first_clean|texte_script)][(#NOM_SITE_SPIP|pdf_first_clean|texte_script)][(#REM|texte{'\nTous droits réservés'}|pdf_first_clean|texte_script)]'; $copyright = '[(#VAL{articlepdf:copyright}|_T|pdf_first_clean|sinon{''}|texte_script)][(#NOM_SITE_SPIP|pdf_first_clean|supprimer_tags|sinon{''}|texte_script)][(#VAL{articlepdf:tous_droits_reserves}|_T|pdf_first_clean|sinon{''}|texte_script)]';
$id_rubrique = "#ID_RUBRIQUE"; $id_rubrique = "#ID_RUBRIQUE";
$url_rubrique = generer_url_entite($id_rubrique,'rubrique'); $url_rubrique = generer_url_entite($id_rubrique,'rubrique');
if (strpos($url_rubrique,'?')===FALSE){ if (strpos($url_rubrique,'?')===FALSE){
$p = strrpos($url_rubrique,'.'); $p = strrpos($url_rubrique,'.');
if ($p!==FALSE) if ($p!==FALSE)
$url_rubrique = substr($url_rubrique,0,$p); $url_rubrique = substr($url_rubrique,0,$p);
$files_pdf = $url_rubrique.".pdf"; $files_pdf = $url_rubrique.".pdf";
} }
else else
$files_pdf = "rubrique_".$id_rubrique.".pdf" ; $files_pdf = "rubrique_".$id_rubrique.".pdf" ;
$file_out = $path_pdf . $files_pdf ; $file_out = $path_pdf . $files_pdf ;
if (file_exists($file_out)) if (file_exists($file_out))
{ {
clearstatcache; clearstatcache();
$damo = date(YmdHi , strtotime("#DATE_MODIF")) ; $damo = date('YmdHi' , strtotime("#DATE_MODIF")) ;
$dage = date(YmdHi , filemtime($file_out)) ; $dage = date('YmdHi' , filemtime($file_out)) ;
if ($damo > $dage) if ($damo > $dage)
{ {
unlink($file_out); unlink($file_out);
} }
} }
</BOUCLE_principale> </BOUCLE_principale>
</B_principale> </B_principale>
header("Location: index.php"); header("Location: index.php");
exit; exit;
<//B_principale> <//B_principale>
if ($debug == 1 && file_exists($file_out)) if ($debug == 1 && file_exists($file_out))
{ {
unlink($file_out); unlink($file_out);
} }
if (!file_exists($file_out)) if (!file_exists($file_out))
{ {
//define('FPDF_FONTPATH',_DIR_PLUGIN_ARTICLE_PDF.'/font/'); define('FPDF_FONTPATH',_DIR_FPDF_LIB.'font');
include_spip('pdf/fpdf'); include_spip(_DIR_FPDF_LIB.'fpdf');
include_spip('pdf/lib_pdf_global'); include_spip('pdf/lib_pdf_global');
include_spip('pdf/lib_pdf_spip'); include_spip('pdf/lib_pdf_spip');
//-------------------------------- //--------------------------------
// Debut génération du PDF // Debut gnration du PDF
//-------------------------------- //--------------------------------
$pdf->debug=$debug; $pdf=new PDF_SPIP();
$pdf=new PDF_SPIP(); $pdf->debug=$debug;
$pdf->SetCompression(false); $pdf->SetCompression(false);
$pdf->SetDisplayMode(fullpage, single ); $pdf->SetDisplayMode('fullpage', 'single');
// haut, gauche, bas, droite // haut, gauche, bas, droite
$pdf->SetAllMargins(12,15,12,10); $pdf->SetAllMargins(12,15,12,10);
$pdf->SetTitle($titre); $pdf->SetTitle($titre);
$pdf->SetCreator($site); $pdf->SetCreator($site);
$pdf->SetCopyright($copyright); $pdf->SetCopyright($copyright);
$pdf->SetSubject($rubrique); $pdf->SetSubject($rubrique);
$pdf->SetKeywords($motsclef); $pdf->SetKeywords($motsclef);
$pdf->Build($file_out); $pdf->Build($file_out);
} $lier_pdf = pipeline('build_pdf',array(
'args'=>array(
// Vous voulez afficher un pdf 'objet' => 'article',
header("Content-type: application/pdf"); 'id_objet' => $id_article,
if ($debug==1) 'file_name' => $files_pdf
{ ),
// Affiche le PDF directement dans l'onglet de Firefox 'data'=> $file_out,
// Ne fonctionne pas sous IE 6 SP2 : le pdf n'est pas reconnu (pris pour un fichier texte) ));
header("location: ". url_de_base() . $file_out);
} }
else
{ $id_document = isset($lier_pdf['data'][$file_out]) ? $lier_pdf['data'][$file_out] : 0;
// Il sera nommé $files_pdf if($id_document > 0){
// ATTENTION : pour "filename", mettre un nom de fichier court (<nom>.<extension>) $file_out = '#URL_DOCUMENT{$id_document}';
// sinon IE 6 SP2 ne reconnaîtra pas le type de fichier }
// Semble poser problème sous IE6 SP1
// Ah, Microsoft, je vous jure ! // Vous voulez afficher un pdf
header('Content-Disposition: attachment; filename=' . $files_pdf); header("Content-type: application/pdf");
//Si on est en mutualis avec masquages des vraies urls d'images
// Le source du PDF original.pdf if (stripos($GLOBALS['spip_pipeline']['affichage_final'],'mutualisation_url_img_courtes')){
readfile($file_out); $file_out = str_replace(_DIR_IMG,_DIR_RACINE . _NOM_PERMANENTS_ACCESSIBLES,$file_out);
} }
// Affiche le PDF directement dans l'onglet de Firefox
exit; header("location: ". url_de_base() . $file_out);
exit;
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter