]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MLIB/HTML/Page.php
Agrego tareas pendientes al TODO.
[mecon/meconlib.git] / lib / MLIB / 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         $this->addStyleSheet($this->getCSS());
56     }
57
58
59     /**
60      * Devuelve el link del style sheet.
61      *
62      * @return sting
63      * @access public
64      */
65     function getCSS()
66     {
67         return '/MECON/css/html/page';
68     }
69     
70     /**
71      * Redefinicion de la funcion que permite agregar objetos o html al body de 
72      * la pagina.
73      * Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener
74      * un getCSS.
75      *
76      * @param  mixed $content Contenido a agregar en la pagina
77      *
78      * @return void
79      * @access public
80      */
81     function addBodyContent($content)
82     {
83         if ((is_object($content)) && (method_exists($content, 'getcss'))) {
84             $this->addStyleSheet($content->getCSS());
85         }
86         parent::addBodyContent($content);
87     }
88
89     /**
90      * Muestra un error y termina el programa.
91      */
92     function exitError($msg)
93     {
94         require_once 'MECON/HTML/Error.php';
95         if (is_a($msg, 'pear_error')) {
96             $msg = $msg->getMessage();
97         }
98         $this->addBodyContent(new MECON_HTML_Error($msg));
99         $this->display();
100         exit;
101     }
102
103     /**
104      * Muestra una variable para debug.
105      */
106     function dump($var, $exit = false)
107     {
108         if (!isset($this->_dump)) {
109             require_once 'Var_Dump.php';
110             $this->_dump = new Var_Dump(array('display_mode' => 'HTML4_Table'));
111         }
112         //$this->addBodyContent('<pre>');
113         $this->addBodyContent($this->_dump->toString($var));
114         //$this->addBodyContent('</pre>');
115         if ($exit) {
116             $this->display();
117             exit;
118         }
119     }
120
121 }
122
123 ?>