- Desde
- 27 Nov 2008
- Mensajes
- 44
Bueno como lo prometido es deuda, aquí les dejo la solución para agregar un mensaje, cuando el usuario intente pasarse del numero de gracias que puede dar por día.
Importante: Antes de empezar recuerden realizar un backup de los archivos que van a modificar.
Empecemos.
1. Archivo "[Root-Foro]/includes/functions_post_thanks.php"
Buscar y borrar:
Buscar:
Agregar antes:
2. Archivo "[Root-Foro]/post_thanks.php"
Buscar:
Agregar despues:
Buscar:
Agregar despues:
Por ultimo deben crear una frase con el nombre de variable "canthx", donde pueden colocar un mensaje que diga "Has sobrepasado el limite de {1}, gracias por día."
La verdad es una modificación de una opción que ya trae el Post Thanks, pos resulta que este tiene una a la cual tu le determinar el numero max de thanks por día, pero lo malo es que cuando el usuario tiene el max ya, lo que sucede es que se desaparece el botón.
Lo que hice fue des-habilitar que desaparezca y en cambio agregar un mensaje al momento de dar las gracias, para que así el usuario no quede como loco sin saber el por que no puede dar gracias.
Importante: Antes de empezar recuerden realizar un backup de los archivos que van a modificar.
Empecemos.
1. Archivo "[Root-Foro]/includes/functions_post_thanks.php"
Buscar y borrar:
PHP:
if ($vbulletin->options['post_thanks_max_per_day'])
{
global $count_thanks_so_far_totay;
if ($count_thanks_so_far_totay === null)
{
$count_thanks_so_far_totay = $vbulletin->db->query_first("SELECT COUNT(*) AS total FROM " .TABLE_PREFIX. "post_thanks WHERE userid = " . $vbulletin->userinfo['userid'] . " AND date > " . (TIMENOW - (60 * 60 * 24)) . "");
}
if ($vbulletin->options['post_thanks_max_per_day'] <= $count_thanks_so_far_totay['total'])
{
return false;
}
}
Buscar:
PHP:
function can_thank_this_post($postinfo = array(), $threadisdeleted = 0, $check_security = false, $securitytoken = '')
Agregar antes:
PHP:
function have_max_thx_by_day($postinfo = array(), $threadisdeleted = 0, $check_security = false, $securitytoken = '')
{
global $count_thanks_so_far_totay;
if ($count_thanks_so_far_totay === null)
{
$count_thanks_so_far_totay = $vbulletin->db->query_first("SELECT COUNT(*) AS total FROM " .TABLE_PREFIX. "post_thanks WHERE userid = " . $vbulletin->userinfo['userid'] . " AND date >= " . (strtotime(date('Y-m-d'))) . "");
}
if ($vbulletin->options['post_thanks_max_per_day'] <= $count_thanks_so_far_totay['total'])
{
return true;
}
}
2. Archivo "[Root-Foro]/post_thanks.php"
Buscar:
PHP:
if ($_REQUEST['do'] == 'post_thanks_add')
{
Agregar despues:
PHP:
if (!have_max_thx_by_day($post, $thread['isdeleted']) )
{
Buscar:
PHP:
else
{
$vbulletin->url = "showthread.php?$session[sessionurl]p=$postid";
eval(print_standard_redirect('redirect_post_thanks'));
}
}
Agregar despues:
PHP:
else
{
$max_thx = $vbulletin->options['post_thanks_max_per_day'];
$mensaje = construct_phrase($vbphrase['canthx'],$max_thx);
eval(print_standard_redirect($mensaje, false, true));
}
}
Por ultimo deben crear una frase con el nombre de variable "canthx", donde pueden colocar un mensaje que diga "Has sobrepasado el limite de {1}, gracias por día."