[Tutorial] Columna del ultimo post con tiempo al estilo vBulletin
Para que te quede como en la imagen al final, tienen que hace también este tutorial. Este tutorial estaba en el foro de mybb, solo lo traduje y lo c...

Para que te quede como en la imagen al final, tienen que hace también este tutorial.

Este tutorial estaba en el foro de mybb, solo lo traduje y lo coloco aquí para los que quieran, y por que ya había hecho un tutorial que con este juntos queda bien. Tutorial Original
_________________________________________________________
Descripcion: Muestra cuantos minutos/horas han pasado desde que el ultimo mensaje en el index.

Necesitaras editar estos archivos .php en tu servidor FPT

dir$/inc/functions.php
dir$/inc/functions_forumlist.php
dir$/forumdisplay.php
dir$/inc/lenguajes/global.lang.php

Abre inc/functions.php
Agrega este código asta el final antes de ?>
Código:
/**
* Calculates how many minutes past since the given time.
*
* @param int The unix timestamp of the given time
* @return string The formatted time
*/
function timeAgo($last)
{
    global $mybb, $mybbadmin, $lang;
    
    $timenow = TIME_NOW;
    $diff = $timenow - $last;
    
    if(!$offset && $offset != '0')
    {
        if($mybb->user['uid'] != 0 && array_key_exists("timezone", $mybb->user))
        {
            $offset = $mybb->user['timezone'];
            $dstcorrection = $mybb->user['dst'];
        }
        elseif(defined("IN_ADMINCP"))
        {
            $offset =  $mybbadmin['timezone'];
            $dstcorrection = $mybbadmin['dst'];
        }
        else
        {
            $offset = $mybb->settings['timezoneoffset'];
            $dstcorrection = $mybb->settings['dstcorrection'];
        }

        // If DST correction is enabled, add an additional hour to the timezone.
        if($dstcorrection == 1)
        {
            ++$offset;
            if(my_substr($offset, 0, 1) != "-")
            {
                $offset = "+".$offset;
            }
        }
    }

    if($offset == "-")
    {
        $offset = 0;
    }
        
    if($last < $timenow && $diff <= 46200)
    {
        $order = $timenow - $last;
        while($order >= 60){
            $order = $order-60;
            $ordermleft++;
        }
        while($ordermleft >= 60){
            $ordermleft = $ordermleft-60;
            $orderhleft++;
        }

        if($ordermleft == 0){
            $ordermleft = "";
        } else {
            $ordermleft = "$ordermleft {$lang->minutes}";
        }
        if($orderhleft == 0){
            $orderhleft = "";
        } elseif($orderhleft == 1) {
            $orderhleft = "$orderhleft {$lang->hour}";
        } else {
            $orderhleft = "$orderhleft {$lang->hours}";
        }
        
        if(!$ordermleft || $ordermleft == 1){ $ordermleft = "1 {$lang->minute}"; }
        $actualtime = gmdate($mybb->settings['timeformat'], $last + ($offset * 3600));
        
        if($orderhleft)
        {
            $result = "{$lang->df_ago} <abbr title=\"$actualtime\">$orderhleft</abbr>";
        } else {
            $result = "{$lang->df_ago} <abbr title=\"$actualtime\">$ordermleft</abbr>";
        }
            
        return $result;
    } else {
        return gmdate($mybb->settings['timeformat'], $last + ($offset * 3600));
    }
}



Abre inc/functions_forumlist.php
Encuentra:
Código:
$lastpost_date = my_date($mybb->settings['dateformat'], $lastpost_data['lastpost']);
$lastpost_time = my_date($mybb->settings['timeformat'], $lastpost_data['lastpost']);

Reemplaza por:
Código:
$lastpost_time = timeAgo($lastpost_data['lastpost']);
if(ereg($lang->minute, $lastpost_time) || ereg($lang->hour, $lastpost_time))
{
    $lastpost_date = "";
}
else
{
    $lastpost_date = my_date($mybb->settings['dateformat'], $lastpost_data['lastpost']);
}


Abre forumdisplay.php
Encuentra:
Código:
$lastpostdate = my_date($mybb->settings['dateformat'], $thread['lastpost']);
$lastposttime = my_date($mybb->settings['timeformat'], $thread['lastpost']);

Reemplaza por:
Código:
$lastposttime = timeAgo($thread['lastpost']);
if(ereg($lang->minute, $lastposttime) || ereg($lang->hour, $lastposttime))
{
    $lastpostdate = "";
}
else
{
    $lastpostdate = my_date($mybb->settings['dateformat'], $thread['lastpost']);
}


Abre inc/lenguajes/IDEOMA/global.lang.php
Agrega este código asta el final antes de ?>
Código:
$l['df_ago'] = "Hace";

Puedes cambiar el "Hace" por otra palabra de tu gusto.


-----------------------------------
Modifique el código para que dijera:
Hace 2 horas

y no:
2 horas Ago

Todos los créditos para DragonFever quien fue el que creo el tema en Mybboard.net

.See ya!
{SIGNATURE_IMAGE}
muy buen tutorial man felicidades
:)
podrias especificar mas detalladamente dicho tutorial porque se me hace dificil aplicar dichos pasos ya que he probado algunas veces haciendo lo que vos decis y sin exitoSad!

Salu2s!
(15 Jan, 2010, 4:28 pm)vmaster17 escribió: podrias especificar mas detalladamente dicho tutorial porque se me hace dificil aplicar dichos pasos ya que he probado algunas veces haciendo lo que vos decis y sin exitoSad!

Salu2s!

Tienes que modificar los archivos de tu foro que indica el tutorial, los encuentras en el servidor ftp de tu foro.


Para /inc/functions.php tienes que agragar el codigo asta al final de todo antes de ?>

Para /inc/functions_forumlist.php tienes que encontrar el codigo, borralo y colocar en el mismo lugar el que dice el tutorial.

Para /forumdisplay.php lo mismo que el anterior.

Y para /inc/lenguajes/global.lang.php , abres el global.lang.php y colocas el codigo asta el final antes de ?> igual al primero codigo.

[color]Espero me entiendasSleepy[/color]

Gracias Walkman 5.0
{SIGNATURE_IMAGE}
donde quito la linea de puntos de debajo de las letras? gracias adelantadas.
en esta linea lo quitas <abbr title=\"$actualtime\"> </abbr>

Código:
if($orderhleft)
        {
            $result = "{$lang->df_ago} <abbr title=\"$actualtime\">$orderhleft</abbr>";
        } else {
            $result = "{$lang->df_ago} <abbr title=\"$actualtime\">$ordermleft</abbr>";
        }
:)
ok, gracias ^^, asi me quedara mejor xd
Pregunta 1:

Cuando la ultima respuesta fue hace mas de 24 horas me pone: 06-07-2010 12:31 AM
En vez de eso, me gustaria que diga: Hace 3 dias, es posible? como?.

Pregunta 2:
Instale este plugin: http://mods.mybb.com/view/post-icons-on-...-last-post

Y me muestra bien las imagenes de los post, pero los muestra al tamaño original 16 x 16 y es un poco grande. Alguien sabe donde se puede declarar el tamaño de esas imagenes?, quisiera que lo achique a 12x12.

Pregunta 3:
Alguien sabe donde debo editar para que la columna de Ultimo mensaje sea un poco mas ancha?. Por ejemplo, si ahora tiene 20% quisiera subirlo a 30%.

Cualquier duda, ver en mi foro: www.cyberamigos.net/foro

Saludos!.
Hello ,tengo todo ,menos el Global.Lang :S y busco en la carpeta de Mybb ,cuando me la bajé y tampoco lo tiene =S
El lgobal lang esta en la carpeta espanol