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');
31 // +X2C Class 17 :MECON_Marco_ImagenAnimada
33 * Clase para el manejo de la animacion de las imagenes. Utilizada principalmente en la barra de secciones
35 * @package MECON_Marco
38 class MECON_Marco_ImagenAnimada {
40 * Nombre del archivo imagen.
42 * @var string $imgComun
48 * Nombre del archivo imagen.
50 * @var string $imgMouseOn
53 var $_imgMouseOn = '';
56 * Nombre del archivo imagen.
58 * @var string $imgSelect
64 * Indica si la imagen esta seleccionada.
66 * @var bool $seleccionada
69 var $_seleccionada = false;
72 * Indica si está habilitado el link.
74 * @var bool $habilitada
77 var $_habilitada = true;
80 * Link a donde apunta la imagen.
101 function getSeleccionada()
103 return $this->_seleccionada;
108 * @param bool $seleccionada Seleccionada.
113 function setSeleccionada($seleccionada)
115 $this->_seleccionada = $seleccionada;
124 function getHabilitada()
126 return $this->_habilitada;
131 * @param bool $habilitada Habilitada.
136 function setHabilitada($habilitada)
138 $this->_habilitada = $habilitada;
154 * @param string $link Link.
159 function setLink($link)
161 $this->_link = $link;
172 return $this->_nombre;
177 * @param string $nombre Nombre.
182 function setNombre($nombre)
184 $this->_nombre = $nombre;
196 * Constructor. Recibe como parametro el nombre del archivo que contiene la imagen.
198 * @param string $imagenComun Nombre del archivo imagen.
199 * @param string $imagenMouseOn Imagen alterna con el mouse por arriba
200 * @param string $imagenSelect Imagen alterna cuando esta seleccionada la seccion
201 * @param string $directorio Directorio en donde se encuentran las imagenes
202 * @param string $nombre Nombre de la imagen animada.
203 * @param string $link Link.
204 * @param string $alt Texto alternativo para la imagen.
209 function MECON_Marco_ImagenAnimada($imagenComun, $imagenMouseOn = '', $imagenSelect = '', $directorio = '', $nombre = '', $link = '', $alt = '') // ~X2C
211 if ($imagenComun !== '') {
212 $this->_imgComun = $this->_calcularImagen($imagenComun, $directorio);
213 if ($imagenMouseOn !== '') {
214 $this->_imgMouseOn = $this->_calcularImagen($imagenMouseOn, $directorio);
217 $this->_imgMouseOn = $this->_calcularImagen($imagenComun, $directorio, '_f2');
219 if ($imagenSelect !== '') {
220 $this->_imgSelect = $this->_calcularImagen($imagenSelect, $directorio);
223 $this->_imgSelect = $this->_calcularImagen($imagenComun, $directorio, '_f3');
226 $this->_nombre = $nombre;
227 $this->_link = $link;
228 $this->_alt = $alt ? $alt : $nombre;
234 * Funcion que devuelve un string con el html a imprimir en pantalla.
239 function toHtml() // ~X2C
241 $src = $this->getSeleccionada() ? $this->_imgSelect : $this->_imgComun;
242 $img = new MECON_HTML_Image($src, $this->_alt, array('name' => $this->_nombre, 'border' => 0));
243 $html = $img->toHtml();
244 if ($this->getHabilitada()) {
245 if ($this->getSeleccionada()) {
246 $prepend = '<a href="'.$this->getLink().'">';
248 $prepend = '<a href="'.$this->getLink().'" onMouseOut="MM_swapImgRestore()"
249 onMouseOver="MM_displayStatusMsg(\''.$this->_nombre.'\');
250 MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imgMouseOn.'\',1);
251 return document.MM_returnValue"
252 MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imgMouseOn.'\',1)>';
254 $html = $prepend . $html . '</a>';
260 // +X2C Operation 209
262 * @param string $imagen Nombre de la imagen.
263 * @param string $directorio Directorio.
264 * @param string $modificador Modificador que indica una variante de la imagen.
269 function _calcularImagen($imagen, $directorio, $modificador = '') // ~X2C
271 if ($modificador !== '') {
272 $pos = strrpos($imagen, '.');
273 $ext = substr($imagen, $pos);
274 $nom = substr($imagen, 0, $pos);
275 $imagen = "$nom$modificador$ext";
277 if (is_readable("{$_SERVER['DOCUMENT_ROOT']}$directorio/$imagen")) {
278 return "$directorio/$imagen";
281 return MECON_MARCO_IMAGENANIMADA_DIR_GENERAL . "/$imagen";
286 } // -X2C Class :MECON_Marco_ImagenAnimada