Estoy trabajando en un foro basado en "Icy Phoenix 1.3.0.53" la cosa es que he activado el MOD DE GRACIAS y puesto andar en Addons o mejora del mod que viene predeterminado; haciendo que No solo se den gracias por los temas sino por los post individuales o respuesta en topics diferentes dentro del mismo tema (parecido a Vbulletin).
El caso es que quiero lograr que cuando lo usuarios agradezcan los post de los demás usuarios que comentan o responden en el mismo tema automáticamente salgan las gracias recibidas y desaparezca el boton de gracias cuando se preciona, evitando actualizar la página para que esto suceda.
Prácticamente simular el fresco de página o caché que hace el mod thanks o mod de gracias en vbulltenin.
Espero haberme explicado.
Aquí les dejo las modificaciones a realizar en el foro para que aprecien mejor al testearlo y me puedan ayudar entendiendo lo que aqui quiero lograr.
Código:
## Author: esnola ([email protected]) ## Author Web: http://www.todo-mods.com ## ## Descripción en español: Añade un botón para dar gracias al posteador del post al estilo de VBulletin. Y muestra los resultados en cada post que haya sido agradecido. ## ## ## Installation Level: Easy (Fácil) ## Installation Time: 2 Minutes ## Ficheros a Editar:(2) viewtopic.php, ## templates/mg_themes/viewtopic_body.tpl ## * Deberás editar este archivo en todos los estilos o plantillas que tengas. ######################################################### ## Antes realizar cualquier modificación en los ficheros de tu foro realiza una copia de seguridad de los mismos. ## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD ######################################################### # #-----[ SQL ]------------------------------------------ # CREATE TABLE IF NOT EXISTS `ip_thanks_2` ( `topic_id` mediumint(8) NOT NULL, `user_id` mediumint(8) NOT NULL, `user_poster` mediumint(8) NOT NULL, `post_id` mediumint(8) NOT NULL, `thanks_time` int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; # #-----[ ABRIR / OPEN ]------------------------------------------ # viewtopic.php # #-----[ BUSCAR / FIND ]------------------------------------------ # // End add - Birthday MOD # #-----[ AÑADIR DESPUES / AFTER ADD ]------------------------------------------ # $activar_gracias = 1; // Poner en 1 para activar, Poner en 0 para desactivar. if ($activar_gracias == 1) { $nom_gracias = ""; $boton_gra = ($userdata['user_id'] != ANONYMOUS) ? TRUE : FALSE; $forma_tiem = "d F"; $sql = mysql_query("SELECT thanks_time FROM ip_thanks_2 WHERE user_id =". $userdata['user_id']." AND post_id =".$post_id) ; $ya_votado = mysql_num_rows($sql); if($ya_votado) $boton_gra = false ; if($_REQUEST['mode'] == "thanks_2" && !$ya_votado) { $sql = mysql_query("SELECT thanks_time FROM ip_thanks_2 WHERE user_id =". $userdata['user_id']." AND post_id =".$_REQUEST['p']) ; $ya_votado2 = mysql_num_rows($sql); if(!$ya_votado2 && $userdata['user_id'] != $postrow[$i]['poster_id'] && $userdata['user_id'] != ANONYMOUS) { $sql = "INSERT INTO ip_thanks_2 (post_id, topic_id, user_poster, user_id, thanks_time) VALUES(".$_REQUEST['p'].", ".$_REQUEST['t'].",".$_REQUEST['poster'].",".$userdata['user_id'].", ".time().")"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "No se actualiza la tabla thanks2", '', __LINE__, __FILE__, $sql); } } } $sql = "SELECT user_id, thanks_time FROM ip_thanks_2 WHERE post_id =". $postrow[$i]['post_id']; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "No se puede obtener datos de gracias", '', __LINE__, __FILE__, $sql); } $j=0; $num_agrad = ""; $cuantos = $db->sql_numrows($result); while($gracias = $db->sql_fetchrow($result)) { $j++; $agradecido = colorize_username($gracias['user_id']); $nom_gracias .= '<span class="gensmall">' .$agradecido."(".create_date_ip($forma_tiem, $gracias['thanks_time'], $board_config['board_timezone']).")</span>"; $nom_gracias .= ($cuantos > 1 && $cuantos > $j) ? ", " : ""; } $sql = "SELECT user_poster FROM ip_thanks_2 WHERE user_poster =". $postrow[$i]['poster_id']; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "No se puede obtener datos de gracias", '', __LINE__, __FILE__, $sql); } if($db->sql_numrows($result)) { $num_agrad = "<br />Agradecimientos recibidos: ".$db->sql_numrows($result); } $lectura_gracias = ($userdata['user_id'] != $postrow[$i]['poster_id'])? "Agradecimientos a " . colorize_username($postrow[$i]['poster_id']) : "Has recibido agradecimientos"; $lectura_gracias .= " por este post de:"; } # #-----[ BUSCAR / FIND ]------------------------------------------ # $template->assign_block_vars('postrow', array( # #-----[ AÑADIR DESPUES / AFTER ADD ]------------------------------------------ # 'U_THANKS_2' => append_sid('viewtopic.'. PHP_EXT .'?mode=thanks_2&f='.$forum_id .'&t='.$topic_id .'&poster='.$postrow[$i]['poster_id'].'&p='.$post_id.'#p'.$post_id), 'THANKS_IMG_2' => ($boton_gra) ? $images['thanks'] : "", 'THANKS_POSTER' => $lectura_gracias, 'LISTA_GRACIAS' => $nom_gracias, 'NO_BOTON' => ($boton_gra && $userdata['user_id'] != $postrow[$i]['poster_id'] ) ? true : false, 'VECES_AGRAD' => $num_agrad, # #-----[ ABRIR / OPEN ]------------------------------------------ # templates/mg_themes/viewtopic_body.tpl # #-----[ BUSCAR / FIND ]------------------------------------------ # <!-- END switch_poster_info --> # #-----[ AÑADIR DESPUES / AFTER ADD ]------------------------------------------ # {postrow.VECES_AGRAD} # #-----[ BUSCAR / FIND ]------------------------------------------ # {postrow.ALBUM_IMG} </div> # #-----[ AÑADIR DESPUES / AFTER ADD ]------------------------------------------ # <!-- IF postrow.NO_BOTON --><a href="{postrow.U_THANKS_2}"><img src="{postrow.THANKS_IMG_2}" alt="Agradecer contribución" title="Agradecer contribución" width="62" /></a><!-- ENDIF --> # #-----[ BUSCAR / FIND ]------------------------------------------ # <a href="{U_BACK_BOTTOM}"><img src="{IMG_ARD}" alt="{L_BACK_BOTTOM}" title="{L_BACK_BOTTOM}" /></a> </div> # #-----[ AÑADIR DESPUES / AFTER ADD ]------------------------------------------ # <!-- IF postrow.LISTA_GRACIAS --> <tr><th colspan="3" align="left">{postrow.THANKS_POSTER}</th></tr> <tr><td colspan="3" class="row-post" valign="top" align="left"><span class="gensmall">{postrow.thanks.THANKS} </span> {postrow.LISTA_GRACIAS} </td></tr> <tr><td> </td></tr> <!-- ENDIF -->
Saludos! Nos leemos.