Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Bouh !
StarShip Renaissance
Hors ligne
Quelques explications :
Cette mod permet de donner la possibilité aux membres de donner des notes de 1 à 10 aux sujets de vos forums (dans un système équivalent à ce qui est en place sur o*ame, je sais pas si j'ai le droit de donner le nom du site alors je censure
)
Pour cela, un champ est ajouté dans les tables forums et groups, et une nouvelle table evaluate est créée.
Au niveau visuel, une option supplémentaire fait son apparition dans l'administration des forums pour activer ou pas les notes pour chaque forum. Il y a également une option supplémentaire dans l'administration des groupes pour choisir quels groupes peuvent noter (les invités ne peuvent pas noter). Les notes sont réprésentées par des petites images '+' et '-', qui sont visibles sur les pages de forums (une nouvelle colonne entre le nombre de vues et les infos du dernier message) et de sujets (en haut et bas de page, près du titre du sujet). Le nombre de votes et la moyenne des notes sont dans les attributs alt et title de chaque image. Le formulaire de notation s'affiche en bas des sujets (ou au-dessus de la réponse rapide si celle-ci est activée). Une fois qu'un membre a noté un sujet, il ne peut plus le renoter.
Pourquoi cette mod ? Ce que je souhaitais au départ, c'était de pouvoir noter les sujets, mais pas partout, seulement sur un forum, et de limiter le système de notation à certains groupes de membres. J'ai trouvé 2 mods de notations sur punres mais ni l'une ni l'autre ne correspondait à ce que je souhaitais. Alors, plutôt que d'essayer d'adapter, j'ai fait ma propre mod
Après l'installation, il faudra aller activer la mod pour chaque forum souhaité et chaque groupe souhaité. Il n'y pas de page de plugins pour cette mod.
Et pour finir, des images :
les nouveautés des pages d'administration forum...
...et d'administration groupes
la nouvelle colonne dans la vue de la liste des sujets d'un forum :
le formulaire de notation :
PS : je n'ai testé que sous mysql, je ne suis pas certain des syntaxes pour les autres BDD. Donc si quelqu'un peut confirmer qu'elles fonctionnent ou apporter les corrections qui s'imposent... 
Bouh !
StarShip Renaissance
Hors ligne
Très bonne idée ce système.
Concernant le nom du site, tu peux bien mettre un lien puisque c'est une source d'inspiration
On n'a pas vraiment de problème avec ce genre de chose, ça n'est pas de la pub à proprement parler...
Enfin, une petite remarque de ma part. c'est un point de détail, mais bon. Quand il s'agit de noter quelque chose sur le web, on a souvent le choix de noter entre 1 et 10 ou 1 et 5. Je suis souvent assez énervé de ne pouvoir mettre qu'un 1 à un item qui, selon moi, mériterait 0. Dans ton système, tu as prévu un système graphique avec des sigles clairs, ce qui contrebalance bien.
Mais bon, par principe, je pense qu'il serait plus sympa de pouvoir donner un zéro pointé à un sujet 
(s) MT
ex-Apupv
:faq: :recherche:
Gra.
Hors ligne
Vraiment excellent ! Bravo à toi, je vais tester sous peu ! 
M@x.
...
Hors ligne
Ca m'a l'air très sympa.
Seulement une question, est-ce qu'un membre peut noter deux fois un sujet ?
Si oui, il faudrait enregistrer une information dans la base de données sur le champ de l'utilisateur enregistrant les sujets que le membre a noté.
Mais dans ce cas-là, il faut modifier le système de suppression d'un sujet, en ajoutant une requête retirant le sujet noté dans le champ de l'utilisateur.
Je ne sais pas si tu m'as suivis. 
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
MT : passer de 0 à 10, peut-être pour une future version si d'autres personnes y tiennent vraiment.
De toute façon, ce n'est pas long à modifier soi-même : ajouter le bouton dans le formulaire de viewtopic, modifier une condition dans evaluate.php et ajouter une condition pour afficher un '-' de plus si la moyenne tombe en-dessous de 1 dans viewtopic et viewforum.
Romain : Un membre ne peut noter qu'une seule fois un sujet et les infos sur les membres qui ont noté sont dans la table evaluate et pas users.
Mettre l'info dans users, ça facilite si on souhaite faire la liste des sujets notés par les membres dans leur profil par exemple. J'y avais pas pensé mais ça peut être utile.
Le système de suppression de sujet est déjà modifié : la suppression d'un sujet entraine la suppression des données du sujet concerné dans la table evaluate.
J'ai bien suivi ou pas ? 
Bouh !
StarShip Renaissance
Hors ligne
Bonjour PascL,
j'ai une erreur lorsque je veux affiché le topic qui est:
Erreur : Unable to fetch topic info.
Que l'évaluation soit activé ou non sur le forum. une idée peu être.
J'ai refais les modifs 2 fois et je suis sur un punbb 1.2.15
Hors ligne
Salut srad.
Désolé il y avait un reste d'une autre mod dans le lisez_moi.
Au point 57, il faut que tu enlèves fp.post_polls des 2 requêtes, ce qui donne :
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.evaluate_active, f.moderators, fp.post_replies, s.user_id AS is_subscribed, e.voters, e.votes FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'evaluate AS e ON t.id=e.t_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('Unable to fetch topic info', __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.evaluate_active, f.moderators, fp.post_replies, e.voters, e.votes FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'evaluate AS e ON t.id=e.t_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('Unable to fetch topic info', __FILE__, __LINE__, $db->error());Et j'ai réuppé le fichier corrigé.
Dernière modification par PascL (26-09-2007 18:07:06)
Bouh !
StarShip Renaissance
Hors ligne
Oui tu as tout suivis, très bon boulot tout ça ! 
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
Impec je n'est plus de plantage 
Par contre je n'ai pas la colone ni la barre de notation... 
Dernière modification par srad (26-09-2007 19:10:57)
Hors ligne
Je ne vois pas d'appel au fichier evaluate.php nul part, normale?
Hors ligne
Si tu as fait toutes les modifs du lisez-moi, ça devrait passer...
Vide le cache de ton navigateur, supprime les fichiers cache_qqchose.php du dossier cache de ton forum, déconnecte/reconnecte-toi, vérifie que c'est bien activé dans les options d'administration
L'appel à evaluate.php ne se fait que dans la barre de notation, donc si tu vois pas la barre, tu vois pas l'appel 
Bouh !
StarShip Renaissance
Hors ligne
ok je fais ce que tu me dis je te tiens au courant 
Hors ligne
Bon j'ai la barre de notation qui s'affiche 
Mais je n'ai pas la colone 
Je ne pige pas je peux t'envoyé mes fichiers quelque part pour voir mes modifs...
Car je suis à 4 fois les modifs et puis voilà...
Je pense que c'est le viewforum.php qui déconne, mais je ne vois pas où.
Merci
Hors ligne
Oui tu peux m'envoyer, mon mail est dans le lisez-moi de la mod.
Si tu vois pas la colonne, c'est un problème dans viewforum, ou dans base.css et ton_style_cs.css (oublie pas de faire les modifs dans tous les styles si t'en as plusieurs).
----------
En fait j'ai trouvé où est le problème.
J'ai zappé une modif du viewforum dans le lisez-moi.
trouver ligne 42 :
$result = $db->query('SELECT f.forum_name, f.redirect_url, f.moderators, f.num_topics, f.sort_by, fp.post_topics FROM '.$db->prefix.'forums AS f 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 f.id='.$id) or error('Unable to fetch forum info', __FILE__, __LINE__, $db->error());
à remplacer par :
$result = $db->query('SELECT f.forum_name, f.redirect_url, f.moderators, f.num_topics, f.sort_by, f.evaluate_active, fp.post_topics FROM '.$db->prefix.'forums AS f 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 f.id='.$id) or error('Unable to fetch forum info', __FILE__, __LINE__, $db->error());J'ai déjà corrigé le fichier en ligne.
Dernière modification par PascL (26-09-2007 21:53:03)
Bouh !
StarShip Renaissance
Hors ligne
En effet avec cette modif c'est nettement mieu 
Merci à toi
Hors ligne
Super cette mod
Merci PascL
j'ai même réussi à la faire marcher du premier coup
A+
Gargoyle
Dernière modification par gargoyle (01-10-2007 11:53:50)
Hors ligne
Super cette mod
Merci PascL
j'ai même réussi à la faire marcher du premier coupA+
Gargoyle
On a l'impression que tu as du mal avec l'installation de mods ! 
M@x.
...
Hors ligne
ca dépend des fois mais j'arrive de mieux en mieux faut dire que c'est nouveaux pour moi alors j'apprend sur le tas alors le temps de comprendre comment marche punbb
mais j'y arrive c'est pour cela que je sollicite souvent votre aide
mais punnb c'est vraiment bien au moins on apprend c'est mieux que d'avoir un truc tout fait
A+
Gargoyle
Hors ligne
En faisant attention aux modifs qui concernent les mêmes lignes (admin_forum, viewforum, viewtopic), cela devrait être compatible.
* vais tester et reviendrai plus tard pour confirmer * 
EDIT :
Testé et donc oui la mod est compatible avec sous-forum.
Comme dit précédemment, plusieurs requêtes communes sont à modifier, donc attention à ne coller que les morceaux de code nécessaires.
Il faut également faire attention aux modifs dans viewtopic : le 60 et 62 du lisez-moi de cette mod correspondent aux 72 et 74 du lisez-moi de sous-forum. Les modifs à ce niveau-là en intégrant les 2 mods ensemble donnent :
if($cur_topic['parent_forum'])
echo "\t\t".'<ul><li><a href="index.php">'.$lang_common['Index'].'</a> </li><li>» <a href="viewforum.php?id='.$cur_topic['parent_forum_id'].'">'.pun_htmlspecialchars($cur_topic['parent_forum']).'</a> </li><li>» <a href="viewforum.php?id='.$cur_topic['forum_id'].'">'.pun_htmlspecialchars($cur_topic['forum_name']).'</a> </li><li>» '.pun_htmlspecialchars($cur_topic['subject']).'</li>';
else
echo "\t\t".'<ul><li><a href="index.php">'.$lang_common['Index'].'</a></li><li> » <a href="viewforum.php?id='.$cur_topic['forum_id'].'">'.pun_htmlspecialchars($cur_topic['forum_name']).'</a></li><li> » '.pun_htmlspecialchars($cur_topic['subject']).'</li>';
if($evaluate_is_active)
echo '<li>'.$eval.'</li>';
?>
</ul>Les autres modifs à faire ne se chevauchent pas donc ça ne devrait poser problèmes à aucun des utilisateurs des 2 mods pour l'installation 
Dernière modification par PascL (10-10-2007 00:18:32)
Bouh !
StarShip Renaissance
Hors ligne
y'aurai moyen de rajouter une page pour rassembler les topics qui ont les meilleurs notes et les plus mauvaises notes ?
Hors ligne
Oui c'est possible. Je suis en train de travailler sur une nouvelle version, donc j'ajouterai cela 
Bouh !
StarShip Renaissance
Hors ligne
Ok merci mais je viens de me rendre compte d'un gros problème d'incompatibilité entre ce mod et le mod sondage.
En effet bien quil n'y a aucun probleme a première vu et qu'on peux bien créer des sondages c'est au moment de valider qu'on ce rend compte que le sondage ne s'affiche plus (mais j'ai bien fait attention a garder les lignes correspondant aux sondages "Polls".
Pourrai tu me dire la modif a faire pour qu'on puisse quand meme créer un sondage qd l'evaluation est activé ?
Hors ligne