X-Git-Url: https://git.llucax.com/mecon/scripts.git/blobdiff_plain/cba4ec1c8ae5acc82e95cd512170ba76a7b66df6..14c8fa85f48e3f3f15b2e6503d757c9b0f66da8b:/embperl/base.epl diff --git a/embperl/base.epl b/embperl/base.epl index cc1b64f..0f2ba73 100644 --- a/embperl/base.epl +++ b/embperl/base.epl @@ -1,302 +1,3 @@ -[$ if ($ENV{'SCRIPT_NAME'} ne "/index.epl" && $ENV{'SCRIPT_NAME'} ne "/Php2Embperl_Session.epl")$] -[- $http_headers_out{'Location'}="./index.epl" if(!$udat{'user'}); -] -[- -use DBI; -use Data::Dumper; -#Conecciones a las bases -$CLEANUP{'bases'} = 0; -our $bases->{'newsclient'}=[ - "dbi:mysql:dbname=MEconDAV;host=localhost", - "mark", - "mark", - {RaiseError=>1, AutoCommit=>1}]; -our $bases->{'menu'}=[ - "dbi:mysql:dbname=USUARIOS;host=localhost", - "menu", - "menu", - {RaiseError=>1, AutoCommit=>1}]; -our $bases->{'liq'}=[ - "dbi:mysql:dbname=liquidaciones;host=localhost", - "me", - "me", - {RaiseError=>1, AutoCommit=>1}]; -our $bases->{'partidos'}=[ - "dbi:mysql:dbname=partidos;host=localhost", - "partidos", - "partidos", - {RaiseError=>1, AutoCommit=>1}]; --] -[! -#Precarga del Arbol que genera el menu -$CLEANUP{'dbh'} = 0; -my $dbh=DBI->connect(@{$bases->{'menu'}}); -$CLEANUP{'menu'} = 0; -our $menu = $dbh->selectall_arrayref(' - SELECT pagina.pagina, pagina.link, pagina.nombre, pagina.tipo, pagina.icono, - pagina.descr, pagina.tipo, area.color_obscuro, area.color_claro - FROM pagina, area - WHERE tipo="A" - AND pagina.pagina=area.pagina - ORDER BY pagina.pagina'); - -#Estructura del menu: -#array de: -# arrays con: -# 0 numero -# 1 link -# 2 nombre -# 3 tipo -# 4 icono -# 5 descripcion -# 6 array con las paginas inferiores -# 7 color claro -# 8 color obscuro -# cada pagina inferior tiene: -# 0 numero -# 1 link -# 2 nombre -# 3 tipo -# 4 icono -# 5 descripcion -# 6 array con las paginas inferiores - -#esta es una lista invertida de los links y las areas para rastrear que menu mostrar a partir de que pagina muestra -#se podria hacer del arbol pero seria algo lento -$CLEANUP{'busc_area'} = 0; -our $busc_area; -$busc_area->{"$_->[1]"} = $_->[0]-1 foreach (@$menu); - -#Carga recursiva de hojas -sub cargarinferiores($$) -{ - my $pag = shift; - my $area = shift; - $pag->[6]= $dbh->selectall_arrayref(" - SELECT pagina.pagina, pagina.link, pagina.nombre, pagina.tipo, pagina.icono, pagina.descr - FROM pagina - WHERE pagina.pagina_sup=$pag->[0] -# AND pagina.tipo <> 'O' - ORDER BY pagina.tipo, pagina.nombre"); - my $tmp= $dbh->selectall_arrayref(" - SELECT pagina.link - FROM pagina - WHERE pagina.pagina_sup=$pag->[0] - AND pagina.tipo <> 'L'"); - $busc_area->{"$_->[0]"}=$area foreach (@$tmp); - - cargarinferiores($_,$area) foreach (@{$pag->[6]}); -}; - -cargarinferiores($_,$_->[0]-1) foreach (@$menu); -#estas variables se usan para generar el codigo del menu, se inicializan fuera por velocidad -my $bg_color; my $fg_color; my $tam; my $link_ini; my $link_fin; -my $b_ini; my $b_fin; my $tab; my $new_frame; -!] -[! -sub rama_abierta($$) -{ - $rama = shift; - $link = shift; - return 1 if ($rama->[1] eq $link); - return 1 if ($rama->[1] =~ /^$link?/); - foreach (@{$rama->[6]}) - { - return 1 if rama_abierta($_, $link); - } - return 0; -}; - -#global para saber en que nivel estoy; -$xtab=''; - -sub Linea($$$) -{ - my $l = shift; - my $color_oscuro = shift; - my $color_claro = shift; - $activo = ''; - foreach (@{$l->[6]}) - { $activo = true if ($_->[1] =~ /^$ENV{'SCRIPT_NAME'}/); } - $bg_color = 'CCCCCC'; - if ($l->[1] =~ /^$ENV{'SCRIPT_NAME'}/ or $activo ) - { - $bg_color = $color_claro; - $tipo_pag = $l->[3]; - } - $fg_color= '000000'; - $tam = "size='0'"; - $link_ini = ''; $link_fin=''; - $b_ini=''; $b_fin=''; - $tab='- '; - $new_frame=''; - $new_frame='target=_blank' if($l->[3] eq 'L'); - if ($l->[1]) - { $link_ini = ""; $link_fin = ""; } - if($l->[3] eq 'S') - { - $bg_color = $color_oscuro; - $fg_color = 'FFFFFF'; - $tam = "size='2'"; - $b_ini = ""; $b_fin= ""; - $tab=''; - } - my $linea_html = " - - - $b_ini$link_ini - - $xtab$tab$l->[2] - - $link_fin$b_fin - - "; - foreach (@{$l->[6]}) - { - if ($_->[3] ne 'O') - { - my $oldtab = $xtab; - $xtab .= '   ' if (($l->[3] ne "S")and($l->[3] ne "S")); - $linea_html .= Linea($_, $color_oscuro, $color_claro) if - (rama_abierta($l,$ENV{'SCRIPT_NAME'})or(!$l->[1])); - $xtab = $oldtab; - } - } - return $linea_html; -}; - -sub DesplegarMenu($) -{ - $area = shift; - $tipo_pag = 'A'; - foreach (@{$area->[6]}) - { - $menu_html .= Linea($_, $area->[7], $area->[8]); - $tipo_pag = 'A' if ($_->[1] =~ /^$ENV{'SCRIPT_NAME'}/ ); - } - return $menu_html; -}; -!] -[- -our $char_menu = DesplegarMenu($menu->[$busc_area->{"$ENV{'SCRIPT_NAME'}"}]) --] -[- -$ret = shift; -$ret->{'bases'} = $bases; -$ret->{'menu'} = $menu; -$ret->{'busc_area'} = $busc_area; --] - - - - INTRANET DEL MINISTERIO DE ECONOMIA - - - - - - - - - [$ if defined $fdat{'debug'} $] - [- Execute ('debug.epl') -] - [$ else $] - [- Execute ('cabecera.epl') -] - [$ endif $] - [$ if ($ENV{'SCRIPT_NAME'} ne '/mapa.epl') $] - - - - - - - - - - - - [$ else $] - - - - [$ endif $] -
- - [+ $char_menu +] - -
-
- - - - - - - -
- [- Execute('barra_areas.epl')-] -
- [- - if (-f $ENV{'SCRIPT_FILENAME'}) - { Execute('*'); } - else - { Execute('auto_pag.epl') } - -] -
-
- - Información | Servicios | Consultas | Gestión Horizontal | Gestión Local - -
- - Copyright © 2001 Ministerio de Economía - -
- [- Execute('*'); -] -
- - -[$ else $] - [- Execute('*') -] +[$ if ($ENV{'SCRIPT_NAME'} ne "/index.epl" && $ENV{'SCRIPT_NAME'} ne "/Php2Embperl_Session.epl") $] +[- Execute('*'); -] [$ endif $]