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

Masterock Seguir

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

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."
 

Carrega

Zeta
Verificación en dos pasos activada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
13 Ago 2008
Mensajes
1.881
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
 

Masterock

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
27 Nov 2008
Mensajes
44
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.
 

Carrega

Zeta
Verificación en dos pasos activada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
13 Ago 2008
Mensajes
1.881
bueno no uso ese hack pero igualmente te mereces mis agradecimientos por el trabajo :)
 

Masterock

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
27 Nov 2008
Mensajes
44
:D 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 :D
 

Carrega

Zeta
Verificación en dos pasos activada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
13 Ago 2008
Mensajes
1.881
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
 

superkefka

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
17 Mar 2009
Mensajes
111
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 :p :)

Saludos y mu ybueno
 
Arriba