]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MLIB/Marco/Copete.php
Se agrega un objeto que permite armar tablas html a partir de templates.
[mecon/meconlib.git] / lib / MLIB / Marco / Copete.php
1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
2 -------------------------------------------------------------------------------
3                                     mlib
4 -------------------------------------------------------------------------------
5 This file is part of mlib.
6
7 mlib is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 2 of the License, or (at your option)
10 any later version.
11
12 mlib is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
15  
16 You should have received a copy of the GNU General Public License; if not,
17 write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18 Boston, MA  02111-1307  USA
19 -------------------------------------------------------------------------------
20 Creado: Mon Apr 14 16:23:22 2003
21 Autor:  Martin Marrese <mmarre@mecon.gov.ar>
22 -------------------------------------------------------------------------------
23 $Id$
24 -----------------------------------------------------------------------------*/
25
26 require_once 'MLIB/HTML/Image.php';
27
28 /**
29  * Manejo del copete de los sistemas que utilizan MLIB_Marco
30  *
31  * @access public
32  */
33 class MLIB_Marco_Copete {
34     /**
35      * Nombre del directorio en donde se encuentra el sistema. Es case sensitive.
36      *
37      * @var    string $directorio
38      * @access private
39      */
40     var $_directorio = '';
41
42     /**
43      * String con la referencia y los getvars de la ayuda
44      *
45      * @var    string $ayuda
46      * @access private
47      */
48     var $_ayuda = null;
49
50     /**
51      * Nombre del sistema.
52      *
53      * @private
54      */
55     var $_sistema = '';
56
57     /**
58      * Recibe el nombre del directorio en donde se encuentra instalado el sistema. 
59      * El directorio es case sensitive.
60      *
61      * @param  string $directorio Nombre del directorio en donde se encuentra el sistema.
62      * @param  mixed $ayuda Objeto MLIB_HTML_Link o string para armar el map de la ayuda.
63      * @param  string $sistema Nombre del sistema con el cual se esta trabajando.
64      *
65      * @return void
66      * @access public
67      */
68     function MLIB_Marco_Copete($directorio, $ayuda = null, $sistema = '') 
69     {
70         $this->_directorio  = $directorio;
71         $this->_sistema     = $sistema;
72         if (@$ayuda) {
73             if (is_object($ayuda)) {
74                 $val = $ayuda->getHref();
75                 foreach ($ayuda->getGetVars() as $var => $v) {
76                     if (is_object($v) and method_exists($v, 'tostring')) {
77                         $v = $v->tostring();
78                     } elseif (is_object($v) or is_array($v)) {
79                         $v = serialize($v);
80                     }
81                     $vars[] = urlencode($var) . '=' . urlencode($v);
82                 }
83                 if ($vars) {
84                     $val .= '?' . join('&', $vars);
85                 }
86                 $this->_ayuda = $val;
87             }
88             else {
89                 $this->_ayuda = $ayuda;
90             }
91         }
92     }
93
94     /**
95      * Funcion que devuelve el string html a imprimir en pantalla.
96      *
97      * @return string
98      * @access public
99      */
100     function toHtml() 
101     {
102         if (!is_null($this->_directorio)) {
103             $image = new MLIB_HTML_Image(
104                 $this->_directorio.'/copete',
105                 'Intranet - Ministerio de Economía - ' . $this->_sistema,
106                 array(
107                     'width' => 760,
108                     'height' => 42,
109                     'border' => 0,
110                 )
111             );
112             if (@$this->_ayuda) {
113                 $image->updateAttributes(array('usemap' => '#Map_copete'));
114                 $image->setSrc($image->getSrc() . '_ayuda');
115                 return $image->toHtml() . 
116                     '<map name="Map_copete">'.
117                     '<area shape="circle" coords="748,30,7" href="'. 
118                     $this->_ayuda . '"></map>';                
119             }
120             else {
121                 return $image->toHtml();
122             }
123         }
124         else {
125             return '';
126         }
127     }
128
129
130 }
131 ?>