Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Req Usuario
Req Usuario
Julio 2004
TABLA DE CONTENIDOS
1.INTRODUCCIN.............................................................................................................................................................1
1.1PROPSITO...........................................................................................................................................................................................................1
1.2MBITO................................................................................................................................................................................................................1
1.3DEFINICIONES Y ABREVIATURAS.........................................................................................................................................................................1
1.4REFERENCIAS.......................................................................................................................................................................................................1
1.5VISIN GENERAL.................................................................................................................................................................................................2
2.ESTNDARES DEL PROYECTO CONVENCIONES Y PROCEDIMIENTOS.....................................................2
2.1ESTNDARES DE DISEO.....................................................................................................................................................................................2
2.2ESTNDARES DE PROGRAMACIN.......................................................................................................................................................................2
2.3HERRAMIENTAS DE DESARROLLO DE SOFTWARE................................................................................................................................................2
3.DESCRIPCIN DE LOS COMPONENTES.................................................................................................................2
4.PLAN DE PRUEBAS........................................................................................................................................................6
4.1.Pruebas de verificacin y validacin de datos..............................................................................................................................................6
4.2.Pruebas de integracin.................................................................................................................................................................................6
APNDICE A: LISTADO CDIGO FUENTE................................................................................................................8
APNDICE B: MATRIZ DE TRAZABILIDAD DE SR VS COMPONENTES.........................................................34
DDD
ii
1. INTRODUCCIN
El propsito de este documento, es detallar los primeros mdulos definidos, por tratarse de una
primera versin.
1.1Propsito
El propsito de este documento, es al final del proyecto detallar todos los mdulos
definidos en la fase AD, codificarlo y documentarlo.
1.2mbito
Este Documento, es una herramienta prctica y necesaria para un desarrollador, ac se
describe cada componente (mdulos) que usara el software, que ser definido en las
etapas posteriores a esta versin.
1.3Definiciones y Abreviaturas
SAFODI
ADD
DDD
Metodo
1.4Referencias
Textos
Documento desarrollado en la fase URD.
Noem Nuez, Jorge Prez y Manuel Silva.
Ingeniera de Software, Un enfoque prctico.
Roger Pressman V5.
ESA Software Engineering Standards,
ESA PSS-05-00 Issue 2.
Apuntes de clase de Ingeniera de Software,
Profesor Juan Carlos Cockbaine, Universidad de Santiago de Chile.
1.5Visin General
La fase Diseo Detallado (DD), pretende ahondar ms el nivel de abstraccin, de manera
de especificar con mayor detalle los mdulos que participan en el desarrollo del producto
de software SAFODI
2. ESTNDARES DEL
PROCEDIMIENTOS
PROYECTO
CONVENCIONES
2.1Estndares de Diseo
Este proyecto ha sido desarrollado en base al paradigma de proceso incremental
estudiado en ctedra, y a travs de los distintos documentos como el libro: Ingeniera de
Software, Un enfoque prctico, del autor Roger Pressman V5, ESA Software Engineering
Standards, ESA PSS-05-00 Issue 2 y Apuntes de clase de Ingeniera de Software,
Profesor Juan Carlos Cockbaine, Universidad de Santiago de Chile.
El mtodo utilizado, el anlisis estructurado, se esta organizando a travs de la funcin a
procedimientos, este se basa en la descomposicin de un programa en sub-programas, la
unidad fundamental de este tipo de descomposicin es el sub-programa, el programa
resultante toma la forma de un rbol, en la que cada subprograma realiza su trabajo,
llamando ocasionalmente a otro programa. El Anlisis estructurado se concentra en
especificar y descomponer la funcionalidad del sistema total.
2.2Estndares de Programacin
Se est realizando una programacin mediante mdulos, como en el diagrama modular y
se estn definiendo los parmetros para su posterior utilizacin.
DD1
inicio.cgi
Mdulo de inicio del sitio
ninguno
Funcin cliente
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD2
semaforo.cgi
Men principal del sitio
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD3
mapaconv.cgi
Muestra el mapa conversacional
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD4
politicas.cgi
Muestra polticas del sitio
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD5
mapadelsitio.cgi
Muestra el mapa del sitio
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD6
contadm.cgi
Muestra polticas del sitio
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD7
debates.cgi
Arma pantalla con debates de un tema seleccionado al inicio del sitio
$ident, $admin; $esmod, $usuario, $id_tema
Funcin cliente
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD8
ndebate.cgi
Crea pgina para inscribir un nuevo debate
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD9
mailmod.cgi
Permite mandar un mensaje al moderador de un tema
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
Nombre
DD10
respuesta.cgi
3
Descripcin
Parmetros
Tipo de funcin
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD11
administrador.cgi
Despliega un men con opciones de administracin del sitio
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
Nombre
Descripcin
DD12
identif.cgi
Pide datos para identificar a un usuario y lo valida en la tabla de
usuarios
$ident, $admin; $esmod, $usuario
Funcin cliente
Parmetros
Tipo de funcin
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
ID
Nombre
Descripcin
DD13
mantlist.cgi
Dentro de la consola de administracin esta opcin permite modificar
estados de un tema ( suspender, reactivar ) o eliminarlo.
$ident, $admin; $esmod, $usuario
Funcin cliente
Parmetros
Tipo de funcin
DD14
moddebate.cgi
Muestra los debates por moderar si es que el usuario en curso es
moderador de al menos un tema.
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD15
moderador.cgi
Muestra menu de opciones para el moderador
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
Nombre
Descripcin
DD16
modifmod.cgi
Opcin al interior del ambiente de administracin que permite
cambiarle el moderador a un tema
$ident, $admin; $esmod, $usuario
Funcin cliente
Parmetros
Tipo de funcin
ID
Nombre
Descripcin
Parmetros
DD17
modifusr.cgi
Opcin al interior del ambiente de administracin que permite cambiar
la situacin de un usuario ( suspender, reactivar, eliminar )
$ident, $admin; $esmod, $usuario
4
Tipo de funcin
Funcin cliente
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD18
modresp.cgi
Permite al moderador validar respuestas
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD19
nrespuesta.cgi
Permite a un usuario identificado agregar un opinin dentro de un
debate
$ident, $admin; $esmod, $usuario, $id_debate
Funcin cliente
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD20
nuevotema.cgi
Permite a un usuario identificado ingresar un nuevo tema
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
Nombre
Descripcin
DD21
nusuario.cgi
Permite a cualquier visitante o usuario inscribir a travs de un
formulario un nuevo integrante del sitio
$ident, $admin; $esmod, $usuario
Funcin cliente
Parmetros
Tipo de funcin
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
ID
Nombre
Descripcin
DD22
validtem.cgi
Opcin al interior del ambiente de administracin que permite validar
los nuevos temas incritos por los usuarios
$ident, $admin; $esmod, $usuario
Funcin cliente
DD23
validuser.cgi
Opcin al interior del ambiente de administracin que permite validar
los nuevos usuarios
$ident, $admin; $esmod, $usuario
Funcin cliente
Parmetros
Tipo de funcin
DD24
Vermens1.cgi
Permite al administrador ver los mensajes que le han dejado los
usuarios
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
DD25
5
Nombre
Descripcin
Parmetros
Tipo de funcin
Vermens2.cgi
Permite al moderador ver los mensajes que le han dejado los usuarios
$ident, $admin; $esmod, $usuario
Funcin cliente
4. PLAN DE PRUEBAS
Las pruebas de software son un elemento crtico para la garanta de calidad del software y
representan una revisin final de las especificaciones, diseo y codificacin. Conociendo la
funcin especfica para la que fue diseado el software, se crean pruebas que demuestren la
operatividad de cada funcin, es decir, que la operacin interna se ajusta a la perfeccin con las
especificaciones y requerimientos para lo que fue diseada.
El objetivo de esta etapa fue encontrar errores, para ello, solamente se utiliz el mtodo de la
caja negra verificando el dominio de entrada y salida del software para descubrir errores de
funcionalidad, comportamiento y desempeo.
En esta etapa se hicieron revisiones en forma ms general, recorriendo la funcionalidad del
sitio web. La razn de lo anterior se debe a que el esquema interno de los mdulos es lineal,
adems, por falta de tiempo no se hicieron ms pruebas de caja blanca.
Para realizar la estrategia de prueba antes mencionada, se debi poblar la base de datos del
foro, llenando datos de carcter variado en todas las tablas, de manera de cubrir los dominio de
valores posibles, y otros especificados en el Diccionario de Datos. De esta forma se pudieron
realizar las siguientes pruebas:
4. Pruebas de verificacin y validacin de datos
5. Pruebas de integracin
6. Pruebas de sistema
que componen el sistema, para ello, se realizaron pruebas cada vez que se integra un
nuevo mdulo.
Dentro de las pruebas realizadas se experiment con diferentes usuarios, pues la forma de
enfrentarse a la interaccin con una aplicacin cambia de una persona a otra, pudiendo
as aumentar la probabilidad de encontrar un error de programacin.
Nro.
1
Verificador
Noem Nuez
Prueba
Ingresar Tema
Manuel Silva
Eliminar Tema
Jorge Prez
Ingreso a consola de
administrador
Noem Nuez
Ingreso de un debate
Manuel Silva
Noem Nuez
Envo de mail al
administrador
Jorge Prez
Envo de mail al
moderador de un tema
Manuel Silva
Moderar debates
Noem Nuez
Moderar opiniones
10
Manuel Silva
Cambiar moderador a un
tema
11
Noem Nuez
Suspender usuario
Resultado
Tema ingresado a la base de
datos
Se pudo verificar que al eliminar
un tema el sistema es capaz de
eliminar todos los registros que
estn afectos por su dominancia
Se pudo comprobar que slo al
identificarse como Administrador
se tiene acceso al link de la
consola. Por lo tanto, el usuario y
el moderador no tienen acceso al
ambiente del administrador.
Se ingres un debate, quedando
este oculto al visitante de la
pgina, estado del cual no saldr
hasta que el moderador valide
dicho debate.
Se ingres una opinin, quedando
este oculto al visitante de la
pgina, estado del cual no saldr
hasta que el moderador valide
dicha opinin.
Se envi mail al administrador,
quedando disponible en los
mensajes para leer del
administrador
Se envi mail al moderador,
quedando disponible en los
mensajes para leer de dicho
moderador
Se aprobaron y rechazaron
algunos debates publicados por
los usuarios
Se aprobaron y rechazaron
algunas opiniones publicadas por
los usuarios
Se ingres como administrador y
desde la herramienta de cambiar
moderador se cambi a uno.
Se suspendi usuario
comprobando que no tuvo acceso
a publicar
DDD
APNDICE A: LISTADO CDIGO FUENTE
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD1
inicio.cgi
Mdulo de inicio del sitio
ninguno
Funcin cliente
#!C:\perl\bin\perl.exe -w
use CGI;
$ident
$esmod
$esadmin
$usuario
=
=
=
=
0;
0;
0;
"no_ident";
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD2
semaforo.cgi
Men principal del sitio
$ident, $admin; $esmod, $usuario
Funcin cliente
Mdulo semforo.cgi, es el programa principal que arranca a los dems, est puesto
completamente, aunque los otros mdulos slo se explicarn en lo relevante.
#!C:\perl\bin\perl.exe -w
#use strict;
use DBI;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
#Para el OS C:\Archivos de programa\Apache Group\Apache2\htdocs
#Para el webserver /
$dbDriver
= "dbi:ODBC:odbc_semaforo";
$dbUserName = "sa";
$dbPassword = "";
aqui se crea la variable que referencia al ODBC que abre la base de datos. Abajo se
reciben las variables que llegan como parmetros y se integran al programa.
$x = new
$trasp
$esmod
$esmod
$trasp
$esadmin
$esadmin
$trasp =
$ident =
$ident =
$usuario
CGI;
= $x->param('esmod');
= 0;
= $esmod+$trasp;
= $x->param('esadmin');
= 0;
= $esadmin+$trasp;
$x->param('ident');
0;
$ident+$trasp;
= $x->param('usuario');
$dataIn
= new CGI;
$dataIn->header();
$requestType = $dataIn->param('requestType');
$sql = $dataIn->param('sql');
print "Content-type: text/html\n\n"; # encabezado HTML (Muy importante!!)
$sql = "select nombre from temas where estado = 1";
$dbh = &connectToDB();
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
aqu arriba se ejecuta una consulta que lista los nombres de los temas de conversacin.
print qq(<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\n);
print "<!---->\n";
print "<HTML><HEAD><TITLE>el semáFORO - página de foros</TITLE>\n";
print qq(<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">\n);
print "<META \n";
print qq(content=" "\n);
print "name=keywords>\n";
print qq(<META content="Foros interesantes" name=description>\n);
print "<META content=Espaol name=Language><LINK \n";
print qq(href="/estilo.css" \n);
print "type=text/css rel=stylesheet>\n";
print qq(<META content="MSHTML 6.00.2800.1106" name=GENERATOR><style
type="text/css">\n);
print "<!--\n";
print "body {\n";
print "
background-color: #EFEBDE;\n";
print "}\n";
print ".Estilo1 {\n";
print "
font-size: 36pt;\n";
print "
font-weight: bold;\n";
print "
font-style: italic;\n";
print "
color: #CEBEA5;\n";
print "}\n";
print "-->\n";
print "</style></HEAD>\n";
print "<BODY>\n";
print qq(<TABLE height=503 cellSpacing=0 cellPadding=0 width="100%" border=0>\n);
print "<TBODY>\n";
print "<TR>\n";
print qq(<TD width="19%" rowspan="3" align=middle vAlign=top>\n);
print qq(
<P align="left"><img src="/semabig.jpg" width="139" height="274"
align="top"></P>
</TD>\n);
print qq(
<TD vAlign=center align=middle width="62%" height=82><p
align="center"><span class="Estilo1">el semáFORO</span><br>\n);
print "
<BR> \n";
print "
</p>
</TD>\n";
print qq(
<TD vAlign=center align=middle width="19%" height=82>\n);
print "
<TABLE cellSpacing=0 cellPadding=0 width=124 border=0>\n";
print "
<TBODY>\n";
print "
<TR>\n";
print "
<TD class=tdAzul>\n";
print "
<TABLE cellSpacing=1 cellPadding=0 width=124 border=0>\n";
print "
<TBODY>\n";
print "
<TR>\n";
print "
<TD class=tdtitulo align=middle \n";
print "width=120><B>Usuarios</B></TD></TR>\n";
print "
<TR>\n";
print "
<TD vAlign=top width=120 height=20>\n";
print qq(
<TABLE height="13%" cellSpacing=0 cellPadding=3
width="100%" \n);
print "
border=0>\n";
print "
<TBODY>\n";
print "
<TR>\n";
print qq(
<TD height=9><p><FONT class=v1><a
href="http://localhost/cgi-bin/identif.cgi?
ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">Identificacin</a> \n);
print "
<BR>\n";
print qq(
<a href="http://localhost/cgi-bin/nusuario.cgi?
ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">
Nuevo Usuario<br>\n</a>);
Si las variables globales hacen ver que el usuario es moderador o administrador segn
las variables globales entonces despliega cdigo html adicional para que lo imprima en
el navegador del cliente.
10
if ($esadmin eq 1)
{
print qq(
<a href="http://localhost/cgibin/administrador.cgi?
ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">Administrador</a><br>\n);
}
if ($esmod eq 1)
{
print qq(
<a href="http://localhost/cgibin/moderador.cgi?
ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">Moderador</a>
<br>\n);
}
print "
</FONT></p>\n";
print "
</TD>\n";
print "
</TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR>\n";
print " <TR>\n";
print qq(
<TD width="62%" height="225" align=middle vAlign=top> <TABLE
width=124 border=0 align="center" cellPadding=0 cellSpacing=0>\n);
print "
<TBODY>\n";
print "
<TR>\n";
print "
<TD class=tdAzul>\n";
#print "
<TABLE cellSpacing=1 cellPadding=1 width=189 border=0>\n";
print "
<TABLE cellSpacing=1 cellPadding=1 width=124 border=0>\n";
print "
<TBODY>\n";
print "
<TR>\n";
#print qq(
<TD class=tdtitulo align=middle width=185><div
align="center">Temas</div></TD>\n);
print qq(
<TD class=tdtitulo align=middle width=120><div
align="center">Temas</div></TD>\n);
print "
</TR>\n";
print "
<TR>\n";
#print "
<TD vAlign=top width=185 height=62>\n";
print "
<TD vAlign=top width=120 height=62>\n";
print qq(
<TABLE height="100%" cellSpacing=0 cellPadding=3 \n);
print qq(
width="100%" border=0>\n);
print "
<TBODY>\n";
print "
<TR>\n";
print qq(
<TD vAlign=top><SPAN class=v1>);
los for listan los nombres de los temas, estos ya han sido almacenados con el select
anterior y guardado en un array.
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
print qq(<a href="http://localhost/cgi-bin/debates.cgi?
ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario&tema=$column">$column</a><BR
>\n);
}
}
}
print qq( </SPAN></TD>\n);
print "
</TR>\n";
print "
</TBODY>\n";
print "
</TABLE></TD>\n";
print "
</TR>\n";
print "
<TR>\n";
ofrece ingresar nuevo tema slo si el visitante es usuario identificado
if ($ident eq 0)
{
print qq(<TD class=tdtitulo align=middle width=120><div align="center">Nuevo
Tema</a> </div></TD>\n);
11
}
else
{
print qq(<TD class=tdtitulo align=middle width=120><div align="center"><a
href="http://localhost/cgi-bin/nuevotema.cgi?
ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">Nuevo Tema</a>
</div></TD>\n);
}
print "
</TR>\n";
print "
</TBODY>\n";
print "
</TABLE></TD>\n";
print "
</TR>\n";
print "
</TBODY>\n";
print "
</TABLE>
</TD>\n";
print qq(
<TD vAlign=top align=middle width="19%">\n);
print "
<BR>\n";
print "
<BR>\n";
print "
<BR>\n";
print "
</TD>\n";
print " </TR>\n";
print " <TR>\n";
print qq(
<TD align=middle><div align="center"><SPAN class=v1><BR>\n);
print "
<BR>\n";
print "
<FONT class=v1 color=#c7c19a> \n";
print "
Copyright 2004, el semaFORO <BR>\n";
print qq(
<a href="http://localhost/cgi-bin/contadm.cgi?
ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">contactar al administrador
</a></FONT> - <a href="http://localhost/cgi-bin/politicas.cgi?
ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">políticas del
sitio</a> - <a href="http://localhost/cgi-bin/mapadelsitio.cgi?
ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">mapa del sitio</a> - <a
href="http://localhost/cgi-bin/mapaconv.cgi?
ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">mapa conversacional
<BR>\n);
print "
</a><BR>\n";
print "
</SPAN>\n";
print "
</div>\n";
print "<TD> </TD></TD></TR></TBODY></TABLE>\n";
print "</BODY></HTML>\n";
#$rc=$dbh->disconnect;
exit(1);
subrutinas a cargo de conectar la base de datos y de obtener los datos ordenados en
filas
sub connectToDB
{
return (DBI->connect($dbDriver, $dbUserName, $dbPassword));
# return (DBI->connect($dbName, $dbUserName, $dbPassword, $dbDriver));
}
sub executeSQLStatement
{
my ($sql) = shift;
$dataObject = $dbh->prepare($sql);
$dataObject->execute();
return $dataObject;
}
sub getDBRows
{
my ($dataObject) = shift;
return $dataObject->fetchall_arrayref();
}
ID
Nombre
DD3
mapaconv.cgi
12
Descripcin
Parmetros
Tipo de
funcin
Rutina no implementada an. Por ahora muestra una imagen de lo que sera el applet del mapa
conversacional.
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
DD4
politicas.cgi
Muestra polticas del sitio
$ident, $admin; $esmod, $usuario
Funcin cliente
Pgina plana sin consultas, slo muestra de manera fija las polticas del sitio.
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
DD5
mapadelsitio.cgi
Muestra el mapa del sitio
$ident, $admin; $esmod, $usuario
Funcin cliente
Pgina fija con una imagen jpg del mapa del sitio.
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
DD6
contadm.cgi
Muestra polticas del sitio
$ident, $admin; $esmod, $usuario
Funcin cliente
Este cdigo primero enva a un formulario html, luego con los datos del formulario busca
el siguiente ID que le corresponde al nuevo registro que se agrega en la tabla contactar
if ($nombre eq "")
{
&printSearchForm();
exit;
}
else
{
$next_id = 1;
$esmod
$esadmin
$ident
$usuario
=
=
=
=
cookie('esmod');
cookie('esadmin');
cookie('ident');
cookie('usuario');
13
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
#$next_id = $next_id + 1;
if ( $column > $next_id )
{
$next_id = $column;
}
}
}
}
$next_id = $next_id + 1;
$sql="insert into contactar (nombre, email ,mensaje, tipomensaje, id_usuario,
id_mensaje ) values('$nombre','$email','$texto',1,0,$next_id)";
$dataObject = executeSQLStatement($sql);
&avisoOK();
exit;
}
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
DD7
debates.cgi
Arma pantalla con debates de un tema seleccionado al inicio
del sitio
$ident, $admin; $esmod, $usuario, $id_tema
Funcin cliente
Crea arreglos de cada columna que tiene que listar en este ambiente
@iddebate = ();
$sql = "select id_debate from debates where estado = 1 and id_tema = $idtema";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
push(@iddebate,$column);
}
}
}
@titulo = ();
$sql = "select titulo from debates where estado = 1 and id_tema = $idtema";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
push(@titulo,$column);
}
}
}
ya en el despliegue html muestra la lista de debates sacada de los arreglos
$i = 0;
14
for ($i=0;$i<$totreg;$i++)
{
print qq( <TR>);
print qq( <TD width="71%"><SPAN class=v1><a href="http://localhost/cgibin/respuesta.cgi?
ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario&id_debate=$iddebate[$i]">$ti
tulo[$i] </a></SPAN></TD>);
print qq( <TD width="25%"><SPAN class=v1>$usuario[$i]</SPAN></TD>);
print qq( <TD align=middle width="8%"><SPAN );
print qq( class=v1>$fecha[$i]</SPAN></TD>);
print qq( <TD align=middle width="10%"><SPAN );
print qq( class=v1> </SPAN></TD></TR>);
}
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
DD8
ndebate.cgi
Crea pgina para inscribir un nuevo debate
$ident, $admin; $esmod, $usuario
Funcin cliente
Este cdigo primero enva a un formulario html, luego con los datos del formulario busca
el siguiente ID que le corresponde al nuevo registro que se agrega en la tabla debates
if ($ntema eq "")
{
&printSearchForm();
exit;
}
else
{
$next_id
$esmod
$esadmin
$ident
$usuario
$idtema
=
=
=
=
=
=
1;
cookie('esmod');
cookie('esadmin');
cookie('ident');
cookie('usuario');
cookie('idtema');
15
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD9
mailmod.cgi
Permite mandar un mensaje al moderador de un tema
$ident, $admin; $esmod, $usuario
Funcin cliente
Este cdigo primero enva a un formulario html, luego con los datos del formulario busca
el siguiente ID que le corresponde al nuevo registro que se agrega en la tabla contactar
if ($nombre eq "")
{
&printSearchForm();
exit;
}
else
{
$next_id = 1;
$esmod
$esadmin
$ident
$usuario
=
=
=
=
cookie('esmod');
cookie('esadmin');
cookie('ident');
cookie('usuario');
$dbh = &connectToDB();
$sql="select id_mod from temas where nombre = '$tema'";
$id_mod = 0;
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
$id_mod = $column;
}
}
}
$sql="select id_mensaje from contactar";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
#$next_id = $next_id + 1;
if ( $column > $next_id )
{
$next_id = $column;
}
}
}
}
$next_id = $next_id + 1;
$sql="insert into contactar (nombre, email ,mensaje, tipomensaje, id_usuario,
id_mensaje ) values('$nombre','$email','$texto',0,$id_mod,$next_id)";
$dataObject = executeSQLStatement($sql);
&avisoOK();
exit;
}
16
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
DD10
respuesta.cgi
Arma pantalla con respuestas de un debate seleccionado en la
lista de debates de un tema
$ident, $admin; $esmod, $usuario, $id_debate
Funcin cliente
Crea arreglos de cada columna que tiene que listar en este ambiente
$sql = "select titulo from debates where id_debate = $id_debate";
$dbh = &connectToDB();
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
$titulo=" ";
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
$titulo = $column;
}
}
}
@texto = ();
$sql = "select texto from respuestas where id_debate = $id_debate and estado = 1";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
push(@texto,$column);
}
}
}
ya en el despliegue html muestra la lista de debates sacada de los arreglos
$i = 0;
for ($i=0;$i<$totreg;$i++)
{
print qq( <TR>);
print qq( <TD width="71%"><SPAN class=v1><a>$texto[$i] </a></SPAN></TD>);
print qq( <TD width="25%"><SPAN class=v1>$usuario[$i]</SPAN></TD>);
print qq( <TD align=middle width="8%"><SPAN );
print qq( class=v1>$fecha[$i]</SPAN></TD>);
print qq( <TD align=middle width="10%"><SPAN );
print qq( class=v1> </SPAN></TD></TR>);
}
ID
Nombre
Descripcin
Parmetros
Tipo de
DD11
administrador.cgi
Despliega un men con opciones de administracin
del sitio
$ident, $admin; $esmod, $usuario
Funcin cliente
17
funcin
Pgina sencilla, slo trae links para otras pginas
print qq(
<table width="673" border="0">);
print qq(
<tr>);
print qq(
<td width="316"><a href="http://localhost/cgibin/modifmod.cgi?ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">Modificar
Moderador</a> </td>);
print qq(
<td width="250"><a href="http://localhost/cgibin/mantlist.cgi?ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">Mantener
Lista de Temas</a> </td>);e
print qq(
<td width="32"> </td>);
print qq(
<td width="57"> </td>);
print qq(
</tr>);
print qq(
</table>);
print qq(
<table width="673" border="0">);
print qq(
<tr>);
print qq(
<td width="315"><a href="http://localhost/cgibin/validusr.cgi?ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">Validar
Usuarios Nuevos</a> </td>);
print qq(
<td width="239"><a href="http://localhost/cgibin/modifusr.cgi?
ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">Suspender/Eliminar
Usuarios</a></td>);
print qq(
<td width="36"> </td>);
print qq(
<td width="65"> </td>);
print qq(
</tr>);
print qq(
</table>);
print qq(
<table width="673" border="0">);
print qq(
<tr>);
print qq(
<td width="315"><a href="http://localhost/cgibin/validtem.cgi?ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">Validar
Temas</a> </td>);
print qq(
<td width="239"><a href="http://localhost/cgibin/vermens1.cgi?ident=$ident&esmod=$esmod&esadmin=$esadmin&usuario=$usuario">Ver
Mensajes</a></td>);
print qq(
<td width="36"> </td>);
print qq(
<td width="65"> </td>);
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
DD12
identif.cgi
Pide datos para identificar a un usuario y lo valida en la tabla
de usuarios
$ident, $admin; $esmod, $usuario
Funcin cliente
Enva al usuario a un formulario, ya con los datos de vuelta busca en la tabla si estn
los datos correctos y es un usuario habilitado
if ($nombre eq "")
{
&printSearchForm();
exit;
}
else
{
$sql="select id_usuario from usuarios where username = '$nombre' and password =
'$passwd' and estado = 1";
$ident
= 0;
$esmod
= 0;
$esadmin = 0;
$dbh = &connectToDB();
18
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
$ident = $column;
}
}
}
$sql="select esadmin from usuarios where username = '$nombre' and password =
'$passwd' and estado = 1";
$esadmin = 0;
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
$esadmin = $column;
}
}
}
$sql="select * from temas where id_mod = $ident and estado = 1";
$esmod = 0;
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
$esmod = $esmod + 1;
}
}
}
if ( $esmod > 0 )
{
$esmod = 1;
}
if ( $ident == 0 )
{
$usuario = "no_ident";
&usuariomalo();
}
else
{
$usuario = $nombre;
&usuariook();
}
exit;
}
ID
Nombre
Descripcin
Parmetros
Tipo de
DD13
mantlist.cgi
Dentro de la consola de administracin esta opcin permite
modificar estados de un tema ( suspender, reactivar ) o
eliminarlo.
$ident, $admin; $esmod, $usuario
Funcin cliente
19
funcin
Crea un formulario con un combobox variable y segn la opcin elegida hace acciones
sobre un tema
if ($tema eq "")
{
&printSearchForm();
exit;
}
else
{
$esmod
$esadmin
$ident
$usuario
=
=
=
=
cookie('esmod');
cookie('esadmin');
cookie('ident');
cookie('usuario');
$dbh = &connectToDB();
$sql="select id_tema from temas where nombre = '$tema'";
$id_tema = 0;
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
$id_tema = $column;
}
}
}
if ( $accion == 0 )
{
$sql="update temas set estado = 2 where nombre = '$tema'";
$dataObject = executeSQLStatement($sql);
}
if ( $accion == 1 )
{
$sql="update temas set estado = 1 where nombre = '$tema'";
$dataObject = executeSQLStatement($sql);
}
if ( $accion == 2 )
{
$sql="delete from respuestas where id_debate in ( select id_debate from
debates where id_tema = $id_tema )";
$dataObject = executeSQLStatement($sql);
$sql="delete from debates where id_tema = $id_tema";
$dataObject = executeSQLStatement($sql);
$sql="delete from temas where id_tema = $id_tema";
$dataObject = executeSQLStatement($sql);
}
&avisoOK();
exit;
}
imprime combobox con lista de temas
print qq(
<TD class=tdAzul><SPAN class=v2>Consola del Administrador :
Mantener lista de temas </SPAN></TD>);
print qq(
</TR></TBODY></TABLE>);
print qq(
<br>);
print qq(
Temas
<br>
<p>);
print qq(
<select name="tema" size="1" id="tema">);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
20
{
foreach $column (@$columnReference)
{
print qq( <option value="$column">$column</option>);
}
}
}
print
print
print
print
print
print
print
print
print
print
print
print
print
qq(
</select>);
qq(
<br>);
qq(
</p>);
qq(
<p>Accion<br>);
qq(
<br>);
qq(
<select name="accion" size="1" id="accion">);
qq( <option value=0>Suspender</option>);
qq( <option value=1>Reactivar</option>);
qq( <option value=2>Eliminar</option>);
qq(
</select>);
qq(
</p>);
qq(
<p>);
qq(
<input type="submit" name="requestType" value="Aceptar">);
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
DD14
moddebate.cgi
Muestra los debates por moderar si es que el usuario en curso
es moderador de al menos un tema.
$ident, $admin; $esmod, $usuario
Funcin cliente
Crea arreglos con los datos para validar y los muestra en una formulario para ser
seleccionados via radio buttons
$dbh = &connectToDB();
@tema = ();
$sql = "select titulo from debates where estado = 0";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
push(@tema,$column);
}
}
}
@id_tema = ();
$sql = "select id_debate from debates where estado = 0";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
push(@id_tema,$column);
}
}
}
$totreg = $#tema + 1;
$i = 0;
for ($i=0;$i<$totreg;$i++)
{
21
print qq(
print qq(
print qq(
checked >Si);
print qq(
print qq(
print qq(
scope="col">$tema[$i]</td>);
print qq(
print qq(
}
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
<tr>);
<td class="tdAzul" scope="col">);
<input name="radio$i" type="radio" value=$id_tema[$i]
<input name="radio$i" type="radio" value=0>No);
</td>);
<td width="475" class="tdAzul Estilo2"
<th width="65" scope="col"> </th>);
</tr>);
DD15
moderador.cgi
Muestra menu de opciones para el moderador
$ident, $admin; $esmod, $usuario
Funcin cliente
ID
Nombre
Descripcin
Parmetros
Tipo de funcin
del Moderador
Nuevos Debates</a>
Nuevas Respuestas</a>
Mensajes</a>
DD16
modifmod.cgi
Opcin al interior del ambiente de administracin que permite
cambiarle el moderador a un tema
$ident, $admin; $esmod, $usuario
Funcin cliente
22
{
$esmod
$esadmin
$ident
$usuario
=
=
=
=
cookie('esmod');
cookie('esadmin');
cookie('ident');
cookie('usuario');
ID
Nombre
Descripcin
DD17
modifusr.cgi
Opcin al interior del ambiente de administracin que permite
cambiar la situacin de un usuario ( suspender, reactivar,
23
Parmetros
Tipo de
funcin
eliminar )
$ident, $admin; $esmod, $usuario
Funcin cliente
Crea un formulario con combos, luego segn accion elegida hace modificaciones
a la tabla
$esmod
$esadmin
$ident
$usuario
= cookie('esmod');
= cookie('esadmin');
= cookie('ident');
= cookie('usuario');
$dbh = &connectToDB();
$sql="select id_usuario from usuarios where username = '$nombre'";
$id_usuario = 0;
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
$id_usuario = $column;
}
}
}
if ( $accion == 0 )
{
$sql="update usuarios set estado = 2 where username = '$nombre'";
$dataObject = executeSQLStatement($sql);
}
if ( $accion == 1 )
{
$sql="update usuarios set estado = 1 where username = '$nombre'";
$dataObject = executeSQLStatement($sql);
}
if ( $accion == 2 )
{
$sql="update respuestas set id_usuario = 1 where id_usuario = $id_usuario";
$dataObject = executeSQLStatement($sql);
$sql="update debates set id_usuario = 1 where id_usuario = $id_usuario";
$dataObject = executeSQLStatement($sql);
$sql="delete from usuarios where username = '$nombre'";
$dataObject = executeSQLStatement($sql);
}
&avisoOK();
print qq(
</TR></TBODY></TABLE>);
print qq(
<br>);
print qq(
Usuarios
<br>
<p>);
print qq(
<select name="nombre" size="1" id="nombre">);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
print qq( <option value="$column">$column</option>);
}
}
}
print qq(
</select>);
print qq(
<br>);
print qq(
</p>);
print qq(
<p>Accion<br>);
24
print
print
print
print
print
print
print
print
print
qq(
<br>);
qq(
<select name="accion" size="1" id="accion">);
qq( <option value=0>Suspender</option>);
qq( <option value=1>Reactivar</option>);
qq( <option value=2>Eliminar</option>);
qq(
</select>);
qq(
</p>);
qq(
<p>);
qq(
<input type="submit" name="requestType" value="Aceptar">);
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
DD18
modresp.cgi
Permite al moderador validar respuestas
$ident, $admin; $esmod, $usuario
Funcin cliente
Arma columnas de datos en arreglos, luego muestra lista con radio button
{
$dbh = &connectToDB();
@tema = ();
$sql = "select texto from respuestas where estado = 0";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
push(@tema,$column);
}
}
}
@id_tema = ();
$sql = "select id_respuesta from respuestas where estado = 0";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
push(@id_tema,$column);
}
}
}
$totreg = $#tema + 1;
print qq(
<TD class=tdAzul><SPAN class=v2>Consola del Moderador :
Validar Respuestas </SPAN></TD>);
print qq(
</TR></TBODY></TABLE>);
print qq(
<br><table width="672" border="0">);
$i = 0;
for ($i=0;$i<$totreg;$i++)
{
print qq(
print qq(
print qq(
checked >Si);
print qq(
print qq(
<tr>);
<td class="tdAzul" scope="col">);
<input name="radio$i" type="radio" value=$id_tema[$i]
<input name="radio$i" type="radio" value=0>No);
</td>);
25
print qq(
scope="col">$tema[$i]</td>);
print qq(
print qq(
}
print qq(
print qq(
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
</table>
<br>
<br>
<p>);
<input type="submit" name="requestType" value="Aceptar">);
DD19
nrespuesta.cgi
Permite a un usuario identificado agregar un opinin dentro de
un debate
$ident, $admin; $esmod, $usuario, $id_debate
Funcin cliente
1;
= cookie('esmod');
= cookie('esadmin');
= cookie('ident');
= cookie('usuario');
= cookie('id_debate');
ID
Nombre
DD20
nuevotema.cgi
26
Descripcin
Parmetros
Tipo de funcin
Con un formulario trae datos de nuevo tema, previamente chequea tema repetido y que
hayan aceptado un checkbox.
if ($ntema eq "")
{
&printSearchForm();
exit;
}
else
{
if ( $aceptacond ne 1 )
{
&debeaceptar();
exit;
}
$existe = 0;
$next_id = 1;
$sql="select nombre from temas where nombre = '$ntema'";
$dbh = &connectToDB();
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
$existe = 1;
}
}
}
$esmod
$esadmin
$ident
$usuario
=
=
=
=
cookie('esmod');
cookie('esadmin');
cookie('ident');
cookie('usuario');
if ( $existe == 1 )
{
&temaexiste();
exit;
}
$sql="select id_tema from temas";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
#$next_id = $next_id + 1;
if ( $column > $next_id )
{
$next_id = $column;
}
}
}
}
$next_id = $next_id + 1;
$sql="insert into temas (id_tema, nombre ,estado, id_mod )
values($next_id,'$ntema',0,$ident)";
$dataObject = executeSQLStatement($sql);
27
&avisoOK();
exit;
}
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
DD21
nusuario.cgi
Permite a cualquier visitante o usuario inscribir a
travs de un formulario un nuevo integrante del sitio
$ident, $admin; $esmod, $usuario
Funcin cliente
Crea un formulario con datos de nuevo usuario, luego una vez llegado los datos hace una
serie de validaciones como evitar campos en blanco o contrasea incorrecta
if ($username eq "")
{
&printSearchForm();
exit;
}
else
{
if ( $aceptacond ne 1 )
{
&debeaceptar();
exit;
}
$existe = 0;
$next_id = 1;
$sql="select username from usuarios where username = '$username'";
$dbh = &connectToDB();
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
$existe = 1;
}
}
}
$esmod
$esadmin
$ident
$usuario
=
=
=
=
cookie('esmod');
cookie('esadmin');
cookie('ident');
cookie('usuario');
if ( $existe == 1 )
{
&userexiste();
exit;
}
$sql="select id_usuario from usuarios";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
#$next_id = $next_id + 1;
28
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
DD22
validtem.cgi
Opcin al interior del ambiente de administracin que permite
validar los nuevos temas incritos por los usuarios
$ident, $admin; $esmod, $usuario
Funcin cliente
Para los temas por validar crea arreglos que permiten crear una matriz de validacin via
radio buttons,los cuales indican que tema se valida y cual se elimina
{
$dbh = &connectToDB();
@tema = ();
$sql = "select nombre from temas where estado = 0";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
push(@tema,$column);
}
}
}
@id_tema = ();
$sql = "select id_tema from temas where estado = 0";
29
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
push(@id_tema,$column);
}
}
}
$totreg = $#tema + 1;
print qq(
<TD class=tdAzul><SPAN class=v2>Consola del Administrador :
Validar Tema </SPAN></TD>);
print qq(
</TR></TBODY></TABLE>);
print qq(
<br><table width="672" border="0">);
$i = 0;
for ($i=0;$i<$totreg;$i++)
{
print qq(
print qq(
print qq(
checked >Si);
print qq(
print qq(
print qq(
scope="col">$tema[$i]</td>);
print qq(
print qq(
}
print qq(
print qq(
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
<tr>);
<td class="tdAzul" scope="col">);
<input name="radio$i" type="radio" value=$id_tema[$i]
<input name="radio$i" type="radio" value=0>No);
</td>);
<td width="475" class="tdAzul Estilo2"
<th width="65" scope="col"> </th>);
</tr>);
</table>
<br>
<br>
<p>);
<input type="submit" name="requestType" value="Aceptar">);
DD23
validusr.cgi
Opcin al interior del ambiente de administracin
que permite validar los nuevos usuarios
$ident, $admin; $esmod, $usuario
Funcin cliente
Crea una matriz de datos con botones de radio button para seleccionar quien se
elimina y quien se acepta.
$dbh = &connectToDB();
@username = ();
$sql = "select username from usuarios where estado = 0";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
push(@username,$column);
}
}
}
@id_usuario = ();
$sql = "select id_usuario from usuarios where estado = 0";
30
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
push(@id_usuario,$column);
}
}
}
$totreg = $#username + 1;
print qq(
<TD class=tdAzul><SPAN class=v2>Consola del Administrador :
Validar usuarios </SPAN></TD>);
print qq(
</TR></TBODY></TABLE>);
print qq(
<br><table width="672" border="0">);
$i = 0;
for ($i=0;$i<$totreg;$i++)
{
print qq(
<tr>);
print qq(
<td class="tdAzul" scope="col">);
print qq(
<input name="radio$i" type="radio"
value=$id_usuario[$i] checked >Si);
print qq(
<input name="radio$i" type="radio" value=0>No);
print qq(
</td>);
print qq(
<td width="475" class="tdAzul Estilo2"
scope="col">$username[$i]</td>);
print qq(
<th width="65" scope="col"> </th>);
print qq(
</tr>);
}
print qq(
print qq(
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
</table>
<br>
<br>
<p>);
<input type="submit" name="requestType" value="Aceptar">);
DD24
Vermens1.cgi
Permite al administrador ver los mensajes que le
han dejado los usuarios
$ident, $admin; $esmod, $usuario
Funcin cliente
Permite armar un listado con los mensajes , mediante radio button se selecciona los
ya leidos y se eliminan de la tabla
$dbh = &connectToDB();
@nombre = ();
$sql = "select nombre from contactar where tipomensaje = 1";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
push(@nombre,$column);
}
}
}
print qq(
<TD class=tdAzul><SPAN class=v2>Consola del Administrador :
Ver mensajes </SPAN></TD>);
31
print qq(
print qq(
</TR></TBODY></TABLE>);
<br><table width="672" border="0">);
$i = 0;
for ($i=0;$i<$totreg;$i++)
{
print qq(<tr>);
print qq(<td width="150" class="tdAzul" scope="col">);
print qq(<input name="radio$i" type="radio" value=$id_mensaje[$i]
checked > Borrar);
print qq(<input name="radio$i" type="radio" value=0>No Borrar);
print qq(</td>);
print qq(<td width="83" class="tdAzul Estilo2"
scope="col">$nombre[$i]</td>);
print qq(<td width="115" class="tdAzul Estilo2"
scope="col">$email[$i]</td>);
print qq(<td width="307" class="tdAzul Estilo2"
scope="col">$texto[$i]</td>);
print qq(</tr>);
#print qq(
<tr>);
#print qq(
<td class="tdAzul" scope="col">);
#print qq(
<input name="radio$i" type="radio"
value=$id_mensaje[$i] checked >Borrar);
#print qq(
<input name="radio$i" type="radio" value=0>No
Borrar);
#print qq(
</td>);
#print qq(
<td width="475" class="tdAzul Estilo2"
scope="col">$texto[$i]</td>);
#print qq(
<th width="65" scope="col"> </th>);
#print qq(
</tr>);
}
ID
Nombre
Descripcin
Parmetros
Tipo de
funcin
DD25
Vermens2.cgi
Permite al moderador ver los mensajes que le han
dejado los usuarios
$ident, $admin; $esmod, $usuario
Funcin cliente
Permite armar un listado con los mensajes , mediante radio button se selecciona los
ya leidos y se eliminan de la tabla
$ident = cookie('ident');
$dbh
= &connectToDB();
@nombre = ();
$sql = "select nombre from contactar where tipomensaje = 0 and id_usuario = $ident";
$dataObject = executeSQLStatement($sql);
@dbRows = &getDBRows($dataObject);
foreach $rowReference (@dbRows)
{
foreach $columnReference (@$rowReference)
{
foreach $column (@$columnReference)
{
push(@nombre,$column);
}
}
}
print qq(
<TD class=tdAzul><SPAN class=v2>Consola del Moderador : Ver
mensajes </SPAN></TD>);
print qq(
</TR></TBODY></TABLE>);
print qq(
<br><table width="672" border="0">);
$i = 0;
for ($i=0;$i<$totreg;$i++)
{
print qq(<tr>);
32
33
34