From 7f03046e2a5ec186322bfda3c329873f13f5a344 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mart=C3=ADn=20Marrese?= Date: Thu, 24 Apr 2003 18:52:09 +0000 Subject: [PATCH] - Casi terminado el manejo de secciones. Faltan los menues verticales y horizontales --- marco/doc/uml/Marco.xmi | 24 +++--- marco/php/marco/Estilo.php | 4 +- marco/php/marco/Marco.php | 16 ++-- marco/php/marco/Menu.php | 82 ++++++++++++++++---- marco/php/marco/Script.php | 6 +- marco/php/marco/Seccion.php | 17 +++- marco/test/prueba/conf/confSecciones.php | 2 +- marco/test/prueba/conf/configuracion.php | 2 +- marco/test/prueba/www/images/inicio.jpg | Bin 0 -> 19209 bytes marco/test/prueba/www/images/usuario.gif | Bin 0 -> 1145 bytes marco/test/prueba/www/images/usuario_f2.gif | Bin 0 -> 1049 bytes marco/test/prueba/www/images/usuario_f3.gif | Bin 0 -> 1499 bytes marco/test/prueba/www/index.php | 6 +- 13 files changed, 112 insertions(+), 47 deletions(-) create mode 100644 marco/test/prueba/www/images/inicio.jpg create mode 100644 marco/test/prueba/www/images/usuario.gif create mode 100644 marco/test/prueba/www/images/usuario_f2.gif create mode 100644 marco/test/prueba/www/images/usuario_f3.gif diff --git a/marco/doc/uml/Marco.xmi b/marco/doc/uml/Marco.xmi index 00e8029..4dcb3d0 100644 --- a/marco/doc/uml/Marco.xmi +++ b/marco/doc/uml/Marco.xmi @@ -9,7 +9,7 @@ - + @@ -83,9 +83,13 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m - - + + + + + + @@ -148,7 +152,7 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m - + @@ -187,20 +191,20 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m - - + + - + - + @@ -281,10 +285,12 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m + + - + diff --git a/marco/php/marco/Estilo.php b/marco/php/marco/Estilo.php index 14512e7..38cdb15 100644 --- a/marco/php/marco/Estilo.php +++ b/marco/php/marco/Estilo.php @@ -26,7 +26,7 @@ require_once 'PEAR.php'; -define ('ESTILO_GENERICO', '/www/css/estilos.css'); +define ('ESTILO_GENERICO', 'css/estilos.css'); @@ -110,4 +110,4 @@ class Estilo { } // -X2C Class :Estilo -?> \ No newline at end of file +?> diff --git a/marco/php/marco/Marco.php b/marco/php/marco/Marco.php index 6e42019..abb2f08 100644 --- a/marco/php/marco/Marco.php +++ b/marco/php/marco/Marco.php @@ -141,8 +141,6 @@ class Marco { $this->_estilo = new Estilo ($this->_directorio); $this->_menu = new Menu ($this->_directorio); $this->_pie = new Pie ($this->_configuracion); - - var_dump($this->_menu); } // -X2C @@ -156,24 +154,22 @@ class Marco { */ function toHtmlPrepend() // ~X2C { - $row = array ('colspan' => $this->_configuracion['menu'] + 1); + $row = array ('colspan' => $this->_configuracion['menu'] + 1); + Hook::hash('marco-html01'); print $this->_titulo->toHtml(); //Agrego el titulo del sistema segun su archivo de configuracion - print "\n"; print $this->_script->toHtml(); //Agrego el archivo de script generico como aquellos que se agregaron despues - print "\n"; print $this->_estilo->toHtml(); //Agrego el archivo de estilo generico como aquellos que se agregaron despues - print "\n"; Hook::hash('marco-html02'); Hook::hash('marco-html03',$row); print $this->_copete->toHtml(); //Agrego el copete del sistema - print "\n"; Hook::hash('marco-html04'); Hook::hash('marco-html03',$row); -// print $this->_menu->toHtml(); //Agrego los menues del sistema -// print "\n"; + print $this->_menu->toHtmlSecciones(); //Agrego las secciones del sistema + //Agrego el titulo de la seccion de ser necesario Hook::hash('marco-html04'); Hook::hash('marco-html03',$row); + //ACA TENGO QUE VER COMO METO LOS MENUES VERTICALES //ACA QUEDA LISTO PARA QUE SE AGREGUEN EN EL MEDIO LAS PAGINAS DEL SISTEMA } // -X2C @@ -247,4 +243,4 @@ class Marco { } // -X2C Class :Marco -?> \ No newline at end of file +?> diff --git a/marco/php/marco/Menu.php b/marco/php/marco/Menu.php index a87fc70..a85c712 100644 --- a/marco/php/marco/Menu.php +++ b/marco/php/marco/Menu.php @@ -25,6 +25,8 @@ // require_once 'Seccion.php'; +define ('PRE_DIR' ,'/var/www/intranet/www/sistemas/'); +define ('POST_DIR','/conf/MenuSerializado'); // +X2C Class 14 :Menu /** @@ -86,15 +88,25 @@ class Menu { function Menu($directorio = null, $nombre = null, $link = null) // ~X2C { if (!is_null($directorio)) { - $this->_directorio = $directorio; - $this->_armarArraySecciones($this->_obtenerConfSecciones()); + // 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(); + // } + } - - if (!is_null($nombre)) { - $this->_nombre = $nombre; - } - if (!is_null($link)) { - $this->_link = $link; + else { + if (!is_null($nombre)) { + $this->_nombre = $nombre; + } + if (!is_null($link)) { + $this->_link = $link; + } } } // -X2C @@ -109,7 +121,10 @@ class Menu { */ function _generarArchivo() // ~X2C { - trigger_error('Not implemented!', E_USER_WARNING); + $s = serialize($this); + $fp = fopen(PRE_DIR.$this->_directorio.POST_DIR,'w'); + fputs($fp, $s); + fclose($fp); } // -X2C @@ -117,13 +132,16 @@ class Menu { /** * Funcion que se encarga de obtener el archivo con los datos del objeto para ser utilizado con la funcion EVAL. * + * @param string $directorio Nombre del directorio en donde se encuentra el sistema instalado + * * @return string * * @access private */ - function _obtenerArchivo() // ~X2C + function _obtenerArchivo($directorio) // ~X2C { - trigger_error('Not implemented!', E_USER_WARNING); + $s = implode("", @file(PRE_DIR.$directorio.POST_DIR)); + return unserialize($s); } // -X2C @@ -151,8 +169,8 @@ class Menu { */ function _obtenerConfSecciones() // ~X2C { - $tmp = include 'confSecciones.php'; - return $tmp; + $archivo = include 'confSecciones.php'; + return $archivo; } // -X2C @@ -176,6 +194,42 @@ class Menu { } // -X2C + // +X2C Operation 87 + /** + * Funcion que devuelve un string en html de las secciones con lo que hay que imprimir en pantalla. + * + * @return string + * + * @access public + */ + function toHtmlSecciones() // ~X2C + { + $row = array(); + foreach ($this->_secciones as $sec) { + array_push($row,$sec->toHtml()); + } + $TABLA = new Tabla('width="100%" align="center" bgcolor="#CCCCCC"'); + $TABLA->agregarFila($row); + $TABLA->align(0,0,"center"); + $TABLA->setCellBgcolor(0,0,'#CCCCCC'); + return $TABLA->toHtml(1); + } + // -X2C + + // +X2C Operation 88 + /** + * Funcion que devuelve un string en html del menu vertical con lo que hay que imprimir en pantalla. + * + * @return string + * + * @access public + */ + function toHtmlMenuVertical() // ~X2C + { + trigger_error('Not implemented!', E_USER_WARNING); + } + // -X2C + } // -X2C Class :Menu -?> \ No newline at end of file +?> diff --git a/marco/php/marco/Script.php b/marco/php/marco/Script.php index ce4b2db..4054e11 100644 --- a/marco/php/marco/Script.php +++ b/marco/php/marco/Script.php @@ -26,7 +26,7 @@ require_once 'PEAR.php'; -define ('SCRIPT_GENERICO', '/www/js/scripts.js'); +define ('SCRIPT_GENERICO', 'www/js/scripts.js'); // +X2C Class 11 :Script /** @@ -84,7 +84,7 @@ class Script { { $TEXTO = "\n".''."\n"; foreach ($this->_archivos as $archivo) { - $TEXTO.= "\n".''."\n"; + $TEXTO.= "\n".''."\n"; } return $TEXTO; } @@ -108,4 +108,4 @@ class Script { } // -X2C Class :Script -?> \ No newline at end of file +?> diff --git a/marco/php/marco/Seccion.php b/marco/php/marco/Seccion.php index 7bbd259..37e6c32 100644 --- a/marco/php/marco/Seccion.php +++ b/marco/php/marco/Seccion.php @@ -101,7 +101,20 @@ class Seccion extends Pagina { */ function toHtml() // ~X2C { - trigger_error('Not implemented!', E_USER_WARNING); + $tmp = "_link; + $tmp.= "\" onMouseOut=\"MM_swapImgRestore()\""; + $tmp.= " onMouseOver=\"MM_displayStatusMsg('".$this->_nombre; + $tmp.= "'); MM_swapImage('".$this->_nombre; + $tmp.= "','','images/".$this->_imagen->_imgMouseOn; + $tmp.= "',1); return document.MM_returnValue\" MM_swapImage('".$this->_nombre; + $tmp.= "','','images/".$this->_imagen->_imgMouseOn; + $tmp.= "',1)> "; + $tmp.= "_imagen->_alt; + $tmp.= "\" src=\"images/".$this->_imagen->_imgComun; + $tmp.= "\" width=\"139\" height=\"54\" border=\"0\" alt=\"".$this->_imagen->_alt; + $tmp.= "\">"; + + return $tmp; } // -X2C @@ -127,4 +140,4 @@ class Seccion extends Pagina { } // -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 92116eb..7c902e7 100644 --- a/marco/test/prueba/conf/confSecciones.php +++ b/marco/test/prueba/conf/confSecciones.php @@ -39,7 +39,7 @@ // SECCION 1 {{{ array ( 'nombre' => 'Usuarios', //NOMBRE DE LA SECCION - 'imagenComun' => 'Usuarios', //IMAGEN COMUN + 'imagenComun' => 'usuario', //IMAGEN COMUN 'imagenMouseOn' => '', //Opcional 'ImagenSelect' => '', //Opcional 'link' => 'usuarios', //LINK DE LA SECCION diff --git a/marco/test/prueba/conf/configuracion.php b/marco/test/prueba/conf/configuracion.php index 640eb94..bf431e8 100644 --- a/marco/test/prueba/conf/configuracion.php +++ b/marco/test/prueba/conf/configuracion.php @@ -2,6 +2,6 @@ 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 + 'menu' => '1', //1 si se quiere mostrar, 0 en caso contrario ); ?> diff --git a/marco/test/prueba/www/images/inicio.jpg b/marco/test/prueba/www/images/inicio.jpg new file mode 100644 index 0000000000000000000000000000000000000000..19347640605851a73328a645f8290f0fb4366afa GIT binary patch literal 19209 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 K8fM>qpZGs*kHmWb literal 0 HcmV?d00001 diff --git a/marco/test/prueba/www/images/usuario.gif b/marco/test/prueba/www/images/usuario.gif new file mode 100644 index 0000000000000000000000000000000000000000..37f155dd806ba363b686148ddbb26a5572f80678 GIT binary patch literal 1145 zcmcJK`!m}I0KmVAZzLntluGAul%$_SG~HuvADVR=i1uZ!oq?|r5YO>8yp;z$z+|Kol>b( zEEboRmI?#{7>0Q~9*4tWv)Q4cp?-dTE-o(i_Vz>~(Zs|Ai^T!}@D71|@Bahn5Ja5@ ztN`+d_=hJz_t-T%?h@HFUs?C}9Fv02-e5gqItb@l5=UPr7X>yYF=VOFH#+E}1tFDM zs>8^&dCi+|Ge%Bk{RPLRu{WrQC?bAT@jp6TqmXl z{#2495aj0}kx_P%Jx zWhClV`ydv*lQBLEnZLzC6p(yMR9Z#AUA-*CYY->!z;#V zu82yWie!W0U4eQ8e0utmm$K zI%N?dA&?u$C}YO995ofLb!+Rp0w~a*)qkr{raC-I*0(A{{!7~?YjT~ literal 0 HcmV?d00001 diff --git a/marco/test/prueba/www/images/usuario_f2.gif b/marco/test/prueba/www/images/usuario_f2.gif new file mode 100644 index 0000000000000000000000000000000000000000..9448f6c3964a2293b23216a27ced5d1f82d2d293 GIT binary patch literal 1049 zcmV+!1m^okNk%w1VT%AZ0K@|-rnBU*4E6-%*DmUy}iA)wY9FU zuB4=-nVFf4jEsbYgnfN|a&mHJW@cGgSxih!KtMn~K%)g`99mEYg6$gL28_wSvZ|bUH&SGa06KiKKeJQ;K+;8Jo}N9eB;I?I?nHJR_jX z@A!JR&F_;6aB*T~WoTz}2S9#{Y(Rkm6aX2L0F{=P02CPmS&3?lpi)VXk&}~{n1h|3 zP@%3wN)!XLrIe_bk(y1Pue~-)va|si4X3vO0dSeCiN4M?z_SAs0mTismB{t?S_Bdpz*0d02TvMcmOuf^ zUJ4Yz{3xJ-(W6L{BHhU(=+9R{hswM|&t?FePl6m^=JaW(s2-<^fkZ7*HhdHSQMl67 zr&my5ff3C^59h&82M};|`*zU+pe6LggV$Fco{CTIJyAp#9n z=k3{h3GCo~jCKTA90ro)Vi1f`u%HtHqtN>-Xh55KkijmH1ZluJDEID4#xD-fM|vzZ z+Xy37**fTg|5<$J0DXNV-~a;*r6ofDOeeLX1b@u^*I5P#FyKG}1V+~Yf(jatpMD^2 zn1O}KWfz zfsvU?fWQP5&r`BSy(y|oj>#d@;=1cAcpGIteN(elF zfvW{4s%HZJiZHO#XUwi?_9j`nB1lEq4!OITcYq7%`XJA3h T2sDZTtu-gD^wLbH5CQ-@aSzPt literal 0 HcmV?d00001 diff --git a/marco/test/prueba/www/images/usuario_f3.gif b/marco/test/prueba/www/images/usuario_f3.gif new file mode 100644 index 0000000000000000000000000000000000000000..7dbabbe3c5fe69d7f6101371571a19fda493af01 GIT binary patch literal 1499 zcmV<11tj`MNk%w1VT%AZ0OkMy|NsB}`R?}i_WAbg_w?%Y@#pUD?(y#B>*(O==HJ)X z*UZe!#K+6Q!otD9!nnc8zrVk@zQnM;%eJ|^wYRyXwZ^Qnx2&y>pqraF@PwmA8zHjBS*>Y>~El zjiGUlt7(t5VvMzNhn!=Iv1y2=UWv1SfPim>nstJYe}8{rhOAnJv08(zXnvJifv0SI zj8uWGVt$)se3M>#m{)tBQhcRQeX3%1iE?ssOL?bKc9>9gnp$&=N_L|}bE8CZpGR_> zOK+1{YkpU2fM#Z9LT;KtYn4W6j67+TIcAbVV~j#$gjrcxIAMxAUxP$kbT?dsI$VD= zT!b%Oj5}9!H&%8tSbH*3a!gE2E>wCfQ+q5>buCVCFHCAGN@*!aWGF>qKR-V+GczV8 zCK(wS3=9ka009000ssI2000000000000000000000000000000A^8La6aaPrEC2ui z0E+-N000O7fD3|ygoTEOh>41b5*ZsNkR}@#5{s6Xn3FV0u-N1cgR|G~1d-)P#%h?QqbS0pU=cAOLZnF%9Z#bYmk$9}b}oi0JlZvcoYy?(nd;v7jDh&%#JMxUgldb$8@& zyf=cAV}M^!CTzKCorcYbMBp5D#1mUPV5}fbx?(bmw z(8hhywnVBf>!5g1mx+tvNtIk-QiO)I<)uxZXjtUQ5bQ|BVEId9#fjw*;>({;f4;;M zD`Zl^g8rs@_U_eCz<{KMmr)(~>BnDxB>e|ifCCl~kv1Al_|t@hA(-C}`!U$ydJn!A zVSxrVmmr4=dYBLtTmUE{fh9(FViifKsE`m`aOd572lPmo06+#Aq*dSGHXaQ{U;%{x zjS007h7)HcS3{2n(1sy}g-J&p5?r*vWIh+9v0iMmQAuJ|;NaHV4pn?%!I$}H5e9pr znfX?lS)!JO6>#Qb0~%23FqxgDQMe6mTOsj941MA=K^iRrHst{boLORGS%fh`qxb{? z=vh-DP-%<@>VO0oJaCFn17(E4gj1A`N@{aNZ~;aGs^arO8ecFGs;sk0ltmdGko*9EAF^;;HqsxL3nFcwKTv0!wW0K zEAI%bKgU6?@z2>aUPfDvxEu?8621?F+~Y;$YC`dZ_-_Y3W6_y!`?^Cu{PT!KrqLfa!+3M z84G|d2;hQDv4tRQFHpjp3!Gv0*hiE8cp{-+9k(EIi!OBNvUhHF=2U9{#~gLcVKxMC z^nUy5h|rF;+;l)tH5|BaF7({DhdxKv&@Uk0-D(qW2<;Z|F31^YKwv>Q; - - ESTO ES LA PAGINA DEL MEDIOTE - -
+ -- 2.43.0