Indice de posts (SMF)

Started by lugolu, June 01, 2007, 12:06:53 AM

Previous topic - Next topic

mrthe

#80
En el generarIndices.php

Sustituir el codigo por ese:

<?php

function IndicesMain()
{

    global 
$boarddir$context$settings$options$txt$scripturl$modSettings;
    require(
$boarddir '/Settings.php');
    require(
$boarddir '/ListaIndices.php');
    
$conn mysql_connect($db_server,$db_user,$db_passwd);
    
mysql_select_db($db_name,$conn);

    
$ssql "SELECT ID_CAT, name FROM " $db_prefix "categories ORDER BY catOrder ASC";
    
$qcat mysql_query($ssql$conn);

    
$generarIndices $boarddir."/Themes/default/generarIndices.template.php";
    
$abreGenerarIndices fopen($generarIndices"w");
    
$save="<?php
// The main
function template_main()
{
    echo \"<div style='padding: 3px;'>\".theme_linktree().\"</div>\";
    echo '<table width=\"100%\" border=\"0\" class=\"bordercolor\">';
    echo '<tr class=\"titlebg\"><td>';
    echo 'Õndices';
    echo '</td></tr>';
    echo '<tr class=\"windowbg\"><td>';"
;
    
$grabar fwrite($abreGenerarIndices$save);

    while (
$cat mysql_fetch_array($qcat)) {
        
$idCat $cat["ID_CAT"];
        
$nameCat $cat["name"];

        if (!
in_array($idCat$listaCategorias)) {
            continue;
        }

        
$save "echo \"<h3>$nameCat</h3>\n\";";
        
$grabar fwrite($abreGenerarIndices$save);

        
$ssql "SELECT ID_BOARD as numForo, name FROM ".$db_prefix."boards WHERE ID_CAT = " $idCat " ORDER BY boardOrder ASC";
        
$rss mysql_query($ssql,$conn);

        while ( 
$as_row mysql_fetch_array$rss ) ) {
            
$topic=$as_row["numForo"];

            if (!
in_array($topic$listaForos)) {
                continue;
            }

            
$forum=str_replace("'"""$as_row["name"]);         
            
$save="echo \"<a href='index.php?action=indices;ind=$topic'>$forum</a><br>\";\n";  
            
$grabar fwrite($abreGenerarIndices$save);
            
$archivo $boarddir."/Themes/default/".$topic.".template.php";
            
$abre fopen($archivo"w");
            
$save="<?php \nfunction template_main(){ \n";
            
$grabar fwrite($abre$save);
            
$conn mysql_connect($db_server,$db_user,$db_passwd);
            
mysql_select_db($db_name,$conn);
            
$ssql "SELECT msj.subject as post, foro.name as nombre, tema.ID_TOPIC as numPost, msj.ID_MSG as numMsj, msj.posterTime as fecha, usr.memberName as usuario FROM ".$db_prefix."topics as tema, ".$db_prefix."messages as msj, ".$db_prefix."boards as foro, ".$db_prefix."members as usr WHERE tema.ID_FIRST_MSG = msj.ID_MSG AND tema.ID_BOARD = foro.ID_BOARD AND foro.ID_BOARD = $topic AND msj.ID_MEMBER = usr.ID_MEMBER ORDER BY foro.name ASC, msj.subject ASC";
            
$rs mysql_query($ssql,$conn);
            
$cont 0;
            
$band=0;
            while ( 
$a_row mysql_fetch_array$rs ) )
            {
                
$nombre=$a_row["nombre"];
                
$post=$a_row["post"];
                
$fecha=$a_row["fecha"];
                
$numPost=$a_row["numPost"];
                
$usuario=$a_row["usuario"];
                if (
$cont==0){
                    
$save="echo \"<table width='100%' class='windowbg' cellpadding='8' cellspacing='1' border='0' style='margin-top: 1px;'>\";\n";    
                    
$grabar fwrite($abre$save);
                    
$save="echo \"<tr><td class='titlebg'>\";\n";
                    
$grabar fwrite($abre$save);
                    
$save="echo \"<center><b><font size='4' color='#000000'>$nombre</font></b> - ⁄ltima actualizaciÛn: ".date("d-m-Y H:i"time())."</center>\";\n";
                    
$grabar fwrite($abre$save);
                    
$save="echo \"</tr></td>\";\n";
                    
$grabar fwrite($abre$save);
                    
$save="echo \"<tr><td>\";\n";
                    
$grabar fwrite($abre$save);
                    
$save="echo \"<a href='#_#' class='postlink'>#</a> <a href='#_%5B'>[</a> <a href='#_A'>A</a> <a href='#_B'>B</a> <a href='#_C'>C</a> <a href='#_D'>D</a> <a href='#_E'>E</a> <a href='#_F'>F</a> <a href='#_G'>G</a> <a href='#_H'>H</a> <a href='#_I'>I</a> <a href='#_J'>J</a> <a href='#_K'>K</a> <a href='#_L'>L</a> <a href='#_M'>M</a> <a href='#_N'>N</a> <a href='#_—'>—</a> <a href='#_O'>O</a> <a href='#_P'>P</a> <a href='#_Q'>Q</a> <a href='#_R'>R</a> <a href='#_S'>S</a> <a href='#_T'>T</a> <a href='#_U'>U</a> <a href='#_V'>V</a> <a href='#_W'>W</a> <a href='#_X'>X</a> <a href='#_Y'>Y</a> <a href='#_Z'>Z</a>\";\n";    
                    
$grabar fwrite($abre$save);
                    
$save="echo \"</tr></td>\";\n";
                    
$grabar fwrite($abre$save);
                    
$save="echo \"<tr><td>\";\n";
                    
$grabar fwrite($abre$save);
                    
$letra=strtoupper($post[0]);
                    if (
ord(strtoupper($letra)) < 65){
                        
$save="echo \"<a name='_#''><b><font size='4' color='#000000'>#</font></b></a><br>\";\n";
                        
$grabar fwrite($abre$save);
                    }
                    else{
                        
$save="echo \"<a name='_$letra''><b><font size='4' color='#000000'>$letra</font></b></a><br>\";\n";
                        
$grabar fwrite($abre$save);
                        
$band 1;
                    }
                    
$cont=1;
                }

                
$inicial strtoupper($post[0]);
                if (
$band == && ord(strtoupper($inicial)) >= 65){
                    
$band 1;
                }

                if(
$band && strtoupper($letra) != $inicial){
                    if (
ord(strtoupper($inicial)) < 91 ){
                        
$save="echo \"</tr></td>\";\n";
                        
$grabar fwrite($abre$save);
                        
$save="echo \"<tr><td>\";\n";
                        
$grabar fwrite($abre$save);
                        
$letra=strtoupper($post[0]);
                        
$save="echo \"<a name='_$letra''><b><font size='4' color='#000000'>$letra</font></b></a><br>\";\n";
                        
$grabar fwrite($abre$save);
                    }
                    else if(
$band == 1){
                        
$save="echo \"</tr></td>\";\n";
                        
$grabar fwrite($abre$save);
                        
$save="echo \"<tr><td>\";\n";
                        
$grabar fwrite($abre$save);
                        
$letra=strtoupper($post[0]);
                        
$save="echo \"<a name='_[''><b><font size='4' color='#000000'>[</font></b></a><br>\";\n";
                        
$grabar fwrite($abre$save);
                    }

                }
                
$numdias = (time()-$fecha)/86400;
                if (
$numdias<7) {
                    
$save="echo \"<img border='0' src='".$boardurl."/new.gif' width='15' height='15'>\";\n";
                    
$grabar fwrite($abre$save);
                }
                
$save="echo \"<a href=".$boardurl."/index.php?topic=$numPost.0><font size='3' color='#000090'>$post</font></a> <font size='3' color='orangered'>($usuario)</font><br>\";\n";
                
$grabar fwrite($abre$save);
                
$letra=$post[0];
            }
            
$save="echo \"</tr></td>\";\n";
            
$grabar fwrite($abre$save);
            
$save="echo \"<tr><td>\";\n";
            
$grabar fwrite($abre$save);
            
$copyright "<center>Õndice creado por <a href='mailto:[email protected]'>lugolu</a><br><a href='http://goludeando.com.ar/indice/index.php'>http://goludeando.com.ar/indice</a></center>";
            
$save="echo \"$copyright\";\n";
            
$grabar fwrite($abre$save);
            
$save="echo \"</tr></td>\";\n";
            
$grabar fwrite($abre$save);
            
$save="echo \"</table>\";\n";
            
$grabar fwrite($abre$save);
            
//mysql_close($conn);
            
$save='}?>
';
            $grabar = fwrite($abre, $save);
            fclose($abre);
        }
    }
    $save="
        echo \"</td></tr></table>\";
}
?>";
$grabar = fwrite($abreGenerarIndices, $save);
//fclose($abreGenerarIndices);

if (isset($_GET["topic"])){
    $topic=$_GET["topic"]; 
}
// This is gonna be needed...
loadTemplate('generarIndices');
// Set the page title to mention the calendar ;).
$context['page_title'] = $context['forum_name'] . ': Õndices';

// Load up the linktree!
$context['linktree'][] = array(
    'url' => $scripturl . '?action=generarIndices', 'name' => 'Õndices'
);
}
?>



Y luego tendreis que subir el archivo ListaIndices.php en la carpeta donde teneis alojado vuestro foro,antes de subirlo tendreis que asiñar los foros y las categorias de la siguente manera:

-Abriis el ListaIndices.php con un editor de texto

<?php

    $listaCategorias 
= array(aqui los id de las categorias separadas por comas);

    
$listaForos = array(aqui los id de los foros separadas por comas);

?>


-Poner entre las comillas los id de los foros y categorias que quiereis que se muestren separados por comas
-subimos y listo ;)

ElDon

Si pero este es el archivo nuevo o que?
***NUEVO*** 2,500 Vistas Youtube!!! [PREGUNTAS?]
Posicionamiento SEO
Necesitas Comprar Trafico?
Descarga Nuestro Reporte SEO Gratis!!!

betoerp

gente como lo instalo en 1.1.5??? yo tengo esa version de SMF  al oner alpicar mod me dice que las "¡No se definieron las acciones de instalación!" (...)

esto me sirve mucho!

desde ya muchas gracias!

mrthe

Quote from: ElDon on August 13, 2008, 10:53:02 AM
Si pero este es el archivo nuevo o que?
A ver teneis que modificar el generarIndices.php que ya teneis, con el codigo que pegué,y subir el ListaIndices.php (que es un archivo que no se encuentra en el mod original) en la carpeta donde se encuentra vuestro foro.

matasanos

            //mysql_close($conn);
            $save=}?>';

mrthe esa linea del nuevo generarindices.php me da error

Parse error: syntax error, unexpected ';' in /web/htdocs/www.lords-beer.net/home/foro/Sources/generarIndices.php on line 143


he quitado el ? y nada..ni el ;

matasanos

perdonen el doble post..pero no vi el error del compañero

   $save=}?>';

te falta un '

quedaria asi

   $save='}?>';


mrthe

A mi me funciona perfectamente asi tal cual probe a hacer el cambio que dices pero ,asi si que no funciona...no se comprueba bien lo he pasado a varias personas y nadie tiene este problema ;)

4Kstore

no se porque se hacen tanto problema, yo con los que uso me re contra sobra y es super facil de instalar..

Saludos! ¬¬

¡¡NEW MOD: Sparkles User Names!!!

mrthe

#88
no es custion de hacerse problemas,no se a que viene tu comentario la verdad,el mod está muy bien lo que pasa es que sí tienes zonas privadas te las indexa también y la verdad no hace mucha gracia por lo menos a mi,sí te fastidia leer oso que se ayude desinteresadamente simplemente no leas.

Dante_Arg

#89
hola tengo un problema con este mod.

Se ha instalado bien pero al momento crear el indice, sencilammente no aparece.
Si bien puedo seleccionar el foro que quiero que aparezca el indice, luego de eso
aparece la leyenda de "indice creado por...." osea los creditos de mod, pero no aparecen ordenados los temas del foro
Que podrá ser?




EDIT: ya está, era solo que estaba generando el indice de un tema que no tenia mensajes.


Sergioropase

Quote from: NIBOGO on October 13, 2008, 10:01:37 PM
Yo instale eso y me dice:

No se pudo cargar la plantilla '38'.

Alguna solucion?

eso es por que si no me equivoco has instalado la version antigua,instala esta

http://www.simplemachines.org/community/index.php?action=dlattach;topic=174523.0;attach=41066

Y si sigue sin funcionar mete esto que te adjunto en el /themes/default/  aunque ya lo tengas y dale permisos.

Eso me pasaba a mi y asi lo arregle.


Sergioropase

una pregunta, alguien sabe que tablas crea o modica este mod?, lo digo por que se ha quedado estancado en el dia 3 de noviembre y no actualiza, cuando siempre me a ido perfectamente,lo desinstalo y lo vuelvo a instalar pero pilla la configuracion del anterior.

najus

yo me e descargado el ultimo que pusieron pero me dice

¡No se definieron las acciones de instalación!

y la verda k me vendria de perlas algo asi ,profavor alguien save como se instala ?

najus

nadie save como se instala manualmente el mod pork no tengo n i ideaaaa de ande poner los archivos ni nada de nada


kalmax

Hola, tengo un error y no se como solucionarlo, le cuento un poco, hace un par de dias tuve que cambiar de hosting porque en el que estaba me quedo chica la transferencia mensual, lo que hice es un backup de la base de datos y otro de todo los archivos y carpetas por ftp, en el nuevo hosting subi todo, sin ningun problema, pero ahora me doy cuenta que no me actualiza mas los indices, intente desinstalar el indexpost y no me deja, para mi lo que me esta pasando es que no lee la nueva base de datos, porque el contenido de la base de datos es el mismo pero el nombre no, también pense que podia ser por el seo4smf pero no creo, porque con el otro hosting tambien usaba seo4smf y andaba perfecto, a ver si alguno se le ocurre como puedo hacer para solucionar este gran inconveniente?

salu2

lugolu

#97
aquí lo he adaptado para smf 1.1.7, parece que han cambiado el sistema de instalación de los mods, ya no valen los archivos mods.

tiene agregada la funcionalidad aportada por mrthe de filtrar los foros a incluir en los índices.

lugolu

Quote from: kalmax on December 21, 2008, 06:50:29 AM
Hola, tengo un error y no se como solucionarlo, le cuento un poco, hace un par de dias tuve que cambiar de hosting porque en el que estaba me quedo chica la transferencia mensual, lo que hice es un backup de la base de datos y otro de todo los archivos y carpetas por ftp, en el nuevo hosting subi todo, sin ningun problema, pero ahora me doy cuenta que no me actualiza mas los indices, intente desinstalar el indexpost y no me deja, para mi lo que me esta pasando es que no lee la nueva base de datos, porque el contenido de la base de datos es el mismo pero el nombre no, también pense que podia ser por el seo4smf pero no creo, porque con el otro hosting tambien usaba seo4smf y andaba perfecto, a ver si alguno se le ocurre como puedo hacer para solucionar este gran inconveniente?

salu2

qué versión de smf usas?

no tiene nada que ver con la base de datos, lo que hace es leer los posts que haya y guarda todo en archivos xxx.template.php donde xxx es el número de foro

a qué te refieres con que no actualiza?

lugolu

arreglado 2 problemas:
- no son indexados los posts de aquellos usuarios que han sido borrados
- los acentos aparecen separados con respecto a la vocal correspondiente:
ésto
QuoteA
Angeles

Á
Ángeles y demonios

A
Angeles y demonios

B
Barrio

ahora aparece bien
QuoteA
Angeles
Ángeles y demonios
Angeles y demonios

B
Barrio

me resta solucionar el tema de que no agregue la etiqueta Índice en la lista de posts de los foros de los cuales no se generó el índice, por lo que muestra un mensaje de error : "Unable to load the '2' template. "

Advertisement: