1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
2 -------------------------------------------------------------------------------
4 -------------------------------------------------------------------------------
5 This file is part of mlib.
7 mlib is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 2 of the License, or (at your option)
12 mlib is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License; if not,
17 write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18 Boston, MA 02111-1307 USA
19 -------------------------------------------------------------------------------
20 Creado: Mon Apr 14 16:23:22 2003
21 Autor: Martin Marrese <mmarre@mecon.gov.ar>
22 -------------------------------------------------------------------------------
24 -----------------------------------------------------------------------------*/
26 require_once 'MLIB/HTML/Image.php';
28 define('MLIB_MARCO_IMAGENANIMADA_DIR_GENERAL', '/MLIB/images');
31 * Clase para el manejo de la animacion de las imagenes. Utilizada
32 * principalmente en la barra de secciones
36 class MLIB_Marco_ImagenAnimada {
38 * Nombre del archivo imagen.
40 * @var string $imgComun
46 * Nombre del archivo imagen.
48 * @var string $imgMouseOn
51 var $_imgMouseOn = '';
54 * Nombre del archivo imagen.
56 * @var string $imgSelect
62 * Indica si la imagen esta seleccionada.
64 * @var bool $seleccionada
67 var $_seleccionada = false;
70 * Indica si está habilitado el link.
72 * @var bool $habilitada
75 var $_habilitada = true;
78 * 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;
153 * @param string $link Link.
158 function setLink($link)
160 $this->_link = $link;
171 return $this->_nombre;
177 * @param string $nombre Nombre.
182 function setNombre($nombre)
184 $this->_nombre = $nombre;
194 * Recibe como parametro el nombre del archivo que contiene la imagen.
196 * @param string $imagenComun Nombre del archivo imagen.
197 * @param string $imagenMouseOn Imagen alterna con el mouse por arriba
198 * @param string $imagenSelect Imagen alterna cuando esta seleccionada la seccion
199 * @param string $directorio Directorio en donde se encuentran las imagenes
200 * @param string $nombre Nombre de la imagen animada.
201 * @param string $link Link.
202 * @param string $alt Texto alternativo para la imagen.
207 function MLIB_Marco_ImagenAnimada($imagenComun, $imagenMouseOn = '',
208 $imagenSelect = '', $directorio = '', $nombre = '', $link = '',
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;
232 * Funcion que devuelve un string con el html a imprimir en pantalla.
239 $src = $this->getSeleccionada() ? $this->_imgSelect : $this->_imgComun;
240 $img = new MLIB_HTML_Image($src, $this->_alt, array('name' => $this->_nombre, 'border' => 0));
241 $html = $img->toHtml();
242 if ($this->getHabilitada()) {
243 if ($this->getSeleccionada()) {
244 $prepend = '<a href="'.$this->getLink().'">';
246 $prepend = '<a href="'.$this->getLink().'" onMouseOut="MM_swapImgRestore()"
247 onMouseOver="MM_displayStatusMsg(\''.$this->_nombre.'\');
248 MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imgMouseOn.'\',1);
249 return document.MM_returnValue"
250 MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imgMouseOn.'\',1)>';
252 $html = $prepend . $html . '</a>';
258 * @param string $imagen Nombre de la imagen.
259 * @param string $directorio Directorio.
260 * @param string $modificador Modificador que indica una variante de la imagen.
265 function _calcularImagen($imagen, $directorio, $modificador = '')
267 if ($modificador !== '') {
268 $pos = strrpos($imagen, '.');
269 $ext = substr($imagen, $pos);
270 $nom = substr($imagen, 0, $pos);
271 $imagen = "$nom$modificador$ext";
273 if (is_readable("{$_SERVER['DOCUMENT_ROOT']}$directorio/$imagen")) {
274 return "$directorio/$imagen";
277 return MLIB_MARCO_IMAGENANIMADA_DIR_GENERAL . "/$imagen";