]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MECON/HTML/Page.php
492012a68a4bcbafde1dce58ad51116e58de2c78
[mecon/meconlib.git] / lib / MECON / HTML / Page.php
1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
2 -------------------------------------------------------------------------------
3                              Ministerio de Economía
4                                     meconlib
5 -------------------------------------------------------------------------------
6 This file is part of meconlib.
7
8 meconlib is free software; you can redistribute it and/or modify it under
9 the terms of the GNU General Public License as published by the Free
10 Software Foundation; either version 2 of the License, or (at your option)
11 any later version.
12
13 meconlib is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16  
17 You should have received a copy of the GNU General Public License; if not,
18 write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
19 Boston, MA  02111-1307  USA
20 -------------------------------------------------------------------------------
21 Creado: vie mar 19 14:50:53 ART 2004
22 Autor:  Martin Marrese <mmarre@mecon.gov.ar>
23 -------------------------------------------------------------------------------
24 $Id$
25 -----------------------------------------------------------------------------*/
26
27 require_once 'HTML/Page.php';
28
29 /**
30  * Clase para crear paginas sin tener que utilizar MECON_Marco.
31  * Obtiene los css de los objetos que se le agregan
32  *
33  * @access public
34  */
35 class MECON_HTML_Page extends HTML_Page {
36     
37     /**
38      * Constructor.
39      *
40      * @return void
41      * @access public
42      */
43     function MECON_HTML_Page()
44     {
45         parent::HTML_Page(
46                 array (
47                     'doctype'  => 'HTML 4.01 Transitional',
48                     'charset'  => 'iso-8859-1',
49                     'lineend'  => 'unix',
50                     'language' => 'es',
51                     'cache'    => 'false',
52                     'simple'   => 'true'
53                     )
54                 );
55     }
56
57     /**
58      * Redefinicion de la funcion que permite agregar objetos o html al body de 
59      * la pagina.
60      * Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener
61      * un getCSS.
62      *
63      * @param  mixed $content Contenido a agregar en la pagina
64      *
65      * @return void
66      * @access public
67      */
68     function addBodyContent($content)
69     {
70         if ((is_object($content)) && (method_exists($content, 'getcss'))) {
71             $this->addStyleSheet($content->getCSS());
72         }
73         parent::addBodyContent($content);
74     }
75
76     /**
77      * Muestra un error y termina el programa.
78      */
79     function exitError($msg)
80     {
81         require_once 'MECON/HTML/Error.php';
82         if (is_a($msg, 'pear_error')) {
83             $msg = $msg->getMessage();
84         }
85         $this->addBodyContent(new MECON_HTML_Error($msg));
86         $this->display();
87         exit;
88     }
89
90     /**
91      * Muestra una variable para debug.
92      */
93     function dump($var, $exit = false)
94     {
95         if (!isset($this->_dump)) {
96             require_once 'Var_Dump.php';
97             $this->_dump = new Var_Dump(
98                 array('displayMode' => VAR_DUMP_DISPLAY_MODE_HTML_TABLE));
99         }
100         $this->addBodyContent('<pre>');
101         $this->addBodyContent($this->_dump->r_display($var));
102         $this->addBodyContent('</pre>');
103         if ($exit) exit;
104     }
105
106 }
107 ?>