1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
2 -------------------------------------------------------------------------------
3 Ministerio de EconomÃa
5 -------------------------------------------------------------------------------
6 This file is part of meconlib.
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)
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.
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 -------------------------------------------------------------------------------
25 -----------------------------------------------------------------------------*/
27 require_once 'MECON/HTML/Image.php';
29 define('MECON_MARCO_IMAGENANIMADA_DIR_GENERAL', '/MECON/images');
32 * Clase para el manejo de la animacion de las imagenes. Utilizada
33 * principalmente en la barra de secciones
37 class MECON_Marco_ImagenAnimada {
39 * Nombre del archivo imagen.
41 * @var string $imgComun
47 * Nombre del archivo imagen.
49 * @var string $imgMouseOn
52 var $_imgMouseOn = '';
55 * Nombre del archivo imagen.
57 * @var string $imgSelect
63 * Indica si la imagen esta seleccionada.
65 * @var bool $seleccionada
68 var $_seleccionada = false;
71 * Indica si está habilitado el link.
73 * @var bool $habilitada
76 var $_habilitada = true;
79 * Link a donde apunta la imagen.
100 function getSeleccionada()
102 return $this->_seleccionada;
107 * @param bool $seleccionada Seleccionada.
112 function setSeleccionada($seleccionada)
114 $this->_seleccionada = $seleccionada;
123 function getHabilitada()
125 return $this->_habilitada;
130 * @param bool $habilitada Habilitada.
135 function setHabilitada($habilitada)
137 $this->_habilitada = $habilitada;
154 * @param string $link Link.
159 function setLink($link)
161 $this->_link = $link;
172 return $this->_nombre;
178 * @param string $nombre Nombre.
183 function setNombre($nombre)
185 $this->_nombre = $nombre;
195 * Recibe como parametro el nombre del archivo que contiene la imagen.
197 * @param string $imagenComun Nombre del archivo imagen.
198 * @param string $imagenMouseOn Imagen alterna con el mouse por arriba
199 * @param string $imagenSelect Imagen alterna cuando esta seleccionada la seccion
200 * @param string $directorio Directorio en donde se encuentran las imagenes
201 * @param string $nombre Nombre de la imagen animada.
202 * @param string $link Link.
203 * @param string $alt Texto alternativo para la imagen.
208 function MECON_Marco_ImagenAnimada($imagenComun, $imagenMouseOn = '',
209 $imagenSelect = '', $directorio = '', $nombre = '', $link = '',
212 if ($imagenComun !== '') {
213 $this->_imgComun = $this->_calcularImagen($imagenComun, $directorio);
214 if ($imagenMouseOn !== '') {
215 $this->_imgMouseOn = $this->_calcularImagen($imagenMouseOn, $directorio);
218 $this->_imgMouseOn = $this->_calcularImagen($imagenComun, $directorio, '_f2');
220 if ($imagenSelect !== '') {
221 $this->_imgSelect = $this->_calcularImagen($imagenSelect, $directorio);
224 $this->_imgSelect = $this->_calcularImagen($imagenComun, $directorio, '_f3');
227 $this->_nombre = $nombre;
228 $this->_link = $link;
229 $this->_alt = $alt ? $alt : $nombre;
233 * Funcion que devuelve un string con el html a imprimir en pantalla.
240 $src = $this->getSeleccionada() ? $this->_imgSelect : $this->_imgComun;
241 $img = new MECON_HTML_Image($src, $this->_alt, array('name' => $this->_nombre, 'border' => 0));
242 $html = $img->toHtml();
243 if ($this->getHabilitada()) {
244 if ($this->getSeleccionada()) {
245 $prepend = '<a href="'.$this->getLink().'">';
247 $prepend = '<a href="'.$this->getLink().'" onMouseOut="MM_swapImgRestore()"
248 onMouseOver="MM_displayStatusMsg(\''.$this->_nombre.'\');
249 MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imgMouseOn.'\',1);
250 return document.MM_returnValue"
251 MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imgMouseOn.'\',1)>';
253 $html = $prepend . $html . '</a>';
259 * @param string $imagen Nombre de la imagen.
260 * @param string $directorio Directorio.
261 * @param string $modificador Modificador que indica una variante de la imagen.
266 function _calcularImagen($imagen, $directorio, $modificador = '')
268 if ($modificador !== '') {
269 $pos = strrpos($imagen, '.');
270 $ext = substr($imagen, $pos);
271 $nom = substr($imagen, 0, $pos);
272 $imagen = "$nom$modificador$ext";
274 if (is_readable("{$_SERVER['DOCUMENT_ROOT']}$directorio/$imagen")) {
275 return "$directorio/$imagen";
278 return MECON_MARCO_IMAGENANIMADA_DIR_GENERAL . "/$imagen";