SMF Tricks

SMF General => Tips and Tutorials => Topic started by: Daniel on September 28, 2013, 10:44:23 PM

Title: "Activity Bar" según el rango
Post by: Daniel on September 28, 2013, 10:44:23 PM
Bueno antes antes de empezar quiero aclarar que para que funcione correctamente este tutorial necesitan tener instalador el mod "Member Color Link" (http://custom.simplemachines.org/mods/index.php?mod=111) y obviamente tener instalado el "Activity Bar" (http://missallsunday.com/modsite/sa.single/mid.10/). Ahora si, empecemos.

Display.template.php (Theme/tu theme)
Buscar:
/* Activity Bar Mod */
if(!empty($modSettings['Activity_Bar_enable']) && !empty($modSettings['Activity_Bar_show_in_posts']) && !empty($message['Activity_Bar']))
echo '
<li class="activity_li">', !empty($modSettings['Activity_Bar_label']) ? $modSettings['Activity_Bar_label'] : $txt['Activity_Bar_standardlabel'], ':
<div class="activity_holder" style="width: ', !empty($modSettings['Activity_Bar_max_width']) ? $modSettings['Activity_Bar_max_width'] : 139, 'px;"><div class="activity_bar" style="width: ', $message['Activity_Bar']['width'], 'px;"><div class="activity_percentage">', $message['Activity_Bar']['percentage'], '%</div></div></div></li>';
/* Activity Bar Mod */



Reemplazar por:
/* Activity Bar Mod */
if(!empty($modSettings['Activity_Bar_enable']) && !empty($modSettings['Activity_Bar_show_in_posts']) && !empty($message['Activity_Bar']))
echo '
<li class="activity_li">', !empty($modSettings['Activity_Bar_label']) ? $modSettings['Activity_Bar_label'] : $txt['Activity_Bar_standardlabel'], ':
<div class="progress-bar stripes" style="width: ', !empty($modSettings['Activity_Bar_max_width']) ? $modSettings['Activity_Bar_max_width'] : 139, 'px;">
<span style="background-color: '. $message['member']['online_color']. ';width: ', $message['Activity_Bar']['width'], 'px;">
', $message['Activity_Bar']['percentage'], '%
</span>
</div></li>';
/* Activity Bar Mod */



Si lo quieres tener al estilo de este poster (http://smftricks.com/index.php?topic=47.0), obviar el codigo anterior y utilizar este:
/* Activity Bar Mod */
if(!empty($modSettings['Activity_Bar_enable']) && !empty($modSettings['Activity_Bar_show_in_posts']) && !empty($message['Activity_Bar']))
echo '
<li class="activity_li"><span class="kmtitle">', $modSettings['Activity_Bar_label'], '</span><img class="kmimages" src="'. $settings['images_url']. '/id/activity.png" alt="" /><hr class="kmdivisor2" />
<div class="progress-bar stripes" style="width: ', !empty($modSettings['Activity_Bar_max_width']) ? $modSettings['Activity_Bar_max_width'] : 139, 'px;">
<span style="background-color: '. $message['member']['online_color']. ';width: ', $message['Activity_Bar']['width'], 'px;">
', $message['Activity_Bar']['percentage'], '%
</span>
</div></li>';

/* Activity Bar Mod */


Luego subir la imagen adjunta, a la siguiente ruta: Themes/tutheme/images/id/


ActivityBar.php (Carpeta Sources)
Borrar todo lo que esta y pegar lo siguiente:
<?php

/**
 * @package Activity Bar mod
 * @version 1.1
 * @author Jessica González <missallsunday@simplemachines.org>
 * @copyright Copyright (c) 2011, Jessica González
 * @license http://www.mozilla.org/MPL/MPL-1.1.html
 */

/*
 * Version: MPL 1.1
 *
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is http://www.marcusforsberg.net/ code.
 *
 * The Initial Developer of the Original Code is
 * Marcus Forsberg <http://www.marcusforsberg.net>.
 * Portions created by the Initial Developer are Copyright (C)
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 * Jessica González <missallsunday@simplemachines.org>
 */

if (!defined('SMF'))
die('Hacking attempt...');

function Activity_Bar_settings(&$config_vars)
{
global $txt;

$config_vars[] = $txt['Activity_Bar_title'];
$config_vars[] = array('check''Activity_Bar_enable');
$config_vars[] = array('check''Activity_Bar_show_in_posts');
$config_vars[] = array('check''Activity_Bar_show_in_profile');
$config_vars[] = array('text''Activity_Bar_label');
$config_vars[] = array('int''Activity_Bar_timeframe');
$config_vars[] = array('int''Activity_Bar_max_posts');
$config_vars[] = array('int''Activity_Bar_max_width');
$config_vars[] = '';
}

function Activity_Bar($user)
{
global $modSettings$smcFunc$context;

/* No user, no fun */
if (empty($user))
return false;

/* Safety first! */
else
$user = (int) $user;

/* We already have what we need */
if ( isset($context[$user]['activity_bar']) && !empty($context[$user]['activity_bar']))
return $context[$user]['activity_bar'];

/* No? then get it!!! */
else
{
/* Make sure everything is set. If something is missing, use a default value. */
$max_width = !empty($modSettings['Activity_Bar_max_width']) ? $modSettings['Activity_Bar_max_width'] : 139;
$max_posts = !empty($modSettings['Activity_Bar_max_posts']) ? $modSettings['Activity_Bar_max_posts'] : 500;
$days = !empty($modSettings['Activity_Bar_timeframe']) ? $modSettings['Activity_Bar_timeframe'] : 30;
$context[$user]['activity_bar'] = array();

/* Calculate the startingdate */
$startingdate time() - ($days 86400);

/* Get all posts posted since the startingdate. */
$request $smcFunc['db_query']('''
SELECT poster_time, id_member
FROM {db_prefix}messages
WHERE poster_time > {int:startingdate} AND id_member = {int:user}'
,
array(
'startingdate' => $startingdate,
'user' => $user,
)
);

/* Count the posts. */
$posts $smcFunc['db_num_rows']($request);

$smcFunc['db_free_result']($request);

/* Calculate everything. */
$num_posts $posts $max_posts;
$num_posts $num_posts $num_posts;
$percentage $num_posts 100;
$bar_width $max_width $num_posts;

/* Store the result in a array. */
$context[$user]['activity_bar'] = array(
'width' => $bar_width,
'percentage' => round($percentage,2),
);

/* There you go. Anything else? */
return $context[$user]['activity_bar'];
}
}

function Activity_Bar_css()
{
global $modSettings$settings$message;

$return '';

/* Only show this sutff if we are on a message page or the profile */
if(!empty($modSettings['Activity_Bar_enable']) && isset($_REQUEST['topic']) || isset($_REQUEST['action']) && $_REQUEST['action'] == 'profile')
$return '
<style type="text/css">
.progress-bar {
border: 1px solid #CCC;
height: 25px;
padding: 0;
margin: 2px 0;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
.progress-bar span {
display: inline-block;
height: 100%;
padding: 0 3px;
    line-height: 25px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
-moz-box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
-webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
    -webkit-transition: width .4s ease-in-out;
    -moz-transition: width .4s ease-in-out;
    -ms-transition: width .4s ease-in-out;
    -o-transition: width .4s ease-in-out;
    transition: width .4s ease-in-out;
color: #EEE;
font-weight: bold;
text-shadow: 0 1px #2a2a2a;
}
.stripes span {
-webkit-background-size: 30px 30px;
-moz-background-size: 30px 30px;
background-size: 30px 30px;
background-image: -webkit-gradient(linear, left top, right bottom,
color-stop(.25, rgba(255, 255, 255, .15)), color-stop(.25, transparent),
color-stop(.5, transparent), color-stop(.5, rgba(255, 255, 255, .15)),
color-stop(.75, rgba(255, 255, 255, .15)), color-stop(.75, transparent),
to(transparent));
background-image: -webkit-linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
transparent 75%, transparent);
background-image: -moz-linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
transparent 75%, transparent);
background-image: -ms-linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
transparent 75%, transparent);
background-image: -o-linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
transparent 75%, transparent);
background-image: linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%,
transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%,
transparent 75%, transparent);            

-webkit-animation: animate-stripes 3s linear infinite;
-moz-animation: animate-stripes 3s linear infinite;       
}

@-webkit-keyframes animate-stripes { 
0% {background-position: 0 0;} 100% {background-position: 60px 0;}
}

@-moz-keyframes animate-stripes {
0% {background-position: 0 0;} 100% {background-position: 60px 0;}
}
</style>
'
;
return $return;
}

/* DUH! WINNING! */
function Activity_Bar_Who()
{
$MAS '<a href="http://missallsunday.com" title="Free SMF Mods">Activity Bar mod &copy Suki</a>';

return $MAS;
}



Resultado final
(https://smftricks.com/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FKBmFCuj.png&hash=59e2bb069b4660c0f40d459e1f5f466d8c0b2cb0)
Espero que les guste, saludos!
Title: Re:"Activity Bar" según el rango
Post by: EduardO on October 08, 2013, 12:56:34 AM
Daniel gracias, esta muy bueno el tutorial. Tengo una consulta.

(https://smftricks.com/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FjKr6VEV.png&hash=e9d583f94584effd8fbda2769068c9da49e2bab8)

Mira yo tengo configurado asi mi Activity bar y parece que hay una congestion en esto del conteo de mensajes.
Me podrías explicar como se configura cada uno de los espacios especialmente en el tiempo etc!

Saludos!
Title: Re:"Activity Bar" según el rango
Post by: Daniel on October 08, 2013, 12:36:51 PM
Quote from: EduardO on October 08, 2013, 12:56:34 AM
Daniel gracias, esta muy bueno el tutorial. Tengo una consulta.

(https://smftricks.com/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FjKr6VEV.png&hash=e9d583f94584effd8fbda2769068c9da49e2bab8)

Mira yo tengo configurado asi mi Activity bar y parece que hay una congestion en esto del conteo de mensajes.
Me podrías explicar como se configura cada uno de los espacios especialmente en el tiempo etc!

Saludos!

Por lo general, yo dejo el marco de tiempo en 30, 200 maxima cantidad de mensajes y 150 la anchura maxima de la barra. El marco de tiempo creo que son los días, la maxima cantidad de mensajes es el numero de mensajes que debes tener dentro de marco de tiempo para tener tu actividad al 100%, y la anchura maxima de la barra es la anchura en px de la barra que se muestra en el perfil.

Saludos!
Title: Re:"Activity Bar" según el rango
Post by: EduardO on October 08, 2013, 12:48:55 PM
Quote from: Daniel on October 08, 2013, 12:36:51 PM
la maxima cantidad de mensajes es el numero de mensajes que debes tener dentro de marco de tiempo para tener tu actividad al 100%

Quiere decir que 30 equivale a los dias, en 30 dias el rango de mensajes que tendra el foro sera de 200. Esto tambien depende del trafico de mensajes en un foro?
Title: Re:"Activity Bar" según el rango
Post by: Daniel on October 08, 2013, 12:57:02 PM
Quote from: EduardO on October 08, 2013, 12:48:55 PM
Quiere decir que 30 equivale a los dias, en 30 dias el rango de mensajes que tendra el foro sera de 200. Esto tambien depende del trafico de mensajes en un foro?
No, es independientemente del usuario. Osea, que si yo hago 200 mensajes o incluso sobrepasar los 200 en 30 dias, mi actividad será de 100%. Obviamente los foros en que no se cuentan los mensajes no serviran.

Saludos!
Title: Re:"Activity Bar" según el rango
Post by: kevinava on November 24, 2013, 04:41:03 PM
el primer paso, en el display.template no me sale eso, qué hago?
Title: Re:"Activity Bar" según el rango
Post by: Daniel on November 24, 2013, 04:52:34 PM
Quote from: kevinava on November 24, 2013, 04:41:03 PM
el primer paso, en el display.template no me sale eso, qué hago?

Recuerda que debes tener instalado los mods Activity bar y Member color links, si lo tienes instalado adjunta tu display.template.php
Title: Re:"Activity Bar" según el rango
Post by: kevinava on November 24, 2013, 04:54:00 PM
Quote from: Daniel on November 24, 2013, 04:52:34 PM
Recuerda que debes tener instalado los mods Activity bar y Member color links, si lo tienes instalado adjunta tu display.template.php
aquí te lo dejo
Title: Re:"Activity Bar" según el rango
Post by: kevinava on November 24, 2013, 04:57:57 PM
igual es por esto, si es así, cuáles activo?
Title: Re:"Activity Bar" según el rango
Post by: EduardO on November 24, 2013, 06:39:56 PM
Quote from: kevinava on November 24, 2013, 04:57:57 PM
igual es por esto, si es así, cuáles activo?

Man esa configuracion es para el MemberColorLink debes de marcar todas esas casillas. Luego configurar el mod activity bar.

Posteriormete realizar esta guia. saludos
Title: Re:"Activity Bar" según el rango
Post by: kevinava on November 25, 2013, 08:46:19 AM
Quote from: EduardO on November 24, 2013, 06:39:56 PM
Man esa configuracion es para el MemberColorLink debes de marcar todas esas casillas. Luego configurar el mod activity bar.

Posteriormete realizar esta guia. saludos
ya lo he echo, pero sigue sin salirme... ¿Qué hago?
Title: Re:"Activity Bar" según el rango
Post by: EduardO on November 25, 2013, 01:48:50 PM
Quote from: kevinava on November 25, 2013, 08:46:19 AM
ya lo he echo, pero sigue sin salirme... ¿Qué hago?

Dejame la URL de tu foro y una cuenta demo.

Es raro, yo lo probe en mi foro y me funciono perfectamente
Title: Re:"Activity Bar" según el rango
Post by: jaike on November 27, 2013, 03:58:45 PM
Esté tutorial a mi nunca me funciono, desde que sacaron el activity bar de la pagina oficial de smf, simplemente no me aparece, porque en el display.index.php no me aparece la siguiente linea:

/* Activity Bar Mod */

Solo aparece

Activity Bar

Lo remplace por ese código que explican aquí y no me sale el %, se coloca bien en las celdas, pero no me aparece el porcentaje, creo que deberían de revisar el código, ya que si me pongo aver el código este:

/* Activity Bar Mod */
if(!empty($modSettings['Activity_Bar_enable']) && !empty($modSettings['Activity_Bar_show_in_posts']) && !empty($message['Activity_Bar']))
echo '
<li class="activity_li">', !empty($modSettings['Activity_Bar_label']) ? $modSettings['Activity_Bar_label'] : $txt['Activity_Bar_standardlabel'], ':
<div class="progress-bar stripes" style="width: ', !empty($modSettings['Activity_Bar_max_width']) ? $modSettings['Activity_Bar_max_width'] : 139, 'px;">
<span style="background-color: '. $message['member']['online_color']. ';width: ', $message['Activity_Bar']['width'], 'px;">
', $message['Activity_Bar']['percentage'], '%
</span>
</div></li>';
/* Activity Bar Mod */


No son las mismas variables que el activity bar que colocaron
http://missallsunday.com/modsite/sa.single/mid.10/ (http://missallsunday.com/modsite/sa.single/mid.10/)

y es por eso que algunos no le sale la barra de activity, la verdad he estado buscando el código, pero ninguno me funciono.

¿o es qué ese activity bar es de otra versión?


Saludos!
Title: Re:"Activity Bar" según el rango
Post by: Diego Andrés on November 27, 2013, 08:34:30 PM
En teoría debería funcionar con el activity bar actual, el que está en el sitio de missallsunday.
Si ese es el que tienes instalado no deberías tener inconvenientes.
Title: Re:"Activity Bar" según el rango
Post by: xSuby on December 22, 2013, 04:55:28 PM
Hay que tener obviamente el activity bar instalado, verdad? y se necesita alguna configuración en especial? Por cierto, intento y inserto una imagen.
Title: Re:"Activity Bar" según el rango
Post by: WINTX on December 30, 2013, 06:59:22 PM
Buenas en mi display.template.php de mi theme no encuentro las lineas haber si pueden echarme una mano aquí se lo adjunto tengo el actibity bar del link descargado.

Muchas Gracias

Title: Re:"Activity Bar" según el rango
Post by: Diego Andrés on December 31, 2013, 01:26:47 PM
Disculpen, pronto se actualizará el tutorial para la nueva versión que sería la 1.2.
Title: Re:"Activity Bar" según el rango
Post by: WINTX on December 31, 2013, 01:33:15 PM
Quote from: Diego Andrés on December 31, 2013, 01:26:47 PM
Disculpen, pronto se actualizará el tutorial para la nueva versión que sería la 1.2.

Gracias por la información lo espero ansiadamente ^^
Title: Re: "Activity Bar" según el rango
Post by: ramgo on March 22, 2014, 11:40:46 PM
Uso smf 2.0.7 & emulo a una versión anterior para instalar el mod member color link & no me deja instalarlo, me sale lo de "no es compatible con su versión de smf", diganme cual es la versión de smf compatible con ese mod o es error mio?...

En cuanto al tema, muy muy buen tutorial, esta muy bueno & me gusto mucho, pero vi en un foro que el activibar se daño & solo salia el porcentaje aunque creo que lo causaron ellos.

Saludos Ramgo.
Title: Re: "Activity Bar" según el rango
Post by: Diego Andrés on March 23, 2014, 11:16:15 AM
Quote from: ramgo on March 22, 2014, 11:40:46 PM
Uso smf 2.0.7 & emulo a una versión anterior para instalar el mod member color link & no me deja instalarlo, me sale lo de "no es compatible con su versión de smf", diganme cual es la versión de smf compatible con ese mod o es error mio?...

En cuanto al tema, muy muy buen tutorial, esta muy bueno & me gusto mucho, pero vi en un foro que el activibar se daño & solo salia el porcentaje aunque creo que lo causaron ellos.

Saludos Ramgo.

Es compatible con SMF 2.0
Title: Re: "Activity Bar" según el rango
Post by: Aitwizie on April 05, 2014, 05:08:33 AM
Tengo un problema, el cual es. En mi theme, (Retro de JSX3) no aparece la carpeta display.template.php en la carpeta del Tema. ¿Puede estar en otro sitio de la carpeta del theme que no sea ese?

Un Saludo
Title: Re: "Activity Bar" según el rango
Post by: Diego Andrés on April 05, 2014, 08:52:32 AM
Quote from: Aitwizie on April 05, 2014, 05:08:33 AM
Tengo un problema, el cual es. En mi theme, (Retro de JSX3) no aparece la carpeta display.template.php en la carpeta del Tema. ¿Puede estar en otro sitio de la carpeta del theme que no sea ese?

Un Saludo

Sí el theme no tiene algún template, se usará el del theme Default.
Aunque igual puedes copiar y pegar justamente el del theme Default al theme ese retro.

Saludos.
Title: Re: "Activity Bar" según el rango
Post by: Bracken on April 16, 2014, 04:22:59 AM
No me sale este codigo:
/* Activity Bar Mod */
if(!empty($modSettings['Activity_Bar_enable']) && !empty($modSettings['Activity_Bar_show_in_posts']) && !empty($message['Activity_Bar']))
echo '
<li class="activity_li">', !empty($modSettings['Activity_Bar_label']) ? $modSettings['Activity_Bar_label'] : $txt['Activity_Bar_standardlabel'], ':
<div class="activity_holder" style="width: ', !empty($modSettings['Activity_Bar_max_width']) ? $modSettings['Activity_Bar_max_width'] : 139, 'px;"><div class="activity_bar" style="width: ', $message['Activity_Bar']['width'], 'px;"><div class="activity_percentage">', $message['Activity_Bar']['percentage'], '%</div></div></div></li>';
/* Activity Bar Mod */

o.O
Title: Re: "Activity Bar" según el rango
Post by: Diego Andrés on April 17, 2014, 10:29:09 PM
Eso es porque este tutorial no es para la última versión del Activity Bar
Title: Re: "Activity Bar" según el rango
Post by: Diego_Lopez on April 28, 2014, 02:06:04 PM
Podrían hacer un tutorial para la nueva versión del ActivityBar Ya que no modifica BoardIndex.template..
Title: Re: "Activity Bar" según el rango
Post by: Naruhina on November 16, 2014, 05:30:48 PM
Cuando haran la actualización :c?
Title: Re: "Activity Bar" según el rango
Post by: Diego Andrés on January 10, 2015, 02:43:40 PM
Tan pronto como haya tiempo y sea posible.

Saludos