Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

Problema, bastantes errores sistema de noticias

Estas en el tema de Problema, bastantes errores sistema de noticias en el foro de Sistemas de gestión de contenidos en Foros del Web. Hola, hace mucho que no me pasaba por forosdelweb y lamentablemente solo vengo para pedir ayuda =S tengo un codigo php que es un sistema ...
  #1 (permalink)  
Antiguo 14/07/2009, 19:24
 
Fecha de Ingreso: julio-2008
Mensajes: 10
Antigüedad: 15 años, 9 meses
Puntos: 0
Problema, bastantes errores sistema de noticias

Hola, hace mucho que no me pasaba por forosdelweb y lamentablemente solo vengo para pedir ayuda =S tengo un codigo php que es un sistema de noticias para mi pagina web, este sistema de noticias esta vinculado a un foro phpbb, pero funciona a la perfección y sin ningun problema, el sistema es uno sacado de: forosdelweb.com/f121/usar-foro-phpbb3-para-secciones-web-606455 pero editado para que tenga un aspecto mejor y uno que otro cambio debido a que yo utilizo un sistema de login externo del foro phpbb, dejo el codigo y una pagina de mi sitio web para que vean el error (errores) que me dan.
Código PHP:
<?php
$phpbb_root_path 
'./foro/';    //Path to forum 
include($phpbb_root_path 'includes/functions_posting.' $phpEx); 
include(
$phpbb_root_path 'includes/functions_user.' $phpEx);
include(
$phpbb_root_path 'includes/functions_display.' $phpEx);
include(
$phpbb_root_path 'includes/bbcode.' $phpEx);
// Start session management
$user->setup(); 
?> 

<div align="justify" class="Estilo4">
<?php
//
// Configuration
//
$forum_id 7;        //Forum ID to pull posts from
$num_posts 2;        //Number of posts to display

//
// Auth
//
$can_read_forum $auth->acl_getf('f_read');    //Get the forums the user can read from
$forum_id_ary array_keys($can_read_forum);    //Rework the array some
unset($can_read_forum);

//
// Recent posts
//
if(array_key_exists($forum_id$forum_id_ary))    //See if the user is authed to read from that forum
{
    
$sql 'SELECT p.post_id, t.topic_id, t.topic_replies, t.topic_views, p.post_subject, p.post_text, p.post_time, p.bbcode_bitfield, p.bbcode_uid, u.username
            FROM ' 
TOPICS_TABLE ' t 
                INNER JOIN ' 
POSTS_TABLE ' p ON (t.topic_id = p.topic_id)
                    INNER JOIN ' 
USERS_TABLE ' u ON (p.poster_id = u.user_id)
                        WHERE t.topic_approved = 1
                            AND p.post_approved = 1
                            AND p.forum_id = ' 
$forum_id 
                            AND p.post_id = t.topic_first_post_id
                        ORDER BY p.post_time DESC'
;

    
$result $db->sql_query_limit($sql$num_postsn);
    
$row $db->sql_fetchrowset($result);

    for(
$i 0$i $num_posts$i++)
    {
        
$post_url append_sid("{$phpbb_root_path}viewtopic.$phpEx"'f=' $forum_id '&amp;t=' $row[$i]['topic_id'] . '&amp;p=' $row[$i]['post_id'] . 'p' $row[$i]['post_id']);

//-----------------+
      
$views $row[$i]['topic_views'];
      
$reply $row[$i]['topic_replies'];
//-----------------+
        
$uid $bitfield $options '';
        
$allow_bbcode $allow_smilies $allow_urls true;
        
$flags = (($allow_bbcode) ? OPTION_FLAG_BBCODE 0) + (($allow_smilies) ? OPTION_FLAG_SMILIES 0) + (($allow_urls) ? OPTION_FLAG_LINKS 0);
    
    function 
limitarPalabras($cadena$longitud$elipsis "...")
      {
    
$palabras explode(' '$cadena);
    if (
count($palabras) > $longitud)
    return 
implode(' 'array_slice($palabras0$longitud)) . $elipsis;
    else
    return 
$cadena;
    }

        
$cadena generate_text_for_display($row[$i]['post_text'], $row[$i]['bbcode_uid'], $row[$i]['bbcode_bitfield'], $flags);
        
    
//        $reply = generate_text_for_display( $row[$i]['topic_replies'], $flags);

        
echo '<div width="90%"><div align="left">Fecha: ' date('d-m-Y [G:i]'$row[$i]['post_time']) . '</div>---------------------------------------------------------------------------------------------------------------<br>
        <span class="titulo"><strong>' 
censor_text($row[$i]['post_subject']) . '</strong></span><br>
---------------------------------------------------------------------------------------------------------------<br>
              <div class="contenido">'
limitarPalabras($cadena,6)'</div><br>---------------------------------------------------------------------------------------------------------------<br><div align="right">&nbsp;&nbsp;<a href="' $post_url '"  target=\"_blank\">Leer todo</a> | ' $reply .' Comentarios | '$views .' Visitas<br>
---------------------------------------------------------------------------------------------------------------<br>
              <span class="subtitulo">&nbsp;&nbsp;Escrito por <b><u><span title="' 
$row[$i]['username'] . '">' $row[$i]['username'] . '</span></u></b><br></div>
---------------------------------------------------------------------------------------------------------------<br>---------------------------------------------------------------------------------------------------------------<br>
                </div>'
;
    }

    
$db->sql_freeresult($result); 
}
?>
las lineas que me dan los errores son:

Código PHP:
function limitarPalabras($cadena$longitud$elipsis "...")
      {
    
$palabras explode(' '$cadena);
    if (
count($palabras) > $longitud)
    return 
implode(' 'array_slice($palabras0$longitud)) . $elipsis;
    else
    return 
$cadena;
    }

        
$cadena generate_text_for_display($row[$i]['post_text'], $row[$i]['bbcode_uid'], $row[$i]['bbcode_bitfield'], $flags); 
y
Código PHP:
<div class="contenido">'limitarPalabras($cadena,6)'</div><br
Lo que intento hacer es que la noticias que es puesta en mi pagina sea acortada a una cantidad de palabras (puedo hacerlo por caracteres y sale, pero si corta a la mitad de un enlace se friega el aspecto estetico de la pagina) y si es que excede las palabras aparesca "...".
La pagina de donde lo de limitar palabras es:
dxpro.es/index.php?topic=239.0
La pagina donde aparece el error (los errores):
animextra.net78.net/index-3.php
(lamento tener que dar enlaces antes de mis 30posts pero tenia que mostrar las paginas de donde saque los codigos y donde esta la pagina donde pruebo los codigos, nuevamente perdon)
  #2 (permalink)  
Antiguo 14/07/2009, 19:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema, bastantes errores sistema de noticias

Tema trasladado desde PHP
  #3 (permalink)  
Antiguo 15/07/2009, 07:49
 
Fecha de Ingreso: enero-2008
Ubicación: Estado de México, México
Mensajes: 476
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Problema, bastantes errores sistema de noticias

yo no veo el error, dime exactamente cual es la linea que te tira el error.
__________________
"Si necesitas ayuda para tu foro en phpBB solo buscanos en google como montatuforo y la obtendras"
  #4 (permalink)  
Antiguo 15/07/2009, 09:59
 
Fecha de Ingreso: julio-2008
Mensajes: 10
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Problema, bastantes errores sistema de noticias

esta linea:
Código PHP:
<div class="contenido">'limitarPalabras(.$cadena,6);'</div><br
que lo que hace es mostrar solamente 6 palabras del objeto $cadena, es un echo.

La función es:
Código PHP:
function limitarPalabras($cadena$longitud$elipsis "...") {
    
$palabras explode(' '$cadena);
    if (
count($palabras) > $longitud){
        return 
implode(' 'array_slice($palabras0$longitud)) . $elipsis;
    }else{
        return 
$cadena;
    }

y se huza así:

Código PHP:
$cadena "Este script cuenta el numero de palabras";
echo 
limitarPalabras($cadena,6); 

no tengo mucho conocimiento con php pero lo que hace esto es una condicional que cuenta si tiene mas de x palabras, muestra el maximo de palabras con "..." al final, si tiene menos muestra sin las "..."
$cadena es el objeto que saca el texto del post.
el error que da ahora es:
Código:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/a9264227/public_html/index-3.php on line 809
y esa linea es:

Código PHP:
<div class="contenido">'limitarPalabras(.$cadena,6);'</div><br

Última edición por DArKWaLF; 16/07/2009 a las 09:25
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:23.