source: pmb4.2/trunk/fuentes/pmb/classes/lettre_devis.class.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 18.5 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: lettre_devis.class.php,v 1.5 2015-04-03 11:16:20 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9require_once("$class_path/pdf_factory.class.php");
10require_once("$class_path/entites.class.php");
11require_once("$class_path/coordonnees.class.php");
12require_once("$class_path/actes.class.php");
13require_once("$class_path/lignes_actes.class.php");
14require_once("$class_path/types_produits.class.php");
15
16class lettreDevis_PDF {
17       
18        var $PDF;
19        var $orient_page = 'P';                 //Orientation page (P=portrait, L=paysage)
20        var $largeur_page = 210;                //Largeur de page
21        var $hauteur_page = 297;                //Hauteur de page
22        var $unit = 'mm';                               //Unite
23        var $marge_haut = 10;                   //Marge haut
24        var $marge_bas = 20;                    //Marge bas
25        var $marge_droite = 10;                 //Marge droite
26        var $marge_gauche = 10;                 //Marge gauche
27        var $w = 190;                                   //Largeur utile page
28        var $font = 'Helvetica';                //Police
29        var $fs = 10;                                   //Taille police
30        var $x_logo = 10;                               //Distance du logo / bord gauche de page
31        var $y_logo = 10;                               //Distance du logo / bord haut de page
32        var $l_logo = 20;                               //Largeur logo
33        var $h_logo = 20;                               //Hauteur logo
34        var $x_raison = 35;                             //Distance raison sociale / bord gauche de page
35        var $y_raison = 10;                             //Distance raison sociale / bord haut de page
36        var $l_raison = 100;                    //Largeur raison sociale
37        var $h_raison = 10;                             //Hauteur raison sociale
38        var $fs_raison = 16;                    //Taille police raison sociale
39        var $x_date = 150;                              //Distance date / bord gauche de page
40        var $y_date = 10;                               //Distance date / bord haut de page
41        var $l_date = 0;                                //Largeur date
42        var $h_date = 6;                                //Hauteur date
43        var $fs_date = 8;                               //Taille police date
44        var $sep_ville_date = '';               //Séparateur entre ville et date
45        var $x_adr_fac = 10;                    //Distance adr facture / bord gauche de page
46        var $y_adr_fac = 35;                    //Distance adr facture / bord haut de page
47        var $l_adr_fac = 60;                    //Largeur adr facture
48        var $h_adr_fac = 5;                             //Hauteur adr facture
49        var $fs_adr_fac = 10;                   //Taille police adr facture
50        var $text_adr_fac = '';
51        var $text_adr_fac_tel = '';
52        var $text_adr_fac_fax = '';
53        var $text_adr_fac_email = '';
54        var $x_adr_liv = 10;                    //Distance adr livraison / bord gauche de page
55        var $y_adr_liv = 75;                    //Distance adr livraison / bord haut de page
56        var $l_adr_liv = 60;                    //Largeur adr livraison
57        var $h_adr_liv = 5;                             //Hauteur adr livraison
58        var $fs_adr_liv = 10;                   //Taille police adr livraison
59        var $text_adr_liv = '';
60        var $text_adr_liv_tel = '';
61        var $text_adr_liv_tel2 = '';
62        var $text_adr_liv_email = '';
63        var $x_adr_fou = 100;                   //Distance adr fournisseur / bord gauche de page
64        var $y_adr_fou = 55;                    //Distance adr fournisseur / bord haut de page
65        var $l_adr_fou = 100;                   //Largeur adr fournisseur
66        var $h_adr_fou = 6;                             //Hauteur adr fournisseur
67        var $fs_adr_fou = 14;                   //Police adr fournisseur
68        var $text_adr_fou = '';         
69        var $x_num = 10;                                //Distance num devis / bord gauche de page
70        var $y_num = 110;                               //Distance num devis / bord haut de page
71        var $l_num = 0;                                 //Largeur num devis
72        var $h_num = 10;                                //Hauteur num devis
73        var $fs_num = 16;                               //Taille police num devis
74        var $text_num = '';                             //Texte commande
75        var $text_before = '';                  //texte avant table devis
76        var $text_after = '';                   //texte après table devis
77        var $h_tab = 5;                                 //Hauteur de ligne table devis
78        var $fs_tab = 10;                               //Taille police table devis
79        var $x_tab = 10;                                //position table devis / bord gauche page
80        var $y_tab = 10;                                //position table devis / haut page sur pages 2 et +
81        var $x_code =  '';
82        var $w_code = '';
83        var $x_lib = '';
84        var $w_lib = '';
85        var $x_qte = '';
86        var $w_qte = '';
87        var $x_sign = 10;                               //Distance signature / bord gauche de page
88        var $l_sign = 60;                               //Largeur cellule signature
89        var $h_sign = 5;                                //Hauteur signature
90        var $fs_sign = 10;                              //Taille police signature
91        var $text_sign = '';                    //Texte signature
92        var $y_footer = 15;                             //Distance footer / bas de page
93        var $fs_footer = 8;                             //Taille police footer
94        var $y = 0;
95        var $h = 0;
96        var $s = 0;
97        var $filename='devis.pdf';
98        var $h_header = 0;
99       
100        function __construct() {
101               
102                global $msg, $charset, $pmb_pdf_font;
103                global $acquisition_pdfdev_orient_page, $acquisition_pdfdev_text_size, $acquisition_pdfdev_format_page, $acquisition_pdfdev_marges_page;
104                global $acquisition_pdfdev_pos_logo, $acquisition_pdfdev_pos_raison, $acquisition_pdfdev_pos_date, $acquisition_pdfdev_pos_adr_fac;
105                global $acquisition_pdfdev_pos_adr_liv, $acquisition_pdfdev_pos_adr_fou, $acquisition_pdfdev_pos_num, $acquisition_pdfdev_text_before;
106                global $acquisition_pdfdev_text_after, $acquisition_pdfdev_tab_dev, $acquisition_pdfdev_pos_sign, $acquisition_pdfdev_text_sign;
107                global $acquisition_pdfdev_pos_footer;
108                global $acquisition_gestion_tva; 
109                       
110                if($acquisition_pdfdev_orient_page) $this->orient_page = $acquisition_pdfdev_orient_page;
111               
112                $format_page = explode('x',$acquisition_pdfdev_format_page);
113                if($format_page[0]) $this->largeur_page = $format_page[0];
114                if($format_page[1]) $this->hauteur_page = $format_page[1];
115
116                $this->PDF = pdf_factory::make($this->orient_page, $this->unit, array($this->largeur_page, $this->hauteur_page));
117               
118                $marges_page = explode(',', $acquisition_pdfdev_marges_page);
119                if ($marges_page[0]) $this->marge_haut = $marges_page[0];
120                if ($marges_page[1]) $this->marge_bas = $marges_page[1];
121                if ($marges_page[2]) $this->marge_droite = $marges_page[2];
122                if ($marges_page[3]) $this->marge_gauche = $marges_page[3];
123                               
124                $this->w = $this->largeur_page-$this->marge_gauche-$this->marge_droite;
125               
126                $this->font = $pmb_pdf_font;
127                if($acquisition_pdfdev_text_size) $this->fs = $acquisition_pdfdev_text_size;
128
129                $pos_logo = explode(',', $acquisition_pdfdev_pos_logo);
130                if ($pos_logo[0]) $this->x_logo = $pos_logo[0];
131                if ($pos_logo[1]) $this->y_logo = $pos_logo[1];
132                if ($pos_logo[2]) $this->l_logo = $pos_logo[2];
133                if ($pos_logo[3]) $this->h_logo = $pos_logo[3];
134
135                $pos_raison = explode(',', $acquisition_pdfdev_pos_raison);
136                if ($pos_raison[0]) $this->x_raison = $pos_raison[0];
137                if ($pos_raison[1]) $this->y_raison = $pos_raison[1];
138                if ($pos_raison[2]) $this->l_raison = $pos_raison[2];
139                if ($pos_raison[3]) $this->h_raison = $pos_raison[3];
140                if ($pos_raison[4]) $this->fs_raison = $pos_raison[4];
141               
142                $pos_date = explode(',', $acquisition_pdfdev_pos_date);
143                if ($pos_date[0]) $this->x_date = $pos_date[0];
144                if ($pos_date[1]) $this->y_date = $pos_date[1];
145                if ($pos_date[2]) $this->l_date = $pos_date[2];
146                if ($pos_date[3]) $this->h_date = $pos_date[3];
147                if ($pos_date[4]) $this->fs_date = $pos_date[4];
148                $this->sep_ville_date = $msg['acquisition_act_sep_ville_date'];
149               
150                $pos_adr_fac = explode(',', $acquisition_pdfdev_pos_adr_fac);
151                if ($pos_adr_fac[0]) $this->x_adr_fac = $pos_adr_fac[0];
152                if ($pos_adr_fac[1]) $this->y_adr_fac = $pos_adr_fac[1];
153                if ($pos_adr_fac[2]) $this->l_adr_fac = $pos_adr_fac[2];
154                if ($pos_adr_fac[3]) $this->h_adr_fac = $pos_adr_fac[3];
155                if ($pos_adr_fac[4]) $this->fs_adr_fac = $pos_adr_fac[4];
156                $this->text_adr_fac = $msg['acquisition_adr_fac']." :";
157                $this->text_adr_fac_tel = $msg['acquisition_tel'].".";
158                $this->text_adr_fac_tel2 = $msg['acquisition_tel2'].".";
159                $this->text_adr_fac_fax = $msg['acquisition_fax'].".";
160                $this->text_adr_fac_email = $msg['acquisition_mail']." :";
161               
162                $pos_adr_liv = explode(',', $acquisition_pdfdev_pos_adr_liv);
163                if ($pos_adr_liv[0]) $this->x_adr_liv = $pos_adr_liv[0];
164                if ($pos_adr_liv[1]) $this->y_adr_liv = $pos_adr_liv[1];
165                if ($pos_adr_liv[2]) $this->l_adr_liv = $pos_adr_liv[2];
166                if ($pos_adr_liv[3]) $this->h_adr_liv = $pos_adr_liv[3];
167                if ($pos_adr_liv[4]) $this->fs_adr_liv = $pos_adr_liv[4];
168                $this->text_adr_liv = $msg['acquisition_adr_liv']." :";
169                $this->text_adr_liv_tel = $msg['acquisition_tel'].".";
170                $this->text_adr_liv_tel2 = $msg['acquisition_tel2'].".";
171                $this->text_adr_liv_email = $msg['acquisition_mail']." :";
172               
173                $pos_adr_fou = explode(',', $acquisition_pdfdev_pos_adr_fou);
174                if ($pos_adr_fou[0]) $this->x_adr_fou = $pos_adr_fou[0];
175                if ($pos_adr_fou[1]) $this->y_adr_fou = $pos_adr_fou[1];
176                if ($pos_adr_fou[2]) $this->l_adr_fou = $pos_adr_fou[2];
177                if ($pos_adr_fou[3]) $this->h_adr_fou = $pos_adr_fou[3];
178                if ($pos_adr_fou[4]) $this->fs_adr_fou = $pos_adr_fou[4];
179                $this->text_adr_fou = $msg['acquisition_act_formule'];
180                               
181                $pos_num = explode(',', $acquisition_pdfdev_pos_num);
182                if ($pos_num[0]) $this->x_num = $pos_num[0];
183                if ($pos_num[1]) $this->y_num = $pos_num[1];
184                if ($pos_num[2]) $this->l_num = $pos_num[2];
185                if ($pos_num[3]) $this->h_num = $pos_num[3];
186                if ($pos_num[4]) $this->fs_num = $pos_num[4];
187                $this->text_num = $msg['acquisition_act_num_dev'];
188
189                $this->text_before = $acquisition_pdfdev_text_before;
190                $this->text_after = $acquisition_pdfdev_text_after;
191               
192                $pos_tab = explode(',', $acquisition_pdfdev_tab_dev);
193                if ($pos_tab[0]) $this->h_tab = $pos_tab[0];
194                if ($pos_tab[1]) $this->fs_tab = $pos_tab[1];
195                $this->x_tab = $this->marge_gauche;
196                $this->y_tab = $this->marge_haut; 
197               
198                $pos_sign = explode(',', $acquisition_pdfdev_pos_sign);
199                if ($pos_sign[0]) $this->x_sign = $pos_sign[0];
200                if ($pos_sign[1]) $this->l_sign = $pos_sign[1];
201                if ($pos_sign[2]) $this->h_sign = $pos_sign[2];
202                if ($pos_sign[3]) $this->fs_sign = $pos_sign[3];
203                       
204                if ($acquisition_pdfdev_text_sign) $this->text_sign = $acquisition_pdfdev_text_sign;
205                        else $this->text_sign = $msg['acquisition_act_sign'];
206               
207                $pos_footer = explode(',', $acquisition_pdfdev_pos_footer);
208                if ($pos_footer[0]) $this->PDF->y_footer = $pos_footer[0];
209                        else $this->PDF->y_footer=$this->y_footer;
210                if ($pos_footer[1]) $this->PDF->fs_footer = $pos_footer[1];
211                        else $this->PDF->fs_footer=$this->fs_footer;
212               
213                $this->PDF->Open();
214                $this->PDF->SetMargins($this->marge_gauche, $this->marge_haut, $this->marge_droite);
215                $this->PDF->setFont($this->font);
216               
217                $this->PDF->footer_type=1;
218                $this->PDF->msg_footer = $msg['acquisition_act_page'];
219        }
220       
221       
222        function doLettre($id_bibli, $id_dev) {
223               
224                global $msg,$pmb_pdf_font;
225               
226                //On récupère les infos du devis
227                $dev = new actes($id_dev);
228                $lignes = actes::getLignes($id_dev);
229                $bib = new entites ($dev->num_entite);
230                $coord_liv = new coordonnees($dev->num_contact_livr);
231                $coord_fac = new coordonnees($dev->num_contact_fact);
232               
233                $fou = new entites($dev->num_fournisseur);
234                $coord_fou = entites::get_coordonnees($dev->num_fournisseur, '1');
235                $coord_fou = pmb_mysql_fetch_object($coord_fou);
236               
237                $this->PDF->AddPage();
238                $this->PDF->setFont($pmb_pdf_font);
239                $this->PDF->npage = 1;
240               
241                //Affichage logo
242                if($bib->logo != '') {
243                        $this->PDF->Image($bib->logo, $this->x_logo, $this->y_logo, $this->l_logo, $this->h_logo);
244                }
245               
246                //Affichage raison sociale
247                $raison =  $bib->raison_sociale;
248                $this->PDF->setFontSize($this->fs_raison);
249                $this->PDF->SetXY($this->x_raison, $this->y_raison);
250                $this->PDF->MultiCell($this->l_raison, $this->h_raison, $raison, 0, 'L', 0);
251               
252                //Affichage date $ville
253                $ville_end=stripos($coord_fac->ville,"cedex"); 
254                if($ville_end!==false) $ville=trim(substr($coord_fac->ville,0,$ville_end));
255                else $ville=$coord_fac->ville;
256                $date = $ville.$this->sep_ville_date.format_date($dev->date_acte);
257                $this->PDF->setFontSize($this->fs_date);
258                $this->PDF->SetXY($this->x_date, $this->y_date);
259                $this->PDF->Cell($this->l_date, $this->h_date, $date, 0, 0, 'L', 0);
260               
261                //Affichage coordonnees fournisseur
262                //si pas de raison sociale définie, on reprend le libellé
263                //si il y a une raison sociale, pas besoin
264                if($fou->raison_sociale != '') {
265                        $adr_fou = $fou->raison_sociale."\n";
266                } else { 
267                        $adr_fou = $coord_fou->libelle."\n";
268                }
269                if($coord_fou->adr1 != '') $adr_fou.= $coord_fou->adr1."\n";
270                if($coord_fou->adr2 != '') $adr_fou.= $coord_fou->adr2."\n";
271                if($coord_fou->cp != '') $adr_fou.= $coord_fou->cp." ";
272                if($coord_fou->ville != '') $adr_fou.= $coord_fou->ville."\n\n";
273                if ($coord_fou->contact != '') $adr_fou.= $coord_fou->contact;
274                $this->PDF->setFontSize($this->fs_adr_fou);
275                $this->PDF->SetXY($this->x_adr_fou, $this->y_adr_fou);
276                $this->PDF->MultiCell($this->l_adr_fou, $this->h_adr_fou, $adr_fou, 0, 'L', 0);
277               
278       
279                //Affichage adresse facturation
280                $adr_fac=$this->text_adr_fac."\n"; 
281                if($coord_fac->libelle != '') $adr_fac.= $coord_fac->libelle."\n"; 
282                if($coord_fac->adr1 != '') $adr_fac.= $coord_fac->adr1."\n";
283                if($coord_fac->adr2 != '') $adr_fac.= $coord_fac->adr2."\n";
284                if($coord_fac->cp != '') $adr_fac.= $coord_fac->cp." ";
285                if($coord_fac->ville != '') $adr_fac.= $coord_fac->ville."\n";
286                if($coord_fac->tel1 != '') $adr_fac.= $this->text_adr_fac_tel." ".$coord_fac->tel1."\n";
287                if($coord_fac->tel2 != '') $adr_fac.= $this->text_adr_fac_tel2." ".$coord_fac->tel2."\n";
288                if($coord_fac->fax != '') $adr_fac.= $this->text_adr_fac_fax." ".$coord_fac->fax."\n";
289                if($coord_fac->email != '') $adr_fac.= $this->text_adr_fac_email." ".$coord_fac->email."\n";
290                $this->PDF->setFontSize($this->fs_adr_fac);
291                $this->PDF->SetXY($this->x_adr_fac, $this->y_adr_fac);
292                $this->PDF->MultiCell($this->l_adr_fac, $this->h_adr_fac, $adr_fac, 1, 'L', 0);
293               
294                //Affichage adresse livraison
295                $adr_liv = '';
296                if($coord_liv->libelle != '') $adr_liv.= $coord_liv->libelle."\n"; 
297                if($coord_liv->adr1 != '') $adr_liv.= $coord_liv->adr1."\n";
298                if($coord_liv->adr2 != '') $adr_liv.= $coord_liv->adr2."\n";
299                if($coord_liv->cp != '') $adr_liv.= $coord_liv->cp." ";
300                if($coord_liv->ville != '') $adr_liv.= $coord_liv->ville."\n";
301                if($coord_liv->tel1 != '') $adr_liv.= $this->text_adr_liv_tel." ".$coord_liv->tel1."\n";
302                if($coord_liv->tel2 != '') $adr_liv.= $this->text_adr_liv_tel2." ".$coord_liv->tel2."\n";
303               
304                if($adr_liv != '') {
305                        $adr_liv = $this->text_adr_liv."\n".$adr_liv; 
306                        $this->PDF->setFontSize($this->fs_adr_liv);
307                        $this->PDF->SetXY($this->x_adr_liv, $this->y_adr_liv);
308                        $this->PDF->MultiCell($this->l_adr_liv, $this->h_adr_liv, $adr_liv, 1, 'L', 0);
309                }
310               
311                //Affichage tiret pliage
312                $this->PDF->Line(0,105, 3, 105);
313               
314                //Affichage numero devis
315                $numero =  $this->text_num.$dev->numero;
316                $this->PDF->SetFontSize($this->fs_num);
317                $this->PDF->Cell($this->l_num, $this->h_num, $numero, 0, 0, 'L', 0);
318                $this->PDF->Ln();
319                               
320                //Affichage texte before + commentaires
321                if ($dev->commentaires_i != '') {
322                        if ($this->text_before != '') $this->text_before.= "\n\n";
323                        $this->text_before.= $dev->commentaires_i;
324                }
325                if ($this->text_before != '') {
326                        $this->PDF->SetFontSize($this->fs);
327                        $this->PDF->MultiCell($this->w, $this->h_tab, $this->text_before, 0, 'J', 0);
328                        $this->PDF->Ln();
329                }
330               
331                //Affichage lignes devis
332                $this->PDF->SetAutoPageBreak(false);
333                $this->PDF->AliasNbPages();
334               
335                $this->PDF->SetFontSize($this->fs_tab);
336                $this->PDF->SetFillColor(230);
337                $this->y = $this->PDF->GetY();
338                $this->PDF->SetXY($this->x_tab,$this->y);
339               
340                $this->x_code =  $this->x_tab;
341                $this->w_code = round($this->w*20/100);
342                $this->x_lib = $this->x_code + $this->w_code;
343                $this->w_lib = round($this->w*60/100);
344                $this->x_qte = $this->x_lib + $this->w_lib;
345                $this->w_qte = round($this->w*10/100);
346       
347                $this->doEntete();
348               
349                while (($row = pmb_mysql_fetch_object($lignes))) { 
350       
351                        $typ = new types_produits($row->num_type);
352                        $col1 = $typ->libelle."\n".$row->code;
353                       
354                        $this->h = $this->h_tab * max(  $this->PDF->NbLines($this->w_code, $col1),
355                        $this->PDF->NbLines($this->w_lib, $row->libelle),
356                        $this->PDF->NbLines($this->w_qte, $row->nb) );
357                                                       
358                        $this->s = $this->y+$this->h;           
359                        if ($this->s > ($this->hauteur_page-$this->marge_bas)){
360               
361                                $this->PDF->AddPage();
362                                $this->PDF->SetXY($this->x_tab, $this->y_tab);
363                                $this->y = $this->PDF->GetY();
364                                $this->doEntete();
365                               
366                        } 
367                        $this->PDF->SetXY($this->x_code, $this->y);
368                        $this->PDF->Rect($this->x_code, $this->y, $this->w_code, $this->h);
369                        $this->PDF->MultiCell($this->w_code, $this->h_tab, $col1, 0, 'L');
370                        $this->PDF->SetXY($this->x_lib, $this->y);
371                        $this->PDF->Rect($this->x_lib, $this->y, $this->w_lib, $this->h);
372                        $this->PDF->MultiCell($this->w_lib, $this->h_tab, $row->libelle, 0, 'L');
373                        $this->PDF->SetXY($this->x_qte, $this->y);
374                        $this->PDF->Rect($this->x_qte, $this->y, $this->w_qte, $this->h);
375                        $this->PDF->MultiCell($this->w_qte, $this->h_tab, $row->nb, 0, 'L');
376                        $this->y = $this->y+$this->h;
377               
378                }
379
380                $this->PDF->SetAutoPageBreak(true, $this->marge_bas);
381                $this->PDF->SetX($this->marge_gauche);
382                $this->PDF->SetY($this->y);
383                $this->PDF->SetFontSize($this->fs);
384                $this->PDF->Ln();
385       
386                //Affichage texte after
387                if ($this->text_after != '') {
388                        $this->PDF->MultiCell($this->w, $this->h_tab, $this->text_after, 0, 'J', 0);
389                        $this->PDF->Ln();               
390                }
391       
392                //Affichage signature
393                $this->PDF->Ln();               
394                $this->PDF->SetFontSize($this->fs_sign);
395                $this->PDF->SetX($this->x_sign);
396                $this->PDF->MultiCell($this->l_sign, $this->h_sign, $this->text_sign, 0, 'L', 0);                       
397
398}
399       
400        function getLettre($format=0,$name='devis.pdf') {
401                if (!$format) {
402                        return $this->PDF->OutPut();
403                } else {
404                        return $this->PDF->OutPut($name,'S');
405                }
406        }
407       
408        function getFileName() {
409                return $this->filename;
410        }
411       
412        //Entete de tableau
413        function doEntete() {
414                global $msg;
415               
416                $this->h_header = $this->h_tab * max(   $this->PDF->NbLines($this->w_code, $msg['acquisition_act_tab_typ']."\n".$msg['acquisition_act_tab_code']),
417                        $this->PDF->NbLines($this->w_lib,$msg['acquisition_act_tab_lib']),
418                        $this->PDF->NbLines($this->w_qte, $msg['acquisition_act_tab_qte']) );
419                $this->s = $this->y+$this->h_header;           
420                if ($this->s > ($this->hauteur_page-$this->marge_bas)){
421                        $this->PDF->AddPage();
422                        $this->PDF->SetXY($this->x_tab, $this->y_tab);
423                        $this->y = $this->PDF->GetY();
424                } 
425                $this->PDF->SetXY($this->x_code, $this->y);
426                $this->PDF->Rect($this->x_code, $this->y, $this->w_code, $this->h_header, 'FD');
427                $this->PDF->MultiCell($this->w_code, $this->h_tab, $msg['acquisition_act_tab_typ']."\n".$msg['acquisition_act_tab_code'], 0, 'L');
428                $this->PDF->SetXY($this->x_lib, $this->y);
429                $this->PDF->Rect($this->x_lib, $this->y, $this->w_lib, $this->h_header, 'FD');
430                $this->PDF->MultiCell($this->w_lib, $this->h_tab, $msg['acquisition_act_tab_lib'], 0, 'L');
431                $this->PDF->SetXY($this->x_qte, $this->y);
432                $this->PDF->Rect($this->x_qte, $this->y, $this->w_qte, $this->h_header, 'FD');
433                $this->PDF->MultiCell($this->w_qte, $this->h_tab, $msg['acquisition_act_tab_qte'], 0, 'L');
434                $this->y = $this->y+$this->h_header;
435       
436        }
437
438}
439
440
441class lettreDevis_factory {
442       
443        public static function make() {
444               
445                global $acquisition_pdfdev_print, $base_path;
446                $className = 'lettreDevis_PDF';
447                if (file_exists("$base_path/acquisition/achats/devis/$acquisition_pdfdev_print.class.php")) {
448                        require_once("$base_path/acquisition/achats/devis/$acquisition_pdfdev_print.class.php");
449                        $className = $acquisition_pdfdev_print; 
450                }
451                return new $className();
452        }
453}
Note: See TracBrowser for help on using the repository browser.