Le site des utilisateurs francophones de FluxBB.
Vous n'êtes pas identifié(e).
Pages : 1
Bonjour à toutes et à tous,
Jeune dompteur de fluxbb depuis quelques jours. J'ai décidé de modifier le mod fluxsolved fluxsolved
Pour aller plus loin, et permettre d'apporter une vraie réponse à une problématique souvent rencontrée (excusez le terme, se palucher plusieurs pages d'un forum pour trouver une solution c'est moyen, surtout quand c'est 15874523e page).
Je me suis mis en tête justement de répondre à cette problématique, la finalité du fork (on peut l'appeler comme ça je pense ?) et qu'une fois le créature (ou l'admin) du post àa trouvé sa solution dans les réponses qui lui ont été apportées, il clique sur le bouton 'marqué comme solution' cela l'améne donc à la page de validation de la solution, où, il a sous les yeux sa question ainsi que la solution qu'il a jugé juste.
S'il valide, le sujet est clôturé avec un titre modifié comme [Résolu], son post est mis à jour pour ajouter une mention :
Jean-Raoul a trouvé la solution sur le post #35 (avec un petit lien qui va bien).
et c'est tout.
Par contre s'il ne valide pas la solution... bah il revient aux posts (logique).
Voici la liste des étapes (grand débutant en coding php, mais avec quelques connaissances en mysql)
Installer le mod originel - OK fait
Modifier le fichier viewtopic.php pour ajouter le bouton 'marqué comme solution' quand on est le créateur ou un admin - OK fait
Amener l’utilisateur a relire sa question et la réponse sélectionnée - OK mais à moitié
Clôturer le sujet - OK fait
Plus précisément, je bloque sur le point 3, je récupère bien le message de la solution, mais celui-ci est brut, RAW, le bbcode apparait encore.
Je souhaiterai respecter la mise en forme à travers le bbcode, que dois-je faire exactement ? y a t-il une fonction qui me permettrait de faire cela ?
Bien à vous.
Nikos
Hors ligne
Salut
Il faut utiliser la fonction parse_message pour transformer bbcode en html
Bouh !
StarShip Renaissance
Hors ligne
Bonjour,
Dépassé par PascL. 
Pour « voir » comment cela est effectué, une voie de recherche est de regarder dans le source d'une page viewtopic l'affichage des messages, où on peut voir, par exemple que chaque affichage d'un message utilise la classe :
<div class="postmsg">ensuite, on va voir dans viewtopic.php où est utilisée cette classe :
<div class="postmsg">
<?php echo $cur_post['message']."\n" ?>on continue en cherchant comment est traité $cur_post['message'] avant d'être affiché et on tombe sur :
// Perform the main parsing of the message (BBCode, smilies, censor words etc)
$cur_post['message'] = parse_message($cur_post['message'], $cur_post['hide_smilies']);Donc, comme l'a écrit PascL, il faut utiliser la fonction parse_message()
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
Merci Messieurs pour ces informations fortes utiles.
Je vais pouvoir avancer correctement. N'étant un chef de php, puis-je compter sur votre assistance pour évaluer mon travail pour m'assurer qu'il n'y ait pas de failles dans le code ?
Merci encore une fois.
Hors ligne
J'avance,
J'avance,
Mais à cette heure tardive les idées ne sont plus très claires....
Voici ma petite question. Quand le créateur valide une réponse, je souhaiterai mettre à jour le premier post du topic, je ne sais pas s'il existe une fonction qui permet de récupérer automatiquement l'id du premier post, donc en l’occurrence, je me suis créé ma propre requête :
$first_pid = $db->query('SELECT id FROM '.$db->prefix.'posts WHERE topic_id='.$tid.' order by id asc limit 1') or error('Unable to fetch topic info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($first_pid))
message($lang_common['Bad request']);
$cur_first_pid = $db->fetch_assoc($first_pid);Donc si j'ai bien tout suivi et tout compris : $tid correspond à l'id de mon topic que je peux afficher. par contre ma requête semble fonctionner... mais lorsque je tente de faire un
echo($cur_first_pid['id']Je n'obtiens rien, j'avoue être beaucoup perdu.
Est-il possible d'afficher la requête avant qu'elle soit envoyer au moteur de DB quand elle va être traité par fluxbb ?
Cordialement,
Nikos
Dernière modification par Nikos (18-09-2013 00:41:51)
Hors ligne
La requête elle-même semble bonne… (note : mais je suppose qu'elle n'est pas complète, ce que tu veux c'est pas juste l'id, mais le post…).
En ce qui concerne :
Est-il possible d'afficher la requête avant qu'elle soit envoyer au moteur de DB quand elle va être traité par fluxbb ?
Tu peux toujours remplacer les :
$db->query('SELECT etc…');par des
$query='SELECT etc…';et donc pouvoir faire un
echo $query;avant de lancer la requête en question :
$db-query($query);Ça permet effectivement de vérifier que la requête est valide…
Hors ligne
Salut Nikos,
Pour obtenir l'ID du premier message d'un topic:
$result = $db->query('SELECT first_post_id FROM '.$db->prefix.'topics WHERE id='.$tid) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
message($lang_common['Bad request']);
$id = $db->result($result);Hors ligne
Merci pour vos réponses,
Je vois pour intégrer vos différents codes
Nikos
Hors ligne
J'avance bien.
A votre avis,les url pour les posts sont basées sur les paramétrages du nombre de posts affichés par page. Est-il possible de régénérer automatiquement le bbcode d'un lien en fonction de ces paramètres. Où est-il possible d'afficher un post unique ?
Merci à vous
Hors ligne
Pages : 1