]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MLIB/Marco/Copete.php
6fb48200d1bdff319b5d9219dc1c638894ce5539
[mecon/meconlib.git] / lib / MLIB / Marco / Copete.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: Mon Apr 14 16:23:22 2003
22 Autor:  Martin Marrese <mmarre@mecon.gov.ar>
23 -------------------------------------------------------------------------------
24 $Id$
25 -----------------------------------------------------------------------------*/
26
27 require_once 'MECON/HTML/Image.php';
28
29 /**
30  * Manejo del copete de los sistemas que utilizan MECON_Marco
31  *
32  * @access public
33  */
34 class MECON_Marco_Copete {
35     /**
36      * Nombre del directorio en donde se encuentra el sistema. Es case sensitive.
37      *
38      * @var    string $directorio
39      * @access private
40      */
41     var $_directorio = '';
42
43     /**
44      * String con la referencia y los getvars de la ayuda
45      *
46      * @var    string $ayuda
47      * @access private
48      */
49     var $_ayuda = null;
50
51     /**
52      * Nombre del sistema.
53      *
54      * @private
55      */
56     var $_sistema = '';
57
58     /**
59      * Recibe el nombre del directorio en donde se encuentra instalado el sistema. 
60      * El directorio es case sensitive.
61      *
62      * @param  string $directorio Nombre del directorio en donde se encuentra el sistema.
63      * @param  mixed $ayuda Objeto MECON_HTML_Link o string para armar el map de la ayuda.
64      * @param  string $sistema Nombre del sistema con el cual se esta trabajando.
65      *
66      * @return void
67      * @access public
68      */
69     function MECON_Marco_Copete($directorio, $ayuda = null, $sistema = '') 
70     {
71         $this->_directorio  = $directorio;
72         $this->_sistema     = $sistema;
73         if (@$ayuda) {
74             if (is_object($ayuda)) {
75                 $val = $ayuda->getHref();
76                 foreach ($ayuda->getGetVars() as $var => $v) {
77                     if (is_object($v) and method_exists($v, 'tostring')) {
78                         $v = $v->tostring();
79                     } elseif (is_object($v) or is_array($v)) {
80                         $v = serialize($v);
81                     }
82                     $vars[] = urlencode($var) . '=' . urlencode($v);
83                 }
84                 if ($vars) {
85                     $val .= '?' . join('&', $vars);
86                 }
87                 $this->_ayuda = $val;
88             }
89             else {
90                 $this->_ayuda = $ayuda;
91             }
92         }
93     }
94
95     /**
96      * Funcion que devuelve el string html a imprimir en pantalla.
97      *
98      * @return string
99      * @access public
100      */
101     function toHtml() 
102     {
103         if (!is_null($this->_directorio)) {
104             $image = new MECON_HTML_Image(
105                 $this->_directorio.'/copete',
106                 'Intranet - Ministerio de Economía - ' . $this->_sistema,
107                 array(
108                     'width' => 760,
109                     'height' => 42,
110                     'border' => 0,
111                 )
112             );
113             if (@$this->_ayuda) {
114                 $image->updateAttributes(array('usemap' => '#Map_copete'));
115                 $image->setSrc($image->getSrc() . '_ayuda');
116                 return $image->toHtml() . 
117                     '<map name="Map_copete">'.
118                     '<area shape="circle" coords="748,30,7" href="'. 
119                     $this->_ayuda . '"></map>';                
120             }
121             else {
122                 return $image->toHtml();
123             }
124         }
125         else {
126             return '';
127         }
128     }
129
130
131 }
132 ?>