]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MECON/Marco/ImagenAnimada.php
Se agrega un nombre a la imagen animada.
[mecon/meconlib.git] / lib / MECON / Marco / ImagenAnimada.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +----------------------------------------------------------------------+
4 // | PHP Version 4                                                        |
5 // +----------------------------------------------------------------------+
6 // | Copyright (c) 1997-2003 The PHP Group                                |
7 // +----------------------------------------------------------------------+
8 // | This source file is subject to version 2.02 of the PHP license,      |
9 // | that is bundled with this package in the file LICENSE, and is        |
10 // | available at through the world-wide-web at                           |
11 // | http://www.php.net/license/2_02.txt.                                 |
12 // | If you did not receive a copy of the PHP license and are unable to   |
13 // | obtain it through the world-wide-web, please send a note to          |
14 // | license@php.net so we can mail you a copy immediately.               |
15 // +----------------------------------------------------------------------+
16 // | Created: Mon Apr 14 16:23:22 2003
17 // | Author:  Martin Marrese <mmarre@mecon.gov.ar>
18 // +----------------------------------------------------------------------+
19 //
20 // $Id$
21 // $Author$
22 // $URL$
23 // $Date$
24 // $Rev$
25 //
26
27 define('MECON_MARCO_IMAGENANIMADA_DIR_GENERAL', '/MECON/images');
28
29 // +X2C Class 17 :ImagenAnimada
30 /**
31  * Clase para el manejo de la animacion de las imagenes. Utilizada principalmente en la barra de secciones
32  *
33  * @access public
34  */
35 class ImagenAnimada {
36     /**
37      * Nombre del archivo imagen.
38      *
39      * @var    string $imgComun
40      * @access private
41      */
42     var $_imgComun;
43
44     /**
45      * Nombre del archivo imagen.
46      *
47      * @var    string $imgMouseOn
48      * @access private
49      */
50     var $_imgMouseOn;
51
52     /**
53      * Nombre del archivo imagen.
54      *
55      * @var    string $imgSelect
56      * @access private
57      */
58     var $_imgSelect;
59
60     /**
61      * Indica si la imagen esta seleccionada.
62      *
63      * @var    bool $seleccionada
64      * @access protected
65      */
66     var $_seleccionada = false;
67
68     /**
69      * Indica si est?habilitado el link.
70      *
71      * @var    bool $habilitada
72      * @access protected
73      */
74     var $_habilitada = true;
75
76     /**
77      * Link a donde apunta la imagen.
78      *
79      * @var    string $link
80      * @access protected
81      */
82     var $_link = '';
83
84     /**
85      * @var    string $nombre
86      * @access protected
87      */
88     var $_nombre;
89
90     /**
91      * Gets Seleccionada.
92      *
93      * @return bool
94      * @access public
95      */
96     function getSeleccionada()
97     {
98         return $this->_seleccionada;
99     }
100     /**
101      * Sets Seleccionada.
102      *
103      * @param  bool $seleccionada Seleccionada.
104      *
105      * @return void
106      * @access public
107      */
108     function setSeleccionada($seleccionada)
109     {
110         $this->_seleccionada = $seleccionada;
111     }
112
113     /**
114      * Gets Habilitada.
115      *
116      * @return bool
117      * @access public
118      */
119     function getHabilitada()
120     {
121         return $this->_habilitada;
122     }
123     /**
124      * Sets Habilitada.
125      *
126      * @param  bool $habilitada Habilitada.
127      *
128      * @return void
129      * @access public
130      */
131     function setHabilitada($habilitada)
132     {
133         $this->_habilitada = $habilitada;
134     }
135
136     /**
137      * Gets Link.
138      *
139      * @return string
140      * @access public
141      */
142     function getLink()
143     {
144         return $this->_link;
145     }
146     /**
147      * Sets Link.
148      *
149      * @param  string $link Link.
150      *
151      * @return void
152      * @access public
153      */
154     function setLink($link)
155     {
156         $this->_link = $link;
157     }
158
159     /**
160      * Gets Nombre.
161      *
162      * @return string
163      * @access public
164      */
165     function getNombre()
166     {
167         return $this->_nombre;
168     }
169     /**
170      * Sets Nombre.
171      *
172      * @param  string $nombre Nombre.
173      *
174      * @return void
175      * @access public
176      */
177     function setNombre($nombre)
178     {
179         $this->_nombre = $nombre;
180     }
181
182     // ~X2C
183
184     // +X2C Operation 70
185     /**
186      * Constructor. Recibe como parametro el nombre del archivo que contiene la imagen.
187      *
188      * @param  string $imagenComun Nombre del archivo imagen.
189      * @param  string $imagenMouseOn Imagen alterna con el mouse por arriba
190      * @param  string $imagenSelect Imagen alterna cuando esta seleccionada la seccion
191      * @param  string $directorio Directorio en donde se encuentran las imagenes
192      * @param  string $nombre Nombre de la imagen animada.
193      *
194      * @return void
195      * @access public
196      */
197     function ImagenAnimada($imagenComun, $imagenMouseOn = '', $imagenSelect = '', $directorio = '', $nombre = '')// ~X2C
198     {
199         if ($imagenComun !== '') {
200             $this->_imgComun = $this->_calcularImagen($imagenComun, $directorio);
201             if ($imagenMouseOn !== '') {
202                 $this->_imgMouseOn = $this->_calcularImagen($imagenMouseOn, $directorio);
203             }
204             else {
205                 $this->_imgMouseOn = $this->_calcularImagen($imagenComun, $directorio, '_f2');
206             }
207             if ($imagenSelect !== '') {
208                 $this->_imgSelect = $this->_calcularImagen($imagenSelect, $directorio);
209             }
210             else {
211                 $this->_imgSelect = $this->_calcularImagen($imagenComun, $directorio, '_f3');
212             }
213         }
214         $this->_nombre = $nombre;
215     }
216     // -X2C
217
218     // +X2C Operation 71
219     /**
220      * Funcion que devuelve un string con el html a imprimir en pantalla.
221      *
222      * @return string
223      * @access public
224      */
225     function toHtml()// ~X2C
226     {
227         $img = new HTML_Image(array('name' => $this->getName(), 'border' => 0));
228         $src = $this->getSeleccionada() ? $this->_imgSelect : $this->_imgComun;
229         $img->updateAttributes(array ('src' => $src) );
230         $html = $img->toHtml();
231         if ($this->getHabilitada()) {
232             if ($this->getSeleccionada()) {
233                 $prepend = '<a href="'.$this->getLink().'">';
234             } else {
235                 $prepend = '<a href="'.$this->getLink().'" onMouseOut="MM_swapImgRestore()"
236                     onMouseOver="MM_displayStatusMsg(\''.$this->getName().'\');
237                     MM_swapImage(\''.$this->getName().'\',\'\',\''.$this->_imgMouseOn.'\',1);
238                     return document.MM_returnValue"
239                     MM_swapImage(\''.$this->getName().'\',\'\',\''.$this->_imgMouseOn.'\',1)>';
240             }
241             $html = $prepend . $html . '</a>';
242         }
243         return $html;
244     }
245     // -X2C
246
247     // +X2C Operation 209
248     /**
249      * @param  string $imagen Nombre de la imagen.
250      * @param  string $directorio Directorio.
251      * @param  string $modificador Modificador que indica una variante de la imagen.
252      *
253      * @return string
254      * @access protected
255      */
256     function _calcularImagen($imagen, $directorio, $modificador = '')// ~X2C
257     {
258         if ($modificador !== '') {
259             $pos = strrpos($imagen, '.');
260             $ext = substr($imagen, $pos);
261             $nom = substr($imagen, 0, $pos);
262             $imagen = "$nom$modificador$ext";
263         }
264         if (is_readable("{$_SERVER['DOCUMENT_ROOT']}$directorio/$imagen")) {
265             return "$directorio/$imagen";
266         }
267         else {
268             return MECON_MARCO_IMAGENANIMADA_DIR_GENERAL . "/$imagen";
269         }
270     }
271     // -X2C
272
273 } // -X2C Class :ImagenAnimada
274
275 ?>