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 '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.
99 function getSeleccionada()
101 return $this->_seleccionada;
106 * @param bool $seleccionada Seleccionada.
111 function setSeleccionada($seleccionada)
113 $this->_seleccionada = $seleccionada;
122 function getHabilitada()
124 return $this->_habilitada;
129 * @param bool $habilitada Habilitada.
134 function setHabilitada($habilitada)
136 $this->_habilitada = $habilitada;
152 * @param string $link Link.
157 function setLink($link)
159 $this->_link = $link;
170 return $this->_nombre;
175 * @param string $nombre Nombre.
180 function setNombre($nombre)
182 $this->_nombre = $nombre;
189 * Constructor. Recibe como parametro el nombre del archivo que contiene la imagen.
191 * @param string $imagenComun Nombre del archivo imagen.
192 * @param string $imagenMouseOn Imagen alterna con el mouse por arriba
193 * @param string $imagenSelect Imagen alterna cuando esta seleccionada la seccion
194 * @param string $directorio Directorio en donde se encuentran las imagenes
195 * @param string $nombre Nombre de la imagen animada.
196 * @param string $link Link.
201 function MECON_Marco_ImagenAnimada($imagenComun, $imagenMouseOn = '', $imagenSelect = '', $directorio = '', $nombre = '', $link = '') // ~X2C
203 if ($imagenComun !== '') {
204 $this->_imgComun = $this->_calcularImagen($imagenComun, $directorio);
205 if ($imagenMouseOn !== '') {
206 $this->_imgMouseOn = $this->_calcularImagen($imagenMouseOn, $directorio);
209 $this->_imgMouseOn = $this->_calcularImagen($imagenComun, $directorio, '_f2');
211 if ($imagenSelect !== '') {
212 $this->_imgSelect = $this->_calcularImagen($imagenSelect, $directorio);
215 $this->_imgSelect = $this->_calcularImagen($imagenComun, $directorio, '_f3');
218 $this->_nombre = $nombre;
219 $this->_link = $link;
225 * Funcion que devuelve un string con el html a imprimir en pantalla.
230 function toHtml() // ~X2C
232 $src = $this->getSeleccionada() ? $this->_imgSelect : $this->_imgComun;
233 $img = new HTML_Image($src, $this->_nombre, array('name' => $this->_nombre, 'border' => 0));
234 $html = $img->toHtml();
235 if ($this->getHabilitada()) {
236 if ($this->getSeleccionada()) {
237 $prepend = '<a href="'.$this->getLink().'">';
239 $prepend = '<a href="'.$this->getLink().'" onMouseOut="MM_swapImgRestore()"
240 onMouseOver="MM_displayStatusMsg(\''.$this->_nombre.'\');
241 MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imgMouseOn.'\',1);
242 return document.MM_returnValue"
243 MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imgMouseOn.'\',1)>';
245 $html = $prepend . $html . '</a>';
251 // +X2C Operation 209
253 * @param string $imagen Nombre de la imagen.
254 * @param string $directorio Directorio.
255 * @param string $modificador Modificador que indica una variante de la imagen.
260 function _calcularImagen($imagen, $directorio, $modificador = '') // ~X2C
262 if ($modificador !== '') {
263 $pos = strrpos($imagen, '.');
264 $ext = substr($imagen, $pos);
265 $nom = substr($imagen, 0, $pos);
266 $imagen = "$nom$modificador$ext";
268 if (is_readable("{$_SERVER['DOCUMENT_ROOT']}$directorio/$imagen")) {
269 return "$directorio/$imagen";
272 return MECON_MARCO_IMAGENANIMADA_DIR_GENERAL . "/$imagen";
277 } // -X2C Class :MECON_Marco_ImagenAnimada