1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
2 -------------------------------------------------------------------------------
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.
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;
191 * Constructor. Recibe como parametro el nombre del archivo que contiene la imagen.
193 * @param string $imagenComun Nombre del archivo imagen.
194 * @param string $imagenMouseOn Imagen alterna con el mouse por arriba
195 * @param string $imagenSelect Imagen alterna cuando esta seleccionada la seccion
196 * @param string $directorio Directorio en donde se encuentran las imagenes
197 * @param string $nombre Nombre de la imagen animada.
198 * @param string $link Link.
203 function MECON_Marco_ImagenAnimada($imagenComun, $imagenMouseOn = '', $imagenSelect = '', $directorio = '', $nombre = '', $link = '') // ~X2C
205 if ($imagenComun !== '') {
206 $this->_imgComun = $this->_calcularImagen($imagenComun, $directorio);
207 if ($imagenMouseOn !== '') {
208 $this->_imgMouseOn = $this->_calcularImagen($imagenMouseOn, $directorio);
211 $this->_imgMouseOn = $this->_calcularImagen($imagenComun, $directorio, '_f2');
213 if ($imagenSelect !== '') {
214 $this->_imgSelect = $this->_calcularImagen($imagenSelect, $directorio);
217 $this->_imgSelect = $this->_calcularImagen($imagenComun, $directorio, '_f3');
220 $this->_nombre = $nombre;
221 $this->_link = $link;
227 * Funcion que devuelve un string con el html a imprimir en pantalla.
232 function toHtml() // ~X2C
234 $src = $this->getSeleccionada() ? $this->_imgSelect : $this->_imgComun;
235 $img = new HTML_Image($src, $this->_nombre, array('name' => $this->_nombre, 'border' => 0));
236 $html = $img->toHtml();
237 if ($this->getHabilitada()) {
238 if ($this->getSeleccionada()) {
239 $prepend = '<a href="'.$this->getLink().'">';
241 $prepend = '<a href="'.$this->getLink().'" onMouseOut="MM_swapImgRestore()"
242 onMouseOver="MM_displayStatusMsg(\''.$this->_nombre.'\');
243 MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imgMouseOn.'\',1);
244 return document.MM_returnValue"
245 MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imgMouseOn.'\',1)>';
247 $html = $prepend . $html . '</a>';
253 // +X2C Operation 209
255 * @param string $imagen Nombre de la imagen.
256 * @param string $directorio Directorio.
257 * @param string $modificador Modificador que indica una variante de la imagen.
262 function _calcularImagen($imagen, $directorio, $modificador = '') // ~X2C
264 if ($modificador !== '') {
265 $pos = strrpos($imagen, '.');
266 $ext = substr($imagen, $pos);
267 $nom = substr($imagen, 0, $pos);
268 $imagen = "$nom$modificador$ext";
270 if (is_readable("{$_SERVER['DOCUMENT_ROOT']}$directorio/$imagen")) {
271 return "$directorio/$imagen";
274 return MECON_MARCO_IMAGENANIMADA_DIR_GENERAL . "/$imagen";
279 } // -X2C Class :MECON_Marco_ImagenAnimada