* index.php
* config.php
* funciones.php
carpeta html (dnd estan los templates de includes)
carpeta ikon (dnd estan las imagenes de los emoticones)
carpeta mensajes (dnd se alojan los archivos ID.php y MENSAJES.php, para guardar los datos)
libreria Jquery.js
index.php
Código PHP:
<?
include("config.php");
include("funciones.php");
Template("html/tpl_arriba.html");
switch($accion) {
// Formulario para publicar un mensaje
case firmar:
Template("html/tpl_formulario.html");
break;
// Publicar un mensaje
case publicar:
$fecha = date("d-m-y H:i a");
// Comprobación de campos
$nombre = trim($nombre);
$email = trim($email);
$mensaje = trim($mensaje);
if(empty($nombre)) {
$error[] = $alerta[0];
}
if($email != "") {
if (!ereg("^[^@]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,}$", $email)) {
$error[] = $alerta[1];
}
}
if(empty($mensaje)) {
$error[] = $alerta[2];
}
// Filtro de malas palabras
if($FiltroGroserias == "SI") {
for($i = 0; $i < sizeof($palabrotas); $i++) {
if(ereg($palabrotas[$i], $nombre) OR ereg($palabrotas[$i], $email) OR ereg($palabrotas[$i], $mensaje)) {
$error[] = $alerta[3];
}
}
}
if($error) {
include("html/tpl_error.html");
} else {
// Filtramos el mensaje
HTML();
Remplazar();
$mensaje = ereg_replace("\r\n","<br>", $mensaje);
// Guardamos la firma en el fichero
$fp = fopen($FicheroId,"r");
$id = fread($fp, filesize($FicheroId));
$id ++;
fclose($fp);
$fp = fopen($FicheroId, "w");
fwrite($fp, $id);
fclose($fp);
$firma = "$id|@|$nombre|@|$email|@|$url|@|$mensaje|@|$fecha|@|\n";
$fp = fopen($FicheroBase, "a");
fwrite($fp, $firma);
fclose($fp);
Template("html/tpl_correcto.html");
}
break;
default:
// Mostrar todas las firmas
$Base = file($FicheroBase);
$Orden = array_reverse($Base);
if(empty($paginado)) {
$paginado = 0;
}
$Mostrar = $paginado + $LimiteMensajes;
for ($i = $paginado; $i < count($Orden) AND $i < $Mostrar; $i++) {
$dato = explode("|@|", $Orden[$i]);
$nombre = $dato[1];
$email = $dato[2];
$url = $dato[3];
$mensaje = $dato[4];
$fecha = $dato[5];
// Template
Template("html/tpl_mensajes.html");
}
echo "<table cellpadding='4' cellspacing='1' width='450' align='center' class='normal'>";
echo "<tr><td width='50%'>";
Paginacion();
echo "</td><td width='50%' align='right'>";
echo "<b><a href='index.php?accion=firmar'>Escribir en la agenda</a></b>";
echo "</td></tr></table>";
}
//Template("html/tpl_abajo.html");
?>
config.php
Código PHP:
<?
// Configuración del Script
$NombreAdmin = "cuervomaldito"; // Nombre del administrador
$ContraseñaAdmin = "gauchoargentino"; // Contraseña del administrador
$LimiteMensajes = 30; // Número de mensajes por página
$FiltroGroserias = "SI"; // Activar filtro de malas palabras (SI / NO)
// Ten cuidado aquí
$FicheroBase = "mensajes/mensajes.php";
$FicheroId = "mensajes/id.php";
// Manejo de mensajes
$alerta[0] = "Olvidaste poner tu nombre.";
$alerta[1] = "Tu e-mail no parece valido, pero puedes dejarlo vacio como 'ANONIMO'";
$alerta[2] = "No existe el mensaje.";
$alerta[3] = "Por favor, usa un lenguaje mas decente.";
// Palabras no permitidas
$palabrotas[] = "hdp";
$palabrotas[] = "pendejo";
$palabrotas[] = "puto";
$palabrotas[] = "marica";
$palabrotas[] = "chinga";
$palabrotas[] = "coño";
$palabrotas[] = "cabron";
$palabrotas[] = "gato";
$palabrotas[] = "concha";
$palabrotas[] = "pija";
?>
funciones.php
Código PHP:
<?
// Filtro de HTML
function HTML() {
global $mensaje, $nombre, $email, $url, $tema;
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$nombre = str_replace("<","<",$nombre);
$nombre = str_replace(">",">",$nombre);
$email = str_replace("<","<",$email);
$email = str_replace(">",">",$email);
$url = str_replace("<","<",$url);
$url = str_replace(">",">",$url);
return;
}
// Remplazar TAGS
function Remplazar() {
global $mensaje;
$mensaje = str_replace("[:)]","<img src=\"ikon/sonrisa.gif\">", $mensaje);
$mensaje = str_replace("[:(]","<img src=\"ikon/triste.gif\">", $mensaje);
$mensaje = str_replace("[;)]","<img src=\"ikon/ginando.gif\">", $mensaje);
$mensaje = str_replace("[8)]","<img src=\"ikon/ojotes.gif\">", $mensaje);
$mensaje = str_replace("[:P]","<img src=\"ikon/lengua.gif\">", $mensaje);
$mensaje = str_replace("[:D]","<img src=\"ikon/risa.gif\">", $mensaje);
$mensaje = str_replace("[cool]","<img src=\"ikon/cool.gif\">", $mensaje);
$mensaje = str_replace("[llorar]","<img src=\"ikon/llorando.gif\">", $mensaje);
$mensaje = str_replace("[enojo]","<img src=\"ikon/enojado.gif\">", $mensaje);
$mensaje = str_replace("[duda]","<img src=\"ikon/duda.gif\">", $mensaje);
$mensaje = str_replace("[bien]","<img src=\"ikon/bien.gif\">", $mensaje);
$mensaje = str_replace("[mal]","<img src=\"ikon/mal.gif\">", $mensaje);
$mensaje = str_replace("[pota]","<img src=\"ikon/7.gif\">", $mensaje);
$mensaje = str_replace("[cunao]","<img src=\"ikon/9.gif\">", $mensaje);
$mensaje = str_replace("[barco]","<img src=\"ikon/barco.gif\">", $mensaje);
$mensaje = str_replace("[confun]","<img src=\"ikon/confundido.gif\">", $mensaje);
$mensaje = str_replace("[diver]","<img src=\"ikon/divertido.gif\">", $mensaje);
$mensaje = str_replace("[golpes]","<img src=\"ikon/golpes.gif\">", $mensaje);
$mensaje = str_replace("[hola]","<img src=\"ikon/hola.gif\">", $mensaje);
$mensaje = str_replace("[moto]","<img src=\"ikon/moto.gif\">", $mensaje);
$mensaje = str_replace("[ojo]","<img src=\"ikon/ojo.gif\">", $mensaje);
$mensaje = str_replace("[sock]","<img src=\"ikon/sock.gif\">", $mensaje);
$mensaje = str_replace("[zzz]","<img src=\"ikon/zzz.gif\">", $mensaje);
$mensaje = str_replace("[gafa]","<img src=\"ikon/gafa.gif\">", $mensaje);
return;
}
// Función mostrar errores
function FatalError() {
global $error;
for($i = 0; $i < sizeof($error); $i++) {
echo "- $error[$i]<br>";
}
return;
}
// Función sistema de templates
function Template($fichero) {
global $nombre, $email, $url, $mensaje, $fecha, $nfirmas;
$template = fopen($fichero, "r");
while(!feof($template)) {
$buffer = fgets($template, 4096);
$buffer = str_replace("{Nombre}", $nombre, $buffer);
$buffer = str_replace("{Email}", $email, $buffer);
$buffer = str_replace("{URL}", $url, $buffer);
$buffer = str_replace("{Mensaje}", $mensaje, $buffer);
$buffer = str_replace("{Fecha}", $fecha, $buffer);
$buffer = str_replace("{Numero_Firmas}", $nfirmas, $buffer);
echo $buffer;
}
fclose($template);
return;
}
$nfirmas = count(file($FicheroBase));
// Paginacion de mensajes
function Paginacion() {
global $LimiteMensajes, $Base;
if($LimiteMensajes < count($Base)) {
$Paginas = count($Base) / $LimiteMensajes;
echo "<b>Páginas : </b>";
for($i = 0; $i < $Paginas; $i++) {
echo "<a href=index.php?paginado=".$i * $LimiteMensajes.">".( $i + 1 )."</a> ";
}
}
return;
}
?>
<script language="JavaScript">
<!--
function Smile(texto){
document.form.mensaje.value = document.form.mensaje.value + texto;
}
// -->
</script>