Problème avec WYSIBB

joris1904

joris1904 Le 22 mai 2016 à 10:19 (Édité le 25 janvier 2019 à 17:51)

Bonjour j'ai un petit problème avec l'éditeur de texte. Il fonctionne quand je veux écrire mon sujet mais pour afficher le code c'est plus du tous la même choses il me met le BBCODE en brut sur le site 


Mon code en espérant que vous pouvez m'aidez : topic.php
<?php
session_start();
require('php/config.php');
require('php/functions.php');
require('php/functions_forum.php');
require_once('JBBCode/Parser.php');
?>
    <!DOCTYPE HTML>

    <html>
    <head>
        <title>Forum | Joris Vidéo</title>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <!-- Balise Meta-->
        <meta name = "reply-to" content = "joris1904@jorisvideo.fr"/>
        <meta name = "author" content = "Joris Vidéo"/>
        <meta name = "keywords" content = "Accueil,Joris,Vidéo,TUTO"/>
        <meta name = "description" content = "Accueil de mon site Joris Vidéo"/>
        <!--[if lte IE 8]><script src="assets/js/ie/html5shiv.js"></script><![endif]-->
        <link rel="stylesheet" href="assets/css/main.css" />
        <!--[if lte IE 8]><link rel="stylesheet" href="assets/css/ie8.css" /><![endif]-->
        <link rel="stylesheet" href="assets/css/wbbtheme.css">
        <!-- Scripts -->
        <script src="assets/js/jquery.min.js"></script>
        <script src="assets/js/jquery.dropotron.min.js"></script>
        <script src="assets/js/skel.min.js"></script>
        <script src="assets/js/skel-viewport.min.js"></script>
        <script src="assets/js/util.js"></script>
        <!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
        <script src="assets/js/main.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
        <script src="assets/js/jquery.wysibb.min.js"></script>
        <script src="assets/js/jquery.wysibb.fr.js"></script>
        <script>
            $(function() {
                var optionsWbb = {
                    buttons: "bold,italic,underline,|,justifyleft,|,justifycenter,|,justifyright,|,fontcolor,|,img,|,link,|,code,quote,|,video",
                    lang: "fr",
                    allButtons: {
                        monbouton: {
                            title: 'Bouton Custom',
                            buttonText: 'MON BOUTON',
                            transform: {
                                '<div class="maclasscustom">{SELTEXT}</div>':'[monbouton]{SELTEXT}[/monbouton]'
                            }
                        }
                    }
                }
                $("#wysibb").wysibb(optionsWbb);
            })
        </script>
    </head>
    <body class="homepage">
    <div id="page-wrapper">

        <!-- Header -->
        <div id="header-wrapper" class="wrapper">
            <div id="header">

                <!-- Logo -->
                <div id="logo">
                    <h1><a href="index.php">Accueil</a></h1>
                    <p>Version 2.0</p>
                    <a href="https://twitter.com/VideoJoris" class="icon style2 fa-twitter"></a>
                          <a href="https://www.facebook.com/Joris-vid%C3%A9o-490160817861239/"class="icon style2 fa-facebook"></a>
                          <a class="icon fa-youtube" href="https://www.youtube.com/channel/UCA74g6_ra_TosdG33jVgHmA"></a>

                         <a href="mailto:joris1904@jorisvideo.fr"class="icon style2 fa-envelope-o"></a>
                         <script src="https://apis.google.com/js/platform.js"></script>
                    <div class="g-ytsubscribe" data-channelid="UCA74g6_ra_TosdG33jVgHmA" data-layout="default" data-count="default"></div>
                    <br>
                         <img src="http://steamsignature.com/status/french/76561198093206459.png" alt="" title="" /></a><a href='steam://friends/add/76561198093206459'><img src='http://steamsignature.com/AddFriend.png'></a>

                </div>

                <!-- Nav -->
                <nav id="nav">
                    <ul>
                        <li class="current"><a href="index.php">Accueil</a></li>
                        <li>
                            <a href="#">Vidéo</a>
                            <ul>
                                <li>
                                    <a href="#">Tuto</a>
                                    <ul>
                                        <li><a href="derniertuto.php">Dernier Tuto</a></li>
                                        <li><a href="tutounbuntu.php">Ubuntu</a></li>
                                        <li><a href="tutowindows.php">Windows</a></li>
                                        <li><a href="tutosoon.php">Tuto à venir</a></li>
                                    </ul>
                                </li>
                                <li><a href="#">Gameplay a venir</a></li>
                                <li>
                                    <a href="#">Concours</a>
                                    <ul>
                                        <li><a href="#">Actif</a></li>
                                        <li><a href="#">Résultat</a></li>
                                    </ul>
                                </li>
                                <li><a href="#">Musique à venir</a></li>
                            </ul>
                        </li>
                        <li><a href="#">Tuto</a>
                            <ul>
                                <li><a href="derniertuto.php">Dernier Tuto</a></li>
                                <li><a href="tutounbuntu.php">Ubuntu</a></li>
                                <li><a href="tutowindows.php">Windows</a></li>
                                <li><a href="tutosoon.php">Tuto à venir</a></li>
                            </ul>
                        </li>

                        <li><a href="galerie.php">Galerie</a></li>
                        <li><a href="contact.php">Contact</a></li>
                        <li><a href="mesoutenir.php">Me soutenir</a></li>
                    </ul>
                    <ul>
                        <li>
                            <a href="#">Connexion</a>
                            <ul>
                                <?php
                                session_start();
                                //Si le membre est connecté on affiche le menu-connection
                                if(isset($_SESSION['id'])){ ?>
                                    <li id="co"><a href="<?php echo 'profil.php?id='.$_SESSION["id"]; ?>">Profil</a></li>
                                    <li id="co"><a href="deconnexion.php">Deconnexion</a> </li>
                                <?php }

                                //Si le membre n'est pas connecté on affiche le menu-deconnecter
                                if(empty($_SESSION['id'])) { ?>
                                    <li id="log"> <a href="connexion.php">Se connecter</a></li> <li><a href="inscription.php"> Inscription</a></li>
                                <?php } ?>
                            </ul>
                        </li>
                    </ul>
                </nav>

            </div>
        </div>
        <!-- Main -->
        <div class="wrapper style2">
            <div class="title">Forum</div>
            <div id="main" class="container">

                <!-- Features -->
                <section id="features">
                    <header class="style1">
                        <?php
                    if(isset($_GET['titre'],$_GET['id']) AND !empty($_GET['titre']) AND !empty($_GET['id'])) {
    $get_titre = htmlspecialchars($_GET['titre']);
    $get_id = htmlspecialchars($_GET['id']);
    $titre_original = $bdd->prepare('SELECT sujet FROM f_topics WHERE id = ?');
    $titre_original->execute(array($get_id));
    $titre_original = $titre_original->fetch()['sujet'];
    $parser = new JBBCode\Parser();
    $parser->addCodeDefinitionSet(new JBBCode\DefaultCodeDefinitionSet());
    $parser->addBBCode("quote", '<blockquote>{param}</blockquote>');
    $parser->addBBCode("center", '<div align="center">{param}</div>');
    if($get_titre == url_custom_encode($titre_original)) {
        $topic = $bdd->prepare('SELECT * FROM f_topics WHERE id = ?');
        $topic->execute(array($get_id));
        $topic = $topic->fetch();
        if(isset($_POST['topic_reponse_submit'],$_POST['topic_reponse'])) {
            $reponse = htmlspecialchars($_POST['topic_reponse']);
            if(isset($_SESSION['id'])) {
                if(!empty($reponse)) {
                    $ins = $bdd->prepare('INSERT INTO f_messages(id_topic,id_posteur,contenu,date_heure_post) VALUES (?,?,?,NOW())');
                    $ins->execute(array($get_id,$_SESSION['id'],$reponse));
                    $reponse_msg = "Votre réponse a bien été postée";
                    unset($reponse);
                } else {
                    $reponse_msg = "Votre réponse ne peut pas être vide !";
                }
            } else {
                $reponse_msg = "Veuillez vous connecter ou créer un compte pour poster une réponse";
            }
        }
        if(isset($_GET['page']) AND $_GET['page'] > 1) {
            $reponsesParPage = 6;
        } else {
            $reponsesParPage = 5;
        }
        $reponsesTotalesReq = $bdd->prepare('SELECT * FROM f_messages WHERE id_topic = ?');
        $reponsesTotalesReq->execute(array($get_id));
        $reponsesTotales = $reponsesTotalesReq->rowCount();
        $pagesTotales = ceil($reponsesTotales/$reponsesParPage);
        if(isset($_GET['page']) AND !empty($_GET['page']) AND $_GET['page'] > 0 AND $_GET['page'] <= $pagesTotales) {
            $_GET['page'] = intval($_GET['page']);
            $pageCourante = $_GET['page'];
        } else {
            $pageCourante = 1;
        }
        $depart = ($pageCourante-1)*$reponsesParPage;
        $reponses = $bdd->prepare('SELECT * FROM f_messages WHERE id_topic = ? LIMIT '.$depart.','.$reponsesParPage);
        $reponses->execute(array($get_id));
    } else {
        die('Erreur: Le titre ne correspond pas à l\'id');
    }
    require('views/topic.view.php');
} else {
    die('Erreur...');
}
?>
                    </header>
                </section>

            </div>
        </div>

        <!-- Highlights -->
        <div class="wrapper style3">
            <div class="title">Galerie</div>
            <div id="highlights" class="container">
                <div class="row 150%">
                    <div class="4u 12u(mobile)">
                        <section class="highlight">
                            <a href="#" class="image featured"><img src="images/pic16.jpg" alt="" /></a>
                            <h3><a href="galerie.php">PACK 1 à 3</a></h3>
                            <p>Il existe plusieurs pack d'image de manga a télécharger, cliquer sur le bouton pour visualisée les images. Le pack 3 contient le 1er et 2eme pack. </p>
                            <ul class="actions">
                                <li><a href="galerie.php" class="button style1">Pack 3 visualitation</a></li>
                                <li><a href="http://adf.ly/12371291/pack3complet" class="button style1">Pack 3 DL</a></li>
                            </ul>
                        </section>
                    </div>
                    <div class="4u 12u(mobile)">
                        <section class="highlight">
                            <a href="Pack4_5.php" class="image featured"><img src="images/pic13.jpg" alt="" /></a>
                            <h3><a href="Pack4_5.php">Pack 4 à 5</a></h3>
                            <p>Il existe en tous 6 pack d'image de manga à télécharger, cliquer sur le bouton pour visualisée les images. Le pack 5 (contient le pack 4 avec). </p>
                            <ul class="actions">
                                <li><a href="Pack4_5.php" class="button style1">Pack 5 visualisation</a></li>
                                <li><a href="http://adf.ly/12371291/pack5" class="button style1">Pack 5 DL</a></li>

                            </ul>
                        </section>
                    </div>
                    <div class="4u 12u(mobile)">
                        <section class="highlight">
                            <a href="#" class="image featured"><img src="images/pic14.jpg" alt="" /></a>
                            <h3><a href="#">Pack 6 ultra complet</a></h3>
                            <p>Ce pack contient environ 1100 image de manga a télécharger, cliquer sur le bouton pour visualisée les images. Le pack 6 et le pack le plus complet de tous </p>
                            <ul class="actions">
                                <li><a href="Pack6.php" class="button style1">Pack 6 complet </a></li>
                                <li><a href="http://adf.ly/12371291/pack-6-ultra" class="button style1">Pack 6 DL</a></li>
                                <br />
                                <br />
                                * DL = Téléchargement
                            </ul>
                        </section>
                    </div>
                </div>
            </div>
        </div>


        <!-- Footer -->
        <div id="footer-wrapper" class="wrapper">
            <div class="title">Contact</div>
            <div id="footer" class="container">
                <header class="style1">
                    <h2>Vous avez des questions ? Contacter moi </h2>
                </header>
                <hr />
                <div class="row 150%">
                    <div class="6u 12u(mobile)">

                        <!-- Contact Form -->
                        <section>
                            <form method="post" action="mailto:joris1904@jorisvideo.fr">
                                <div class="row 50%">
                                    <div class="6u 12u(mobile)">
                                        <input type="text" name="name" id="contact-name" placeholder="Name" />
                                    </div>
                                    <div class="6u 12u(mobile)">
                                        <input type="text" name="email" id="contact-email" placeholder="Email" />
                                    </div>
                                </div>
                                <div class="row 50%">
                                    <div class="12u">
                                        <textarea name="message" id="contact-message" placeholder="Message" rows="4"></textarea>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="12u">
                                        <ul class="actions">
                                            <li><input type="submit" class="style1" value="Send" /></li>
                                            <li><input type="reset" class="style2" value="Reset" /></li>
                                        </ul>
                                    </div>
                                </div>
                            </form>
                        </section>

                    </div>
                    <div class="6u 12u(mobile)">


                        <!-- Contact -->
                        <section class="feature-list small">
                            <div class="row">
                                <div class="6u 12u(mobile)">
                                    <section>
                                        <h3 class="icon fa-envelope">Email</h3>
                                        <p>
                                            <a href="mailto:joris1904@jorisvideo.fr">joris1904@jorisvideo.fr</a>
                                        </p>
                                    </section>
                                </div>
                                <div class="6u 12u(mobile)">
                                    <section>
                                        <h3 class="icon fa-comment">Lien utiles</h3><p>
                                            <a href="cgu.php">CGU & Politique de confidentialité</a></p>
                                    </section>
                                </div>
                                <div class="6u 12u(mobile)">
                                    <section>
                                        <h3 class="icon fa-comment">Social</h3>
                                        <p>
                                            <a href="https://twitter.com/VideoJoris" class="twitter-follow-button" data-show-count="false">Follow @VideoJoris</a>
                                            <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
                                            <iframe src="https://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FJoris-vid%C3%A9o-490160817861239&width=155&layout=button_count&action=like&show_faces=false&share=true&height=46&appId" width="155" height="46" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
                                            <script src="https://apis.google.com/js/platform.js"></script>
                                        <div class="g-ytsubscribe" data-channelid="UCA74g6_ra_TosdG33jVgHmA" data-layout="default" data-count="default"></div>
                                        </p>

                                    </section>
                                </div>
                            </div>
                        </section>

                    </div>
                </div>
                <hr />
            </div>
            <div id="copyright">
                <ul>
                    <li>© Jorisvidéo</li><li>Design: <a href="http://jorisvideo.fr">Joris vidéo</a></li>
                </ul>
            </div>
        </div>

    </div>

    </body>
    </html>
et pour topic.view :
<table class="forum">
    <tr class="header">
        <th class="sub-info w10">Auteur</th>
        <th class="main center">Sujet: <?= $topic['sujet'] ?></th>
    </tr>
    <?php if($pageCourante == 1) { ?>
        <tr>
            <td><?= get_pseudo($topic['id_createur']) ?></td>
            <td>
                <?php
                $parser->parse($topic['contenu']);
                // Ou plutôt $parser->parse(nl2br($topic['contenu'])); afin de conserver les retours à la ligne !
                echo $parser->getAsHtml();
                ?>
            </td>
        </tr>
    <?php } ?>
    <?php while($r = $reponses->fetch()) { ?>
        <tr>
            <td><?= get_pseudo($r['id_posteur']) ?></td>
            <td><?= $r['contenu'] ?></td>
        </tr>
    <?php } ?>
</table>
<?php
for($i=1;$i<=$pagesTotales;$i++) {
    if($i == $pageCourante) {
        echo $i.' ';
    } else {
        echo '<a href="topic.php?titre='.$get_titre.'&id='.$get_id.'&page='.$i.'">'.$i.'</a> ';
    }
}
?>
<br />
<?php if(isset($_SESSION['id'])) { ?>
    <form method="POST">
        <textarea id="wysibb" placeholder="Votre réponse" name="topic_reponse" style="width:80%"><?php if(isset($reponse)) { echo $reponse; } ?></textarea><br />
        <input type="submit" name="topic_reponse_submit" value="Poster ma réponse"></form>
    </form>
    <?php if(isset($reponse_msg)) { echo $reponse_msg; } ?>
<?php } else { ?>
    <p>Veuillez vous connecter ou créer un compte pour poster une réponse</p>
<?php } ?>
joris1904

joris1904 Le 22 mai 2016 à 15:20

Quelqu'un a une idée ?
PrimFX

PrimFX Le 22 mai 2016 à 15:36

Hmm... Aucune erreur ne s'affiche ? Et peux-tu nous envoyer un petit screen de ce que tu as à l'écran et dans ta base de données pour les messages ? (histoire de voir où du BBCode s'affiche et où autre chose s'affiche 😋)
joris1904

joris1904 Le 22 mai 2016 à 15:53 (Édité le 22 mai 2016 à 15:55)

@PrimFX

ma base de données
https://i.gyazo.com/227e935026547d4fb41271a240ec2808.png
Mon site regarde sur la page par toi même plus simple 😀
http://v2.jorisvideo.fr/topic.php?titre=nightcore&id=6
le pire quand je reprend le code et que je le met en dessous dans l"éditeur sa marche -_-

je n'obtient aucune erreur pour petite info
joris1904

joris1904 Le 22 mai 2016 à 18:32

Même en cherchant sur internet je trouve rien :( quelqu'un a une idée s'il vous plait 😀
Clouder

Clouder Le 23 mai 2016 à 16:41

Tu dois rappeler ta fonction pour parser ton code .. sinon elle ne fera rien 😀

$parser = new JBBCode\Parser();
$parser->addCodeDefinitionSet(new JBBCode\DefaultCodeDefinitionSet());
$parser->addBBCode("quote", '<blockquote>{param}</blockquote>');    
$parser->addBBCode("center", '<div align="center">{param}</div>');

$parser->parse($topic['content']);

echo nl2br($parser->getAsHTML());

Et la tout marchera sur des roulettes 😋
joris1904

joris1904 Le 23 mai 2016 à 21:31

@Clouder même en intégrant sa sa ne change rien -_-'  le code reste toujours le meme
joris1904

joris1904 Le 23 mai 2016 à 21:59

quelqu'un peut me passé sont code pour voir si sa viens de mon code ou autre svp (c'est ma dernière options) 😭
Clouder

Clouder Le 24 mai 2016 à 12:57

@joris1904 Pour ma part j'ai fais comme ça ... peux tu mettre ta page complète de topic.view ?
joris1904

joris1904 Le 24 mai 2016 à 13:03

@Clouder mon code y est déjà je n'ai rien ajouter j'ai suivi le tuto de primfx (bref toute mes page sont affichés un peu plus haut) 
Clouder

Clouder Le 24 mai 2016 à 16:05

@joris1904, pourquoi tu mets getAsHtml en petit ? 

Ça doit être comme ça : 
echo nl2br($parser->getAsHTML());
Avec HTML en MAJ et non pas en minuscule.

Dit moi si c'est ok car ton code fonctionne chez moi en changeant ça. :p
joris1904

joris1904 Le 24 mai 2016 à 19:57 (Édité le 24 mai 2016 à 20:06)

@Clouder sa ne marche toujours pas -_-  je commence a plus savoir quoi faire vous connaissez pas un éditeur du même genre   ?
Clouder

Clouder Le 24 mai 2016 à 20:52

Oui il y a TinyMCE, c'est aussi performant que celui ci.

Mais essaie de revoir ton code genre ce que tu fais c'est juste tu met juste la fonction pour l'appeler et rien d'autre car la tu as mis beaucoup de choses.   
joris1904

joris1904 Le 24 mai 2016 à 21:13

@Clouder oui mais toi sa marche chez toi pourquoi ? (moi sa marche pas o_o)
joris1904

joris1904 Le 24 mai 2016 à 21:32

je comprend plus rien du tous y a un bout de text en gras et bleu dans mes post tous le reste ne fonctionne pas -_-
Clouder

Clouder Le 24 mai 2016 à 22:17

@joris1904, on avance 😄

Bon c'est normal que tu n'es pas le reste car il faut que tu les rajoutes, (la vidéo, centrer le texte, etc.)
joris1904

joris1904 Le 25 mai 2016 à 12:49

Sa ne va rien changé pour info car prenons citer avec quote qui s'affiche toujours quote
Clouder

Clouder Le 25 mai 2016 à 15:33

Oui c'est normal ^^, tu n'as que très peu de chose dans le JBBCode. Regarde dans le fichier en JS tu veras qu'il n'y a que les balises gras, italic, souligner, image et coleur et c'est tout. Le reste c'est toi qui doit les définir ! 😀
joris1904

joris1904 Le 25 mai 2016 à 15:51

Ok je checkerais sa ce soir mais je ne trouve pas celui pour les videos.   -_- 
Clouder

Clouder Le 25 mai 2016 à 17:28

Pour les vidéos c'est simple tu vas sur YouTube et tu prend le lien pour le mettre sur ton site.
Tu auras alors une balise <iframe> à mettre 😋

Tiens bon tu arrives à la fin 😀
joris1904

joris1904 Le 25 mai 2016 à 20:29

xD petit question c'est le quel fichier en JS car la je sais pas 
joris1904

joris1904 Le 25 mai 2016 à 22:38

@Clouder Je viens de mettre les vidéo 😀 😀 😀
$parser->addBBCode("video", '<iframe src="http://www.youtube.com/embed/{SRC}" width="640" height="480" frameborder="0">{param}</iframe>');

je test avec les autres
joris1904

joris1904 Le 26 mai 2016 à 08:01

Donc je vois une vidéo normal jusqu'a la je post une autre video et la j'ai sa [video] urk[/video]  quelqu'un a une solution 

Je rappelle que le lien de la page et plus haut 

Merci d'avance 
Clouder

Clouder Le 26 mai 2016 à 10:54

J'ai regardé sur ton site mais je ne vois pas l'erreur que tu m'as cité :(

Si tu as mis une vidéo YouTube, toute les autres vidéos YouTube devraient marcher !
joris1904

joris1904 Le 26 mai 2016 à 13:12 (Édité le 26 mai 2016 à 13:16)

Tu vois les 2 videos ?  Elle sont tous de YouTube donc je comprends pas trop pourquoi sa ne marche pas. 

Si non @PrimFx dis moi c'est normal que ton Wysiwyg est tous moche sur téléphone ? 

(ligne en décaler ou tous sa)