<?
// Ruta absoluta a los archivos de texto:
$postsID = "mensajes/id.dat";
$posts = "mensajes/mensajes.dat";
// Nombre del foro
$nForo = "Mangafanatics";
// Colores del foro
$tabla_color="#7A8EEB";
$borde_color="#DBDBDB";
$fila1_color="#ffffff";
$fila2_color="#EAEAFF";
// Mostrar formulario 'si' o 'no'
$verFormulario = "si";
// Login: Nombre (admin) y Pass (pass)
$loginNombre = "fansmanga";
$loginPass = "manga2";
function validarTags()
{
global $nombre;
global $asunto;
global $mensaje;
$nombre = htmlspecialchars(trim($nombre));
$nombre = str_replace("&","&",$nombre);
$nombre = preg_replace("/(\015\012)|(\015)|(\012)/","",$nombre);
$nombre = stripslashes(str_replace("<","",$nombre));
$nombre = strip_tags(str_replace(">","",$nombre));
$nombre = substr(strip_tags($nombre),0,12);
$asunto = htmlspecialchars(trim($asunto));
$asunto = str_replace("&","&",$asunto);
$asunto = preg_replace("/(\015\012)|(\015)|(\012)/","",$asunto);
$asunto = stripslashes(str_replace("<","",$asunto));
$asunto = strip_tags(str_replace(">","",$asunto));
$asunto = substr(strip_tags($asunto),0,30);
$mensaje = htmlspecialchars(trim($mensaje));
$mensaje = str_replace("&","&",$mensaje);
$mensaje = preg_replace("/(\015\012)|(\015)|(\012)/","<br>",$mensaje);
$mensaje = str_replace("<","",$mensaje);
$mensaje = str_replace(">","",$mensaje);
return;
}
function reemplazarTags()
{
global $mensaje1;
$mensaje1 = str_replace('', '<b>', $mensaje1);
$mensaje1 = str_replace('', '</b>', $mensaje1);
$mensaje1 = str_replace('', '<i>', $mensaje1);
$mensaje1 = str_replace('', '</i>', $mensaje1);
$mensaje1 = str_replace('', '<u>', $mensaje1);
$mensaje1 = str_replace('', '</u>', $mensaje1);
$mensaje1 = str_replace('[c]', "<font color='#004080'>", $mensaje1);
$mensaje1 = str_replace('[/c]', '</font>', $mensaje1);
$mensaje1 = str_replace ("[tk]", "<img src='imagenes/tk.gif' width='15' height='15'>", $mensaje1);
$mensaje1 = eregi_replace (":)", "<img src='imagenes/sonrisa.gif' width='15' height='15'>", $mensaje1);
$mensaje1 = eregi_replace (":D", "<img src='imagenes/divertido.gif' width='15' height='15'>", $mensaje1);
$mensaje1 = eregi_replace (";)", "<img src='imagenes/ojo.gif' width='15' height='15'>", $mensaje1);
return;
}
function escribirMensaje($posts, $postsID)
{
global $nueva_id;
$fp = fopen ($postsID, "rb");
$id = fgets($fp, 4096);
$nueva_id = $id + 1;
fclose($fp);
$fp = fopen ($postsID, "r+b");
flock ($fp,2);
fwrite($fp, $nueva_id);
flock ($fp,3);
fclose($fp);
$fp = fopen ($posts, "ab");
flock ($fp,2);
fwrite($fp, "\r\n");
flock ($fp,3);
fclose($fp);
return;
}
function eliminarMensaje($elArchivo, $elPost)
{
$i = 0;
$archivo1 = file($elArchivo);
$fp = fopen($elArchivo, "w");
for ($i = 0; $i <= sizeof($archivo1); $i++)
{
if (strstr($archivo1[$i], $elPost))
{
$archivo1[$i] = "";
}
fwrite($fp, $archivo1[$i]);
}
fclose($fp);
return;
}
// Contar temas y mensajes
$temas=0;
$mens=0;
$fp = fopen ($posts, "rb");
while (!feof ($fp))
{
$buff = fgets($fp, 4096);
if(substr($buff, 0, 12 )=="[nuevo_post]") {
$p=explode('|||^^^|||', "$buff");
if ($p[2]==0) {
$temas++;
$mens++;
}
else {
$mens++;
}
}
}
fclose($fp);
switch($a)
{
// Ingrear al sistema
case "login":
echo "<form action='index.php?ver_formulario=$verFormulario&a= ver_mensaje&tid=$tid' method='post'>\n";
echo "<table border='0' cellspacing='1' cellpadding='3' width='320' bgcolor='$borde_color'>\n<tr bgcolor='$tabla_color' style='color: rgb(255,255,255)'>\n<td><b>Ingresar al sistema</b></td></tr>\n";
echo "<tr><td width='320' colspan='2' bgcolor='#ffffff'>\n";
echo "<table cols='2' width='320' class='body'>\n";
echo "<tr><td colspan='2' bgcolor='#ffffff'><img src='imagenes/tablasepara.gif' width='1' height='10'></td></tr>\n";
echo "<tr><td width='70' valign='top'>Usuario:</td><td width='250'>\n<input type='text' name='usuario' size='35' maxlength='12' class='input'></td></tr>\n";
echo "<tr><td width='70' valign='top'>Password:</td><td width='250'>\n<input type='text' name='password' size='35' maxlength='30' class='input'></td></tr>\n";
echo "<tr><td width='320' colspan='2'></td></tr>\n";
echo "<tr><td width='70' valign='top'></td><td width='250'>\n<input type='submit' name='login' value='Ingresar' class='boton'> \n<input type='reset' value='Restablecer' class='boton'></td></tr>\n";
echo "<tr><td bgcolor='#ffffff'><img src='imagenes/tablasepara.gif' width='1' height='10'></td></tr>\n";
echo "</table></td></tr></table></form>\n";
if (!$usuario or !$password) {
echo "<a href='index.php?ver_formulario=$verFormulario&a=ve r_mensaje&tid=$tid'><< Volver al mensaje</a>";
}
break;
// Postear un nuevo mensaje
case "postnuevo":
// Validar formulario
if (!$nombre or !$asunto or !$mensaje) {
echo "Por favor, complete todos los campos del formuario.<br><a href='index.php?ver_formulario=$verFormulario'><< Volver al Foro</a>";
}
else {
escribirMensaje($posts, $postsID);
// Reemplazar tags no deseados
validarTags();
// Escribir post en el archivo
if (!$nombre or !$asunto or !$mensaje) {
$nombre = "(Ninguno)";
$asunto = "(Ninguno)";
}
$fecha=date("d-m-y");
$fp = fopen ($posts, "ab");
flock ($fp,2);
fwrite($fp, "[nuevo_post]|||^^^|||$nueva_id|||^^^|||0|||^^^|||$nombre|||^^^ |||$asunto|||^^^|||$fecha|||^^^|||$mensaje|||^^^|| |");
flock ($fp,3);
fclose($fp);
echo "Muchas gracias. Su mensaje ha sido agregado.<br><a href='index.php?ver_formulario=$verFormulario' target='_top'><< Volver atrás</a>";
}
break;
// En caso de que sea una respuesta
case "responder":
if (!$nombre or !$asunto or !$mensaje) {
echo "Por favor, complete todos los campos del formuario.<br><a href='index.php?ver_formulario=$verFormulario&a=ve r_mensaje&tid=$tid' target='_top'><< Volver al mensaje</a>";
}
else {
escribirMensaje($posts, $postsID);
// Reemplazar tags...
validarTags();
$fecha=date("d-m-y");
$fp = fopen ($posts, "ab");
flock ($fp,2);
fwrite($fp, "[nuevo_post]|||^^^|||$nueva_id|||^^^|||$tid|||^^^|||$nombre||| ^^^|||$asunto|||^^^|||$fecha|||^^^|||$mensaje|||^^ ^|||");
flock($fp,3);
fclose($fp);
echo "Muchas gracias. Su respuesta ha sido agregada.<br><a href='index.php?ver_formulario=$verFormulario&a=ve r_mensaje&tid=$tid' target='_top'><< Ver mensaje</a>";
}
break;
// En caso de ver un mensaje
case "ver_mensaje":
$ahora = date("d-m-y");
$zonahoraria = date("O");
echo "<table border='0' width='550'>\n<tr><td align='left'>\n<tr><td>$nForo<td align='right'>\n";
if ($usuario != $loginNombre || $password != $loginPass)
{
echo "<a href='index.php?ver_formulario=$verFormulario&a=lo gin&tid=$tid'>Ingresar</a> | ";
}
elseif ($usuario == $loginNombre && $password == $loginPass)
{
$verFormulario = "no";
}
echo "<a href='index.php?ver_formulario=$verFormulario' target='_top'>Volver al Foro</a>\n</td></tr></table>\n
<table border='0' width='550' cellspacing='1' cellpadding='2' bgcolor='$borde_color'>\n<tr bgcolor='$tabla_color' border='1' bordercolor='1' style='color: rgb(255,255,255)'>
<td width='100'>\n<b>Autor</b><td width='450'><b>Mensaje</b></td></tr>\n";
$fp = fopen ($posts, "rb");