Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Bonjour, bonjour,
Je travaille actuellement sur la mod Easy Poll (qui permet de faire de créer des sondages) histoire de la rendre valide xhtml 1.0 strict, plus accessible (plus de <h2>, youpi !!) et... hum, disons : essayer de faire quelle soit un peu moins "à l'arrache".
Et dans tout ça, y a deux fichiers qui m'oripilent à un point... viewpoll.php et poll.php. Ce sont les mêmes fichiers que viewtopic.php et post.php mais avec quelques trucs rajouté pour le sondage.
Donc pour l'instant je m'attelle à faire rentrer viewpoll.php dans viewtopic.php. Ce qui est chose faites, cependant... Hum, j'ai une question auquel je ne sais répondre.
Voilà ce que je suis obligé de faire :
// Fetch some info about the topic
if (!$pun_user['is_guest'])
$result = $db->query('SELECT t.subject, t.closed, t.num_replies, t.sticky, t.question, t.yes, t.no, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, s.user_id AS is_subscribed FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'subscriptions AS s ON (t.id=s.topic_id AND s.user_id='.$pun_user['id'].') LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id='.$id.' AND t.question!=\'\' AND t.moved_to IS NULL') or error('Impossible de retrouver les informations de la discussion', __FILE__, __LINE__, $db->error());
else
$result = $db->query('SELECT t.subject, t.closed, t.num_replies, t.sticky, t.question, t.yes, t.no, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id='.$id.' AND t.question!=\'\' AND t.moved_to IS NULL') or error('Impossible de retrouver les informations de la discussion', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
{
if (!$pun_user['is_guest'])
$result = $db->query('SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, s.user_id AS is_subscribed FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'subscriptions AS s ON (t.id=s.topic_id AND s.user_id='.$pun_user['id'].') LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id='.$id.' AND t.moved_to IS NULL') or error('Impossible de retrouver les informations de la discussion', __FILE__, __LINE__, $db->error());
else
$result = $db->query('SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id='.$id.' AND t.moved_to IS NULL') or error('Impossible de retrouver les informations de la discussion', __FILE__, __LINE__, $db->error());
}En gros, on commence par faire les calculs dans la BDD, comme si c'était un sondage.
Si c'est pas un sondage, bah on refait les calculs. (par dessus les autres)
Si c'est un sondage bah on continue.
Et donc je me demandais si ce n'était pas un peu... long et lourd de faire tout ces calculs. Disons que si quelqu'un a étudié la question^^
A la fois, pour l'instant, je ne vois pas comment faire autrement... disons sans trop tout chambouler^^
Voilà, merci à ceux qui pourront m'aider 
Hors ligne
Dans la requête qui test si c'est un sondage, dans la clause Where, il y a :
AND t.question!=\'\'Et donc, ce petit test supprime tout ce qui n'est pas sondage, d'ailleurs si tu l'enlèves tu te retrouves quasiment avec la requête qui regarde si la discution existe, à la différence près qu'il manque dans le select :
t.question, t.yes, t.no,Qui sélectionnes le sondage.
Donc en faisant un mix des 2, suppresion du premier bout de code de la requête qui sélectionne les sondages (ou ajout du 2ème bout de code à la requête qui sélectionne la discution - ce qui revient au même)
Tu sélectionnes ainsi la discution, et pour savoir si c'est un sondage, dès que tu as le résultat dans : $result
Suffit de faire une condition (qui remplace la requête initial du sondage) :
if($result['question'] != '')
<sondage>
else
<pas sondage>
J'espère que je suis assez clair
Pas testé, mais je pense que ca doit fonctionner si je dis pas de betise
Hors ligne
ça marche impec !!
Je n'avais pas pensé à ça et c'est bien mieux ! 
A priori, il n'y a pas de raisons que cela bug...
Enfin cela dit, si vous voulez béta-tester : C'est par ici !(c'est un forum de tests, les invités peuvent participer^^)
Bon, bah ce Easy Poll risque d'être un peu moins orripilant 
Dernière modification par BN (25-08-2006 11:51:47)
Hors ligne
Dans la version de base, il y a des viewtopic.php qui s'affichent là où ça devrait etre des viewpoll.php (derniers messages, lien de redirection en cas de déplacement du sondage). Fusionner les 2 fichiers c'est sans doute la meilleure solution. J'aurais dû penser y penser 
Le html produit par easypoll est pas génial donc ce n'est pas du luxe de le corriger.
BN, tu as prévu de publier tes modifs ?
Hors ligne
Oui, oui, j'ai prévu de les publier^^ Mais avant j'aimerais finir de faire rentrer poll.php dans post.php. (et voir s'il n'est pas possible de ne faire fonctionner cette mod que sur certain forum, paramétrable via l'interface d'administration. Mais c'est pas sûr ça^^)
Sinon, je n'ai pas compris le début de ton message...
Hors ligne
je voulais simplement dire que les principaux bugs de easypoll sont liés au fait que les sondages sont affichés par viewpoll.php et les topics "normaux" par viewtopic.php.
Plutot de mettre des "if (sondage){....} else {}" un peu partout pour savoir quel est le lien vers le topic/sondage, ta solution de faire disparaitre le fichier viewpoll.php me semble plus sûre.
Ce qu'il manque à easypoll également, c'est la possibilité d'éditer les sondages.
Dernière modification par tvcircus (25-08-2006 14:24:23)
Hors ligne
Ah d'accord.
Oui, c'est vrai pour l'édition des sondages. (à la fois... je ne crois pas avoir vu un système de sondage sur d'autre forum qui permet de les éditer. Me trompe-je
) Je regarderai ça aussi alors...
Hors ligne
une bonne chose cette (future) mise à jour, cette mod en as vraiment besoin, bonne initiative 
Hors ligne
Tu va sortir une nouvelle version ou ce sera une mod avec un nouveau nom ?
Par contre, perso, je prefère poll.php pour poster un sondage, comme ça sur un Forum, il y a les deux liens (nouvelle discussion et nouveau sondage), c'est plus simple je trouve 
Il faudrait peut-être aussi prévoir, dans l'administration, d'autoriser les membres de poster un sondage dans un forum ou non... 
Tu penses terminer quand ? 
Bonne initiative en tout cas ! 
Dernière modification par romain9441 (25-08-2006 17:07:32)
Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?
Pas de support si pas d'adresse de forum !
Hors ligne
Uhuh... Bon si vous pouviez éviter de rajouter des trucs à modifier 
Tu va sortir une nouvelle version ou ce sera une mod avec un nouveau nom ?
Heu, bah s'y a pas de copyright (chai pas comment ça marche) je me disais que ça pourrait être une nouvelle version : Easy Poll + 
Tu penses terminer quand ?
La bonne blague c'est que je rentre en prépa l'année prochaine. Donc en gros, si je finis pas avant le 4 septembre, bah...
Et vu que je ne fais pas que ça de mes journées, uhuh !
Par contre, perso, je prefère poll.php pour poster un sondage, comme ça sur un Forum, il y a les deux liens (nouvelle discussion et nouveau sondage), c'est plus simple je trouve smile
Comme je le conçois, y aura toujours les 2 liens. Mais celui du sondage sera de type : [c]post.php?id=chaipasquoi&type=poll[/c] C'est pas trop à la sauce PunBB, mais je préfère ça à 2 fichiers... Mais reste à voir si c'est possible sans tout chambouler. (ce qui, à première vue, n'est pas le cas
)
Il faudrait peut-être aussi prévoir, dans l'administration, d'autoriser les membres de poster un sondage dans un forum ou non...
C'est déjà le cas à l'origine, il me semble. Si un membre n'est pas autorisé à écrire dans un forum, il ne peut pas non plus voter. (cela dit, ça n'affiche pas les résultats du vote mais le formulaire. Ce qui est débile, vu qu'une page plus loin ça marque "Vous ne pouvez pas voter") Donc à améliorer.
Mais tu entends pas la que tu voudrais que dans le panneau d'administration où on choisit ce qu'on le droit de faire les membres y ait :
- Lire le forum
- Écrire des réponses
- Lancer des discussions
- Participer aux sondages
? C'est ça ?
Perso, je pars du principe que si on autorise un groupe à "écrire des réponses", on l'autorise à "participer aux sondages". Et si on l'autorise pas...
Mais peut-être n'était-ce pas cela que tu voulais dire...
Merci aux béta-testeurs ! (qui n'ont à priori pas détecter de nouveaux bugs...)
Hors ligne
Mais tu entends pas la que tu voudrais que dans le panneau d'administration où on choisit ce qu'on le droit de faire les membres y ait :
- Lire le forum
- Écrire des réponses
- Lancer des discussions
- Participer aux sondages
? C'est ça ?
Oui, je ne pensais pas vraiment ça mais c'est pas mal cette idée, je pensais mettre lancer des sondages. 
Mais participer aux sondages, c'est pas mal non plus ! 
Aller, je t'embète plus pour que tu puisses terminer tranquille 
Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?
Pas de support si pas d'adresse de forum !
Hors ligne
Lancer des sondages et y participer, c'est différent en fait 
Parce qu'on peut participer à un forum sans avoir le droit d'en lancer... (par contre, il semble peu logique qu'on est le droit d'en lancer, sans avoir le droit d'y participer, uhuh
) En fait je pense que "Lancer" c'est mieux... Parce que "participer" il est déjà compris dans "écrire des réponses". (enfin, je trouve^^)
Donc, si un groupe n'a pas le droit de lancer de sondage, il n'a tout simplement pas le lien "Nouveau sondage" sur le forum en question.
ça me semble correct ainsi... on va tester ça^^
Dernière modification par BN (26-08-2006 12:47:40)
Hors ligne
Participer aussi, je pense ça pas mal mais bon ... 
Car d'origine les invités ne peuvent pas y participer 
Il y a aussi un truc qui m'intrigue, un personne qui n'a pas voté ne peux voir les résultats, ce qui, je trouve est dommage ! 
Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?
Pas de support si pas d'adresse de forum !
Hors ligne
Participer aussi, je pense ça pas mal mais bon ... siffle
Car d'origine les invités ne peuvent pas y participer tongue
ça fait rajouter 1 entrée dans 2 tables, c'est pas top... Surtout que bon, voter c'est chouette, mais si on peut pas dire pourquoi on a voté ça... disons que ça sert pas à grand chose, non ? 
J'ai finit les trucs des droits en tout cas. ça rajoute une partie "Lancer un sondage" dans l'administration des forums. (et comme ça, si des personnes veulent que leur forum ne soit fait qu'en sondage, éh bien ils peuvent !!!
)
Il y a aussi un truc qui m'intrigue, un personne qui n'a pas voté ne peux voir les résultats, ce qui, je trouve est dommage !
Bah y a le vote blanc... mais on peut plus voter après. On triche si on regarde les résultats avant de voter, non ? (si on veut vraiment, y suffit de se déconnecter... Mais est-ce vraiment utile ?)
Je vais essayer de voir pour éditer les sondages maintenant... (quoi que la flemme attitude me prend un peu là
)
Dernière modification par BN (26-08-2006 14:12:47)
Hors ligne
ça fait rajouter 1 entrée dans 2 tables, c'est pas top... Surtout que bon, voter c'est chouette, mais si on peut pas dire pourquoi on a voté ça... disons que ça sert pas à grand chose, non ?
Mouais ...Bah y a le vote blanc... mais on peut plus voter après. On triche si on regarde les résultats avant de voter, non ? (si on veut vraiment, y suffit de se déconnecter... Mais est-ce vraiment utile ?)
Moi, j'trouve ça pas mal, surtout que cette fonction existe sur IPB et PhpBBJe vais essayer de voir pour éditer les sondages maintenant... (quoi que la flemme attitude me prend un peu là
)
Cool
Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?
Pas de support si pas d'adresse de forum !
Hors ligne
Salut
Désolé d'apporter une demande supplémentaire, mais elle me semble intéressante et doit être toute simple à mettre en œuvre. 
Serait-il possible de prévoir une entrée supplémentaire dans les résultats, pour permettre au créateur du sondage d'un placer un commentaire qui ne serait vu qu'avec les résultats. Ce serait utile pour les sondages type quiz où il est impératif de donner la réponse après le vote.
Merci… 
@+
Hors ligne
Salut falconflyz,
dans un sondage, il n'y a pas de bonnes et de mauvaises réponses, il n'y a que des opinions.
Pour ce que tu souhaites faire, à mon avis il faudrait une mod "quizz" qui sera assez différente de easypoll (il faut calculer un score, ajouter un champ pour stocker la bonne réponse à chaque question, permettre aux membre de refaire le même quizz s'ils le souhaitent, etc...)
Je ne pense donc pas que ce soit une bonne idée d'intégrer ça à easypoll.
Hors ligne
Salut tvcircus
Entièrement d'accord avec ton analyse. J'ignore si une mod "quizz" peut intéresser quelqu'un. Perso je n'ai pas du tout les connaissances suffisantes pour la créer, en fait au départ je ne suis qu'un utilisateur lambda d'une série de forums, qui a pris goût à punBB et qui essaye d'y contribuer en apportant mes remarques et suggestions.
C'est donc bien conscient de la différence entre sondage et quizz que j'ai fait ma proposition, sachant qu'elle ne permettrait pas de transformer idéalement cette mod pour des quizz, mais qu'elle en permettrait quand même son utilisation à l'occasion, voire que pour un sondage, elle donnerait la possibilité à son créateur de placer un commentaire (toujours modifiable) lisible uniquement quand un membre a voté. C'est une fonctionnalité que je souhaiterais avoir sur certains forums.
Cordialement. 
Hors ligne
EDIT : Probs résolu
Dernière modification par BN (29-08-2006 21:33:42)
Hors ligne
elle donnerait la possibilité à son créateur de placer un commentaire (toujours modifiable) lisible uniquement quand un membre a voté. C'est une fonctionnalité que je souhaiterais avoir sur certains forums.
Salut à tous
La faculté que la créateur du sondage puisse mettre une ligne de commentaire qui ne soit visible que par les membres ayant voté me semble bien intéressante. Perso je souhaiterais qu'elle soit prévue dans la prochaine mod si toutefois son créateur le veut bien... 
@+++
Hors ligne
Cette option n'est normalement pas prévu pour la version qui va sortir, peut-être dans la prochaine... 
Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?
Pas de support si pas d'adresse de forum !
Hors ligne
Bonjour, tu as une idéee de la date prévue pour la sortie de la nouvelle version ?
* impatient *
Hors ligne
La version est fini, enfin presque, si tu veux un exemple, elle est installée sur mon forum :
http://boardfun.free.fr
Mais comme BN à repris ses études, je ne peux pas d'indiquer la date de sortie, et je ne peux pas me permettre de la distribuer même si j'ai les backups chez moi car je n'en suis pas l'auteur 
Cordialement,
Romain
Dernière modification par romain9441 (05-09-2006 18:27:16)
Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?
Pas de support si pas d'adresse de forum !
Hors ligne
Je ne la distribuerais pas car je n'en suis pas l'auteur, j'ai juste contribuer à quelques petits trucs... 
Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?
Pas de support si pas d'adresse de forum !
Hors ligne
Installe l'autre version, mais tu auras des problèmes sur les derniers messages et ton forum ne sera plus valide 
Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?
Pas de support si pas d'adresse de forum !
Hors ligne