Ocultar resultados de una encuesta

  • Autor Autor imported_katxan
  • Fecha de inicio Fecha de inicio
I

imported_katxan

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
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.
 
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.
 
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.
 
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.
 
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...
 
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.
 
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.
 
¿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?
 
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.
 
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 :
 
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.
 
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.
 
Atrás
Arriba