source: pmb4.2/trunk/fuentes/pmb/tejuelo2.php @ 828

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

WIP in lliurex features and modifications 4

File size: 5.7 KB
Line 
1<?php
2
3if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
4
5$base_path=".";                           
6$base_auth = "ADMINISTRATION_AUTH"; 
7$base_title = "\$msg[7]";
8$class_path= "./classes";
9$include_path= "./includes";
10
11//---------------------LLIUREX 12/02/2015 -------------------------
12require_once ("$base_path/includes/init.inc.php");
13//--------------------- FIN LLIUREX 12/02/2015 -------------------------
14require_once("$class_path/notice.class.php");
15require_once("$class_path/expl.class.php");
16require_once("$class_path/indexint.class.php");
17require_once("$include_path/notice_authors.inc.php");
18require_once("$include_path/notice_categories.inc.php");
19require '/usr/share/php/fpdf/fpdf.php';
20
21
22
23define(CONVERSION,(1/25.4));//Conversión inch/mm
24define(COLS_PER_PAGE, 3); // Nº columnas por página
25define(ROWS_PER_PAGE, 8); // Nº filas por página
26define(BARCODE_HEIGHT, 54); // en pixels
27define(BARCODE_WIDTH, 175); // en pixels
28define(ALIGN, 'C');
29define(LABEL_WIDTH, (70.8*CONVERSION)); // en mm
30define(LABEL_HEIGHT, (36.5*CONVERSION));  // en mm
31define(H_MARGIN, (7*CONVERSION)); // horizontal (izquierda y derecha) margenes de la pagina, en mm
32define(V_MARGIN, (12*CONVERSION)); // vertical (top & bottom) margins of page, in mm
33
34//define(SPACE_BETWEEN_LABELS, ($parametros["SPACE_BETWEEN_LABELS"])*CONVERSION); // espacio horizontal entre etiquetas
35//define(SPACE_BETWEEN_LABELS_VERTICAL, ($parametros["SPACE_BETWEEN_LABELS_VERTICAL"])*CONVERSION); // espacio vertical entre etiquetas
36
37function f_rellena_ceros($as_dato) {
38        if(strlen($as_dato)>0 && strlen($as_dato)<9){
39                for($i=strlen($as_dato); $i<9; $i++)
40                        $as_dato="0".$as_dato;}
41       
42        return $as_dato; 
43       
44}
45
46function str_squeeze($test) {
47    return trim(ereg_replace( ' +', '', $test));
48}
49
50$codigos=$_GET['codigos'];
51//$codigos=str_replace(" ", "", $codigos);
52
53
54switch ($codigos){
55
56case '':{
57//---------------------LLIUREX 12/02/2015 -------------------------
58        require_once ("$base_path/includes/init.inc.php");
59//--------------------- FIN LLIUREX 12/02/2015 -------------------------
60        echo "<center><form class='form-admin' name='form2' ENCTYPE=\"multipart/form-data\" method='get' action=\"./tejuelo2.php?codigos=\".$codigos·\"\"><b>$msg[tejuelo_categoria]&nbsp;</b><input name='codigos' accept='text/plain' type='text'  size='80'><input align='center' type='button' name='continuar' value='Continuar' onclick='form.submit()'></form></center>";
61break;}
62
63
64
65default:{
66$matriz=array();
67$base_noheader = 1;
68require_once ("$base_path/includes/init.inc.php");
69
70$codigos=str_squeeze($codigos);
71
72require("$base_path/includes/db_param.inc.php");
73
74$link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL");
75
76$size = count($matriz);
77
78//Determinamos margenes de los barcode
79$barcode_h_margin = ((LABEL_WIDTH-(BARCODE_WIDTH/72))/2); 
80$barcode_v_margin = ((LABEL_HEIGHT-(BARCODE_HEIGHT/72))/2);
81
82// Creamos objeto PDF
83$pdf=new FPDF('P','in','A4');
84
85// Metadata
86$pdf->SetAuthor('Lliurex');
87$pdf->SetTitle('Tejuelo Lliurex');
88
89//Otras características
90$pdf->SetDisplayMode('real'); // Mostramos el zoom al 100%
91
92// Añadimos una pagina al documento PDF
93$pdf->AddPage();
94
95// Fijamos los márgenes
96$pdf->SetMargins(H_MARGIN, V_MARGIN);
97
98// Manejamos nosotros cuando la pagina debe acabar
99$pdf->SetAutoPageBreak(false);
100$pdf->AddFont('barcode', '', "barcode.php");
101$y = V_MARGIN; //Esta variable sigue la posición y (vertical)
102$x = H_MARGIN; // Nueva fila, reseteamos x-position
103
104
105$new_row=1;
106$new_col=1;
107
108
109$q = 'SELECT expl_cote, expl_cb,autor.value
110FROM exemplaires, notices_fields_global_index,(SELECT  `id_notice` , value
111FROM  `notices_fields_global_index`
112WHERE  `code_champ` =27
113AND  `code_ss_champ` =1) as autor
114WHERE expl_notice = notices_fields_global_index.id_notice and expl_notice=autor.id_notice
115AND code_champ =25
116AND notices_fields_global_index.value LIKE \''.$codigos.'\'
117order by autor.value';
118
119
120$resultData = @mysql_query($q, $link2);
121if (@mysql_num_rows($resultData) != 0) {
122
123        //Recuperamos los datos de cada solicitud confirmada
124                       
125        while ($rowData = mysql_fetch_array($resultData)) {     
126                               
127        //dato cote
128                               
129        $cote=$rowData['expl_cote'];
130        if (is_numeric($exe_cote)) {
131                if (is_numeric($rowData['expl_cb'])) {
132                        if ((int) $exe_cote === (int) $rowData['expl_cb']) $cb=(int)$rowData['expl_cb'];
133                        else continue;
134                } else continue;
135        } else $cb=$rowData['expl_cb'];
136
137        if ($new_row > 8) // Nueva pagina, reseteamos x-position
138        {
139                // Creamos una nueva pagina
140                $pdf->AddPage();
141                $pdf->SetMargins(H_MARGIN, V_MARGIN);
142                $pdf->SetAutoPageBreak(false);
143                $y = V_MARGIN;
144                $x = H_MARGIN;
145                $new_row=1;
146                $new_col=1;
147                } 
148
149        $matriz2=explode(" ",$cote);                   
150        $pdf->SetFont('Arial','B',10);
151        $pdf->SetY($y);
152        $pdf->SetX($x);
153        if (strlen($matriz2[0])>6) $align="";
154        else $align="C";
155        $pdf->Cell(LABEL_WIDTH/5, ($barcode_v_margin*1),$matriz2[0],"LT", 0, $align);
156        $pdf->Cell(LABEL_WIDTH-1, ($barcode_v_margin*1),"","TR", 0,'C');
157        $pdf->Ln();
158        $pdf->SetX($x);
159        $pdf->Cell(LABEL_WIDTH/5, ($barcode_v_margin*1),$matriz2[1],"L", 0,'C');
160        $pdf->setFont('barcode',"",25);
161        $pdf->Cell(LABEL_WIDTH-1, ($barcode_v_margin*1),"*".f_rellena_ceros($cb)."*","R", 0,'C');
162        $pdf->SetFont('Arial','B',10);
163        $pdf->Ln();
164        $pdf->SetX($x);
165        $pdf->Cell(LABEL_WIDTH/5, ($barcode_v_margin*1),$matriz2[2],"LB", 0,'C');
166        $pdf->Cell(LABEL_WIDTH-1, ($barcode_v_margin*1),f_rellena_ceros($cb),"BR", 0,'C');
167
168        if (($new_col%COLS_PER_PAGE)==0) {
169                $x = H_MARGIN;
170                $y += LABEL_HEIGHT-0.03;
171                $new_row++;
172                $new_col=1;
173        } else {
174                $new_col++;
175                $x += LABEL_WIDTH-0.10;
176                }
177
178
179        }
180        @mysql_free_result($resultData);
181
182}//else continue;
183
184
185
186
187// Desconexión de la Base de Datos
188mysql_close();
189
190// Limpiar (ELIMINAR) el búfer de salida y Deshabilitar el Almacenamiento en El Mismo -12/02/2015
191ob_end_clean();
192
193$pdf->Output('tejuelo_categoria.pdf', 'D'); // Salida es un pdf descargable
194
195}
196
197
198}
199?>
Note: See TracBrowser for help on using the repository browser.