Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 12-11-2007 10:43:55

Bismut
Membre

Simple Spoiler 0.1

Auteur : Raphael Rigaud

Simple Spoiler est un Mod ajoutant des balises BBCode [spoiler][/spoiler].
Il se veut très léger et très simple à installer.
Il est de plus facilement personnalisable grâce aux CSS.

Il ne contient pas (encore ?) de modifications pour ajouter un bouton à la PuntoolBar.

Je l'ai créé car je trouvais la méthode de Punres.org qui consiste à utiliser "jquery.js" assez lourde par rapport au besoin.
Je m'en suis néanmoins inspiré, ainsi que du Mod Spoiler jadis sous IPB 1.3.

C'est mon premier Mod public pour PunBB, soyez indulgents wink

A NOTER : Une seule balise [spoiler] possible par Post, sinon tout ce qui se trouve entre vos 2 balises sera inclus dans un seul spoiler, partant du 1er [spoiler] au dernier [/spoiler].

Télécharger

Un petit Screenshot du Mod :

7f4321983d1aad4f2883f6a66db64tt.jpg

Dernière modification par Bismut (12-11-2007 10:47:42)

Hors ligne

#2 12-11-2007 11:21:41

Fly
Membre

Re : Simple Spoiler 0.1

C'est ce que je cherchais, mais j'attendrai une nouvelle version pour mettre plusieurs spoiler dans un post.

Hors ligne

#3 15-11-2007 12:21:33

norisknimo
Membre

Hors ligne

#4 25-02-2009 19:57:50

hein
Membre

Re : Simple Spoiler 0.1

Le fait qu'un seul spoiler est pris en compte est plus gênant qu'il n'y parait en vérité car mes test montrent un petit bug qui risque d'être courant pour les utilisateurs de cette mod: il suffit simplement qu'un mec "cite" un message avec un spoiler à l'intérieur et le bas de la page (heureusement pas tout le forum) ne reconnait plus le style du forum, comme si finalement le spoiler utilise un style non terminé (enfin je me comprend siffle ).

Exemple de texte pouvant faire ce que je dis:

[quote=steve2206][sp]coucou[/sp][/quote]
[sp]coucou[/sp]

En effet, le balise de terminaison de la citation /quote n'est pas prises en compte normalement.

Hors ligne

#5 25-02-2009 20:05:23

hein
Membre

Re : Simple Spoiler 0.1

Rectification, dans un tel cas, c'est carrément tout le style "juste après le spoiler" qui part en sucette, dont les messages suivant le message avec le spoiler!
Comme je l'ai dit, ça fait ça QUE sur la page où se trouve le spoiler, logique.

Hors ligne

#6 25-02-2009 20:34:01

hein
Membre

Re : Simple Spoiler 0.1

perso j'utilise une autre mod spoiler mais qui donne un aspect moyen du spoiler, mais qui a l'avantage de marcher. Voici une page qui pourra certainement aider à l'amélioration de cette mod, il s'agit de la page "parse_spoiler.php" se trouvant dans include, pour laquelle on ajoute @include_once 'parse_spoiler.php'; à la ligne 29 (juste après exit; ) du fichier parser.php:

le forum ne veut pas afficher mon code, même entre des balises code. Je vais trouver une astuce. En tous cas, cette mod n'est pas terminée pour moi. hmm

Dernière modification par hein (25-02-2009 20:35:15)

Hors ligne

#7 26-02-2009 08:16:57

hein
Membre

Re : Simple Spoiler 0.1

J'ai eu beau cherché je n'ai pas trouvé de solution, par contre une idée l'est venue à l'esprit: si on contournait la problème?
Si on ouvrait post.php et qu'on lui demandait de remplacer les balise spoiler des citations des messages par un espace blanc ou par un texte genre "il y avait un spoiler ici" (pour ceux qui sont gêné que dans la citation le spoiler ne serait plus cacher...).

Est-ce possible? Comment?

Dernière modification par hein (26-02-2009 08:27:27)

Hors ligne

#8 26-02-2009 08:58:20

hein
Membre

Re : Simple Spoiler 0.1

Rectification, il me semble qu'il faut plutôt cherche du côté de parser.php (je sais pas, j'y comprend rien mais je cherche...), vers la ligne 207 pour moi où se trouve
if ($q3_start < min($q_end, $c_start, $c_end, $s_start, $s_end)).

Faudrait faire un truc genre If spoiler dans quote, alors [spoiler] devient "coucou". J'ai cherché mais je galère.

Dernière modification par hein (26-02-2009 08:59:13)

Hors ligne

#9 26-02-2009 09:47:57

hein
Membre

Re : Simple Spoiler 0.1

Désolé de faire un monologue mais j'avance petit à petit et j'espère qu'avec tout ce que je découvre au fur et à mesure, quelqu'un pourra achever ce que j'ai commencé.

Donc pour contourner le problème (supprimer les spoilers dans la citation) je suis revenu au point de départ, à savoir modifier le code d'origine celui qu'on nous demande d'insérer dans parser.php du read-me)

J'ai changé ceci:

// Spoiler Mod : BEGIN
    $obj=md5(microtime());
    $pattern[] = "/\[spoiler\]([\s\S]*)\[\/spoiler\]/i";
    $replace[] = '<div class="spoilertop" onClick="openClose(\''.$obj.'\')" style="padding-left: 20px;"><strong>[Spoiler]</strong></div><div class="spoilermain" id="'.$obj.'" style="display:none">$1 <strong>[/Spoiler]</strong></div>';
    // Spoiler Mod : END

Par ceci:

    $obj=md5(microtime());
    $pattern[] = "/\[sp\]([\s\S]*)\[\/sp\]/i";
    if ( ($q_end < $s_start) && ($s_start < $q_start) )
    $replace[] = '<div class="spoilertop" onClick="openClose(\''.$obj.'\')" style="padding-left: 20px;"></div><div class="spoilermain" id="'.$obj.'" style="display:none">$1 </div>';
    else
    $replace[] = '<div>$1 </div>';

Ca fonctionne mais trop ou pas assez: soit je laisse comme ça et les spoiler ne marchent plus (sauf pour le style qui reste cassé), soit je modifie $1 par un espace vide et tout ce qui est dans le spoiler ne s'affiche plus. hmm
En vrai le problème c'est que je ne sais pas comment isoler les spoiler qui ne doivent pas être pris en compte: soit ils y sont tous, soit il n'y sont plus, et je voudrai faire disparaitre QUE ceux de la citation.

Là j'ai vraiment besoin d'aide.

Hors ligne

#10 28-02-2009 01:45:41

Mpok
Néo Admin

Re : Simple Spoiler 0.1

L'idée initiale était bonne :

hein a écrit :

Faudrait faire un truc genre If spoiler dans quote, alors [spoiler] devient "coucou".

Il faut (à mon avis) reprendre le premier code ci-dessus (// Spoiler Mod etc...), et juste ajouter 2 lignes "$pattern[] = " et "replace[] = " AVANT celles déjà présentes pour traiter le cas "à l'intérieur de quote" (on supprimerait ainsi la balise spoiler, et son contenu pour être logique, dans ce cas, et le remplacement suivant n'aurait pas lieu).
Comme les remplacements ont lieu dans l'ordre (des tableaux pattern et replace), il faut que ce traitement des spoilers soient placés avant le traitement de quote.

Reste à trouver la syntaxe de l'expression régulière qui va bien (spoiler dans quote) ... wink

Hors ligne

Pied de page des forums