]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/PDF/Marco.php
Se cambian los die(expr) por trigger_error(expr, E_USER_ERROR) para poder interceptar...
[mecon/meconlib.git] / lib / MECON / PDF / Marco.php
index f3fe312a4fed0af8823d9578e5fc8774448e2410..adbb657aef7c59440a27a16abc5dbb46f01ee8d9 100644 (file)
@@ -25,16 +25,23 @@ $Id$
 -----------------------------------------------------------------------------*/
 
 require_once 'MECON/PDF.php';
 -----------------------------------------------------------------------------*/
 
 require_once 'MECON/PDF.php';
+require_once 'MECON/PDF/Separador.php';
 
 /**
  * Libreria que crea un marco estandar para los pdfs.
  */
 class MECON_PDF_Marco extends MECON_PDF {
 
 
 /**
  * Libreria que crea un marco estandar para los pdfs.
  */
 class MECON_PDF_Marco extends MECON_PDF {
 
+    /**
+     * Objeto MECON_PDF_Separador que se utilizara por defecto.
+     * @var Object $separador
+     * @access protected
+     */
+    var $_separador_defecto;
 
     /**
      * Array de objetos MECON_PDF_Contenido
 
     /**
      * Array de objetos MECON_PDF_Contenido
-     @ @var array $contenido
+     * @var array $contenido
      * @access protected
      */
     var $_contenido = array();
      * @access protected
      */
     var $_contenido = array();
@@ -117,6 +124,7 @@ class MECON_PDF_Marco extends MECON_PDF {
         $this->MECON_PDF($tam, $ori);
         $this->tamanio = $tam;
         $this->_resetConf();
         $this->MECON_PDF($tam, $ori);
         $this->tamanio = $tam;
         $this->_resetConf();
+        $this->_separador_defecto =& new MECON_PDF_Separador();
     }
 
     /**
     }
 
     /**
@@ -129,7 +137,7 @@ class MECON_PDF_Marco extends MECON_PDF {
     function _resetConf($pagina = null)
     {
         if(is_null($pagina));
     function _resetConf($pagina = null)
     {
         if(is_null($pagina));
-          $pagina = $this->numPage();
+            $pagina = $this->numPage();
         $tmp = include 'MECON/PDF/Marco/medidas.php' ; 
         $tmp = $tmp[$this->tamanio][$this->getOrientation($pagina)];
         $tmp['Xi'] = $this->_config['Xi'];
         $tmp = include 'MECON/PDF/Marco/medidas.php' ; 
         $tmp = $tmp[$this->tamanio][$this->getOrientation($pagina)];
         $tmp['Xi'] = $this->_config['Xi'];
@@ -160,6 +168,7 @@ class MECON_PDF_Marco extends MECON_PDF {
             null)
     {   
         parent::newPage($pagina, $orientacion);
             null)
     {   
         parent::newPage($pagina, $orientacion);
+        $this->_resetConf();
         if ($encabezado) {
             $this->espacioDisponible = $this->_config['encabezado']['Yi'] - 27;
             if ($this->countPages() === 1) {
         if ($encabezado) {
             $this->espacioDisponible = $this->_config['encabezado']['Yi'] - 27;
             if ($this->countPages() === 1) {
@@ -168,15 +177,15 @@ class MECON_PDF_Marco extends MECON_PDF {
                 }
             }
             if (!is_null($seccion)) {
                 }
             }
             if (!is_null($seccion)) {
-                $this->excepciones[$this->countPages()]['seccion'] = $seccion;
+                $this->_excepciones[$this->numPage()]['seccion'] = $seccion;
             }
             if (!is_null($subseccion)) {
             }
             if (!is_null($subseccion)) {
-                $this->excepciones[$this->countPages()]['subseccion'] = $subseccion;
+                $this->_excepciones[$this->numPage()]['subseccion'] = $subseccion;
             }
         }
         else {
             $this->espacioDisponible = $this->_config['encabezado']['Yf'];
             }
         }
         else {
             $this->espacioDisponible = $this->_config['encabezado']['Yf'];
-            $this->excepciones[$this->countPages()]['nova'] = true;
+            $this->_excepciones[$this->countPages()]['nova'] = true;
             
         }
     }
             
         }
     }
@@ -254,7 +263,7 @@ class MECON_PDF_Marco extends MECON_PDF {
         $this->_resetConf();
         $conf = $this->_config['encabezado'];
         if ($this->paginador) {
         $this->_resetConf();
         $conf = $this->_config['encabezado'];
         if ($this->paginador) {
-            $txt = 'Pagina '.$this->numPage().' de '.
+            $txt = 'Pรกgina '.$this->numPage().' de '.
                 $this->countPages();
             $tmp = $this->strlen($txt, $conf['paginador']);
             $init = $conf['linea2']['Xi'] + ( $conf['Xf'] 
                 $this->countPages();
             $tmp = $this->strlen($txt, $conf['paginador']);
             $init = $conf['linea2']['Xi'] + ( $conf['Xf'] 
@@ -403,7 +412,6 @@ class MECON_PDF_Marco extends MECON_PDF {
      * @access public
      */
     function toPDF() {
      * @access public
      */
     function toPDF() {
-        $this->newPage($this->tamanio);
         $this->_buildContent();
         if ($this->getPages()) {
             $t = true;
         $this->_buildContent();
         if ($this->getPages()) {
             $t = true;
@@ -445,9 +453,10 @@ class MECON_PDF_Marco extends MECON_PDF {
      * @access public
      */
     function addContent($contenido, $separador = true) {
      * @access public
      */
     function addContent($contenido, $separador = true) {
-        if ($separador && $this->getPages()) {
-            //@TODO Agregar el separador por defecto.
-            //$this->contenido[] = $separador_defecto
+        //Me aseguro de poner el separador siempre y cuando no sea el primer
+        //objeto de la primer pagina.
+        if ($separador && $this->_contenido) {
+            $this->_contenido[] = $this->_separador_defecto;
         }
         $this->_contenido[] = $contenido;
     }
         }
         $this->_contenido[] = $contenido;
     }