CAPÍTULOS BASC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Estados Unidos
|
|
Dirección: 865 South Figueroa Street, Suite 1388, en Los Ángeles, CA 90017
California, USA
Teléfonos: (714) 318-7396
|
|
|
|
|
|
|
|
|
BASC -Business Alliance for Secure Commerce-, es una alianza empresarial internacional que promueve un comercio seguro en cooperación con gobiernos y organismos internacionales.
Está constituida como una organización sin ánimo de lucro, con la denominación “World BASC Organization” bajo las leyes del estado de Delaware, Estados Unidos de América. |
Actualidad BASC |
#!/usr/local/bin/perl
##########################################################################
#
# OJO: MODIFICACIÓN TABLAS
#
# En febrero 2010 se modifica la tabla notlistas, adicionando columna así:
#
#
##########################################################################
use DBI;
use CGI qw(:cgi);
#use strict;
$x = index($ENV{DOCUMENT_ROOT}, "/htdocs");
$document_root = substr($ENV{DOCUMENT_ROOT}, 0, $x) if ($x != -1);
$document_root = "/home/wmviejowbasco/public_html";
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("$document_root/cgi-bin/noticias/$ENV{SERVER_NAME}");
&conectardb("$db_file");
# 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;
###
### 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 es imagen se muestra como una noticia normal, pero si es documento, se abra el documento de una vez.
#################################
### La rutina documentos_adjuntos revisa los documentos adjuntados a una noticia y retorna dos variables que contienen:
### $listaimagenes - El código html necesario para mostrar las imágenes que están adjuntadas con la noticias
### $listadocumentos - El código html para mostrar la lista de documentos asociados (no imágenes) con sus enlaces para abrirlos
###
($listaimagenes, $listadocumentos) = documentos_adjuntos($codigo);
### Ojo, quité la clase a $texto ya que viene incluida cuando se usa FCKeditor.
print <$titulo
$dia_not-$meslit[$mes_not-1]-$ano_not
$resumen
$texto
ENDTEXT
# Muestra las imágenes
print $listaimagenes;
# Muestra la lista de documentos adjuntos
if ($listadocumentos ne '') {
print qq~ Documentos relacionados:
~;
print $listadocumentos;
print ' ';
}
}
##########################################################################
#
# Mostrar la lista de noticias
#
##########################################################################
if ($PARAM{lista} ne "") {
local $querycodigo;
my $enlace_noticia;
# 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.","#");
exit 0;
}
my $row = $sth->fetchrow_hashref;
foreach (keys %$row) {$$_ = $$row{$_}}
# Seleccionamos las noticias a mostrar
#if ($codigo eq "") {$querycodigo = ""} else {$querycodigo = " and codigo<>$codigo"}
$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";
$query = "SELECT codigo, portada, f_not, titulo, resumen
FROM noticias
WHERE tipo='$ev' and activo='Y' $querycodigo and f_ini <= CURDATE() and f_fin >= CURDATE() ORDER BY f_not DESC, codigo $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 "$ntsininf | ";
}
else
{
$fila = 1;
$td_not = "td1_not";
$a_not = "a_not";
while ( $row = $sth->fetchrow_hashref ) {
foreach (keys %$row) {$$_ = $$row{$_}}
if ($ntdirecto eq 'S') {
($listaimagenes, $listadocumentos) = documentos_adjuntos($codigo, $ntdirecto);
$enlace_noticia = ($listadocumentos eq '') ? "$nturl?$codigo" : $listadocumentos;
#$enlace_noticia = $listadocumentos;
} else {
$enlace_noticia = "$nturl?$codigo";
}
($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 ( $PARAM{lista} eq 'p1' && 1 == 0) {
# Esto sólo es para mcconsultores
&muestra_procesos_seleccion;
} else {
print "\n",
"";
if ($ntportada eq 'S') {
if ( -e $dir_documentos."/th_".$portada) {
print qq~~;
}
}
if ($ntfecha eq "S") {
print "$dia_not-$meslit[$mes_not-1]-$ano_not ";
}
if ($ntfecha eq "L") {
print "$dia_not-$meslit[$mes_not-1]-$ano_not ";
}
if ($nttitulo eq "S") {
print "$titulo ";
}
if ($nttitulo eq "L") {
print "$titulo ";
}
if ($ntresumen eq "S") {
print "$resumen ";
}
if ($ntresumen eq "L") {
print "$resumen ";
}
if ($ntmasinf eq "S") {
print "$ntmeninf";
}
print " | ";
}
} # endwhile
} # endif ($sth->rows == 0)
}# if (($PARAM{lista} ne "")
# Desconectamos de Base de Datos
$sth->finish;
$rv = $dbh->disconnect;
exit 0;
#################################
### documentos_adjuntos
#################################
sub documentos_adjuntos {
my ($codigo, $ntdirecto) = @_;
my $query, $sth, $dbh, $row, $rv, $documentos, $listaimagenes, $listadocumentos, @array, $exten, $imagenes, $esimagen, $enlace, $enlace_fin;
$listaimagenes = $listadocumentos = '';
# 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;
$listaimagenes = '';
#$listadocumentos = qq~ 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 = '';
}
### cuando la lista requiere enlace directo al documento (sin abrir la noticia), se retorna el url del documento, sino se crea la lista de imágenes.
if ($ntdirecto eq 'S') {
$listadocumentos = "$url_documentos/$documento";
last;
} else {
$listaimagenes .= qq~$enlace $enlace_fin ~;
}
#print qq~$enlace $enlace_fin ~;
} else
{
# Marcamos que si hay documentos relacionados
$documentos = 1;
if ($ntdirecto eq 'S') {
$listadocumentos = "$url_documentos/$documento";
last;
} else {
$listadocumentos .= qq~- $descripcion ($documento)
~;
}
}
}
}
# Si hay documentos relacionados, los mostramos.
#$listadocumentos .= ' ' if ($listadocumentos ne '');
#if ($documentos) {print "$listadocum"}
}
$sth->finish;
return ($listaimagenes, $listadocumentos);
}
#################################
### Muestra procesos selección
#################################
sub muestra_procesos_seleccion {
print <
|
TITULO
print "\n",
"";
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
}
|
|
|
|
|