Código PHP:
<?php
function titlePost($id){
global $conexion;
$title="Error";
$Sqll = mysql_query("SELECT * FROM post WHERE id='" . $id . "' AND idm=''",$conexion['conexion']) or
die(mysql_error());
while($dat= mysql_fetch_array($Sqll)){
$title=$dat['titulo'];
}
return $title;
}
function imprimirForo($tema,$contenido){
if(is_array($contenido)) {
$file=implode('',file("tema/" . $tema . "/" . $tema . ".index.html"));
foreach($contenido as $k => $v) {
$file = str_replace("{" . $k . "}", $v, $file);
}
}
return $file;
}
function verMenu($tema){
if(!isset($_SESSION))
session_start();
if(isset($_SESSION['loginForo'],$_SESSION['user'],$_SESSION['idu']))
$menu=implode('',file("tema/" . $tema . "/" . $tema . ".login-act.html"));
else
$menu=implode('',file("tema/" . $tema . "/" . $tema . ".login.html"));
$contenido=array(
'USER'=>$_SESSION['user'],
'ID'=>$_SESSION['idu']
);
foreach($contenido as $k => $v) {
$menu = str_replace("{" . $k . "}", $v, $menu);
}
return $menu;
}
function asignarData($contenido,$file){
foreach($contenido as $k => $v) {
$file= str_replace("{" . $k . "}",$v,$file);
}
return $file;
}
function verWeb($id,$tema){
global $config,$conexion,$administradores;
$isset=issetPagina($id,$config['paginas']);
if(!$isset){
$file=implode('',file("tema/" . $tema . "/" . $tema . ".error.html"));
}elseif($isset[0]=="Inicio"){
///
if(!isset($_GET['p']) || empty($_GET['p']) || !is_numeric($_GET['p'])){
$data=array();
include("lib/PHPPaging.lib.php");
$paging = new PHPPaging($conexion['conexion']);
$paging->agregarConsulta("SELECT * FROM post WHERE idm='0' ORDER BY ultimo DESC");
$paging->porPagina($config['result-page']);
$paging->linkSeparadorEspecial('...');
$paging->ejecutar();
if($paging->numTotalRegistros()>0){
while($dat = $paging->fetchResultado()) {
$contenido=array(
"TITLE"=>'<a href="index.php?id=inicio&p=' . $dat['id'] . '">' . $dat['titulo'] . '</a>',
"POR"=>$dat['por'],
"ULTIMO"=>fecha($dat['ultimo']),
"RESPUESTAS"=>$dat['respuestas']
);
$data[]=asignarData($contenido,implode('',file("tema/" . $tema . "/" . $tema . ".foro.html")));
}
$data[]="Navegación: ".$paging->fetchNavegacion();
return implode("\n",$data);
}else{
return "No hay post";
}
}else{
include("lib/EasyLogin.lib.php");
$data=array();
if(isset($_SESSION['loginForo'],$_SESSION['user'],$_SESSION['idu']))
$data[]=asignarData(array("ID"=>$_GET['p']),implode('',file("tema/" . $tema . "/" . $tema .
".responder.html")));
include("lib/PHPPaging.lib.php");
$paging = new PHPPaging($conexion['conexion']);
$paging->agregarConsulta("SELECT * FROM post WHERE id='" . $_GET['p'] . "' OR idm='" . $_GET['p'] . "'
ORDER BY fecha ASC");
$paging->porPagina($config['result-page-post']);
$paging->linkSeparadorEspecial('...');
$paging->ejecutar();
if($paging->numTotalRegistros()>0){
while($dat = $paging->fetchResultado()) {
$mensaje=$dat['mensaje'];
$mensaje = str_replace("[b]","<b>",$mensaje) ; $mensaje =
str_replace("[/b]","</b>",$mensaje) ;
$mensaje = str_replace("[img]","<img src=\"",$mensaje) ; $mensaje =
str_replace("[/img]","\" border=\"0\" onerror=this.onerror='null';this.src=null;>",$mensaje) ;
$mensaje = preg_replace("/\[color=((#)?[0-9a-z]+)\]/i","<font color=\"\\1\">",$mensaje) ;
$mensaje = str_replace("[/color]","</font>",$mensaje) ;
$mensaje = preg_replace("/\[color=((#)?[0-9a-z]+)\]/i","<font color=\"\\1\">",$mensaje) ;
$mensaje = str_replace("[/color]","</font>",$mensaje) ;
$mensaje = preg_replace("/\[url\](www\..+)\[\/url\]/i","<a href=\"http://\\1\"
target=\"_blank\">\\1</a>",$mensaje) ;
$mensaje = preg_replace("/\[url\](.+)\[\/url\]/i","<a href=\"\\1\"
target=\"_blank\">\\1</a>",$mensaje) ;
$mensaje = preg_replace("/\[url=(www\..+)\](.+)\[\/url\]/i","<a href=\"http://\\1\"
target=\"_blank\">\\2</a>",$mensaje) ;
$mensaje = preg_replace("/\[url=(.+)\](.+)\[\/url\]/i","<a href=\"\\1\"
target=\"_blank\">\\2</a>",$mensaje) ;
$mensaje = str_replace("[i]","<i>",$mensaje) ; $mensaje =
str_replace("[/i]","</i>",$mensaje) ;
$mensaje = str_replace("[u]","<u>",$mensaje) ; $mensaje =
str_replace("[/u]","</u>",$mensaje) ;
$mensaje = str_replace("[code]",'<div
style="background-color:#eeeeee"><code>',$mensaje) ; $mensaje =
str_replace("[/code]","</code></div>",$mensaje) ;
$data_us=$us->usuario($dat['por']);
$rank="[USUARIO]";
if($_SESSION['user']==$dat['por'])
$editar='<br><a href="index.php?id=editar&i=' . $dat['id'] . '">[Editar]</a>';
if(in_array($_SESSION['idu'],$administradores)){
$admin='<br><a href="index.php?id=borrar&i=' . $dat['id'] . '">[Eliminar]</a> | <a
href="index.php?id=editar&i=' . $dat['id'] . '">[Editar]</a>';
}
if(in_array($data_us['id'],$administradores)){
$rank="[ADMINISTRADOR]";
}
$contenido=array(
"TITLE"=>$dat['titulo'],
"MENSAJES"=>mensajesUser($dat['por']),
"FECHA"=>fecha($dat['fecha']),
"RANK"=>$rank,
"POR"=>$dat['por'],
"POST"=>$mensaje,
"EDITAR"=>$editar,
"EDICION"=>ultimaEdicion($dat['id']),
"ADMIN"=>$admin,
"ID"=>$dat['id']
);
$data[]=asignarData($contenido,implode('',file("tema/" . $tema . "/" . $tema . ".post.html")));
unset($editar,$admin);
}
if(isset($_SESSION['loginForo'],$_SESSION['user'],$_SESSION['idu']))
$data[]=asignarData(array("ID"=>$_GET['p']),implode('',file("tema/" . $tema . "/" . $tema .
".responder.html")));
$data[]="<br />Navegación: ".$paging->fetchNavegacion();
return implode("\n",$data);
}else{
return "No hay post";
}
}
///
}elseif($isset[0]=="Borrar"){
$file="";
if(in_array($_SESSION['idu'],$administradores)){
if(!isset($_GET['t']) || empty($_GET['t']) || $_GET['t']==1){
$file.='¿Seguro de borrar?<br>
<a href="index.php?id=borrar&i=' . $_GET['i'] . '&t=2">Si</a> - <a href="index.php?id=inicio&p=' .
$_GET['i'] . '"><strong>No</strong></a>';
}elseif($_GET['t']==2){
$Sqll = mysql_query("SELECT * FROM post WHERE id='" . $_GET['i'] . "'",$conexion['conexion']) or
die(mysql_error());
while($dat= mysql_fetch_array($Sqll)){
if($dat['idm']!=0){
$redir=$dat['idm'];
$sql = "UPDATE post SET respuestas=respuestas-1 WHERE id = '" . $dat['idm'] . "'";
$rs = mysql_query($sql,$conexion['conexion']) or die(mysql_error());
}
}
$consulta = "DELETE FROM post WHERE id ='" . $_GET['i'] . "' OR idm='" . $_GET['i'] . "'";
if(mysql_query($consulta,$conexion['conexion']))
$file.= "Se a borrado con exito.";
else
$file.= "ERROR: ".mysql_error();
if(isset($redir))
ir("index.php?id=inicio&p=" . $redir);
else
ir("index.php");
}
}
}elseif($isset[0]=="Editar"){
$file="";
if($_POST){
$consulta = "Update post set titulo='".addslashes(htmlentities(strip_tags($_POST['titulo'])))."', mensaje='".
nl2br(addslashes(htmlentities($_POST['mensaje'])))."', editado=' " . $_SESSION['user'] . "' WHERE id ='" .
$_GET['i'] . "'";
if(mysql_query($consulta,$conexion['conexion']))
$file.="Editado";
else
$file.="Error: ".mysql_error();
}
$Sqll = mysql_query("SELECT * FROM post WHERE id='" . $_GET['i'] . "'",$conexion['conexion']) or
die(mysql_error());
while($dat= mysql_fetch_array($Sqll)){
if($_SESSION['user']==$dat['por'] || in_array($_SESSION['idu'],$administradores)){
$contenido=array(
"RE"=>$dat['titulo'],
"MENSAJE"=>br2nl($dat['mensaje']),
"POST"=>"",
"ID"=>$dat['id']
);
$file.=asignarData($contenido,implode('',file("tema/" . $tema . "/" . $tema . ".nuevo-tema.html")));
}
}
}elseif($isset[0]=="Login"){
$file=implode('',file("tema/" . $tema . "/" . $tema . ".login-form.html"));
}elseif($isset[0]=="Tema nuevo"){
if(!isset($_GET['p']))
$idm=0;
else
$idm=$_GET['p'];
$re=$idm!=0?"Re: " .titlePost($idm) :"";
$file=asignarData(array("ID"=>$idm,"RE"=>$re,"POST"=>"agregar.php","MENSAJE"=>""),implode('',file("tema/"
. $tema . "/" . $tema . ".nuevo-tema.html")));
}elseif($isset[0]=="Registrarse"){
$file=implode('',file("tema/" . $tema . "/" . $tema . ".registrar.html"));
}
return $file;
}
function br2nl($text) {
$text = preg_replace('/<br\\\\s*?\\/??>/i', "\\n", $text);
return str_replace("<br />","",$text);
}
function mensajesUser($user){
global $conexion;
$Sqll = mysql_query("SELECT * FROM users WHERE usuario='" . $user . "'",$conexion['conexion']) or
die(mysql_error());
while($dat= mysql_fetch_array($Sqll)){
return $dat['mensajes'];
}
}
function ultimaEdicion($id){
global $conexion;
$Sqll = mysql_query("SELECT * FROM post WHERE id='" . $id . "'",$conexion['conexion']) or die(mysql_error());
while($dat= mysql_fetch_array($Sqll)){
if($dat['editado']!="")
return "<hr>Ultima edicion por " . $dat['editado'];
else
return "";
}
}
?>