Bahía 419
InicioCondominioServiciosDocumentaciónNoticiasLegalizaciónGalería FotográficaContáctenos
 
     
 
 

 

NOTAS DE ACTUALIDAD

#!/usr/local/bin/perl ########################### ### Nuevo - Parametros para mostrar noticias ### ### resumen=n : No muestra el resumen de la noticia ### resumen=d : Muestra el resumen al final de la noticia (firma) ### fecha=n : No muestra la fecha de la noticia al mostrarla ### lista=a : Muestra toda la noticia en la lista (para mostrar en la lista cada una de las noticias con toda la información (usado en AmazonPepper para testimonials) ### ########################### use DBI; use CGI qw(:cgi); use HTML::Entities; #use strict; ### obtenemos paths principales: our $document_root = $ENV{DOCUMENT_ROOT}; our $home_root = substr( $ENV{DOCUMENT_ROOT}, 0, rindex($ENV{DOCUMENT_ROOT}, "/")); # quitamos a document_root lo que sigue despues del ultimo / (el dominio en VPS3) my $os = $^O; our $cgi_root = ($os eq 'linux') ? $document_root."/cgi-bin" : $home_root."/cgi-bin"; our $nombre_dominio= $ENV{SERVER_NAME}; $nombre_dominio= substr( $nombre_dominio,4 ) if ( lc(substr($nombre_dominio,0,4)) eq 'www.'); ### require "$document_root/noticias/config.cgi"; require "pdlib.pl"; local ($dbh,$sth,$query,$numreg,$numret,@row,%numcampo,$nivel,$fila); local @meslit = qw(Ene Feb Mar Abr May Jun Jul Ago Sep Oct Nov Dic); print "Content-type: text/html\n\n"; # ¶metros retorna un HASH conteniendo $PARAM{variable} = valor ¶metros; if (21==1) { print "**** ENV ****"; while (($key, $val) = each %ENV) { print "$key = $val
\n"; } print "**** PARAM ****"; while (($key, $val) = each %PARAM) { print "$key = $val
\n"; } } $ev = $PARAM{ev}; # Conecto Base de Datos &conectardb("$cgi_root/noticias/$nombre_dominio"); # Obtenemos el codigo de la noticia a mostrar del URL. $codigo = $ENV{QUERY_STRING_UNESCAPED}; ########################################################################## # # Mostrar la noticia # ########################################################################## if ($PARAM{muestranot} == 1) { # Se requiere imprimir noticia, tomamos configuracion de la noticia $query = "SELECT * FROM notcontrol WHERE cod_aut = '$ev'"; $sth = $dbh->prepare($query) or die "Error - $query : $dbh->errstr
\n"; $rv = $sth->execute or die "Error $sth->errstr
\n"; if ($sth->rows == 0) { &mensaje("No hay programación para esta lista.","#"); exit 0; } $row = $sth->fetchrow_hashref; foreach (keys %$row) {$$_ = $$row{$_}} $query = "SELECT f_not,titulo,resumen,texto FROM noticias WHERE codigo = '$codigo'"; $sth = $dbh->prepare($query) or die "Error - $query : $dbh->errstr
\n"; $rv = $sth->execute or die "Error $sth->errstr
\n"; if ($sth->rows == 0) { &mensaje("La noticia seleccionada no se encuentra disponible.","#"); exit 0; } $row = $sth->fetchrow_hashref; foreach (keys %$row) {$$_ = $$row{$_}} ($ano_not,$mes_not,$dia_not) = split /-/,$f_not; ################################# ### Aquí se imprime la noticias y sus adjuntos ### Se modifica para verificar si el adjunto se muestra sin imprimir la noticia o no ### En febrero 2010 se modifica el programa para lo siguiente: ### Si la noticia no contiene contenido ($texto), y además sólo hay un documento adjunto... ### entonces se muestra el documento de una vez. Si el documento es una imagen se muestra como una noticia normal, pero si es documento no imagen, se abra el documento de una vez. ################################# ################################# ### Continuación del programa ################################# ### Se decodifica el texto, habia sido encoded al grabarse $texto = decode_entities($texto); ### Ojo, quité la clase a $texto ya que viene incluida cuando se usa FCKeditor. print '
'; print qq~$titulo
~; print qq~$dia_not-$meslit[$mes_not-1]-$ano_not~ if uc($PARAM{fecha}) ne 'N'; print qq~

$resumen

~ if (uc($PARAM{resumen}) ne 'N' && uc($PARAM{resumen}) ne 'D'); print qq~$texto~; print qq~

$resumen

~ if uc($PARAM{resumen}) eq 'D'; print '
'; ################################# ################################# # Verificamos si hay documentos adjuntos a esta noticia $query = "SELECT * FROM notdocum WHERE codigo = '$codigo' order by orden"; $sth = $dbh->prepare($query) or die "Error - $query : $dbh->errstr
\n"; $rv = $sth->execute or die "Error $sth->errstr
\n"; if ($sth->rows != 0) { # Suponemos que no hay documentos relacionados (posiblemente son todos imagenes) $documentos = 0; my $num_documentos = 1; $listadocum = "
Documentos relacionados:

    "; while ( $row = $sth->fetchrow_hashref ) { foreach (keys %$row) {$$_ = $$row{$_}} if ($documento ne "") { @array = split(/\./, $documento); $exten = pop(@array); $imagenes = "gif jpeg jpg jpe png tiff tif GIF JPEG JPG JPE PNG TIFF TIF"; $esimagen = index($imagenes, $exten); local $enlace = $enlace_fin = ''; if ($esimagen != -1) { if ( -e $dir_documentos."/mx_".$documento) { $enlace = qq~~; $enlace_fin = ""; } print qq~
    $enlace$descripcion$enlace_fin

    ~; $num_documentos++; } else { # Marcamos que si hay documentos relacionados $documentos = 1; $listadocum .= qq~
  • $descripcion ($documento)

  • ~; } } } # Si hay documentos relacionados, los mostramos. if ($documentos) {print "$listadocum
"} } ################################# ################################# $sth->finish; } ########################################################################## # # Mostrar la lista de noticias # ########################################################################## # Se requiere imprimir lista, tomamos configuracion de la lista my $query = "SELECT * FROM notlistas WHERE ntlista = '$PARAM{lista}'"; my $sth = $dbh->prepare($query) or die "Error - $query : $dbh->errstr
\n"; my $rv = $sth->execute or die "Error $sth->errstr
\n"; if ($sth->rows == 0) { #&mensaje("No hay programación para esta lista.","#"); # No hay promoción, no muestra nada exit 0; } my $row = $sth->fetchrow_hashref; foreach (keys %$row) {$$_ = $$row{$_}} if ( uc($ntportada) eq 'S' ) { ########################################################################## # # Para PROMOCIÓN en capa encima de página (promoción hoteles) # ########################################################################## local $querycodigo; $html_output = ''; # Seleccionamos las noticias a mostrar $querycodigo = ($codigo eq "") ? "" : " and codigo<>$codigo"; # Si número máximo noticias a mostrar es -1, mostrar todas las noticias my $limite = ($ntmaxlista < 0) ? "" : " LIMIT $ntmaxlista"; my $ordenmostrar = ($ntorden eq '') ? "ORDER BY f_not DESC, codigo" : "ORDER BY $ntorden"; $query = "SELECT codigo, portada, f_not, titulo, resumen, texto FROM noticias WHERE tipo='$ev' and activo='Y' $querycodigo and f_ini <= CURDATE() and f_fin >= CURDATE() $ordenmostrar $limite"; $sth = $dbh->prepare($query) or die "Error - $query : $dbh->errstr
\n"; $rv = $sth->execute or die "Error $sth->errstr
\n"; if ($sth->rows == 0) { #print qq~~; # No hay noticias activas, no se muestra nada } else { my $promocion_activada = 0; $fila = 1; $td_not = "td1_not"; $a_not = "a_not"; while ( $row = $sth->fetchrow_hashref ) { foreach (keys %$row) {$$_ = $$row{$_}} $texto = decode_entities($texto); ($ano_ini,$mes_ini,$dia_ini) = split /-/,$f_ini; ($ano_fin,$mes_fin,$dia_fin) = split /-/,$f_fin; ($ano_not,$mes_not,$dia_not) = split /-/,$f_not; print '
'; if (uc($ntportada) eq 'S') { if ( -e $dir_documentos."/pr_".$portada) { print qq~$titulo\n~; } } print qq~
\n~; if (uc($ntfecha) eq "S") { print qq~$dia_not-$meslit[$mes_not-1]-$ano_not
\n~; } if (uc($ntfecha) eq "L") { print qq~$dia_not-$meslit[$mes_not-1]-$ano_not
\n~; } if (uc($nttitulo) eq "S") { print qq~

$titulo

\n~; } if (uc($nttitulo) eq "L") { print qq~

$titulo

\n~; } if (uc($ntresumen) eq "S") { print qq~

$resumen

\n~; } if (uc($ntresumen) eq "L") { print qq~

$resumen

\n~; } if (uc($ntmasinf) eq "S") { print qq~$ntmeninf~; } if (!$promocion_activada) { $promocion_activada = 1; # Activar division que contiene la promoción print qq~ ~; } print '
'; #qq~
\n~; print '
'; #'
'; } # endwhile } # endif ($sth->rows == 0) $rv = $dbh->disconnect; }# if ( uc($ntportada) eq 'S' ) elsif ($PARAM{lista} ne '') { ########################################################################## # # Para mostrar lista normal # ########################################################################## local $querycodigo; # Seleccionamos las noticias a mostrar $querycodigo = ($codigo eq "") ? "" : " and codigo<>$codigo"; # Si número máximo noticias a mostrar es -1, mostrar todas las noticias my $limite = ($ntmaxlista < 0) ? "" : " LIMIT $ntmaxlista"; my $ordenmostrar = ($ntorden eq '') ? "ORDER BY f_not DESC, codigo" : "ORDER BY $ntorden"; $query = "SELECT codigo, portada, f_not, titulo, resumen, texto FROM noticias WHERE tipo='$ev' and activo='Y' $querycodigo and f_ini <= CURDATE() and f_fin >= CURDATE() $ordenmostrar $limite"; $sth = $dbh->prepare($query) or die "Error - $query : $dbh->errstr
\n"; $rv = $sth->execute or die "Error $sth->errstr
\n"; if ($sth->rows == 0) { print qq~
~; } else { $fila = 1; $td_not = "td1_not"; $a_not = "a_not"; while ( $row = $sth->fetchrow_hashref ) { foreach (keys %$row) {$$_ = $$row{$_}} $texto = decode_entities($texto); ($ano_ini,$mes_ini,$dia_ini) = split /-/,$f_ini; ($ano_fin,$mes_fin,$dia_fin) = split /-/,$f_fin; ($ano_not,$mes_not,$dia_not) = split /-/,$f_not; if ($fila == 1) { $tdsty = $nttdlis1; $fecsty = $ntfeclis1; $titsty = $nttitlis1; $ressty = $ntreslis1; $massty = $ntmaslis1; $sinsty = $ntsinlis; $fila = 2; } else { $tdsty = $nttdlis2; $fecsty = $ntfeclis2; $titsty = $nttitlis2; $ressty = $ntreslis2; $massty = $ntmaslis2; $sinsty = $ntsinlis; $fila = 1; } #endif # if ( lc($PARAM{lista}) eq 'p1' && 1 == 0) { ### Esto se hizo sólo para MC Consultores, procesos de selección. # &muestra_procesos_seleccion; # } else { if ( uc($PARAM{mostrar}) eq 'TESTIMONIAL') { # Esto está hecho para AmazonPepper - Testimonial print "\n",""; } else { print "\n"; } } # endwhile } # endif ($sth->rows == 0) }# elsif ( $PARAM{lista}ne'' ) # Desconectamos de Base de Datos $rv = $dbh->disconnect; exit 0; ################################# ### Continuación del programa ################################# sub documentos_adjuntos { # Verificamos si hay documentos adjuntos a esta noticia $query = "SELECT * FROM notdocum WHERE codigo = '$codigo' order by orden"; $sth = $dbh->prepare($query) or die "Error - $query : $dbh->errstr
\n"; $rv = $sth->execute or die "Error $sth->errstr
\n"; if ($sth->rows != 0) { # Suponemos que no hay documentos relacionados (posiblemente son todos imagenes) $documentos = 0; $listadocum = "
Documentos relacionados:

    "; while ( $row = $sth->fetchrow_hashref ) { foreach (keys %$row) {$$_ = $$row{$_}} if ($documento ne "") { @array = split(/\./, $documento); $exten = pop(@array); $imagenes = "gif jpeg jpg jpe png tiff tif GIF JPEG JPG JPE PNG TIFF"; $esimagen = index($imagenes, $exten); local $enlace = $enlace_fin = ''; if ($esimagen != -1) { if ( -e $dir_documentos."/mx_".$documento) { $enlace = qq~~; $enlace_fin = ""; } print qq~
    $enlace$descripcion$enlace_fin

    ~; } else { # Marcamos que si hay documentos relacionados $documentos = 1; $listadocum .= qq~
  • $descripcion ($documento)

  • ~; } } } # Si hay documentos relacionados, los mostramos. if ($documentos) {print "$listadocum
"} } $sth->finish; } ################################# ### Muestra procesos selección ################################# sub muestra_procesos_seleccion { print < TITULO print "\n", "
$ntsininf
$ntsininf
"; print "$texto"; print "$resumen
"; print "
"; if (uc($ntportada) eq 'S' or uc($ntportada) eq 'D') { if ( -e $dir_documentos."/th_".$portada) { print '
'; print qq~$titulo~; print '
'; } else { print '
' if (uc($ntportada) eq 'D'); ###pd Según parámetro (ntportada) las listas que incluyen imagen requiere poner la imagen en un division. } } print '
'; ###pd Cada noticia de la lista se encierra en un que va junto al division de la imagen. if (uc($ntfecha) eq "S") { print "$dia_not-$meslit[$mes_not-1]-$ano_not
"; } if (uc($ntfecha) eq "L") { print "$dia_not-$meslit[$mes_not-1]-$ano_not
"; } if (uc($nttitulo) eq "S") { print "$titulo
"; } if (uc($nttitulo) eq "L") { print "$titulo
"; } if (uc($ntresumen) eq "S") { print "$resumen
"; } if (uc($ntresumen) eq "L") { print "$resumen
"; } if (uc($ntmasinf) eq "S") { print "$ntmeninf"; } print '
'; ### print "
"; if ($nttitulo eq "S") { print "$titulo"; } if ($nttitulo eq "L") { print "$titulo"; } print <
FINTITULO if ($ntresumen eq "S") { print "$resumen
"; } if ($ntresumen eq "L") { print "$resumen
"; } if ($ntmasinf eq "S") { print "$ntmeninf"; } print <
 
FINNOTA }
  Foto Nocturna Edificio Bahia 419
 
 

2008 © Edificio Bahía 419, Bocagrande, Car. 4 No. 9-157
Tel.: 57 (5) 665 5340 - Cel.: (57) 312 615 7109
Cartagena de Indias - Colombia
 
  POSDATA