From ae358836441d335d3c6a8138e32d027bbc5e1194 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mart=C3=ADn=20Marrese?= Date: Mon, 5 May 2003 19:49:47 +0000 Subject: [PATCH] - PRIMERA VERSION LISTA......faltan arreglos visuales y de coqueteria, pero la funcionalidad ya esta. --- marco/doc/uml/Marco.xmi | 55 +++++++++--------- marco/php/marco/Marco.php | 45 ++++++++++----- marco/php/marco/Menu.php | 15 +++-- marco/php/marco/MenuHorizontal.php | 18 +++--- marco/php/marco/MenuVertical.php | 18 +++--- marco/php/marco/Seccion.php | 65 ++++++++++++++-------- marco/test/prueba/conf/confSecciones.php | 4 +- marco/test/prueba/www/images/carp1_f2.gif | Bin 0 -> 179 bytes marco/test/prueba/www/images/carp1_f3.gif | Bin 0 -> 191 bytes marco/test/prueba/www/images/carp2_f2.gif | Bin 0 -> 172 bytes marco/test/prueba/www/images/carp2_f3.gif | Bin 0 -> 182 bytes marco/test/prueba/www/images/carpeta0.gif | Bin 0 -> 164 bytes marco/test/prueba/www/include/prepend.php | 2 +- marco/test/prueba/www/usuarios.php | 6 ++ 14 files changed, 134 insertions(+), 94 deletions(-) create mode 100644 marco/test/prueba/www/images/carp1_f2.gif create mode 100644 marco/test/prueba/www/images/carp1_f3.gif create mode 100644 marco/test/prueba/www/images/carp2_f2.gif create mode 100644 marco/test/prueba/www/images/carp2_f3.gif create mode 100644 marco/test/prueba/www/images/carpeta0.gif diff --git a/marco/doc/uml/Marco.xmi b/marco/doc/uml/Marco.xmi index 0c0c7f1..66db300 100644 --- a/marco/doc/uml/Marco.xmi +++ b/marco/doc/uml/Marco.xmi @@ -9,7 +9,7 @@ - + @@ -92,6 +92,7 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m + @@ -132,7 +133,6 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m - @@ -140,6 +140,7 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m Devuelve 1 si pertenece a la seccion, en caso contrario 0." name="verifSeccionSeleccionada" static="0" scope="201" > + @@ -172,17 +173,13 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - - - + - - - + @@ -192,15 +189,15 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - - - + + + - - + + @@ -224,7 +221,7 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - + @@ -236,14 +233,14 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - + - - + + @@ -252,33 +249,33 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - + - - + + - + - - + + - - + + - + - + @@ -359,8 +356,8 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - + @@ -386,7 +383,7 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - + diff --git a/marco/php/marco/Marco.php b/marco/php/marco/Marco.php index c97a381..2687c7b 100644 --- a/marco/php/marco/Marco.php +++ b/marco/php/marco/Marco.php @@ -148,9 +148,9 @@ class Marco extends HTML_Page { $this->_obtenerConfiguracion(); $this->_titulo = new Titulo ($this->_configuracion); $this->_copete = new Copete ($this->_directorio); - $this->_menu = new Menu ($this->_directorio); + $this->_menu = new Menu ($this->_directorio,null); $this->_pie = new Pie ($this->_configuracion); - $this->_contenido = ''; + $this->_contenido = array (); } // -X2C @@ -282,7 +282,7 @@ class Marco extends HTML_Page { */ function addBody($body) // ~X2C { - $this->_contenido.= $body; + $this->_contenido[] = $body; } // -X2C @@ -326,23 +326,38 @@ class Marco extends HTML_Page { /// {{{ 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) + $contenido = ''; + foreach ($this->_contenido as $cont) { + if (is_object($cont)) { + if (method_exists($cont,'toHtml')) { + $contenido.= $cont->toHtml(); + } + else { + trigger_error('Error, method not found!', E_USER_WARNING); + } + } + else { + $contenido.= $cont; + } + } + //Obtengo el menu de la seccion seleccionada if (isset($_SESSION['tipoMenu'])){ - if (!($_SESSION['tipoMenu'] == 'oculto')) { - // $row = array ($SecSel->menuToHtml()); + $row = array ($_SESSION['menuHtml']); + if (($_SESSION['tipoMenu'] == 'vertical')) { + $ri = $TABLA_INTERNA->addRow($row,"align=\"left\" bgcolor=\"#FFFFFF\" valign=\"top\""); + $row = array ($contenido); + $TABLA_INTERNA->setCellContents($ri,1,$row); + $TABLA_INTERNA->setCellAttributes($ri,1,"align=\"center\" bgcolor=\"#FFFFFF\""); } else { - // $row = array ($SecSel->tituloToHtml()); + $TABLA_INTERNA->addRow($row,"align=\"center\" bgcolor=\"#FFFFFF\""); + $row = array ($contenido); + $TABLA_INTERNA->addRow($row,"align=\"center\" bgcolor=\"#FFFFFF\""); } - $ri = $TABLA_INTERNA->addRow($row,"align=\"center\" bgcolor=\"#FFFFFF\""); - } - if (isset($_SESSION['tipoMenu']) && $_SESSION['tipoMenu'] == '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); + $row = array ($contenido); $TABLA_INTERNA->addRow($row,"align=\"center\" bgcolor=\"#FFFFFF\""); } /// }}} @@ -355,6 +370,10 @@ class Marco extends HTML_Page { $TABLA_GRANDE->addRow($row,"align=\"center\" bgcolor=\"#CCCCCC\""); $this->addBodyContent($TABLA_GRANDE->toHtml()); + + //TODO: tengo que ver como salvarme de usar $_SESSION['menuHtml'] + unset($_SESSION['tipoMenu']); + unset($_SESSION['menuHtml']); } // -X2C diff --git a/marco/php/marco/Menu.php b/marco/php/marco/Menu.php index 8daeff3..76c5ad7 100644 --- a/marco/php/marco/Menu.php +++ b/marco/php/marco/Menu.php @@ -100,12 +100,13 @@ 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 array $menu Array con los datos del menu * * @return void * * @access public */ - function Menu($directorio = null) // ~X2C + function Menu($directorio = null, $menu) // ~X2C { if (!is_null($directorio)) { // if (file_exists(PRE_DIR.$directorio.POST_DIR.MENU_SERIALIZADO)) { @@ -121,9 +122,12 @@ class Menu { $this->_serializarArraySecciones(); } // $this->_generarArchivo(); NO ESTOY USANDO LA SERIALIZACION GRANDE AHORA -// } } - + if (!is_null($menu)) { + $this->_nombre = $menu['nombre']; + $this->_link = $menu['link']; + $this->_imagen = $menu['imagenComun']; + } } // -X2C @@ -246,10 +250,10 @@ class Menu { foreach ($this->_secciones as $sec) { $tmp[$sec->link()] = $sec->_darTitulo(); foreach ($sec->_hijos as $hijo) { - $tmp[$h->_link] = $sec->_darTitulo(); + $tmp[$hijo->_link] = $sec->_darTitulo(); } } - + $s = serialize($tmp); $fp = fopen(PRE_DIR.$this->_directorio.POST_DIR.ARRAYSECCIONES_SERIALIZADO,'w'); fputs($fp, $s); @@ -257,6 +261,7 @@ class Menu { } // -X2C + } // -X2C Class :Menu ?> diff --git a/marco/php/marco/MenuHorizontal.php b/marco/php/marco/MenuHorizontal.php index 4db7ab0..3350b0f 100644 --- a/marco/php/marco/MenuHorizontal.php +++ b/marco/php/marco/MenuHorizontal.php @@ -50,7 +50,7 @@ class MenuHorizontal extends Menu { */ function toHtml() // ~X2C { - parent::toHtml(); + return "_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."\" border=\"0\" alt=\"".$this->_imagen->_alt."\">"; } // -X2C @@ -58,23 +58,21 @@ class MenuHorizontal extends Menu { /** * 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 + * @param string $menu Array con los datos del menu * * @return void * * @access public */ - function MenuHorizontal($nombre, $link, $imagen) // ~X2C + function MenuHorizontal($menu) // ~X2C { - parent::Menu(); - $this->_nombre = $nombre; - $this->_link = $link; - $this->_imagen = $imagen; + parent::Menu(null,null); + $this->_nombre = $menu['nombre']; + $this->_link = $menu['link']; + $this->_imagen = new ImagenAnimada($menu['imagenComun']); } // -X2C } // -X2C Class :MenuHorizontal -?> \ No newline at end of file +?> diff --git a/marco/php/marco/MenuVertical.php b/marco/php/marco/MenuVertical.php index 6a12307..928889f 100644 --- a/marco/php/marco/MenuVertical.php +++ b/marco/php/marco/MenuVertical.php @@ -49,7 +49,7 @@ class MenuVertical extends Menu { */ function toHtml() // ~X2C { - parent::toHtml(); + return "_link."\">_nombre."\" src=\"images/carp2_f2\" border=\"0\">".$this->_nombre.""; } // -X2C @@ -57,23 +57,21 @@ class MenuVertical extends Menu { /** * 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 + * @param array $menu Array con los datos del menu * * @return void * * @access public */ - function MenuVertical($nombre, $link, $imagen) // ~X2C + function MenuVertical($menu) // ~X2C { - parent::Menu(); - $this->_nombre = $nombre; - $this->_link = $link; - $this->_imagen = $imagen; + parent::Menu(null,null); + $this->_nombre = $menu['nombre']; + $this->_link = $menu['link']; + $this->_imagen = $menu['imagenComun']; } // -X2C } // -X2C Class :MenuVertical -?> \ No newline at end of file +?> diff --git a/marco/php/marco/Seccion.php b/marco/php/marco/Seccion.php index 2c4d06a..0f841c8 100644 --- a/marco/php/marco/Seccion.php +++ b/marco/php/marco/Seccion.php @@ -152,13 +152,13 @@ class Seccion extends Pagina { $this->_hijos = array (); foreach ($hijos as $hijo) { if ($this->_tipoMenu == 'vertical') { - $tmp = new MenuVertical ($hijo['nombre'],$hijo['link'], $hijo['imagenComun']); + $tmp = new MenuVertical ($hijo); } - elseif ($this->_tipoMenu == 'Horizontal') { - $tmp = new MenuHorizontal ($hijo['nombre'],$hijo['link'], $hijo['imagenComun']); + elseif ($this->_tipoMenu == 'horizontal') { + $tmp = new MenuHorizontal ($hijo); } else { - $tmp = new Menu (); + $tmp = new Menu (null,$hijo); } array_push($this->_hijos, $tmp); } @@ -179,19 +179,6 @@ class Seccion extends Pagina { } // -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 /** @@ -254,18 +241,48 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0. function _verifSeccionSeleccionada($link_sel) // ~X2C { $tmp = $this->_desSerializarArraySecciones(); - var_dump($tmp); - foreach ($tmp as $t) { -// echo $t[$link_sel].' == '.$this->_nombre .'
'; - if (isset($t) && $t[$link_sel] == $this->_nombre) { - $_SESSION['tipoMenu'] = $this->_tipoMenu; - return 1; - } + if (isset($tmp) && array_key_exists($link_sel,$tmp) && $tmp[$link_sel] == $this->_nombre) { + $_SESSION['tipoMenu'] = $this->_tipoMenu; + $_SESSION['menuHtml'] = $this->_menuToHtml(); + return 1; } return 0; } // -X2C + // +X2C Operation 132 + /** + * Funcion que se encarga de devolver el html del menu a incluir en la pagina (menu vertical, horizontal o titulo segun corresponda) + * + * @return string + * + * @access private + */ + function _menuToHtml() // ~X2C + { + if ($this->_tipoMenu == 'oculto') { + return $this->tituloToHtml(); + } + elseif ($this->_tipoMenu == 'horizontal') { + $row = array(); + foreach ($this->_hijos as $hijo) { + array_push($row,$hijo->toHtml()); + } + $TABLA = new HTML_Table('width=760 align="center" bgcolor="#CCCCCC" cellspacing="0"'); + $TABLA->addRow($row,'bgcolor="#CCCCCC" align="center"'); + return $TABLA; + } + elseif ($this->_tipoMenu == 'vertical') { + $TABLA = new HTML_Table('width=200 align="center" bgcolor="#FFFFFF" cellspacing="0"'); + foreach ($this->_hijos as $hijo) { + $row = array ($hijo->toHtml()); + $TABLA->addRow($row,'bgcolor="#FFFFFF" align="left"'); + } + return $TABLA; + } + } + // -X2C + } // -X2C Class :Seccion ?> diff --git a/marco/test/prueba/conf/confSecciones.php b/marco/test/prueba/conf/confSecciones.php index 3ee0a95..eff6db8 100644 --- a/marco/test/prueba/conf/confSecciones.php +++ b/marco/test/prueba/conf/confSecciones.php @@ -47,10 +47,10 @@ 'imagenMouseOn' => '', // 'imagenSelect' => '', // 'link' => 'usuarios', //LINK DE LA SECCION - 'tipoMenu' => 'oculto', //TIPO DEL MENU DE HIJOS (vertical, horizontal, oculto) + 'tipoMenu' => 'vertical', //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 + 'imagenComun' => 'usuarios-filtrar', //IMAGEN COMUN 'imagenMouseOn' => '', // 'imagenSelect' => '', // 'link' => 'usuarios-filtrar', //LINK DEL HIJO diff --git a/marco/test/prueba/www/images/carp1_f2.gif b/marco/test/prueba/www/images/carp1_f2.gif new file mode 100644 index 0000000000000000000000000000000000000000..72110acfe630000cf6ab083b6ea8471d49b9f8b3 GIT binary patch literal 179 zcmZ?wbhEHblwuHI*v!E2|NsB*zyH4Y^y}W+?-!na*?ar_rps^k@83W9(39?ck7AZw zXJBCX$H)XEAwcmb3#$kN4}%Vf3o?U&B|+eX=kr}VPAz^Nl(3^@Nr|e*tR$WAy3W8e zUvgBEIS;TI{&6^z`%vj4M^l55g21B^YgZo02?ldr7}8f?m79F+nZU2uxb~yx1SMo% cS8SE~r5k!P^t^fYet+lx4FPqHQi2TD09QRtj{pDw literal 0 HcmV?d00001 diff --git a/marco/test/prueba/www/images/carp1_f3.gif b/marco/test/prueba/www/images/carp1_f3.gif new file mode 100644 index 0000000000000000000000000000000000000000..1bce912a010ae70af226595b1b31dcc30f65911e GIT binary patch literal 191 zcmZ?wbhEHblwuHI*v!E2|NsAM4_;rseEGz+$Mg5!U%cyL>*7PT^Y+!(*GD$3F;1Jw zV9dav$N&WY7@2^i;!hS<5e7a69gq;n3)n?N68XZ0S&DLi33yP zwc68zy*92{eD?N62cJ`H!Ww-iQksuv?wTj>`Y2&V6u&pq#3KnD%UT^33^ZiKc(=U& qZrgJFsk72v)mWC0?9je$`jEyLzPr8LR=-&r9V1 literal 0 HcmV?d00001 diff --git a/marco/test/prueba/www/images/carp2_f2.gif b/marco/test/prueba/www/images/carp2_f2.gif new file mode 100644 index 0000000000000000000000000000000000000000..e0087637b3f6cb16af34b0ca18a418a5c66f4fd3 GIT binary patch literal 172 zcmZ?wbhEHblw#mz*v!E2|NsB*zyH4Y^y}W+?-!na*?ar_rps^k@83W9(39?ck7AZw zXJBCX$H)XEAwcmb3#$kN4}%Vf3o?U&B~svo=kr}VPAz^Nl(3^@Nr|e*tR$WAy3W8e zUvgBEIS;TI{&6^z`%vj4M^l55g21B^YgZo02?ldr7}8f?m79F+nZU2uxZ}H&4La&P VQ%$38YlPkmJ#Uh|zn_7@8UQMvN#y_l literal 0 HcmV?d00001 diff --git a/marco/test/prueba/www/images/carp2_f3.gif b/marco/test/prueba/www/images/carp2_f3.gif new file mode 100644 index 0000000000000000000000000000000000000000..717097021e3e01cb0e9e6f95630dfe62723942ed GIT binary patch literal 182 zcmZ?wbhEHblw#mz*v!E2|NsAM4_;rseEGz+$Mg5!U%cyL>*7PT^Y+!(*GD$3F;1Jw zV9dav$N&WY7@2^i;!hS<5e7a69gq;n3)n?N68XZ0S&DLi33yP zwc68zy*92{eD?N62cJ`H!Ww-iQksuv?wTj>`Y2&V6u&pq#3KnD%UT^33^ZiKc)##| iVC+8m%%#eE7srZguM``XU2k^at+Q`xZEF)`um%7yR!Eir literal 0 HcmV?d00001 diff --git a/marco/test/prueba/www/images/carpeta0.gif b/marco/test/prueba/www/images/carpeta0.gif new file mode 100644 index 0000000000000000000000000000000000000000..d17ba3acf3b7520af8029fa04cf76999d8eac94c GIT binary patch literal 164 zcmZ?wbhEHb6ky*7PT^Y%qHtuaoU$zaUD zpvV9O{}`D-6p;6mg;fNoRR_cYnZdvkDB$6`a*xD{gF8=Mck6i^5PI2R-P}_dueAEl zWQM2Ms?@wU-r~ztXduzguF$wKf~SMkQ9(gNM&!VCHm#*mf{|yJRhY;L+?bwb7Q9^Y L!;U$Ej11NQi6}iH literal 0 HcmV?d00001 diff --git a/marco/test/prueba/www/include/prepend.php b/marco/test/prueba/www/include/prepend.php index e0dc490..2adb851 100644 --- a/marco/test/prueba/www/include/prepend.php +++ b/marco/test/prueba/www/include/prepend.php @@ -2,11 +2,11 @@ // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4: //ARCHIVO DE PRUEBA DEL OBJETO MARCO - require_once 'include/lib/marco/Marco.php'; session_start(); $MARCO = new Marco ('prueba'); + ?> diff --git a/marco/test/prueba/www/usuarios.php b/marco/test/prueba/www/usuarios.php index e4519a9..e1453cc 100644 --- a/marco/test/prueba/www/usuarios.php +++ b/marco/test/prueba/www/usuarios.php @@ -4,5 +4,11 @@ $MARCO->addBody('
HIJO DE DESAPARECIDO - Actitud Maria Marta
'); $MARCO->addBody('
USUARIOS-FILTRAR
'); $MARCO->addBody('
USUARIOS-ABM
'); + + $TABLA = new HTML_Table('width=500 align="center" bgcolor="#FFFFFF" cellspacing="0"'); + $row = array ('FILA 1','FILA 2','FILA 3','FILA 4'); + $TABLA->addRow($row,'bgcolor="#FFFFFF" align="center"'); + $MARCO->addBody($TABLA); + $MARCO->display(); ?> -- 2.43.0