From ee6f4c88016bc8938dc047036965dc937e68584c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mart=C3=ADn=20Marrese?= Date: Wed, 30 Apr 2003 17:22:50 +0000 Subject: [PATCH 1/1] - La primer version esta casi lista. Se modifico la manera que se trabaja, ahora se utilizan HTML_Page y HTML_Table en mas partes..... Hay bastantes modificaciones en el diagrama de clases, ya que al cambiar la forma de utilizar las clases HTML de pear tuve que adaptar el disenio para que todo cuadrara --- marco/doc/uml/Marco.xmi | 161 ++++++++++++++++------- marco/php/marco/Estilo.php | 113 ---------------- marco/php/marco/Marco.php | 138 +++++++++++++------ marco/php/marco/Menu.php | 88 ++++++++----- marco/php/marco/MenuHorizontal.php | 77 +++++++++++ marco/php/marco/MenuVertical.php | 79 +++++++++++ marco/php/marco/Pagina.php | 2 +- marco/php/marco/Script.php | 111 ---------------- marco/php/marco/Seccion.php | 102 +++++++++++++- marco/test/prueba/conf/confSecciones.php | 31 +++-- marco/test/prueba/conf/configuracion.php | 1 - marco/test/prueba/www/.htaccess | 2 +- marco/test/prueba/www/usuarios.php | 4 + 13 files changed, 551 insertions(+), 358 deletions(-) delete mode 100644 marco/php/marco/Estilo.php create mode 100644 marco/php/marco/MenuHorizontal.php create mode 100644 marco/php/marco/MenuVertical.php delete mode 100644 marco/php/marco/Script.php create mode 100644 marco/test/prueba/www/usuarios.php diff --git a/marco/doc/uml/Marco.xmi b/marco/doc/uml/Marco.xmi index 9316f8b..6a9f80e 100644 --- a/marco/doc/uml/Marco.xmi +++ b/marco/doc/uml/Marco.xmi @@ -9,7 +9,7 @@ - + @@ -29,12 +29,15 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m + + + @@ -85,12 +88,9 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m - - - @@ -99,10 +99,14 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m + + + + @@ -116,14 +120,21 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m + + + + + + + @@ -147,82 +158,118 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m +x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> + + + + + + + + + + + + + + + + - + - - - - - - - - - - + + + + + + + + + + + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + + + + + + + - - + + - + - - + + + + + + + + + + + + + + @@ -264,10 +311,13 @@ x2c:'HTML/Page.php'" name="HTML_Page" static="0" scope="200" /> + + + @@ -278,18 +328,25 @@ x2c:'HTML/Page.php'" name="HTML_Page" static="0" scope="200" /> + + + + - + + + + @@ -312,10 +369,16 @@ x2c:'HTML/Page.php'" name="HTML_Page" static="0" scope="200" /> + + + + + + @@ -325,6 +388,10 @@ x2c:'HTML/Page.php'" name="HTML_Page" static="0" scope="200" /> + + + + diff --git a/marco/php/marco/Estilo.php b/marco/php/marco/Estilo.php deleted file mode 100644 index 14512e7..0000000 --- a/marco/php/marco/Estilo.php +++ /dev/null @@ -1,113 +0,0 @@ - -// +----------------------------------------------------------------------+ -// -// $Id$ -// $Author$ -// $URL$ -// $Date$ -// $Rev$ -// - -require_once 'PEAR.php'; - -define ('ESTILO_GENERICO', '/www/css/estilos.css'); - - - -// +X2C Class 12 :Estilo -/** - * Clase para el manejo de los archivos de estilo correspondientes al sistema. - * - * @access public - */ -class Estilo { - /** - * Nombre del directorio en donde se encuentra el sistema - * - * @var string $directorio - * - * @access private - */ - var $_directorio; - - /** - * Array con los nombre de los archivos de estilo que se fueron agregando - * - * @var array(string) $archivos - * - * @access private - */ - var $_archivos; - - // ~X2C - - // +X2C Operation 48 - /** - * Constructor. Recibe como parametro el nombre del directorio en donde se encuentra el sistema. Es case sensitive. - * - * @param string $directorio Nombre del directorio en donde se encuentra el sistema - * - * @return void - * - * @access public - */ - function Estilo($directorio) // ~X2C - { - $this->_directorio = $directorio; - $this->_archivos = array (); - } - // -X2C - - // +X2C Operation 49 - /** - * Funcion que devuelve un string con el html a imprimir en pantalla. - * - * @return string - * - * @access public - */ - function toHtml() // ~X2C - { - $TEXTO = "\n".''."\n"; - foreach ($this->_archivos as $archivo) { - $TEXTO.= "\n".''."\n"; - } - return $TEXTO; - } - // -X2C - - // +X2C Operation 50 - /** - * Funcion que permite agregar archivos de estilos propios del sistema, ademas del archivo de estilo generico. - * - * @param string $archivo Nombre del archivo de estilo a agregar - * - * @return void - * - * @access public - */ - function agregarArchivo($archivo) // ~X2C - { - array_push($this->_archivos, $archivo); - } - // -X2C - -} // -X2C Class :Estilo - -?> \ No newline at end of file diff --git a/marco/php/marco/Marco.php b/marco/php/marco/Marco.php index 20aa205..ccfbbdc 100644 --- a/marco/php/marco/Marco.php +++ b/marco/php/marco/Marco.php @@ -31,8 +31,8 @@ require_once 'include/lib/marco/Pie.php'; require_once 'include/lib/marco/Menu.php'; //Agregado para el uso de HTML_Page (Uso la version Original de Pear) -require_once 'HTML/Page.php'; -require_once 'HTML/Table.php'; +require_once 'include/lib/HTML/Page.php'; +require_once 'include/lib/HTML/Table.php'; define ('SISTEMA_DIR_BASE', '/www/sistemas'); define ('SCRIPT_DIR_BASE' , '/www/js/'); @@ -103,6 +103,15 @@ class Marco extends HTML_Page { */ var $_pie; + /** + * Html de lo que se quiere incluir + * + * @var string $contenido + * + * @access private + */ + var $_contenido; + // ~X2C // +X2C Operation 26 @@ -117,7 +126,15 @@ class Marco extends HTML_Page { */ function Marco($directorio) // ~X2C { - parent::HTML_Page(); + // var_dump(get_included_files()); + + parent::HTML_Page(array ('charset' => 'utf-8', + 'lineend' => 'unix', + 'doctype' => 'strict', + 'language' => 'en', + 'cache' => 'false', + 'simple' => 'true')); + $this->_directorio = $directorio; $this->_obtenerConfiguracion(); $this->_titulo = new Titulo ($this->_configuracion); @@ -234,39 +251,13 @@ class Marco extends HTML_Page { */ function display() // ~X2C { - //Agrego el titulo, el script generico y los estilos genericos. - $this->setTitle($this->_titulo->darTitulo()); - $this->addScript(SCRIPT_DIR_BASE.SCRIPT_GENERICO); - $this->addStyleSheet(ESTILO_DIR_BASE.ESTILO_GENERICO); - - $TABLA_GRANDE = new HTML_Table('width=760 align="center" bgcolor="#FFFFFF" cellspacing="0" cellpadding="0" border="0"'); - //AGREGO EL COPETE - $row = array ($this->_copete->darCopete()); - $TABLA_GRANDE->addRow($row,'align="center" bgcolor="#FFFFFF"'); - //AGREGO LAS SECCIONES - $row = array ($this->_menu->toHtmlSecciones()); - $TABLA_GRANDE->addRow($row,'align="center" bgcolor="#CCCCCC"'); - //AGREGO EL TITULO DE LA SECCION - //TODO: Agregar segun corresponda el titulo - //AGREGO EL MENU HORIZONTAL DE LA SECCION - //TODO: Agregar segun corresponda el menu horizontal - //AGREGO EL MENU VERTICAL DE LA SECCION - //TODO: Agregar segun corresponda el menu vertical - //AGREGO EL BODY ORIGINAL A LA TABLA GRANDE - //TODO: Agregar el body original a la tabla grande - // Lo que hay ahora es una prueba - $row = array ($this->body); - $TABLA_GRANDE->addRow($row,'align="center" bgcolor="#FFFFFF"'); - //AGREGO EL PIE DE PAGINA - $row = array ($this->_pie->darPie()); - $TABLA_GRANDE->addRow($row,'align="center" bgcolor="#CCCCCC"'); - //TODO: Agregar el pie de pagina del sistema - - //ASIGNO EL NUEVO BODY DE LA PAGINA - $this->body = $TABLA_GRANDE->toHtml(); - //MUESTRO EN PANTALLA LA PAGINA + //Agrego el header + $this->_header_display(); + //Agrego el body + $this->_body_display(); + // MUESTRO EN PANTALLA LA PAGINA parent::display(); - //SI ESTOY FUNCIONA SOY FELIZ....->MARTIN MARRESE + // SI ESTOY FUNCIONA SOY FELIZ....->MARTIN MARRESE } // -X2C @@ -281,10 +272,79 @@ class Marco extends HTML_Page { */ function addBody($body) // ~X2C { - //ACA TENGO QUE AGREGAR TODO LOQ UE VA EN EL BODY, MAS LA INFO QUE ME PASAN - //LOS PROGRAMADORES. - //Ahora queda asi porque lo estoy probando - $this->body = $body; + $this->_contenido = $body; + } + // -X2C + + // +X2C Operation 112 + /** + * Funcion que se encarga de agregar a la pagina el contenido del header + * + * @return void + * + * @access private + */ + function _header_display() // ~X2C + { + $this->setTitle($this->_titulo->darTitulo()); + $this->addScript(SCRIPT_DIR_BASE.SCRIPT_GENERICO); + $this->addStyleSheet(ESTILO_DIR_BASE.ESTILO_GENERICO); + } + // -X2C + + // +X2C Operation 113 + /** + * Funcion que se encarga de agregar a la pagina el contenido del body + * + * @return void + * + * @access private + */ + function _body_display() // ~X2C + { + $TABLA_GRANDE = new HTML_Table('width=760 align="center" bgcolor="#FFFFFF" cellspacing="0" cellpadding="0" border="0"'); + + //Agrego el body + $row = array ($this->_copete->darCopete()); + $TABLA_GRANDE->addRow($row,"align=\"center\" bgcolor=\"#FFFFFF\""); + //Agrego las secciones + $row = array ($this->_menu->toHtmlSecciones()); + $TABLA_GRANDE->addRow($row,"align=\"center\" bgcolor=\"#CCCCCC\""); + + /// {{{ Lo tabulo yo para entenderlo -> GRACIAS VUELVA PRONTO -> mmarre + $TABLA_INTERNA = new HTML_Table('width=760 align="center" bgcolor="#FFFFFF" cellspacing="0" cellpadding="0" border="0"'); + //Armo el body completo (con menu o titulo) + //Obtengo el menu de la seccion seleccionada + $SecSel = $this->_menu->darSecSel(); + if (!is_null($SecSel)){ + + if (!($SecSel->darTipoMenu() == 'oculto')) { + $row = array ($SecSel->menuToHtml()); + } + else { + $row = array ($SecSel->tituloToHtml()); + } + $ri = $TABLA_INTERNA->addRow($row,"align=\"center\" bgcolor=\"#FFFFFF\""); + } + if (!is_null($SecSel) && $SecSel->darTipoMenu() == 'vertical') { + $row = array ($this->_contenido); + $TABLA_INTERNA->setCellContents($ri,1,$row); + $TABLA_INTERNA->setCellAttributes($ri,1,"align=\"center\" bgcolor=\"#FFFFFF\""); + } + else { + $row = array ($this->_contenido); + $TABLA_INTERNA->addRow($row,"align=\"center\" bgcolor=\"#FFFFFF\""); + } + /// }}} + + //Agrego el body completo (con menu o titulo) a la tabla externa. + $row = array ($TABLA_INTERNA); + $TABLA_GRANDE->addRow($row,"align=\"center\" bgcolor=\"#FFFFFF\""); + //Agrego el pie de pagina + $row = array ($this->_pie->darPie()); + $TABLA_GRANDE->addRow($row,"align=\"center\" bgcolor=\"#CCCCCC\""); + + $this->addBodyContent($TABLA_GRANDE->toHtml()); } // -X2C diff --git a/marco/php/marco/Menu.php b/marco/php/marco/Menu.php index 7cd98f8..0276df3 100644 --- a/marco/php/marco/Menu.php +++ b/marco/php/marco/Menu.php @@ -25,7 +25,7 @@ // require_once 'Seccion.php'; -require_once 'HTML/Table.php'; +require_once 'include/lib/HTML/Table.php'; define ('PRE_DIR' ,'/var/www/intranet/www/sistemas/'); define ('POST_DIR','/conf/MenuSerializado'); @@ -73,6 +73,33 @@ class Menu { */ var $_link; + /** + * Valor del colspan necesario para poder armar la pagina + * + * @var int $colspan + * + * @access private + */ + var $_colspan; + + /** + * Nombre de la imagen del menu + * + * @var string $imagen + * + * @access private + */ + var $_imagen; + + /** + * Contiene el objeto seccion seleccionada + * + * @var Seccion $seccionSelect + * + * @access private + */ + var $_seccionSelect; + // ~X2C // +X2C Operation 56 @@ -80,36 +107,26 @@ class Menu { * Constructor. Recibe como parametro el directorio en donde se encuentra el sistema. * * @param string $directorio Nombre del directorio en donde se encuentra el sistema. - * @param string $nombre Nombre del menu - * @param string $link Link del menu. * * @return void * * @access public */ - function Menu($directorio = null, $nombre = null, $link = null) // ~X2C + function Menu($directorio = null) // ~X2C { if (!is_null($directorio)) { - // if (file_exists(PRE_DIR.$directorio.POST_DIR)) { - //ESTA SERIALIZADO EL OBJETO - // $this = $this->_obtenerArchivo($directorio); - // } - // else { - //NO ESTA SERIALIZADO EL OBJETO - $this->_directorio = $directorio; - $this->_armarArraySecciones($this->_obtenerConfSecciones()); - $this->_generarArchivo(); - // } - - } - else { - if (!is_null($nombre)) { - $this->_nombre = $nombre; - } - if (!is_null($link)) { - $this->_link = $link; - } +// if (file_exists(PRE_DIR.$directorio.POST_DIR)) { + //ESTA SERIALIZADO EL OBJETO +// $this = $this->_obtenerArchivo($directorio); +// } +// else { + //NO ESTA SERIALIZADO EL OBJETO + $this->_directorio = $directorio; + $this->_armarArraySecciones($this->_obtenerConfSecciones()); + $this->_generarArchivo(); +// } } + } // -X2C @@ -188,10 +205,17 @@ class Menu { */ function _armarArraySecciones($confSec) // ~X2C { + $link_tmp = basename($_SERVER['PHP_SELF']); //Obtengo en link al cual se quiere acceder + $this->_secciones = array (); foreach ($confSec as $sec) { - $tmp = new Seccion ($sec); + $tmp = new Seccion ($sec, $link_tmp); array_push($this->_secciones,$tmp); + + if ($tmp->link() == $link_tmp) { + $this->_seccionSelect = $tmp; + } + } } // -X2C @@ -216,20 +240,24 @@ class Menu { } // -X2C - // +X2C Operation 88 + + + + // +X2C Operation 114 /** - * Funcion que devuelve un string en html del menu vertical con lo que hay que imprimir en pantalla. + * Funcion que devuelve la seccion que se selecciono * - * @return string + * @return Seccion * * @access public */ - function toHtmlMenuVertical() // ~X2C + function darSecSel() // ~X2C { - trigger_error('Not implemented!', E_USER_WARNING); + return $this->_seccionSelect; } // -X2C + } // -X2C Class :Menu -?> +?> \ No newline at end of file diff --git a/marco/php/marco/MenuHorizontal.php b/marco/php/marco/MenuHorizontal.php new file mode 100644 index 0000000..711a152 --- /dev/null +++ b/marco/php/marco/MenuHorizontal.php @@ -0,0 +1,77 @@ + +// +----------------------------------------------------------------------+ +// +// $Id$ +// $Author$ +// $URL$ +// $Date$ +// $Rev$ +// + +#require_once 'PEAR.php'; + + +// +X2C includes +require_once 'Menu.php'; +// ~X2C + +// +X2C Class 100 :MenuHorizontal +/** + * Clase que se encarga del manejo de los menues horizontales + * + * @access public + */ +class MenuHorizontal extends Menu { + // ~X2C + + // +X2C Operation 106 + /** + * Funcion que se encarga de devolver el html de lo que hay que mostrar por pantalla + * + * @return string + * + * @access public + */ + function toHtml() // ~X2C + { + parent::toHtml(); + } + // -X2C + + // +X2C Operation 111 + /** + * Constructor. Recibe el nombre del menu, el link y el nombre de la imagen. + * + * @param string $nombre Nombre del menu + * @param string $link Link del menu + * @param string $imagen Nombre de la imagen del menu + * + * @return void + * + * @access public + */ + function MenuHorizontal($nombre, $link, $imagen) // ~X2C + { + parent::Menu('prueba'); + } + // -X2C + +} // -X2C Class :MenuHorizontal + +?> diff --git a/marco/php/marco/MenuVertical.php b/marco/php/marco/MenuVertical.php new file mode 100644 index 0000000..6a12307 --- /dev/null +++ b/marco/php/marco/MenuVertical.php @@ -0,0 +1,79 @@ + +// +----------------------------------------------------------------------+ +// +// $Id$ +// $Author$ +// $URL$ +// $Date$ +// $Rev$ +// + +#require_once 'PEAR.php'; + + +// +X2C includes +require_once 'Menu.php'; +// ~X2C + +// +X2C Class 103 :MenuVertical +/** + * + * @access public + */ +class MenuVertical extends Menu { + // ~X2C + + // +X2C Operation 107 + /** + * Funcion que se encarga de devolver el html que hay que mostrar en pantalla. + * + * @return string + * + * @access public + */ + function toHtml() // ~X2C + { + parent::toHtml(); + } + // -X2C + + // +X2C Operation 110 + /** + * Constructor. Recibe el nombre del menu, el link y el nombre de la imagen. + * + * @param string $nombre Nombre del menu + * @param string $link Link del menu + * @param string $imagen Imagen del menu + * + * @return void + * + * @access public + */ + function MenuVertical($nombre, $link, $imagen) // ~X2C + { + parent::Menu(); + $this->_nombre = $nombre; + $this->_link = $link; + $this->_imagen = $imagen; + } + // -X2C + +} // -X2C Class :MenuVertical + +?> \ No newline at end of file diff --git a/marco/php/marco/Pagina.php b/marco/php/marco/Pagina.php index b8a7163..c780242 100644 --- a/marco/php/marco/Pagina.php +++ b/marco/php/marco/Pagina.php @@ -90,7 +90,7 @@ class Pagina { */ function link() // ~X2C { - trigger_error('Not implemented!', E_USER_WARNING); + return $this->_link; } // -X2C diff --git a/marco/php/marco/Script.php b/marco/php/marco/Script.php deleted file mode 100644 index a7a7fc1..0000000 --- a/marco/php/marco/Script.php +++ /dev/null @@ -1,111 +0,0 @@ - -// +----------------------------------------------------------------------+ -// -// $Id$ -// $Author$ -// $URL$ -// $Date$ -// $Rev$ -// - -require_once 'PEAR.php'; - -define ('SCRIPT_GENERICO', '/www/js/script.js'); - -// +X2C Class 11 :Script -/** - * Clase para el manejo de los scripts del sistema. En primera instancia agrega el archivo de script generico que permite el manejo de secciones, etc. Ademas se pueden agregar archivos de script propios del sistema. - * - * @access public - */ -class Script { - /** - * Nombre del directorio en donde se encuentra el sistema. Es case sensitive. - * - * @var string $directorio - * - * @access private - */ - var $_directorio; - - /** - * Array con los nombre de los archivos de script que se fueron agregando. - * - * @var array(string) $archivos - * - * @access private - */ - var $_archivos; - - // ~X2C - - // +X2C Operation 42 - /** - * Constructor. Recibe como parametro el directorio en donde se encuentra el sistema. Es case sensitive. - * - * @param string $directorio Nombre del directorio en donde se ecuentra el sistema. - * - * @return void - * - * @access public - */ - function Script($directorio) // ~X2C - { - $this->_directorio = $directorio; - $this->_archivos = array (); - } - // -X2C - - // +X2C Operation 43 - /** - * Funcion que devuelve un string html con la informacion a imprimir en pantalla. - * - * @return string - * - * @access public - */ - function toHtml() // ~X2C - { - $TEXTO = "\n".''."\n"; - foreach ($this->_archivos as $archivo) { - $TEXTO.= "\n".''."\n"; - } - return $TEXTO; - } - // -X2C - - // +X2C Operation 45 - /** - * Funcion que permite agregar un archivo de script nuevo. - * - * @param string $archivo Nombre del archivo a agregar. - * - * @return void - * - * @access public - */ - function agregarArchivo($archivo) // ~X2C - { - array_push($this->_archivos, $archivo); - } - // -X2C - -} // -X2C Class :Script - -?> \ No newline at end of file diff --git a/marco/php/marco/Seccion.php b/marco/php/marco/Seccion.php index 6a47ec9..567b442 100644 --- a/marco/php/marco/Seccion.php +++ b/marco/php/marco/Seccion.php @@ -34,6 +34,8 @@ require_once 'Pagina.php'; //Require Agregados por MMARRE, no pasan por el xmi2code require_once 'ImagenAnimada.php'; require_once 'Menu.php'; +require_once 'MenuHorizontal.php'; +require_once 'MenuVertical.php'; // +X2C Class 16 :Seccion /** @@ -69,6 +71,24 @@ class Seccion extends Pagina { */ var $_hijos; + /** + * Valor string del tipo de menu de la seccion + * + * @var string $tipoMenu + * + * @access private + */ + var $_tipoMenu; + + /** + * 1 si la seccion esta seleccionada, 0 en caso contrario + * + * @var int $select + * + * @access private + */ + var $_select; + // ~X2C // +X2C Operation 63 @@ -76,18 +96,26 @@ class Seccion extends Pagina { * Constructor. Recibe como parametro el nombre de la seccion * * @param array $seccion Array con la informacion de la seccion + * @param string $seccionSel Nombre de la seccion que esta seleccionada * * @return void * * @access public * @static */ - function Seccion($seccion) // ~X2C + function Seccion($seccion, $seccionSel) // ~X2C { - $this->_nombre = $seccion['nombre']; - $this->_imagen = new ImagenAnimada($seccion['imagenComun']); + $this->_nombre = $seccion['nombre']; + $this->_imagen = new ImagenAnimada($seccion['imagenComun']); + $this->_tipoMenu = $seccion['tipoMenu']; parent::Pagina($seccion['link']); $this->_cargarHijos($seccion['hijos']); + if ($seccionSel == $seccion['link']) { + $this->_select = 1; + } + else { + $this->_select = 0; + } } // -X2C @@ -101,7 +129,12 @@ class Seccion extends Pagina { */ function toHtml() // ~X2C { - $tmp = "_link."\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_displayStatusMsg('".$this->_nombre."'); MM_swapImage('".$this->_nombre."','','images/".$this->_imagen->_imgMouseOn."',1); return document.MM_returnValue\" MM_swapImage('".$this->_nombre."','','images/".$this->_imagen->_imgMouseOn."',1)>_nombre."\" src=\"images/".$this->_imagen->_imgComun."\" width=\"139\" height=\"54\" border=\"0\" alt=\"".$this->_imagen->_alt."\">"; + if ($this->_select == 1) { + $tmp = "_link."\">_nombre."\" src=\"images/".$this->_imagen->_imgSelect."\" width=\"139\" height=\"54\" border=\"0\" alt=\"".$this->_imagen->_alt."\">"; + } + else { + $tmp = "_link."\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_displayStatusMsg('".$this->_nombre."'); MM_swapImage('".$this->_nombre."','','images/".$this->_imagen->_imgMouseOn."',1); return document.MM_returnValue\" MM_swapImage('".$this->_nombre."','','images/".$this->_imagen->_imgMouseOn."',1)>_nombre."\" src=\"images/".$this->_imagen->_imgComun."\" width=\"139\" height=\"54\" border=\"0\" alt=\"".$this->_imagen->_alt."\">"; + } return $tmp; } // -X2C @@ -120,12 +153,71 @@ class Seccion extends Pagina { { $this->_hijos = array (); foreach ($hijos as $hijo) { - $tmp = new Menu (null, $hijo['nombre'],$hijo['link']); + $tmp = new MenuVertical ($hijo['nombre'],$hijo['link'], $hijo['imagenComun']); array_push($this->_hijos, $tmp); } } // -X2C + // +X2C Operation 117 + /** + * Devuelve un string con el tipo de menu de la seccion + * + * @return string + * + * @access public + */ + function darTipoMenu() // ~X2C + { + return $this->_tipoMenu; + } + // -X2C + + // +X2C Operation 119 + /** + * Funcion que devuelve un string con el html a imprimir por pantalla del menu de la seccion. + * + * @return string + * + * @access public + */ + function menuToHtml() // ~X2C + { + trigger_error('Not implemented!', E_USER_WARNING); + } + // -X2C + + // +X2C Operation 121 + /** + * Funcion que devuelve el string del titulo de la seccion + * + * @return string + * + * @access public + */ + function tituloToHtml() // ~X2C + { + $TABLA = new HTML_Table('width=760 align="center" bgcolor="#336699" cellspacing="0" cellpadding="0" border="0"'); + $row = array(''.$this->_darTitulo().''); + $TABLA->addRow($row,'height="1" bgcolor="#336699" align="left"'); + return $TABLA->toHtml(); + } + // -X2C + + // +X2C Operation 122 + /** + * Funcion que devuelve el string del titulo a mostrar en pantalla + * + * @return string + * + * @access private + */ + function _darTitulo() // ~X2C + { + return "{$this->_nombre} - {$this->_link}"; + } + // -X2C + } // -X2C Class :Seccion ?> \ No newline at end of file diff --git a/marco/test/prueba/conf/confSecciones.php b/marco/test/prueba/conf/confSecciones.php index 7c902e7..7e9acde 100644 --- a/marco/test/prueba/conf/confSecciones.php +++ b/marco/test/prueba/conf/confSecciones.php @@ -32,23 +32,34 @@ * * Basado en datos.epl de Gonzalo Merayo * + * imagenMouseOn puede estar vacia, en ese caso se asume imagenComun_f2 + * imagenSelect puede estar vacia, en ese caso se asume imagenComun_f3 + * * thu apr 15 15:25:10 ART 2003 */ return array ( // SECCION 1 {{{ + // LAS UNICAS CLAVES OBLIGATORIAS SON NOMBRE, IMAGENCOMUN Y LINK array ( - 'nombre' => 'Usuarios', //NOMBRE DE LA SECCION - 'imagenComun' => 'usuario', //IMAGEN COMUN - 'imagenMouseOn' => '', //Opcional - 'ImagenSelect' => '', //Opcional - 'link' => 'usuarios', //LINK DE LA SECCION - 'hijos' => array ( - array ( 'nombre'=> 'Filtrar Usuario', //NOMBRE DEL HIJO - 'link' => 'usuarios-filtrar', //LINK DEL HIJO + 'nombre' => 'Usuarios', //NOMBRE DE LA SECCION + 'imagenComun' => 'usuario', //IMAGEN COMUN + 'imagenMouseOn' => '', // + 'imagenSelect' => '', // + 'link' => 'usuarios', //LINK DE LA SECCION + 'tipoMenu' => 'oculto', //TIPO DEL MENU DE HIJOS (vertical, horizontal, oculto) + 'hijos' => array ( //HIJOS PARA EL MENU + array ( 'nombre' => 'Filtrar Usuario', //NOMBRE DEL HIJO 1 + 'imagenComun' => 'usuarios-filtar', //IMAGEN COMUN + 'imagenMouseOn' => '', // + 'imagenSelect' => '', // + 'link' => 'usuarios-filtrar', //LINK DEL HIJO ), - array ( 'nombre'=> 'ABM Usuario', //NOMBRE DEL HIJO - 'link' => 'usuarios-abm', //LINK DEL HIJO + array ( 'nombre' => 'ABM Usuario', //NOMBRE DEL HIJO 2 + 'imagenComun' => 'usuarios-abm', //IMAGEN COMUN + 'imagenMouseOn' => '', // + 'imagenSelect' => '', // + 'link' => 'usuarios-abm', //LINK DEL HIJO ), ), ), diff --git a/marco/test/prueba/conf/configuracion.php b/marco/test/prueba/conf/configuracion.php index 640eb94..e877b5b 100644 --- a/marco/test/prueba/conf/configuracion.php +++ b/marco/test/prueba/conf/configuracion.php @@ -2,6 +2,5 @@ return array ( 'titulo_sistema' => 'Prueba del objeto Marco', 'pie_sistema' => 'Prueba Objeto Marco - Ministerio de Economia', - 'menu' => '0', //1 si se quiere mostrar, 0 en caso contrario ); ?> diff --git a/marco/test/prueba/www/.htaccess b/marco/test/prueba/www/.htaccess index 96fa03b..4dba8e8 100644 --- a/marco/test/prueba/www/.htaccess +++ b/marco/test/prueba/www/.htaccess @@ -1,4 +1,4 @@ -php_value include_path ".:/var/www/intranet:/var/www/intranet/www:/var/www/intranet/www/include/lib/marco/Marco:/var/www/intranet/www/sistemas/prueba/www:/var/www/intranet/www/sistemas/prueba/conf:/usr/share/pear" +php_value include_path ".:/var/www/intranet:/var/www/intranet/www:/var/www/intranet/www/include/lib/marco/Marco:/var/www/intranet/www/sistemas/prueba/www:/var/www/intranet/www/sistemas/prueba/conf:/var/www/intranet/www/include/lib/:/usr/share/pear" php_value auto_prepend_file "/var/www/intranet/www/sistemas/prueba/www/include/prepend.php" php_value auto_append_file "/var/www/intranet/www/sistemas/prueba/www/include/append.php" #php_value allow_call_time_pass_reference On diff --git a/marco/test/prueba/www/usuarios.php b/marco/test/prueba/www/usuarios.php new file mode 100644 index 0000000..477ed4b --- /dev/null +++ b/marco/test/prueba/www/usuarios.php @@ -0,0 +1,4 @@ +addBody('Y NO ES FELIZ, AUNQUE SONRIA'); + $MARCO->display(); +?> -- 2.43.0