[Xenforo] Gérer la notice de votre shoutbox depuis un topic.

Kévin 🚀

Administrateur
Administrateur
Inscription
18 Décembre 2012
Messages
4 815
Réactions
5 500
Points
27 882
Bonjour à tous :membre: ,

On se retrouve pour un nouveau tutoriel toujours sur Xenforo.
Ce tutoriel aura pour but de permettre de gérer la notice de votre shoutbox depuis un topic.

Ceci permet donc d'éviter de mettre soit même le BBCode.

/!\ Ce tutoriel ne fonctionne qu'avec l'extension TaigaChat /!\

secpa.png


Le tutoriel ce fera en deux courtes étapes.
- Première étape : Création du topic.
- Deuxième étape : Modification du fichier de l'extension TaigaChat.

secpa.png


Pour pourvoir réaliser ce tutoriel il vous faudra :
- Les accès aux dossiers de l'extension TaigaChat.

C'est parti :D

secpa.png


Première étape : Création du topic.

Pour cela il est préférable de créer le topic dans une section où les membres lambda ne peuvent pas voir ce topic.

Personnellement j'ai créé une section Outils et je l'ai mis dedans, bien sûr des permissions sont à mettre pour éviter que les membres voient cette section.

Vous appelez le topic comme vous voulez personnellement je l'ai appelé Notice Shoutbox.

Voilà il vous reste plus qu'à prendre l'id du topic (l'id ce trouve dans l'url du topic) et de la garder on en aura besoin pour la suite.

secpa.png

Deuxième étape : Modification de l'extension.

Pour ce faire il faudra aller dans votre FTP et aller dans le dossier Library => Dark => TaigaChat => ControllerPublic => TaigaChat.php

Ouvrez le fichier TaigaChat.php et allez à ligne 33.

Vous avez normalement ce code :
PHP:
$bbCodeParser = new XenForo_BbCode_Parser(XenForo_BbCode_Formatter_Base::create('Base'));
$motd = new XenForo_BbCode_TextWrapper($options->dark_taigachat_motd, $bbCodeParser);

Vous remplacer ce code par celui ci :
PHP:
$bbCodeParser = new XenForo_BbCode_Parser(XenForo_BbCode_Formatter_Base::create('Base'));
$db = XenForo_Application::get('db');
$threadId = Id du sujet;
$reqNotice = $db->prepare('SELECT message FROM xf_post WHERE thread_id= ? ORDER by post_id DESC LIMIT 1');
$reqNotice->execute([$threadId]);
$dataNotice = $reqNotice->fetch();
$this->message = $dataNotice['message'];
$motd = new XenForo_BbCode_TextWrapper($this->message, $bbCodeParser);

N'oubliez pas de mettre l'id de votre topic dans la requête sql ;)
Sauvegardez le fichier, et allez voir votre shoutbox et vous verrez le message présent dans le topic.

secpa.png


J'espère que ce tutoriel vous aura plus.
Si vous avez des problèmes n'hésitez a laisser un commentaire
A bientôt pour de prochain tutoriel ;)

La reproduction de ce tutoriel sur d'autre forum n'est pas autorisé.
Faragnight SEC
 
Dernière édition:

Rivals

Ancien staff
Inscription
27 Août 2016
Messages
1 705
Réactions
895
Points
13 104
PHP:
$reqNotice = $db->prepare('SELECT message FROM xf_post WHERE thread_id=Id_du_topic ORDER by post_id DESC LIMIT 1');
$reqNotice->execute();
tu mérites des fessés pour ceci

On dirait @Snake's qui passe ses variables directement dans sa requête (:d:), tu utilises des requêtes préparées c'est pour les "préparer" D:


PHP:
$reqNotice = $db->prepare('SELECT message FROM xf_post WHERE thread_id= ? ORDER by post_id DESC LIMIT 1');
$reqNotice->execute([$threadId]);
 

Kévin 🚀

Administrateur
Administrateur
Inscription
18 Décembre 2012
Messages
4 815
Réactions
5 500
Points
27 882
PHP:
$reqNotice = $db->prepare('SELECT message FROM xf_post WHERE thread_id=Id_du_topic ORDER by post_id DESC LIMIT 1');
$reqNotice->execute();
tu mérites des fessés pour ceci

On dirait @Snake's qui passe ses variables directement dans sa requête (:d:), tu utilises des requêtes préparées c'est pour les "préparer" D:


PHP:
$reqNotice = $db->prepare('SELECT message FROM xf_post WHERE thread_id= ? ORDER by post_id DESC LIMIT 1');
$reqNotice->execute([$threadId]);
Merci :hug:
 

Gueckoz SEC

Assistant
Inscription
27 Janvier 2012
Messages
8 116
Réactions
2 942
Points
29 370
Fara', j'ai suivi ton tuto et mit l'id du topic, mais on dirait que ça veut pas fonctionner. D:

Faut mettre lien du topic avec l'id ou seulement l'id ?
 
Haut