]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/PDF/Marco.php
Se cambia el estilo IMG en marco.css
[mecon/meconlib.git] / lib / MECON / PDF / Marco.php
index 8d7097613ec73adb7812b9390bb80a21fb87bd5d..46d07e5c73bffa344376baa1648c40c071763f5f 100644 (file)
@@ -44,7 +44,7 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
      * @var array $conf
      * @access protected
      */
-    var $_conf = array ();
+    var $_config = array ();
 
     /**
      * Tamanio de las paginas.
@@ -65,8 +65,7 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
      * @var string $logo
      * @access public
      */
-    var $logo = '/home/mmarrese/public_html/meconlib/www/images/pdf_logo.jpg'; 
-    //@FIXME Ponener el path del logo por defecto
+    var $logo; 
 
     /**
      * Paginador.
@@ -102,14 +101,14 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
      * @var string $string
      * @access public 
      */
-    var $titulo = true;
+    var $titulo;
 
     /**
      * SubTitulo.
      * @var string $subtitulo
      * @access public 
      */
-    var $subtitulo = true;
+    var $subtitulo;
 
     /**
      * Class constructor.
@@ -121,11 +120,19 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
      * @access public
      */
     function MECON_PDF_Marco($tam = "a4", $ori = "portrait") {
-        $this->_pdf =& new MECON_PDF;
+        $this->_pdf =& new MECON_PDF($tam);
         $this->_tamanio = $tam;
         $this->_orientacion = $ori;
-        $this->_conf = include 'MECON/PDF/Marco/medidas.php' ; 
-        $this->_conf = $this->_conf[$tam][$ori];
+        $this->_config = include 'MECON/PDF/Marco/medidas.php' ; 
+        $this->_config = $this->_config[$tam][$ori];
+        if (@$this->_config['encabezado']['logo']['path']) {
+            $this->logo = $this->_config['encabezado']['logo']['path'];
+        }
+        $this->_config['Xi'] = $this->_pdf->config['Xi'];
+        $this->_config['Yi'] = $this->_pdf->config['Yi'];
+        $this->_config['Xf'] = $this->_pdf->config['Xf'];
+        $this->_config['Yf'] = $this->_pdf->config['Yf'];
+        $this->MECON_HTML_Tabla();
     }
 
     /**
@@ -135,10 +142,10 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
      * @access protected
      */
     function _addLogo() {
-        $conf = $this->_conf['encabezado'];
+        $conf = $this->_config['encabezado'];
         if ($this->logo) {
             $this->_pdf->addImage($this->logo, $conf['logo']['X'],
-                    $conf['logo']['Y'], null, 'jpg');
+                    $conf['logo']['Y'], null, 'jpg', $this->_orientacion);
         }
     }
 
@@ -149,7 +156,7 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
      * @access protected
      */
     function _addSeccion() {
-        $conf = $this->_conf['encabezado'];
+        $conf = $this->_config['encabezado'];
         if ($this->seccion) {
             $tmp = $this->_pdf->strlen($this->seccion, $conf['seccion']);
             $tmp2 = $conf['linea2']['Xi'] - $conf['linea1']['Xi'];
@@ -160,7 +167,8 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
             }
             $init = $conf['linea1']['Xi'] + ( $conf['linea2']['Xi'] 
                     - $conf['linea1']['Xi'] - $tmp) / 2; 
-            $this->_pdf->addText($init, $conf['seccion']['Y'], $this->seccion, $conf['seccion']);
+            $this->_pdf->addText($init, $conf['seccion']['Y'], $this->seccion,
+                    $conf['seccion'], null, $this->_orientacion);
         }
     }
    
@@ -171,7 +179,7 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
      * @access protected
      */
     function _addSubSeccion() {
-        $conf = $this->_conf['encabezado'];
+        $conf = $this->_config['encabezado'];
         if ($this->subseccion) {
             $tmp = $this->_pdf->strlen($this->subseccion, $conf['subseccion']);
             $tmp2 = $conf['linea2']['Xi'] - $conf['linea1']['Xi'];
@@ -183,7 +191,7 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
             $init = $conf['linea1']['Xi'] + ( $conf['linea2']['Xi'] 
                     - $conf['linea1']['Xi'] - $tmp) / 2; 
             $this->_pdf->addText($init, $conf['subseccion']['Y'], $this->subseccion, 
-                    $conf['subseccion']);
+                    $conf['subseccion'], null, $this->_orientacion);
         }
     }
 
@@ -194,7 +202,7 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
      * @access protected
      */
     function _addPager() {
-        $conf = $this->_conf['encabezado'];
+        $conf = $this->_config['encabezado'];
         if ($this->paginador) {
             $txt = 'Pagina '.$this->_pdf->numPage().' de '.
                 $this->_pdf->countPages();
@@ -202,7 +210,7 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
             $init = $conf['linea2']['Xi'] + ( $conf['Xf'] 
                     - $conf['linea2']['Xi'] - $tmp) / 2; 
             $this->_pdf->addText($init, $conf['paginador']['Y'], $txt, 
-                    $conf['paginador']);
+                    $conf['paginador'], null, $this->_orientacion);
         }
     }
     
@@ -213,7 +221,7 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
      * @access protected
      */
     function _addDate() {
-        $conf = $this->_conf['encabezado'];
+        $conf = $this->_config['encabezado'];
         if ($this->fecha) {
             if ($this->fecha === true) {
                 $this->fecha = date("d/m/Y");
@@ -222,7 +230,7 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
             $init = $conf['linea2']['Xi'] + ( $conf['Xf'] 
                     - $conf['linea2']['Xi'] - $tmp) / 2; 
             $this->_pdf->addText($init, $conf['fecha']['Y'], $this->fecha,
-                    $conf['fecha']);
+                    $conf['fecha'], null, $this->_orientacion);
         }
     }
     
@@ -233,14 +241,16 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
      * @access protected
      */
     function _addHeaderRectangle() {
-        $conf = $this->_conf['encabezado'];
+        $conf = $this->_config['encabezado'];
         //Armo el recuadro
-        $this->_pdf->addRectangle ($conf['Yi'], $conf['Xi'], $conf['Yf'], 
-                    $conf['Xf']);
+        $this->_pdf->addRectangle ($conf['Xi'], $conf['Yi'], $conf['Xf'], 
+                    $conf['Yf'], '', null, $this->_orientacion);
         $this->_pdf->addLine($conf['linea1']['Xi'], $conf['linea1']['Yi'], 
-                $conf['linea1']['Xf'], $conf['linea1']['Yf']);
+                $conf['linea1']['Xf'], $conf['linea1']['Yf'], '', null,
+                $this->_orientacion);
         $this->_pdf->addLine($conf['linea2']['Xi'], $conf['linea2']['Yi'], 
-                $conf['linea2']['Xf'], $conf['linea2']['Yf']);
+                $conf['linea2']['Xf'], $conf['linea2']['Yf'], '', null,
+                $this->_orientacion);
     }
     
     /**
@@ -250,18 +260,18 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
      * @access protected
      */
     function _addTitle() {
-        $conf = $this->_conf['titulo'];
+        $conf = $this->_config['titulo'];
         if ($this->titulo) {
             $tmp = $this->_pdf->strlen($this->titulo, $conf);
-            $tmp2 = $this->_conf['Xf'] + abs($this->_conf['Xi']);
+            $tmp2 = $this->_pdf->getWidth($this->_orientacion);
             if ($tmp >= $tmp2) {
                 $this->titulo = $this->_pdf->wrapLine ($this->titulo, $tmp2,
                         $conf);
                 $tmp = $this->_pdf->strlen($this->titulo, $conf);
             }
-            $init = $this->_conf['Xi'] + ($tmp2 - $tmp) / 2; 
+            $init = ($tmp2 - $tmp) / 2; 
             $this->_pdf->addText($init, $conf['Y'], $this->titulo, 
-                    $conf);
+                    $conf, null, $this->_orientacion);
         }
     }
 
@@ -272,18 +282,18 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
      * @access protected
      */
     function _addSubTitle() {
-        $conf = $this->_conf['subtitulo'];
+        $conf = $this->_config['subtitulo'];
         if ($this->subtitulo) {
             $tmp = $this->_pdf->strlen($this->subtitulo, $conf);
-            $tmp2 = $this->_conf['Xf'] + abs($this->_conf['Xi']);
+            $tmp2 = $this->_pdf->getWidth($this->_orientacion);
             if ($tmp >= $tmp2) {
                 $this->subtitulo = $this->_pdf->wrapLine ($this->subtitulo, $tmp2,
                         $conf);
                 $tmp = $this->_pdf->strlen($this->subtitulo, $conf);
             }
-            $init = $this->_conf['Xi'] + ($tmp2 - $tmp) / 2; 
+            $init = ($tmp2 - $tmp) / 2; 
             $this->_pdf->addText($init, $conf['Y'], $this->subtitulo, 
-                    $conf);
+                    $conf, null, $this->_orientacion);
         }
     }
     
@@ -310,5 +320,23 @@ class MECON_PDF_Marco extends MECON_HTML_Tabla {
             $this->_addSubTitle();
         }
     }
+
+    /**
+     * Funcion que devuelve el espacio dispobible en una pagina.
+     *
+     * @param int $pagina Numero de pagina.
+     *
+     * @return int
+     * @access protected
+     */
+    function _getAvailableSpace($pagina) {
+        if ($pagina === 1 && $this->titulo && $this->subtitulo) {
+            return $this->_config['contenido']['Y'];
+        }
+        else {
+            return $this->_config['titulo']['Y'];
+        }
+    }
+
 }
 ?>
\ No newline at end of file