X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/a72f9aa39abfcdf716559d2a295c7e68f6ca571b..84f4d19441dd0a757010a623b50cfe1b0c553f3b:/lib/MECON/Marco/ImagenAnimada.php diff --git a/lib/MECON/Marco/ImagenAnimada.php b/lib/MECON/Marco/ImagenAnimada.php index b15f4f9..86369c6 100644 --- a/lib/MECON/Marco/ImagenAnimada.php +++ b/lib/MECON/Marco/ImagenAnimada.php @@ -24,12 +24,9 @@ // $Rev$ // -#require_once 'PEAR.php'; +require_once 'HTML/Image.php'; - -// +X2C includes -require_once 'MECON/Marco/Imagen.php'; -// ~X2C +define('MECON_MARCO_IMAGENANIMADA_DIR_GENERAL', '/MECON/images'); // +X2C Class 17 :ImagenAnimada /** @@ -37,7 +34,15 @@ require_once 'MECON/Marco/Imagen.php'; * * @access public */ -class ImagenAnimada extends Imagen { +class ImagenAnimada { + /** + * Nombre del archivo imagen. + * + * @var string $imgComun + * @access private + */ + var $_imgComun; + /** * Nombre del archivo imagen. * @@ -54,6 +59,128 @@ class ImagenAnimada extends Imagen { */ 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 = ''; + + /** + * @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; + } + // ~X2C // +X2C Operation 70 @@ -64,45 +191,31 @@ class ImagenAnimada extends 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. * * @return void * @access public */ - function ImagenAnimada($imagenComun, $imagenMouseOn = null, $imagenSelect = null, $directorio = null) // ~X2C + function ImagenAnimada($imagenComun, $imagenMouseOn = '', $imagenSelect = '', $directorio = '', $nombre = '', $link = '')// ~X2C { - if (!is_null($imagenComun) && $imagenComun != '') { - parent::Imagen($imagenComun, $directorio); - - if (!is_null($imagenMouseOn) && $imagenMouseOn != ''){ - if (is_readable($_SERVER['DOCUMENT_ROOT'].$directorio.'/'.$imagenMouseOn.'.gif')) { - $this->_imgMouseOn = $directorio.'/'.$imagenMouseOn; - } - else { - $this->_imgMouseOn = '/MECON/images/'.$imagenMouseOn; - } - } - elseif (is_readable($_SERVER['DOCUMENT_ROOT'].$directorio.'/'.$imagenComun.'_f2.gif')) { - $this->_imgMouseOn = $directorio.'/'.$imagenComun.'_f2'; + if ($imagenComun !== '') { + $this->_imgComun = $this->_calcularImagen($imagenComun, $directorio); + if ($imagenMouseOn !== '') { + $this->_imgMouseOn = $this->_calcularImagen($imagenMouseOn, $directorio); } else { - $this->_imgMouseOn = '/MECON/images/'.$imagenComun.'_f2'; + $this->_imgMouseOn = $this->_calcularImagen($imagenComun, $directorio, '_f2'); } - - if (!is_null($imagenSelect) && $imagenSelect != ''){ - if (is_readable($_SERVER['DOCUMENT_ROOT'].$directorio.'/'.$imagenSelect.'.gif')) { - $this->_imgSelect = $directorio.'/'.$imagenSelect; - } - else { - $this->_imgSelect = '/MECON/images/'.$imagenSelect; - } - } - elseif (is_readable($_SERVER['DOCUMENT_ROOT'].$directorio.'/'.$imagenComun.'_f3.gif')) { - $this->_imgSelect = $directorio.'/'.$imagenComun.'_f3'; + if ($imagenSelect !== '') { + $this->_imgSelect = $this->_calcularImagen($imagenSelect, $directorio); } else { - $this->_imgSelect = '/MECON/images/'.$imagenComun.'_f3'; + $this->_imgSelect = $this->_calcularImagen($imagenComun, $directorio, '_f3'); } } + $this->_nombre = $nombre; + $this->_link = $link; } // -X2C @@ -113,9 +226,50 @@ class ImagenAnimada extends Imagen { * @return string * @access public */ - function toHtml() // ~X2C + function toHtml()// ~X2C + { + $src = $this->getSeleccionada() ? $this->_imgSelect : $this->_imgComun; + $img = new HTML_Image($src, $this->_nombre, 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; + } + // -X2C + + // +X2C Operation 209 + /** + * @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 = '')// ~X2C { - trigger_error('Not implemented!', E_USER_WARNING); + 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 MECON_MARCO_IMAGENANIMADA_DIR_GENERAL . "/$imagen"; + } } // -X2C