]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MECON/Marco/ImagenAnimada.php
c1449191c6fa8263613ae0a66a3d064330569676
[mecon/meconlib.git] / lib / MECON / Marco / ImagenAnimada.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +----------------------------------------------------------------------+
4 // | PHP Version 4                                                        |
5 // +----------------------------------------------------------------------+
6 // | Copyright (c) 1997-2003 The PHP Group                                |
7 // +----------------------------------------------------------------------+
8 // | This source file is subject to version 2.02 of the PHP license,      |
9 // | that is bundled with this package in the file LICENSE, and is        |
10 // | available at through the world-wide-web at                           |
11 // | http://www.php.net/license/2_02.txt.                                 |
12 // | If you did not receive a copy of the PHP license and are unable to   |
13 // | obtain it through the world-wide-web, please send a note to          |
14 // | license@php.net so we can mail you a copy immediately.               |
15 // +----------------------------------------------------------------------+
16 // | Created: Mon Apr 14 16:23:22 2003
17 // | Author:  Martin Marrese <mmarre@mecon.gov.ar>
18 // +----------------------------------------------------------------------+
19 //
20 // $Id$
21 // $Author$
22 // $URL$
23 // $Date$
24 // $Rev$
25 //
26
27 require_once 'HTML/Image.php';
28
29 define('MECON_MARCO_IMAGENANIMADA_DIR_GENERAL', '/MECON/images');
30
31 // +X2C Class 17 :ImagenAnimada
32 /**
33  * Clase para el manejo de la animacion de las imagenes. Utilizada principalmente en la barra de secciones
34  *
35  * @access public
36  */
37 class ImagenAnimada {
38     /**
39      * Nombre del archivo imagen.
40      *
41      * @var    string $imgComun
42      * @access private
43      */
44     var $_imgComun;
45
46     /**
47      * Nombre del archivo imagen.
48      *
49      * @var    string $imgMouseOn
50      * @access private
51      */
52     var $_imgMouseOn;
53
54     /**
55      * Nombre del archivo imagen.
56      *
57      * @var    string $imgSelect
58      * @access private
59      */
60     var $_imgSelect;
61
62     /**
63      * Indica si la imagen esta seleccionada.
64      *
65      * @var    bool $seleccionada
66      * @access protected
67      */
68     var $_seleccionada = false;
69
70     /**
71      * Indica si est?habilitado el link.
72      *
73      * @var    bool $habilitada
74      * @access protected
75      */
76     var $_habilitada = true;
77
78     /**
79      * Link a donde apunta la imagen.
80      *
81      * @var    string $link
82      * @access protected
83      */
84     var $_link = '';
85
86     /**
87      * @var    string $nombre
88      * @access protected
89      */
90     var $_nombre;
91
92     /**
93      * Gets Seleccionada.
94      *
95      * @return bool
96      * @access public
97      */
98     function getSeleccionada()
99     {
100         return $this->_seleccionada;
101     }
102     /**
103      * Sets Seleccionada.
104      *
105      * @param  bool $seleccionada Seleccionada.
106      *
107      * @return void
108      * @access public
109      */
110     function setSeleccionada($seleccionada)
111     {
112         $this->_seleccionada = $seleccionada;
113     }
114
115     /**
116      * Gets Habilitada.
117      *
118      * @return bool
119      * @access public
120      */
121     function getHabilitada()
122     {
123         return $this->_habilitada;
124     }
125     /**
126      * Sets Habilitada.
127      *
128      * @param  bool $habilitada Habilitada.
129      *
130      * @return void
131      * @access public
132      */
133     function setHabilitada($habilitada)
134     {
135         $this->_habilitada = $habilitada;
136     }
137
138     /**
139      * Gets Link.
140      *
141      * @return string
142      * @access public
143      */
144     function getLink()
145     {
146         return $this->_link;
147     }
148     /**
149      * Sets Link.
150      *
151      * @param  string $link Link.
152      *
153      * @return void
154      * @access public
155      */
156     function setLink($link)
157     {
158         $this->_link = $link;
159     }
160
161     /**
162      * Gets Nombre.
163      *
164      * @return string
165      * @access public
166      */
167     function getNombre()
168     {
169         return $this->_nombre;
170     }
171     /**
172      * Sets Nombre.
173      *
174      * @param  string $nombre Nombre.
175      *
176      * @return void
177      * @access public
178      */
179     function setNombre($nombre)
180     {
181         $this->_nombre = $nombre;
182     }
183
184     // ~X2C
185
186     // +X2C Operation 70
187     /**
188      * Constructor. Recibe como parametro el nombre del archivo que contiene la imagen.
189      *
190      * @param  string $imagenComun Nombre del archivo imagen.
191      * @param  string $imagenMouseOn Imagen alterna con el mouse por arriba
192      * @param  string $imagenSelect Imagen alterna cuando esta seleccionada la seccion
193      * @param  string $directorio Directorio en donde se encuentran las imagenes
194      * @param  string $nombre Nombre de la imagen animada.
195      *
196      * @return void
197      * @access public
198      */
199     function ImagenAnimada($imagenComun, $imagenMouseOn = '', $imagenSelect = '', $directorio = '', $nombre = '')// ~X2C
200     {
201         if ($imagenComun !== '') {
202             $this->_imgComun = $this->_calcularImagen($imagenComun, $directorio);
203             if ($imagenMouseOn !== '') {
204                 $this->_imgMouseOn = $this->_calcularImagen($imagenMouseOn, $directorio);
205             }
206             else {
207                 $this->_imgMouseOn = $this->_calcularImagen($imagenComun, $directorio, '_f2');
208             }
209             if ($imagenSelect !== '') {
210                 $this->_imgSelect = $this->_calcularImagen($imagenSelect, $directorio);
211             }
212             else {
213                 $this->_imgSelect = $this->_calcularImagen($imagenComun, $directorio, '_f3');
214             }
215         }
216         $this->_nombre = $nombre;
217     }
218     // -X2C
219
220     // +X2C Operation 71
221     /**
222      * Funcion que devuelve un string con el html a imprimir en pantalla.
223      *
224      * @return string
225      * @access public
226      */
227     function toHtml()// ~X2C
228     {
229         $src = $this->getSeleccionada() ? $this->_imgSelect : $this->_imgComun;
230         $img = new HTML_Image($src, $this->_nombre, array('name' => $this->_nombre, 'border' => 0));
231         $html = $img->toHtml();
232         if ($this->getHabilitada()) {
233             if ($this->getSeleccionada()) {
234                 $prepend = '<a href="'.$this->getLink().'">';
235             } else {
236                 $prepend = '<a href="'.$this->getLink().'" onMouseOut="MM_swapImgRestore()"
237                     onMouseOver="MM_displayStatusMsg(\''.$this->_nombre.'\');
238                     MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imgMouseOn.'\',1);
239                     return document.MM_returnValue"
240                     MM_swapImage(\''.$this->_nombre.'\',\'\',\''.$this->_imgMouseOn.'\',1)>';
241             }
242             $html = $prepend . $html . '</a>';
243         }
244         return $html;
245     }
246     // -X2C
247
248     // +X2C Operation 209
249     /**
250      * @param  string $imagen Nombre de la imagen.
251      * @param  string $directorio Directorio.
252      * @param  string $modificador Modificador que indica una variante de la imagen.
253      *
254      * @return string
255      * @access protected
256      */
257     function _calcularImagen($imagen, $directorio, $modificador = '')// ~X2C
258     {
259         if ($modificador !== '') {
260             $pos = strrpos($imagen, '.');
261             $ext = substr($imagen, $pos);
262             $nom = substr($imagen, 0, $pos);
263             $imagen = "$nom$modificador$ext";
264         }
265         if (is_readable("{$_SERVER['DOCUMENT_ROOT']}$directorio/$imagen")) {
266             return "$directorio/$imagen";
267         }
268         else {
269             return MECON_MARCO_IMAGENANIMADA_DIR_GENERAL . "/$imagen";
270         }
271     }
272     // -X2C
273
274 } // -X2C Class :ImagenAnimada
275
276 ?>