[Error]  Icono para Temas suscritos en listado de Temas.
* URL del foro: localhost * Versión del foro: 1.6.1 * Actualización: Ninguna Buenas: Pues ahora vengo con otra inquietud, a ver si se puede reali...

  • URL del foro: localhost
  • Versión del foro: 1.6.1
  • Actualización: Ninguna
Buenas:

Pues ahora vengo con otra inquietud, a ver si se puede realizar. El tema es el siguiente.

En la lista de Temas de un foro hay forma de saber a qué temas estamos suscritos (Ojo no confundir con temas en los que hemos participado) colocando un icono o imagen. Dejo una captura para mejor comprensión.

[attachment=1826]

Si tuvieseis cualquier duda por favor, pedídmela.

Gracias de antemano por la lectura y cualquier colaboración que pueda surgir.

Saludos, Luis.
En la flecha roja van los iconos del mensaje... Pero bueno, al margen de eso, lo que tú dices MyBB no lo trae. Y que yo sepa tampoco hay ningún plugin que lo haga. La opción que quedaría sería avisar a alguien para que lo cree... Edson o SergioM tal vez puedan.
Buenas:

Abdón, estas en lo cierto en las flechas, aunque pensándolo mejor quizás sería mejor donde la flecha verde, pues no todos los temas tienen ese recuadro donde la flecha roja, sin embargo en todos los temas se hace referencia a los adjuntos del tema, donde está la flecha verde.

Y sí, MYBB no trae eso por defecto y yo por más que he buscado tampoco he visto ningún Plugín, ni como se puede realizar.

Esperemos a ver si Edson, Sergio o Santiago nos crean uno, si es que se puede.
Gracias de nuevo por contestar y leer.

Saludos, Luis.
Guarda este código en un archivo llamado ipostedin.php en la carpeta inc/plugins/

Código:
<?php

if(!defined("IN_MYBB"))
{
    die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

/**
* Return plugin info
*
*/
function ipostedin_info()
{
    return array(
                "name" => "I Posted In",
                "description" => "",
                "website" => "",
                "author" => "Santiago Dimattia",
                "authorsite" => "http://www.teleportz.com.ar",
                "version" => "0.1",
                "guid" => "",
                "compatibility" => "16*"
            );
}

/**
* Hook functions
*
*/
$plugins->add_hook('forumdisplay_thread', 'ipostedin_do');


/**
* Show the icon
*
*/
function ipostedin_do()
{
    global $thread, $i_posted;

    if($thread['doticon'])
    {
        $i_posted = 'Texto que tendría que aparecer cuando el usuario participó en el thread';
        return;
    }

    $i_posted = 'Texto que tendría que aparecer cuando el usuario NO PARTICIPO en el thread (dejar vacio?)';
}

Cambia Texto que tendría que aparecer... por lo que que mas te guste. HTML permitido.

Luego edita el template: Home » Templates & Styles » Template Sets » XXX Templates » forumdisplay_thread. Agrega {$i_posted} donde quieras que aparezca el mensaje correspondiente.

Hice el plugin porque creí que iba a ser un reto. Me defraudé Sad

---

Si alguien quiere hacer el plugin completo, bienvenido sea.
Buenas:
Santiago, gracias por leer y contribuir.

Aunque eso no es lo que yo quería, eso es justamente lo que pongo en mi primer mensaje tu puedes haber participado en un tema y automáticamente estas suscrito, pero puedes borrar la suscripción. O puedes no haber participado en un tema y estar suscrito y yo lo que quiero ver es en la lista de temas a través de un icono que estoy suscrito aun tema.

Cita:En la lista de Temas de un foro hay forma de saber a qué temas estamos suscritos (Ojo no confundir con temas en los que hemos participado)

Lo que tú has hecho que también podrá servir a alguien, pues aparte del icono que coloca MYBB, también se puede añadir el texto.

Gracias de nuevo por preocuparte y espero que me haya explicado lo suficiente.

Saludos, Luis.
Hah.... me saltié esa parte. No recuerdo haberla leído...

Conseguí hacer lo que estas pidiendo, se me complico para hacerlo en un plugin pero se me ocurrio una forma bastante... retorcida. Se aceptan sugerencias.

Código PHP:
<?php

if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

/**
 * Return plugin info
 *
 */
function ipostedin_info()
{
    return array(
                
"name" => "I Posted In",
                
"description" => "",
                
"website" => "",
                
"author" => "Santiago Dimattia",
                
"authorsite" => "http://www.teleportz.com.ar",
                
"version" => "0.1",
                
"guid" => "",
                
"compatibility" => "16*"
            
);
}

/**
 * Hook functions
 *
 */
$plugins->add_hook('forumdisplay_thread''ipostedin_do');


/**
 * Temp var
 * 
 */
$ipostedin_temp NULL;

/**
 * Query results array
 *
 */
$ipostedin_array = array();

/**
 * Show the icon
 *
 */
function ipostedin_do()
{
    global 
$mybb$thread$db$tids$ipostedin_temp$ipostedin_array$i_suscribed;

    if(
$ipostedin_temp === NULL)
    {
        
$ipostedin_temp TRUE;
        
$query $db->simple_select('threadsubscriptions''uid, tid'"uid='{$mybb->user['uid']}' AND tid IN ({$tids})");
        while(
$data $db->fetch_array($query))
        {
            
$ipostedin_array[$data['tid']] = TRUE;
        }
    }

    if(
$ipostedin_array[$thread['tid']] === TRUE)
    {
        
$i_suscribed 'I SUSCRIBED';
        return;
    }

    
$i_suscribed 'I DIDNT SUSCRIBED';


Usa $i_suscribed en vez de $i_posted en el template.
Última modificación: 14 Jan, 2011, 8:51 pm por ExplosiveMan.
Buenas:

Santiago, gracias de nuevo, ahora si le has atinado, coloca el texto como yo pedía.

Aunque no soy capaz de colocarlo debajo de la imagen de los adjuntos, pero no desisto.

Podrías indicarme como hago para colocarle una imagen o icono y que al ponerse encima salga el texto “Tú estás suscrito a este Tema”.
Lo del inglés gracias a dios que existe San Google.

Sugerencias, bueno ahora me voy a dormir un rato, mañana te diré algo.

Saludos, Luis.
(14 Jan, 2011, 9:32 pm)luis escribió: Buenas:

Santiago, gracias de nuevo, ahora si le has atinado, coloca el texto como yo pedía.

Aunque no soy capaz de colocarlo debajo de la imagen de los adjuntos, pero no desisto.

Podrías indicarme como hago para colocarle una imagen o icono y que al ponerse encima salga el texto “Tú estás suscrito a este Tema”.
Lo del inglés gracias a dios que existe San Google.

Sugerencias, bueno ahora me voy a dormir un rato, mañana te diré algo.

Saludos, Luis.


Como que debajo de los adjuntos?? y puedes hacerlo con una imagen y un alt o title como quieras que muestra la informacion!!

@santiago
Pues al final de todo fue mucho mas facil de lo que pensaron muchos (y me la ganaste acabo de ver el tema ^^ aun asi felicidades)
Buenas:
Edson, si, en el listado de los temas si hay archivos adjuntados en el tema sale un icono mostrándolo, como puedes ver en la imagen adjuntada en el primer post del tema al lado de la flecha verde.

Con respecto a lo del alt y el tittle lo tenía ya claro, pero no sé cómo llamar la imagen desde el código de Santiago, uno va haciendo algún pinito, pero uno no llega a vuestras capacidades.
De todas formas seguiré intentando lo de las imágenes y si lo consigo ya aviso.
Aunque un empujoncito no venia mal.

Gracias por leer y comentar.
Saludos.
Creo que así lo quieres luis:

Código:
<?php

if(!defined("IN_MYBB"))
{
    die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

/**
* Return plugin info
*
*/
function ipostedin_info()
{
    return array(
                "name" => "I Posted In",
                "description" => "",
                "website" => "",
                "author" => "Santiago Dimattia",
                "authorsite" => "http://www.teleportz.com.ar",
                "version" => "0.1",
                "guid" => "",
                "compatibility" => "16*"
            );
}

/**
* Hook functions
*
*/
$plugins->add_hook('forumdisplay_thread', 'ipostedin_do');


/**
* Temp var
*
*/
$ipostedin_temp = NULL;

/**
* Query results array
*
*/
$ipostedin_array = array();

/**
* Show the icon
*
*/
function ipostedin_do()
{
    global $mybb, $thread, $db, $tids, $ipostedin_temp, $ipostedin_array, $i_suscribed;

    if($ipostedin_temp === NULL)
    {
        $ipostedin_temp = TRUE;
        $query = $db->simple_select('threadsubscriptions', 'uid, tid', "uid='{$mybb->user['uid']}' AND tid IN ({$tids})");
        while($data = $db->fetch_array($query))
        {
            $ipostedin_array[$data['tid']] = TRUE;
        }
    }

    if($ipostedin_array[$thread['tid']] === TRUE)
    {
        $i_suscribed = '<div style="float: right;"><img src="URL DE LA IMAGEN" alt="Suscripción" title="Estás suscrito a este tema" /></div>';
        return;
    }

    $i_suscribed = '';
}

Y para ponerlo debajo de lo de adjuntos... Pon el $i_suscribed debajo del {$attachment_count}.