Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/12/2008, 17:36
Avatar de pato12
pato12
 
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 17 años, 2 meses
Puntos: 101
Respuesta: APORTE: Crear un foro con PHP (nuevo)

funciones.ini.php (parte 1 de 2)
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(
$datmysql_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)        {
            
$filestr_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&amp;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&amp;i=' $dat['id'] . '">[Editar]</a>';
        if(
in_array($_SESSION['idu'],$administradores)){
        
$admin='<br><a href="index.php?id=borrar&amp;i=' $dat['id'] . '">[Eliminar]</a> | <a 

href="index.php?id=editar&amp;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&amp;i=' 
$_GET['i'] . '&amp;t=2">Si</a> - <a href="index.php?id=inicio&amp;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(
$datmysql_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(
$datmysql_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(
$datmysql_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(
$datmysql_fetch_array($Sqll)){
if(
$dat['editado']!="")
return 
"<hr>Ultima edicion por " $dat['editado'];
else
return 
"";
}
}
?>
Continua en el siguiente post...
__________________
Half Music - www.halfmusic.com