variable en un mensaje!!!

  • Autor Autor SenDoh
  • Fecha de inicio Fecha de inicio
S

SenDoh

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
holas!

miren uso el hack de "post thank you" y quero hacer que el boton aparezca en el mensaje envez donde siempre aparece.

Lo que intente hacer es activar el html en el foro en el cual quero que aparezca en el mensaje, y coloco lo siguente:

Insertar CODE, HTML o PHP:
<a href="post_thanks.php?$session[sessionurl]do=post_thanks_add&amp;p=$post[postid]&amp;securitytoken=$bbuserinfo[securitytoken]" id="post_thanks_button_$post[postid]"<if condition="$vboptions[disable_ajax] != 2">onclick="return post_thanks_give($post[postid],<if condition="$vboptions[post_groan_integrate]">true<else />false</if>);"</if> <if condition="$display_thanks_image == 'none'">style="display:none"</if> rel="nofollow"><img src="$stylevar[imgdir_button]/confirm.jpg" alt="$vbphrase[post_thanks_thanks]" border="0" /></a>

pero al escribir un mensaje por ejemplo me aparece el boton y todo pero con el siguente link ERRONEO:

Insertar CODE, HTML o PHP:
http://www.myweb.com/post_thanks.php?do=post_thanks_add&p=&securitytoken%20%20=1232229492-c60a4425fef87c716b5fbc9071458957ec404a9d

comparada con la URL valida:

Insertar CODE, HTML o PHP:
http://www.myweb.com/post_thanks.php?do=post_thanks_add&p=1291&securitytoken=1232229502-df3b99fce439c15f12bb8e84bd320341ca5b3d7f

la variable $post[postid] no la reconoce.


No se si exista otro camino como para que el boton aparezca en el mensaje.
si alguien puede ayudarme se lo agradeceria.
saludos!
 
No entendi, en que parte lo querés poner? Al crear un tema? o enviar mensajes a todos tus usuarios?
 
que aparezca en el mensaje... como en el que estoy escribiendo en este momento:

que aparezca el boton aqui:

[boton]
 
Creo que escribiendo el código en el cuerpo del mensaje nunca te funcionará.

¿Por qué no pruebas a hacerlo modificando la plantilla postbit_legacy?

Si quieres probar busca lo siguiente:
PHP:
<!-- message -->
  <div id="post_message_$post[postid]">
   $ad_location[ad_showthread_firstpost_start]
   $post[message]
  </div>
y justo a continuación añade esto:
PHP:
<if condition="in_array($GLOBALS[forumid],array(x,y))">
<a href="post_thanks.php?$session[sessionurl]do=post_thanks_add&amp;p=$post[postid]&amp;securitytoken=$bbuserinfo[securitytoken]" id="post_thanks_button_$post[postid]"<if condition="$vboptions[disable_ajax] != 2"> onclick="return post_thanks_give($post[postid], <if condition="$vboptions[post_groan_integrate]">true<else />false</if>);"</if> <if condition="$display_thanks_image == 'none'">style="display:none"</if> rel="nofollow"><img src="$stylevar[imgdir_button]/post_thanks.gif" alt="$vbphrase[post_thanks_thanks]" border="0" /></a>
</if>
En esta linea <if condition="in_array($GLOBALS[forumid],array(x,y))"> cambia "x" e "y" por las id de los foros donde quieras que aparezca el boton. Si por ejemplo quieres que aparezca en los foros con id 4, 8, 10 y 12 debe poner
PHP:
array(4,8,10,12)
 
Muchas gracias.. me funciono pero tengo otro inconveniente... lo que pasa es que aparece en todos los mensajes del Thread.

y busque la opcion del hack:
Enabling this will make this hack work for only the first post of a thread. Do want this enabled? This will go for your whole forum. ---> YES
Es decir que solo aparezca en el primer post.

Pero aun asi me sigue apareciendo en todos los mensajes..

Un gran saludo.

Listo! solucionado:

Corregi la sentencia if, asi:
<if condition="in_array($GLOBALS[forumid],array(6)) AND $post[postcount]==1">

Gracias mcloud, una vez mas solucionandome un problema..

saludos!

Pregunta 1) mcloud, se puede hacer para que cuando se aprete el boton, envez de desaparecer que aparezca un mensaje X ??

Pregunta 2) se puede hacer para que aparezca en los Thread que solo tengan un prefijo X? abria que agregar otro AND en la sentencia
<if condition="in_array($GLOBALS[forumid],array(6)) AND $post[postcount]==1">

o lo otro seria que al elejir cualquier prefijo que aparezca el boton, si no se selecciono ningun prefijo entonces que no aparezca... es decir que solo aparezca cuando se escoja un prefijo en el thread

saludos..
 
estoy intentando agregandole esto al
Insertar CODE, HTML o PHP:
<if condition="in_array($GLOBALS[forumid],array(6)) AND $post[postcount]==1">


Insertar CODE, HTML o PHP:
$prefixid<>$vbphrase[no_prefix_meta]

quedando asi:

Insertar CODE, HTML o PHP:
<if condition="in_array($GLOBALS[forumid],array(6)) AND $post[postcount]==1 AND $prefixid<>$vbphrase[no_prefix_meta]">

donde $vbphrase[no_prefix_meta] = (sin prefijo)
pero no me funciona alguien me puede ayudar?
 
Cuando dices que no te funciona, ¿quieres decir que sale siempre o que no sale nunca?
 
usualmente (el 99.9% de las veces) para llamar a un campo de una tabla se hace usando como arreglo el nombre de la tabla, por tanto el $prefixid que mencionas seria $thread[prefixid]

prueba imprimiendolo primero, fijate que te devuelve y recien ahi evalualo en un IF, es una forma simple pero eficas de depurar
 
si me funciona.. y me imprimer el $thread[prefixid]
pero dentro de un IF como seria?

es decir:
Si $thread[prefixid] es DISTINTO de "ningun prefijo" entonces que muestre el boton.

Insertar CODE, HTML o PHP:
<if condition="in_array($GLOBALS[forumid],array(6)) AND $post[postcount]==1 AND $thread[prefixid]<>$vbphrase[no_prefix_meta]">
 
PHP:
$thread[prefixid] != ""

PHP:
$thread[prefixid] <> ""
 
Insertar CODE, HTML o PHP:
<if condition="in_array($GLOBALS[forumid],array(6)) AND $post[postcount]==1 AND $thread[prefixid]<>"">

asi?
 
Insertar CODE, HTML o PHP:
<if condition="in_array($GLOBALS[forumid],array(6)) AND $post[postcount]==1 AND $thread[prefixid]<>"">
asi?


ahi dice:
si estoy en un tema del foro con el ID 6
y es el primer mensaje de la primera pagina (no se muestra en otras paginas)
y el tema no tiene ningun prefijo

solo entonces voy a mostrar lo siguiente: (lo que esta dentro de ese IF)
 
me da un error de sintaxis..

Insertar CODE, HTML o PHP:
El siguiente error ocurre cuando se intenta evaluar esta plantilla:
[I]
[B]Parse error[/B]:  syntax error, unexpected T_VARIABLE in [B]/home/pioner/public_html/includes/adminfunctions_template.php(3716) : eval()'d code[/B] on line [B]256[/B]
[/I]
Esto parece ser causado por una declaración condicional malformada. Es altamente recomendable que arregles este error antes de continuar, pero puedes seguir así, si es lo que deseas.
 
como los delimitadores son " (comillas dobles) tienes que usar simplemente la comilla

PHP:
<if condition="in_array($GLOBALS[forumid],array(6)) AND $post[postcount]==1 AND $thread[prefixid]<>''">
ahi hay 2 comillas casi al final, no te confundas


<if condition="in_array($GLOBALS[forumid],array(6)) AND $post[postcount]==1 AND $thread[prefixid]<>''">
 
Perfecto!! me funciono todo Ok. Gracias a Jhonnyf y mcloud !!

Una ultima pregunta.. no se podra hacer que cuando se aprete el boton "post thanks" envez de desaparecer, que aparezca un mensaje como: Agradesiste. o cualquier mensaje?.

Insertar CODE, HTML o PHP:
<a href="post_thanks.php?$session[sessionurl]do=post_thanks_add&amp;p=$post[postid]&amp;securitytoken=$bbuserinfo[securitytoken]" id="post_thanks_button_$post[postid]"<if condition="$vboptions[disable_ajax] != 2"> onclick="return post_thanks_give($post[postid], <if condition="$vboptions[post_groan_integrate]">true<else />false</if>);"</if> <if condition="$display_thanks_image == 'none'">style="display:none"</if> rel="nofollow"><img src="$stylevar[imgdir_button]/confirm.jpg" alt="$vbphrase[post_thanks_thanks]" border="0" /></a>

supongo que aqui hay que cambiar algo ???
 
donde debes cambiar es en la funcion que reescribe el html de ese boton luego de recibir la respuesta del AJAX
 
Podria usar onclick y agregar que aparesca una ventana diciendo que agradesiste.
 
Atrás
Arriba