------------------------------------------------------------------------------- $Id$ -----------------------------------------------------------------------------*/ require_once 'MLIB/HTML/Image.php'; define('MLIB_MARCO_IMAGENANIMADA_DIR_GENERAL', '/MLIB/images'); /** * Clase para el manejo de la animacion de las imagenes. Utilizada * principalmente en la barra de secciones * * @access public */ class MLIB_Marco_ImagenAnimada { /** * Nombre del archivo imagen. * * @var string $imgComun * @access private */ var $_imgComun = ''; /** * Nombre del archivo imagen. * * @var string $imgMouseOn * @access private */ var $_imgMouseOn = ''; /** * Nombre del archivo imagen. * * @var string $imgSelect * @access private */ var $_imgSelect = ''; /** * Indica si la imagen esta seleccionada. * * @var bool $seleccionada * @access protected */ var $_seleccionada = false; /** * Indica si está habilitado el link. * * @var bool $habilitada * @access protected */ var $_habilitada = true; /** * Link a donde apunta la imagen. * * @var string $link * @access protected */ var $_link = ''; /** * Nombre de la imagen * * @var string $nombre * @access protected */ var $_nombre = ''; /** * Gets Seleccionada. * * @return bool * @access public */ function getSeleccionada() { return $this->_seleccionada; } /** * Sets Seleccionada. * * @param bool $seleccionada Seleccionada. * * @return void * @access public */ function setSeleccionada($seleccionada) { $this->_seleccionada = $seleccionada; } /** * Gets Habilitada. * * @return bool * @access public */ function getHabilitada() { return $this->_habilitada; } /** * Sets Habilitada. * * @param bool $habilitada Habilitada. * * @return void * @access public */ function setHabilitada($habilitada) { $this->_habilitada = $habilitada; } /** * Gets Link. * * @return string * @access public */ function getLink() { return $this->_link; } /** * Sets Link. * * @param string $link Link. * * @return void * @access public */ function setLink($link) { $this->_link = $link; } /** * Gets Nombre. * * @return string * @access public */ function getNombre() { return $this->_nombre; } /** * Sets Nombre. * * @param string $nombre Nombre. * * @return void * @access public */ function setNombre($nombre) { $this->_nombre = $nombre; } /** * Texto alternativo. */ var $_alt = ''; /** * Constructor. * Recibe como parametro el nombre del archivo que contiene la imagen. * * @param string $imagenComun Nombre del archivo imagen. * @param string $imagenMouseOn Imagen alterna con el mouse por arriba * @param string $imagenSelect Imagen alterna cuando esta seleccionada la seccion * @param string $directorio Directorio en donde se encuentran las imagenes * @param string $nombre Nombre de la imagen animada. * @param string $link Link. * @param string $alt Texto alternativo para la imagen. * * @return void * @access public */ function MLIB_Marco_ImagenAnimada($imagenComun, $imagenMouseOn = '', $imagenSelect = '', $directorio = '', $nombre = '', $link = '', $alt = '') { if ($imagenComun !== '') { $this->_imgComun = $this->_calcularImagen($imagenComun, $directorio); if ($imagenMouseOn !== '') { $this->_imgMouseOn = $this->_calcularImagen($imagenMouseOn, $directorio); } else { $this->_imgMouseOn = $this->_calcularImagen($imagenComun, $directorio, '_f2'); } if ($imagenSelect !== '') { $this->_imgSelect = $this->_calcularImagen($imagenSelect, $directorio); } else { $this->_imgSelect = $this->_calcularImagen($imagenComun, $directorio, '_f3'); } } $this->_nombre = $nombre; $this->_link = $link; $this->_alt = $alt ? $alt : $nombre; } /** * Funcion que devuelve un string con el html a imprimir en pantalla. * * @return string * @access public */ function toHtml() { $src = $this->getSeleccionada() ? $this->_imgSelect : $this->_imgComun; $img = new MLIB_HTML_Image($src, $this->_alt, array('name' => $this->_nombre, 'border' => 0)); $html = $img->toHtml(); if ($this->getHabilitada()) { if ($this->getSeleccionada()) { $prepend = ''; } else { $prepend = '_nombre.'\',\'\',\''.$this->_imgMouseOn.'\',1)>'; } $html = $prepend . $html . ''; } return $html; } /** * @param string $imagen Nombre de la imagen. * @param string $directorio Directorio. * @param string $modificador Modificador que indica una variante de la imagen. * * @return string * @access protected */ function _calcularImagen($imagen, $directorio, $modificador = '') { if ($modificador !== '') { $pos = strrpos($imagen, '.'); $ext = substr($imagen, $pos); $nom = substr($imagen, 0, $pos); $imagen = "$nom$modificador$ext"; } if (is_readable("{$_SERVER['DOCUMENT_ROOT']}$directorio/$imagen")) { return "$directorio/$imagen"; } else { return MLIB_MARCO_IMAGENANIMADA_DIR_GENERAL . "/$imagen"; } } } ?>