]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/Marco/Copete.php
Se agrega una imagen general.
[mecon/meconlib.git] / lib / MECON / Marco / Copete.php
index 9b2c5ecf41dba8d74d6748fc81acbf916accc9d9..3fa78441bdbf5e3c3b0c2dfce14074efe7615d76 100644 (file)
@@ -24,12 +24,11 @@ Autor:  Martin Marrese <mmarre@mecon.gov.ar>
 $Id$
 -----------------------------------------------------------------------------*/
 
-require_once 'PEAR.php';
-
+require_once 'MECON/HTML/Image.php';
 
 // +X2C Class 9 :MECON_Marco_Copete
 /**
- * Clase para el manejo de los copetes de los sistemas integrantes de intranet. Recibe el directorio porque debe obtener la imagen del directorio especificado.
+ * Manejo del copete de los sistemas que utilizan MECON_Marco
  *
  * @package MECON_Marco
  * @access public
@@ -43,20 +42,57 @@ class MECON_Marco_Copete {
      */
     var $_directorio = '';
 
+    /**
+     * String con la referencia y los getvars de la ayuda
+     *
+     * @var    string $ayuda
+     * @access private
+     */
+    var $_ayuda = null;
+
+    /**
+     * Nombre del sistema.
+     *
+     * @private
+     */
+    var $_sistema = '';
+
     // ~X2C
 
     // +X2C Operation 34
     /**
-     * Constructor. Recibe el nombre del directorio en donde se encuentra instalado el sistema. El directorio es case sensitive.
+     * Recibe el nombre del directorio en donde se encuentra instalado el sistema. El directorio es case sensitive.
      *
      * @param  string $directorio Nombre del directorio en donde se encuentra el sistema.
+     * @param  mixed $ayuda Objeto MECON_HTML_Link o string para armar el map de la ayuda.
      *
      * @return void
      * @access public
      */
-    function MECON_Marco_Copete($directorio) // ~X2C
+    function MECON_Marco_Copete($directorio, $ayuda = null, $sistema = '') // ~X2C
     {
         $this->_directorio  = $directorio;
+        $this->_sistema     = $sistema;
+        if (@$ayuda) {
+            if (is_object($ayuda)) {
+                $val = $ayuda->getHref();
+                foreach ($ayuda->getGetVars() as $var => $v) {
+                    if (is_object($v) and method_exists($v, 'tostring')) {
+                        $v = $v->tostring();
+                    } elseif (is_object($v) or is_array($v)) {
+                        $v = serialize($v);
+                    }
+                    $vars[] = urlencode($var) . '=' . urlencode($v);
+                }
+                if ($vars) {
+                    $val .= '?' . join('&', $vars);
+                }
+                $this->_ayuda = $val;
+            }
+            else {
+                $this->_ayuda = $ayuda;
+            }
+        }
     }
     // -X2C
 
@@ -70,7 +106,24 @@ class MECON_Marco_Copete {
     function toHtml() // ~X2C
     {
         if (!is_null($this->_directorio)) {
-            return '<img src="'.$this->_directorio.'/copete">';
+            $image = new MECON_HTML_Image(
+                $this->_directorio.'/copete',
+                'Intranet - Ministerio de Economía - ' . $this->_sistema,
+                array(
+                    'width' => 760,
+                    'height' => 42,
+                    'border' => 0,
+                )
+            );
+            if (@$this->_ayuda) {
+                $image->updateAttributes(array('usemap' => '#Map_copete'));
+                $image->setSrc($image->getSrc() . '_ayuda');
+                return $image->toHtml() . '<map name="Map_copete"><area shape="circle" coords="748,30,7" href="'
+                    . $this->_ayuda . '"></map>';                
+            }
+            else {
+                return $image->toHtml();
+            }
         }
         else {
             return '';