Connectix Boards
Bienvenue, vous n'êtes pas connecté. ( Se connecter - S'enregistrer )
Dernière version sortie: 0.8.4!
Venez tester la version 1.0 beta
Connectix Boards > Vous et votre forum Connectix Boards > Support > [Doc] Utiliser les BBCodes de CB sur son site
| Ishimaru Chiaki | #1 18/07/2010 - 08h09 |
|
Groupe : Doc-rédacteur Hors ligne Site Web |
Si vous utilisez un forum Connectix Boards et que vous voulez utiliser les BBCodes du forum sur votre site, voici comment l'implémenter.
Prérequis Tout d'abord, vous devez avoir lu cette page de documentation sur l'initialisation pour utiliser le moteur de CB sur votre site, et appliqué les modifications. Cette étape est donc essentielle pour la suite. Utilisation des BBCodes de CB sur son site Votre site est initialisé, vous pouvez maintenant commencer à utiliser les fonctions relatives aux BBCodes, voire même intégrer un formulaire, pour la rédaction de vos pages statiques. Fonctions à utiliser CB dispose de deux fonctions essentielles pour le parsage et le "déparsage" du BBCode dans les données entrantes et à l'édition. clean() : Parse le BBCode du message vers du HTML. À utiliser pour les données entrantes unclean() : A l'inverse, re-parse le HTML en BBCode, pour l'édition ou la citation Mise en place Il faudra travailler sur les trois fichiers relatifs à vos champs :
Fichier de traitement Pour chaque donnée sous forme de texte, vous utilisez la fonction clean() de cette façon, au moment où vous sécurisez vos variables avant de les entrer : $ma_variable = clean($_POST['ma_variable']);Selon le contexte, vous avez plusieurs paramètres que vous pouvez utiliser : - STR_MULTILINE : À utiliser si vous traitez des données multilignes - STR_PARSEBB : À utiliser si vous voulez utiliser du BBCode dans un champ - STR_TODISPLAY : Paramètre à utiliser dans le cas où vous voulez afficher le contenu plutôt que l'insérer (ex: prévisualisation des messages) Exemple d'utilisation d'un paramètre : $ma_variable = clean($_POST['ma_variable'],STR_MULTILINE);Vous pouvez aussi en utiliser plusieurs, en les séparant par des +, comme ceci : $ma_variable = clean($_POST['ma_variable'],STR_MULTILINE + STR_PARSEBB);Fichier d'édition Pour chaque donnée sous forme de texte à éditer et qui a été traité avec clean(), il faudra utiliser unclean() et cette fois, c'est pas mal plus simple, puisqu'au moment de traiter les variables fraîchement sorties avant leur affichage, vous faites comme ceci : $ma_variable = unclean($donnees['ma_variable']);Fichier d'affichage Puisque clean() utilise déjà une protection contre les entités HTML (faille XSS), vous n'avez donc pas besoin d'appliquer de htmlspecialchars() ou de htmlentities(). Vous affichez donc tout simplement votre variable telle quelle : $donnees['ma_variable']Utiliser le formulaire Si vous voulez intégrer le formulaire des BBCodes pour la rédaction de vos pages statiques, je fais cette partie pour ceux qui désirent le faire. À inclure avant tout Puisque le formulaire des BBCodes utilise du Javascript, il est dont essentiel d'inclure la librairie des javascripts de CB pour que les boutons BBCodes soient utilisables. Pour notre formulaire, nous aurons besoin de lier deux fichiers .js à l'en-tête du site, en modifiant le chemin selon la page du formulaire. <script type="text/javascript" src="votrechemin/include/javascripts/cb_base.js"></script>Si votre site se trouve dans un dossier situé à côté du dossier racine du forum, vous devrez faire comme ceci : <script type="text/javascript" src="../forum/include/javascripts/cb_base.js"></script>...en remplaçant /forum/ par le nom du dossier racine (ex: /cb/) s'il est différent. Mise en place du formulaire En supposant que vous n'utilisez pas de système de templates sur votre site, ce qui est mon cas, voici le code à insérer (en include ou non) juste avant l'élément <textarea> où vous voulez que le script agisse : <!-- Module formulaire BBCode -->La variable $field_id correspond à l'identifiant du champ à traiter. Afin d'en faciliter la gestion, déclarez cette variable avant le code des boutons, puis placez cette variable dans l'id et le name du champ. Exemple d'application : <?phpDéjà, vos boutons sont normalement fonctionnels, à condition bien sûr que vous ayez autorisé les scripts de la page (avis aux Noscript-users). Les smileys Votre formulaire est fonctionnel, mais vous n'avez pas vos smileys, puisque le script cherche les smileys à partir du dossier où se trouve votre page de rédaction. Pour les avoir, vous devrez donc copier tout le dossier /smileys/ avec son contenu dans le dossier de chacune des pages de rédaction ou de publication où les smileys s'afficheront. Voilà, il ne vous reste plus qu'à mettre en forme ce formulaire avec un peu de CSS pour mieux l'intégrer à la charte graphique de votre site. ![]() Document rédigé par Ishimaru Chiaki.
Ce message a été édité par Martin le 27/07/2010 à 09h39.
Besoin de volontaires pour les tests du support IPv6 dans la future version 0.8.5 !
Plus d'informations ici Mon fil Twitter |
| dixy | #2 18/07/2010 - 20h14 |
|
Groupe : Modérateur Hors ligne Site Web |
Non ce paramètre ne protège pas contre les injections SQL. Il sert si tu veux afficher les données au lieu de les insérer dans la base de données. BrightMarks : gérer vos notes scolaires |
| Ishimaru Chiaki | #3 18/07/2010 - 21h42 |
|
Groupe : Doc-rédacteur Hors ligne Site Web |
Merci, je corrige ça !
Besoin de volontaires pour les tests du support IPv6 dans la future version 0.8.5 !
Plus d'informations ici Mon fil Twitter |
| Martin | #4 19/07/2010 - 22h40 |
|
Groupe : Administrateur Hors ligne Site Web |
Waw, bien vu, merci!
Dans la version 1.0, l'insertion de formulaires de gestion de messages sera nettement simplifiées par l'utilisation des templates |
| haoxi | #5 22/07/2010 - 18h56 |
|
Groupe : Nouveau Hors ligne |
Salut,
Alors déjà merci beaucoup de m'avoir fait ce tuto aussi vite aussi complet et aussi facile a utiliser FÉLICITATION a toi ![]() Tout marche correctement juste tu a oublier un " Et oui le code ne marchais pas puis en voulant changer le textarea j'ai vue que a ta dernière ligne : <textarea name="<?php echo $field_id; ?>" id="<?php echo $field_id; ?> cols="30" rows="10"></textarea>Il te manquais un guillmet Juste avant ton cols Rajoute le sur ton post ^^.Merci encore bonne continuation, Haoxi,
Ce message a été édité par haoxi le 22/07/2010 à 18h57.
|
| Ishimaru Chiaki | #6 23/07/2010 - 03h30 |
|
Groupe : Doc-rédacteur Hors ligne Site Web |
Merci, je corrige !
Besoin de volontaires pour les tests du support IPv6 dans la future version 0.8.5 !
Plus d'informations ici Mon fil Twitter |
| Jeff | #7 23/07/2010 - 09h48 |
|
Groupe : Habitué Hors ligne |
Ca c'est du boulot.
![]() Clap ! Clap ! ![]() Ishi tu es la reine |
| finalbob | #8 26/07/2010 - 13h16 |
|
Groupe : Modérateur Hors ligne Site Web |
yep !
|
| Martin | #9 27/07/2010 - 09h43 |
|
Groupe : Administrateur Hors ligne Site Web |
Connectix Boards > Vous et votre forum Connectix Boards > Support > [Doc] Utiliser les BBCodes de CB sur son site
> Informations du forum
1 personne(s) présente(s) durant une période de 15 minutes (0 membre(s) et 1 invité(s)).
Powered by Connectix Boards 0.8.4 © 2005-2012 (7 queries, 0.131 sec)
BrightMarks


Juste avant ton cols
Rajoute le sur ton post ^^.