From 0b3dd9d7bb6e43e3296c71509c2b5364889c7ac9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 2 Jan 2014 20:49:36 +0100 Subject: [PATCH] Fix: Call Image on this instead of pdf. Fix: Missing parameter for photo. Conflicts: htdocs/core/modules/member/doc/pdf_standard.class.php htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php --- .../modules/member/doc/pdf_standard.class.php | 8 ++++---- .../doc/pdf_standardlabel.class.php | 17 ++++++++-------- .../modules/printsheet/modules_labels.php | 20 +++++++++---------- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/htdocs/core/modules/member/doc/pdf_standard.class.php b/htdocs/core/modules/member/doc/pdf_standard.class.php index 0b0214196d08a..94580ff1fadb7 100644 --- a/htdocs/core/modules/member/doc/pdf_standard.class.php +++ b/htdocs/core/modules/member/doc/pdf_standard.class.php @@ -195,8 +195,8 @@ function Add_PDF_card(&$pdf,$textleft,$header,$footer,$outputlangs,$textright='' // Center if ($textright=='') // Only a left part { - if ($textleft == '%LOGO%' && $logo) $this->Image($logo,$_PosX+2,$_PosY+3+$this->_Line_Height,20); - else if ($textleft == '%PHOTO%' && $photo) $this->Image($photo,$_PosX+2,$_PosY+3+$this->_Line_Height,20); + if ($textleft == '%LOGO%' && $logo) $pdf->Image($logo,$_PosX+2,$_PosY+3+$this->_Line_Height,20); + else if ($textleft == '%PHOTO%' && $photo) $pdf->Image($photo,$_PosX+2,$_PosY+3+$this->_Line_Height,20); else { $pdf->SetXY($_PosX+3, $_PosY+3+$this->_Line_Height); @@ -230,8 +230,8 @@ function Add_PDF_card(&$pdf,$textleft,$header,$footer,$outputlangs,$textright='' } else // Only a right part { - if ($textright == '%LOGO%' && $logo) $this->Image($logo,$_PosX+$this->_Width-21,$_PosY+1,20); - else if ($textright == '%PHOTO%' && $photo) $this->Image($photo,$_PosX+$this->_Width-21,$_PosY+1,20); + if ($textright == '%LOGO%' && $logo) $pdf->Image($logo,$_PosX+$this->_Width-21,$_PosY+1,20); + else if ($textright == '%PHOTO%' && $photo) $pdf->Image($photo,$_PosX+$this->_Width-21,$_PosY+1,20); else { $pdf->SetXY($_PosX+2, $_PosY+3+$this->_Line_Height); diff --git a/htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php b/htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php index 5ee5c2bd72b53..e4c1cb81adf27 100644 --- a/htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php +++ b/htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php @@ -120,9 +120,10 @@ function Set_Char_Size(&$pdf,$pt) * @param string $footer Footer * @param Translate $outputlangs Output langs * @param string $textright Text right + * @param string $photo Photo (full path to image file used as replacement for key %PHOTOS% into left, right, header or footer text) * @return void */ - function Add_PDF_card(&$pdf,$textleft,$header,$footer,$outputlangs,$textright='') + function Add_PDF_card(&$pdf,$textleft,$header,$footer,$outputlangs,$textright='',$photo='') { global $mysoc,$conf,$langs; @@ -148,8 +149,6 @@ function Add_PDF_card(&$pdf,$textleft,$header,$footer,$outputlangs,$textright='' $logo=$conf->mycompany->dir_output.'/logos/'.$mysoc->logo; } } - // Define photo - $photo=''; // Define background image $backgroundimage=''; @@ -184,8 +183,8 @@ function Add_PDF_card(&$pdf,$textleft,$header,$footer,$outputlangs,$textright='' // Middle if ($textright=='') // Only a left part { - if ($textleft == '%LOGO%' && $logo) $this->Image($logo,$_PosX+2,$_PosY+3+$this->_Line_Height,20); - else if ($textleft == '%PHOTO%' && $photo) $this->Image($photo,$_PosX+2,$_PosY+3+$this->_Line_Height,20); + if ($textleft == '%LOGO%' && $logo) $pdf->Image($logo,$_PosX+2,$_PosY+3+$this->_Line_Height,20); + else if ($textleft == '%PHOTO%' && $photo) $pdf->Image($photo,$_PosX+2,$_PosY+3+$this->_Line_Height,20); else { $pdf->SetXY($_PosX+3, $_PosY+3+$this->_Line_Height); @@ -218,8 +217,8 @@ function Add_PDF_card(&$pdf,$textleft,$header,$footer,$outputlangs,$textright='' } else // Only a right part { - if ($textright == '%LOGO%' && $logo) $this->Image($logo,$_PosX+$this->_Width-21,$_PosY+1,20); - else if ($textright == '%PHOTO%' && $photo) $this->Image($photo,$_PosX+$this->_Width-21,$_PosY+1,20); + if ($textright == '%LOGO%' && $logo) $pdf->Image($logo,$_PosX+$this->_Width-21,$_PosY+1,20); + else if ($textright == '%PHOTO%' && $photo) $pdf->Image($photo,$_PosX+$this->_Width-21,$_PosY+1,20); else { $pdf->SetXY($_PosX+2, $_PosY+3+$this->_Line_Height); @@ -394,7 +393,7 @@ function _Set_Format(&$pdf, $format) /** * Function to build PDF on disk, then output on HTTP strem. * - * @param array $arrayofmembers Array of members informations + * @param array $arrayofrecords Array of record informations (array('textleft'=>,'textheader'=>, ..., 'id'=>,'photo'=>) * @param Translate $outputlangs Lang object for output language * @param string $srctemplatepath Full path of source filename for generator using a template file * @param string $outputdir Output directory @@ -471,7 +470,7 @@ function write_file($arrayofmembers,$outputlangs,$srctemplatepath,$outputdir='') foreach($arrayofmembers as $val) { // imprime le texte specifique sur la carte - $this->Add_PDF_card($pdf,$val['textleft'],$val['textheader'],$val['textfooter'],$langs,$val['textright'],$val['id'],$val['photo']); + $this->Add_PDF_card($pdf,$val['textleft'],$val['textheader'],$val['textfooter'],$langs,$val['textright'],$val['photo']); } //$pdf->SetXY(10, 295); diff --git a/htdocs/core/modules/printsheet/modules_labels.php b/htdocs/core/modules/printsheet/modules_labels.php index 63934cad40417..4c4ebad6c3af0 100644 --- a/htdocs/core/modules/printsheet/modules_labels.php +++ b/htdocs/core/modules/printsheet/modules_labels.php @@ -63,25 +63,25 @@ function liste_modeles($db,$maxfilenamelength=0) * Create a document onto disk accordign to template module * * @param DoliDB $db Database handler - * @param array $arrayofmembers Array of members + * @param array $arrayofrecords Array of records * @param string $modele Force le modele a utiliser ('' to not force) * @param Translate $outputlangs Objet lang a utiliser pour traduction * @param string $outputdir Output directory * @return int <0 if KO, >0 if OK */ -function members_label_pdf_create($db, $arrayofmembers, $modele, $outputlangs, $outputdir='') +function members_label_pdf_create($db, $arrayofrecords, $modele, $outputlangs, $outputdir='') { global $conf,$langs; $langs->load("members"); $error=0; - + // Increase limit for PDF build $err=error_reporting(); error_reporting(0); @set_time_limit(120); error_reporting($err); - + $code=''; $srctemplatepath=''; @@ -99,7 +99,7 @@ function members_label_pdf_create($db, $arrayofmembers, $modele, $outputlangs, $ } else $code=$modele; $modele='standardlabel'; - + // If selected modele is a filename template (then $modele="modelname:filename") $tmp=explode(':',$modele,2); if (! empty($tmp[1])) @@ -108,7 +108,7 @@ function members_label_pdf_create($db, $arrayofmembers, $modele, $outputlangs, $ $srctemplatepath=$tmp[1]; } else $srctemplatepath=$code; - + // Search template files $file=''; $classname=''; $filefound=0; $dirmodels=array('/'); @@ -118,7 +118,7 @@ function members_label_pdf_create($db, $arrayofmembers, $modele, $outputlangs, $ foreach(array('doc','pdf') as $prefix) { $file = $prefix."_".$modele.".class.php"; - + // On verifie l'emplacement du modele $file=dol_buildpath($reldir."core/modules/printsheet/doc/".$file,0); if (file_exists($file)) @@ -130,18 +130,18 @@ function members_label_pdf_create($db, $arrayofmembers, $modele, $outputlangs, $ } if ($filefound) break; } - + // Charge le modele if ($filefound) { require_once $file; $obj = new $classname($db); - + // We save charset_output to restore it because write_file can change it if needed for // output format that does not support UTF8. $sav_charset_output=$outputlangs->charset_output; - if ($obj->write_file($arrayofmembers, $outputlangs, $srctemplatepath, $outputdir) > 0) + if ($obj->write_file($arrayofrecords, $outputlangs, $srctemplatepath, $outputdir) > 0) { $outputlangs->charset_output=$sav_charset_output; return 1;