Ver Mensaje Individual
  #134 (permalink)  
Antiguo 12/01/2006, 22:49
etanol
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 8 meses
Puntos: 0
Hola:
Tengo el siguiente código de Ferny (es un scroll) y me funciona muy bien, (lo he editado para que también se pueda mostrar el nombre del usuario no registrado) pero tengo el problema que me incluye los temas de los foros que son privados.

Código PHP:
<body onLoad="populate();">

<?  

// Últimos mensajes publicados en foros phpBB2.  
// Creado por XeRGio  
// [url]www.xergio.net[/url]  
// 
// Modificado por Ferny 
// [url]www.mundodivx.com[/url] 
//  
// Edita lo que viene a continuación. Cambia solo lo que hay entre comillas "":  

$directorio "phpbb"//Carpeta donde esta situado el foro. No empieces ni acabes con /  
$mostrar "12"//Número de mensajes a mostrar.  
$caracteres "22"//Caracteres que se mostrarán de cada línea.  

// Lo que viene ahora no lo toques para nada!!! a no ser que sepas de qué va el tema...  

include("$directorio/config.php");  

unset(
$total); 

$conexion mysql_connect($dbhost,$dbuser,$dbpasswd);  
mysql_select_db($dbname,$conexion);  

//Si tienes un foro oculto o restringido, sólo añade WHERE forum_id!=X delante de ORDER BY y sustituyendo la X por el nº del foro 
$consulta "SELECT * FROM ".$table_prefix."posts ORDER BY post_time DESC LIMIT $mostrar";  
$result mysql_query($consulta);  

while (
$row mysql_fetch_array($result)) {  
    
$consulta "SELECT  
        "
.$table_prefix."forums.forum_id,  
        "
.$table_prefix."forums.forum_name,  
        "
.$table_prefix."posts.post_username,  
        "
.$table_prefix."topics.topic_id,  
        "
.$table_prefix."topics.topic_title  
        FROM "
.$table_prefix."forums, ".$table_prefix."posts, ".$table_prefix."topics  
        WHERE "
.$table_prefix."forums.forum_id='$row[forum_id]' AND ".$table_prefix."posts.post_username='$row[post_username]' AND ".$table_prefix."topics.topic_id='$row[topic_id]'"
     
    
$result2 mysql_query ($consulta); 
    
$res mysql_fetch_row($result2); 
     
    
$nombreentero $res[4]; 
     
    
// Si el título del mensaje es muy largo, lo cortamos 
    
if (strlen($res[4]) > $caracteres) {  
        
$res[4] = substr($res[4],0,$caracteres-3)."...";  
    }  
     
    
// Construimos 
    
$total.="FORO: <a href=\"".$server.$directorio."/viewforum.php?f=$res[0]\"><font color=\"#000099\">$res[1]</font></a><br>&nbsp; TEMA: &nbsp;<font size=\"1\" face=\"arial\"><a href=\"".$server.$directorio."/viewtopic.php?t=$row[topic_id]#$row[post_id]\" title=\"$nombreentero\"><font color=\"#000099\">$res[4]</font></a><br>&nbsp;Por <font color=\"#ff0000\">$res[2]</font></font><hr noshade size=\"1\" color=\"#000000\" width=\"100\">"
}  

// Liberamos recursos y cerramos conexión 
mysql_free_result($result);  
mysql_free_result($result2);  
mysql_close($conexion); 
?>  
<script language="JavaScript1.2"> 

/* 
Cross browser Marquee II- © Dynamic Drive ([url]www.dynamicdrive.com[/url]) 
For full source code, 100's more DHTML scripts, and TOS, visit [url]http://www.dynamicdrive.com[/url] 
Credit MUST stay intact 
*/ 

/* 
NOTA: con lo siguiente se soluciona el bug del ancho de borde bajo navegadores Netscape y Mozilla. 
En ellos el borde NO pertenece a las dimensiones de la capa, pero en Opera y Explorer SI pertenece, 
lo cual hace que en Netscape/Mozilla se vea un poco más grande. Por ello reducimos el ancho en 
estos 2 últimos navegadores 
*/ 

//Specify the marquee's width (in pixels) 
var marqueewidth = 125; // Ancho de la marquesina 
var anchoborde = 1; // Ancho del borde de la marquesina, en pixeles (debe ser igual al borde de la capa, especificado abajo del todo) 

//Corregimos el bug anteriormente citado... 
if (navigator.appName=="Netscape") { 
    marqueewidth = marqueewidth - 2*anchoborde; 


//Specify the marquee's height 
var marqueeheight=200 
//Specify the marquee's marquee speed (larger is faster 1-10) 
var marqueespeed=1 
//Pause marquee onMousever (0=no. 1=yes)? 
var pauseit=1 

//Specify the marquee's content 
//Keep all content on ONE line, and backslash any single quotations (ie: that\'s great): 

var marqueecontent='<? echo addslashes($total); ?>' // ¡¡¡NO TOCAR!!! 

////NO NEED TO EDIT BELOW THIS LINE//////////// 

marqueespeed=(document.all)? marqueespeed : Math.max(1, marqueespeed-1) //slow speed down by 1 for NS 
var copyspeed=marqueespeed 
var pausespeed=(pauseit==0)? copyspeed: 0 
var iedom=document.all||document.getElementById 
var actualheight='' 
var cross_marquee, ns_marquee 

function populate(){ 
if (iedom){ 
cross_marquee=document.getElementById? document.getElementById("iemarquee") : document.all.iemarquee 
cross_marquee.style.top=marqueeheight+8 
cross_marquee.innerHTML=marqueecontent 
actualheight=cross_marquee.offsetHeight 

else if (document.layers){ 
ns_marquee=document.ns_marquee.document.ns_marquee2 
ns_marquee.top=marqueeheight+8 
ns_marquee.document.write(marqueecontent) 
ns_marquee.document.close() 
actualheight=ns_marquee.document.height 

lefttime=setInterval("scrollmarquee()",40) 


function scrollmarquee(){ 
if (iedom){ 
if (parseInt(cross_marquee.style.top)>(actualheight*(-1)+8)) 
cross_marquee.style.top=parseInt(cross_marquee.style.top)-copyspeed 
else 
cross_marquee.style.top=marqueeheight+8 

else if (document.layers){ 
if (ns_marquee.top>(actualheight*(-1)+8)) 
ns_marquee.top-=copyspeed 
else 
ns_marquee.top=marqueeheight+8 



if (iedom||document.layers){ 
with (document){ 
if (iedom){ 
write('<div style="position:relative; border: 1px solid #FFCC33; width:'+marqueewidth+'; height:'+marqueeheight+'; overflow:hidden; background:##FFFF66;" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed">') 
write('<div id="iemarquee" style="position:absolute; left:0; top:0; width:'+marqueewidth+'">') 
write('</div></div>') 

else if (document.layers){ 
write('<ilayer width='+marqueewidth+' height='+marqueeheight+' name="ns_marquee">') 
write('<layer name="ns_marquee2" width='+marqueewidth+' height='+marqueeheight+' left=0 top=0 onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed"></layer>') 
write('</ilayer>') 



</script>
</body>
Mi pregunta es: ¿Dónde tengo que colocar exáctamente este código de centinela77?

Código PHP:
$sql=mysql_query("SELECT t.topic_last_post_id, t.topic_title, t.topic_id, t.topic_time, t.topic_replies, u.username,u.user_id, f.forum_name, f.forum_id, p.post_id, p.post_time FROM ".POSTS_TABLE." p, ".TOPICS_TABLE." t, ".USERS_TABLE." u, ".FORUMS_TABLE." f WHERE t.topic_poster=u.user_id AND t.topic_id=".$value." AND p.post_id=t.topic_last_post_id AND t.forum_id=f.forum_id AND f.forum_id NOT IN ($no_mostrar) "); 
...o qué tengo que hacer??

Gracias. Un saludo

Última edición por etanol; 13/01/2006 a las 09:04