Ocultar resultados de una encuesta

imported_katxan Seguir

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
5 Ene 2010
Mensajes
40
Pues creo que el título lo dice todo. Necesito ocultar los resultados de una encuesta a todos los usuarios. No la encuesta en sí, ya que necesito que sea rellenada, pero no quiero que nadie pueda ver las respuestas de otros usuarios, salvo yo (el admin)

También me serviría si el resultado estuviese oculto hasta que el usuario rellena a su vez la encuesta, que lo muestre después de hacerlo no me supone ningún problema.

A ver si podeis echarme una mano con este asunto, gracias.
 

Andrés Durán

Xi
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
23 Abr 2009
Mensajes
4.371
Hola katxan.

Puedes resolverlo editando lo siguiente en las plantillas:

Busca en la plantilla 'polloptions_table' este código:

HTML:
                <a class="textcontrol" href="poll.php?{vb:raw session.sessionurl}do=showresults&amp;pollid={vb:raw pollinfo.pollid}">{vb:rawphrase view_poll_results}</a>
Reemplázalo por:

HTML:
<vb:if condition="$bbuserinfo['userid'] == 9999">
                <a class="textcontrol" href="poll.php?{vb:raw session.sessionurl}do=showresults&amp;pollid={vb:raw pollinfo.pollid}">{vb:rawphrase view_poll_results}</a>
</vb:if>
En donde 9999 es el ID de tu usuario.

Edita la plantilla 'pollresults_table' y agrega al inicio:

HTML:
<vb:if condition="$bbuserinfo['userid'] == 9999 OR $option['uservote']">
En donde 9999 es el ID de tu usuario.

Y agrega al final:

HTML:
</vb:if>
Me dices si es eso lo que buscabas. ;)

Saludos.
 

imported_katxan

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
5 Ene 2010
Mensajes
40
Hola, muchas gracias por la respuesta, pero me temo que no es lo que necesito, creo que no me he explicado con total claridad.

Lo que necesito es ocultar el resultado de UNA sola encuesta a TODOS los usuarios de mi página.
Quizás explicando para qué lo necesito se comprenda mejor:

Uno de mis anunciantes quiere hacer un sorteo en mi página entre los usuarios, pero para ello requiere que los participantes respondan correctamente a tres preguntas. Entonces la idea es crear un hilo con una encuesta que contenga las tres preguntas y tres posibles respuestas para cada una de ellas.

El sorteo se realizaría entre los usuarios del foro que hubieran contestado correctamente a esas preguntas. Así pues, necesito que nadie pueda ver las respuestas de los que hayan participado antes.

Creo que ahora sí queda más claro lo que preciso.

Según entiendo, el sistema que me propones lo que haría sería ocultar el resultado de TODAS las encuestas de TODOS los foros, no de una sola específica. Aun así, gracias por el intento y por tu tiempo, la culpa fue mía por no concretar más.
 

AnD34

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
29 Abr 2008
Mensajes
508
Pero la opción que te ha dado puede ser perfectamente válida si la usas mientras dure el concurso, cuando termine la desactivas y listo.
 

Sihaya

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Ene 2010
Mensajes
684
No debería ser necesario editar plantillas para hacer algo tan simple como esto que tienen hasta los servicios de foros gratuitos...

¿No habrá algún mod que lo gestione? Me parece raro que no haya otra opción...
 

imported_katxan

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
5 Ene 2010
Mensajes
40
Pero la opción que te ha dado puede ser perfectamente válida si la usas mientras dure el concurso, cuando termine la desactivas y listo.

Va a ser un concurso "permanente". Es decir, cada concurso durará X días y luego será inmediatamente reemplazado por otro concurso con otros premios y así indefinidamente.

De todos modos creo que al final voy a renunciar a éste método y simplemente pondré un formulario a rellenar por los participantes y listo.
 

Andrés Durán

Xi
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
23 Abr 2009
Mensajes
4.371
Ese código es para que solamente katxan pueda ver los resultados en su encuesta, más nada. Para que los resultados no se vean hasta que finalice la encuesta tendrías que hacer la misma modificación, y el día en que concluya la encuesta revertir los cambios hechos a las plantillas.
 

Sihaya

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Ene 2010
Mensajes
684
¿Y habría alguna forma de hacer que los resultados se vean después de haber votado y no antes? (Excepto los administradores que los deberían poder ver siempre?
 

Andrés Durán

Xi
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
23 Abr 2009
Mensajes
4.371
Para ese caso, sería algo como esto:

Busca en la plantilla 'polloptions_table' este código:

HTML:
                <a class="textcontrol" href="poll.php?{vb:raw session.sessionurl}do=showresults&amp;pollid={vb:raw pollinfo.pollid}">{vb:rawphrase view_poll_results}</a>

Reemplaza por:

HTML:
<vb:if condition="is_member_of($bbuserinfo, 1,2,3)">
                <a class="textcontrol" href="poll.php?{vb:raw session.sessionurl}do=showresults&amp;pollid={vb:raw pollinfo.pollid}">{vb:rawphrase view_poll_results}</a>
</vb:if>

En donde 1,2,3 serán los grupos de usuarios con permisos de administradores.

Edita la plantilla 'pollresults_table' y agrega al inicio:

HTML:
<vb:if condition="is_member_of($bbuserinfo, 1,2,3) OR $option['uservote']">

En donde 1,2,3 serán los grupos de usuarios con permisos de administradores Y $option['uservote'] la variable que indica que el usuario ya ha votado en la encuesta.

Y agrega al final:

HTML:
</vb:if>

Saludos.
 

Sihaya

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Ene 2010
Mensajes
684
No funciona >.<, cuando un admin vota no hay ningún problema, pero cuando lo hace un usuario, se le queda la página en blanco y a mí me llega un correo de error:


Database error in vBulletin 4.0.3:

Invalid SQL:

UPDATE nr_session
SET lastactivity = 1272195384, location = 'misitio/admin/template.php?s=&group=all&do=modify&expandset=5', badlocation = 0
WHERE sessionhash = '5d67e25e434d9ba34b31d2a430922048';

MySQL Error : MySQL server has gone away
Error Number : 2006
Request Date : Sunday, April 25th 2010 @ 06:36:24 AM
Error Date : Sunday, April 25th 2010 @ 06:39:33 AM
Script : http://www.misitio/admin/template.php?s=&group=all&do=modify&expandset=5
Referrer : http://www.misitio/admintemplate.ph...+1,2,3)+OR+$option['uservote']">&titlesonly=0
IP Address : mi ip
Username : mi user
Classname : mi db
MySQL Version :
 

imported_katxan

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
5 Ene 2010
Mensajes
40
Yo finalmente opté por la solución de poner un formulario que se adapta mejor a mi necesidad concreta, pero considero que el hilo puede ser útil para quienes necesiten ocultar los resultados por el motivo que sea y agradezco mucho todas las sugerencias de los que están investigando y proponiendo posibles soluciones.
 

Sihaya

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Ene 2010
Mensajes
684
Sí, yo la verdad, prefiero que por defecto no se vean los resultados hasta que se vota, a ver si Andrés pasa por aquí y nos ayuda ^^.

Me sorprendió mucho que esta opción no exista de serie ni haya ningún hack para ello... A mí me parece algo muy básico. Quizá les haga una sugerencia sobre esto a los de vbulletin XD.
 
Arriba