Introducción
Todos conocemos varios scripts de foros de discusión, por ejemplo el Yabb. Pero al implementar estos scripts pre-fabricados, se nos podría dificulta la realización de cambios que querramos hacerle.
Por ser scripts ya programados, generalmente tienen muchas opciones lo cual hace que el código fuente se nos sea complicado de entender.
Con esta serie de tutoriales sentaremos las bases para hacer un foro de discusión enteramente en PERL y sin la necesidad de ningún motor de base de datos (p.ej: MySQL,Oracle,etc) ya que los mensajes se almacenaran en archivos de texto .TXT De esta manera es muy fácil su implementación y administración por parte de cualquier programador que recién esté empezando a programar.
Flujo del script
Para entender bien como será el script vamos a mostrar como será la cabecera del script en donde tomamos los datos de rutina, loggeamos al usuario y evaluamos la variable ACTION que viene desde el navegador para saber que es lo que desea hacer el usuario.
#!c:/perl/bin/perl.exe
use strict;
require 'monodata.pl';
my $msdb_foros_url = 'msdb';
my $contador_url = 'contador';
# Definición de Variables
my $system = 'windows';
my %input_data = &input_data();
my %cookie_data = &get_cookie();
my $date = &get_date();
my @d_a_t_e = &get_d_a_t_e();
my %logger_data = &logger();
# Devuelve 3 valores
#$logger_data{'user_name'} = 'monoswim';
#$logger_data{'seguridad'} = 7;
#$logger_data{'fecha'} = '2004-09-03 11:12:20';
###### Opciones del Script
print "Content-type: text/html\n\n";
if ($input_data{'action'} eq 'temas_listar') {
&temas_listar();
}elsif ($input_data{'action'} eq 'form_new_tema') {
&form_new_tema();
} elsif ($input_data{'action'} eq 'save_new_tema') {
&save_new_tema();
}
#######
elsif ($input_data{'action'} eq 'mensajes_listar') {
&mensajes_listar();
} elsif ($input_data{'action'} eq 'form_new_msg') {
&form_new_msg();
} elsif ($input_data{'action'} eq 'save_new_msg') {
&save_new_msg();
}
#######
else {
&foros_listar()
}
exit(1);
####### Fin Opciones del Script
Como verán hasta ahora viene todo muy fácil, temenos básicamente 7 funciones, mostrar, y agregar mensajes, las demás opciones las veremos más adelante...
Características del Foro.
Este script tiene bastantes opciones comúnes y que la mayoría de los foros de discusión importantes que andan dando vueltas por la web tiene, como son:
- - Tiene un contador de visitas para cada post.
- - Muestra quien hizo el último post y muestra el respectivo título, y su hora de realización.
- - Muestra la cantidad de temas y mensajes que tiene cada uno de los foros.
- - Muestra la cantidad de respuestas y visitas que tiene cada uno de los Post.
- - Muestra quien hizo la última respuesta y su respectivo horario.
- - Muestra en NEGRITA los temas que tienen mensajes nuevos, que el usuario todavía no ha leído.
Para que vean la funcionalidad del script a continuación les muestro algunas interfaces, las cuales están hechas en HTML básico sin estilos, para que ustedes se tomen el trabajo de diseñarlas a gusto.
Interfaces
Aquí les muestro un poco de la interface que tendría nuestro foro al terminarlo, recuerden que es sumamente básica esta interface y es sencilla para que ustedes la puedan modificar como mejor les convenga ya con estilos y todo.
Listado de Foros
Foro | Último mensaje | Temas | Mensajes |
administracion | Último mensaje: Holanda Autor: monoswim Fecha: 2004-09-03 11:12:20
| 3
| 7
|
paisajes | Ultimo mensaje: capo Autor: Elpiedra Fecha: 2004-09-03 11:12:20
| 1
| 2
|
turismo | Ultimo mensaje: Autor: Fecha:
| 0
| 0
|
Listado de Temas del foro: administracion
Tema / Autor | Ultimo mensaje | Respuestas | Visitas |
Hola 2 Enviado por: Elpiedra el 2004-09-03 11:12:20 | monoswim el día 2004-09-03 11:12:20 | 1 | 4 |
hola Enviado por: monoswim el 2004-09-03 11:12:20 | Elpiedra el día 2004-09-03 11:12:20 | 2 | 7 |
#1 Enviado por: kidd el 2004-09-03 11:12:20 | Elpiedra el día 2004-09-03 11:12:20 | 1 | 5 |
Mensajes del Tema: 3
Autor: Elpiedra |
Título: fer |
Mensaje: sdfger |
Fecha: 2004-09-03 11:12:20 |
Autor: monoswim |
Título: lokiopo |
Mensaje: hkjhkhj |
Fecha: 2004-09-03 11:12:20 |
Notas Finales
Bueno, como verán, la idea es sentar las bases para que puedan agarrar este script, que estará gratuitamente en la sección de herramientas de Perl en Español, y modificarle todo lo que quieran, no solo la interface gráfica, sino también el código fuente, ya que conocerán a la perfección que hace cada una de las partes del código, explicado detalladamente en las siguientes partes de este tutorial.
Creando un foro de perl: Parte II