[GUIA] Agregar mensaje Max Thanks Per Day - Post Thanks

  • Autor Autor Masterock
  • Fecha de inicio Fecha de inicio
M

Masterock

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
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.

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."
 
es decir, esto sirve para evitar que alguien registre otra cuenta y se lie a dar gracias como loco no?

Muy buen aporte, si señor
 
es decir, esto sirve para evitar que alguien registre otra cuenta y se lie a dar gracias como loco no?

Muy buen aporte, si señor

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.
 
bueno no uso ese hack pero igualmente te mereces mis agradecimientos por el trabajo 🙂
 
😀 Gracias, aunque esto es un agradecimiento mio hacia el foro, ya que el foro me ayudo a completarlo, aunque el que use en mi Foro es algo mas complejo, ya que también le agregue una modificación para que el numero max sea por grupo de usuario. de esta manera los usuarios de alto rango y/o vips tengan un limite mayor 😀
 
Es lo que pasa, yo por ejemplo estoy haciendo un pequeño CMS como vbadvance el cual cuando este listo compartiré, pero claro, dicho CMS a lo mejor para la mayoría no les sirve ya que yo lo estoy haciendo según mis necesidades que no son las mismas que las del resto xD
 
Hay una forma de configurar esto o editarlo para que sea configurable por grupo de usuario ??

Porque por ejemplo me gustaría que el grupo de usuarios solamente pueda dar 10 gracias por día, pero el grupo usuarios Vips pueda dar 20 graciaspor día. Si alguno sabe lo amaré por siempre 😛 🙂

Saludos y mu ybueno
 
Atrás
Arriba