Le site des utilisateurs francophones de FluxBB.
Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Je voudrait savoir ce que vous en pensez de mon idée afin de rajouter dans la mod EZBBC ou la fluxtoolbar la fonction spoiler afin de cacher du texte si besoin est ? version 1.5.4
donc voici ce que j'ai fait afin de fusionner ezbbc avec la mod de spoiler de Visman
[spolier] test du texte [/spoiler ]
ce qui donne cette capture :
elle est fonctionnelle reste plus cas installer l'image
Fichier affecté :
/lang/[language]/common.php
#---------[ 1. OPEN ]-----------------------------------------------------------
#
/lang/[language]/common.php
#
#---------[ 2. ADD NEW ELEMENT OF ARRAY ]---------------------------------------
#
'Hidden text' => 'Hidden text',
# For Russian
# 'Hidden text' => 'Ñêðûòûé òåêñò',
#
#---------[ 3. SAVE ]-----------------------------------------------------------
#
/lang/[language]/common.php
/include/search_idx.php
#---------[ 4. OPEN ]-----------------------------------------------------------
#
/include/search_idx.php
#
#---------[ 5. FIND ]-----------------------------------------------------------
#
// Remove BBCode
$text = preg_replace('%\[/?(b|u|s|ins|del|em|i|h|colou?r|quote|code|img|url|email|list|topic|post|forum|user)(?:\=[^\]]*)?\]%', ' ', $text);
#
#---------[ 6. REPLACE WITH ]---------------------------------------------------
#
// Remove BBCode
$text = preg_replace('%\[/?(spoiler|b|u|s|ins|del|em|i|h|colou?r|quote|code|img|url|email|list|topic|post|forum|user)(?:\=[^\]]*)?\]%', ' ', $text);
#
#---------[ 7. SAVE ]-----------------------------------------------------------
#
/include/search_idx.php
/include/parser.php
#---------[ 8. OPEN ]-----------------------------------------------------------
#
/include/parser.php
#
#---------[ 9. FIND) ]----------------------------------------------------------
#
if (preg_match('%\[/?(?:quote|code|list|h)\b[^\]]*\]%i', $text))
$errors[] = $lang_profile['Signature quote/code/list/h'];
#
#---------[ 10. REPLACE WITH ]--------------------------------------------------
#
if (preg_match('%\[/?(?:spoiler|quote|code|list|h)\b[^\]]*\]%i', $text))
$errors[] = $lang_profile['Signature quote/code/list/h'];
#
#---------[ 11. FIND ]----------------------------------------------------------
#
// Remove empty tags
while (!is_null($new_text = preg_replace('%\[(b|u|s|ins|del|em|i|h|colou?r|quote|img|url|email|list|topic|post|forum|user)(?:\=[^\]]*)?\]\s*\[/\1\]%', '', $text)))
#
#---------[ 12. REPLACE WITH ]--------------------------------------------------
#
// Remove empty tags
while (!is_null($new_text = preg_replace('%\[(spoiler|b|u|s|ins|del|em|i|h|colou?r|quote|img|url|email|list|topic|post|forum|user)(?:\=[^\]]*)?\]\s*\[/\1\]%', '', $text)))
#
#---------[ 13. FIND ]----------------------------------------------------------
#
// List of all the tags
$tags = array('quote', 'code', 'b', 'i', 'u', 's', 'ins', 'del', 'em', 'color', 'colour', 'url', 'email', 'img', 'list', '*', 'h', 'topic', 'post', 'forum', 'user');
#
#---------[ 14. REPLACE WITH ]--------------------------------------------------
#
// List of all the tags
$tags = array('spoiler', 'quote', 'code', 'b', 'i', 'u', 's', 'ins', 'del', 'em', 'color', 'colour', 'url', 'email', 'img', 'list', '*', 'h', 'topic', 'post', 'forum', 'user');
#
#---------[ 15. FIND ]----------------------------------------------------------
#
// Tags we can nest and the depth they can be nested to
$tags_nested = array('quote' => $pun_config['o_quote_depth'], 'list' => 5, '*' => 5);
#
#---------[ 16. REPLACE WITH ]--------------------------------------------------
#
// Tags we can nest and the depth they can be nested to
$tags_nested = array('quote' => $pun_config['o_quote_depth'], 'list' => 5, '*' => 5, 'spoiler' => 5);
#
#---------[ 17. FIND ]----------------------------------------------------------
#
// Block tags, block tags can only go within another block tag, they cannot be in a normal tag
$tags_block = array('quote', 'code', 'list', 'h', '*');
#
#---------[ 18. REPLACE WITH ]--------------------------------------------------
#
// Block tags, block tags can only go within another block tag, they cannot be in a normal tag
$tags_block = array('quote', 'code', 'list', 'h', '*', 'spoiler');
#
#---------[ 19. FIND ]----------------------------------------------------------
#
if (!$is_signature)
{
#
#---------[ 20. BEFORE, ADD ]---------------------------------------------------
#
if (strpos($text, '[spoiler') !== false)
{
$text = str_replace('[spoiler]', "</p><div class=\"quotebox\" style=\"padding: 0px;\"><div onclick=\"var e,d,c=this.parentNode,a=c.getElementsByTagName('div')[1],b=this.getElementsByTagName('span')[0];if(a.style.display!=''){while(c.parentNode&&(!d||!e||d==e)){e=d;d=(window.getComputedStyle?getComputedStyle(c, null):c.currentStyle)['backgroundColor'];if(d=='transparent'||d=='rgba(0, 0, 0, 0)')d=e;c=c.parentNode;}a.style.display='';a.style.backgroundColor=d;b.innerHTML='▲';}else{a.style.display='none';b.innerHTML='▼';}\" style=\"font-weight: bold; cursor: pointer; font-size: 0.9em;\"><span style=\"padding: 0 5px;\">▼</span>".$lang_common['Hidden text']."</div><div style=\"padding: 6px; margin: 0; display: none;\"><p>", $text);
$text = preg_replace('#\[spoiler=(.*?)\]#s', '</p><div class="quotebox" style="padding: 0px;"><div onclick="var e,d,c=this.parentNode,a=c.getElementsByTagName(\'div\')[1],b=this.getElementsByTagName(\'span\')[0];if(a.style.display!=\'\'){while(c.parentNode&&(!d||!e||d==e)){e=d;d=(window.getComputedStyle?getComputedStyle(c, null):c.currentStyle)[\'backgroundColor\'];if(d==\'transparent\'||d==\'rgba(0, 0, 0, 0)\')d=e;c=c.parentNode;}a.style.display=\'\';a.style.backgroundColor=d;b.innerHTML=\'▲\';}else{a.style.display=\'none\';b.innerHTML=\'▼\';}" style="font-weight: bold; cursor: pointer; font-size: 0.9em;"><span style="padding: 0 5px;">▼</span>$1</div><div style="padding: 6px; margin: 0; display: none;"><p>', $text);
$text = str_replace('[/spoiler]', '</p></div></div><p>', $text);
}
#
#---------[ 21. SAVE ]----------------------------------------------------------
#
/include/parser.php
comme je l'ai dit plus haut elle fonctionne ( sans image ) reste plus que a la placer dans la toolbar de ezbbc a savoir si c'est permis ou une bonne idée avant de pour survire ...
cdlt
Dernière modification par david18 (02-01-2014 21:06:46)
Hors ligne
Bonjour David18,
J'aimerai savoir comment modifié le style de cette balise.
Je pense que cela se passe ici :
if (strpos($text, '[spoiler') !== false)
{
$text = str_replace('[spoiler]', "</p><div class=\"quotebox\" style=\"padding: 0px;\"><div onclick=\"var e,d,c=this.parentNode,a=c.getElementsByTagName('div')[1],b=this.getElementsByTagName('span')[0];if(a.style.display!=''){while(c.parentNode&&(!d||!e||d==e)){e=d;d=(window.getComputedStyle?getComputedStyle(c, null):c.currentStyle)['backgroundColor'];if(d=='transparent'||d=='rgba(0, 0, 0, 0)')d=e;c=c.parentNode;}a.style.display='';a.style.backgroundColor=d;b.innerHTML='▲';}else{a.style.display='none';b.innerHTML='▼';}\" style=\"font-weight: bold; cursor: pointer; font-size: 0.9em;\"><span style=\"padding: 0 5px;\">▼</span>".$lang_common['Hidden text']."</div><div style=\"padding: 6px; margin: 0; display: none;\"><p>", $text);
$text = preg_replace('#\[spoiler=(.*?)\]#s', '</p><div class="quotebox" style="padding: 0px;"><div onclick="var e,d,c=this.parentNode,a=c.getElementsByTagName(\'div\')[1],b=this.getElementsByTagName(\'span\')[0];if(a.style.display!=\'\'){while(c.parentNode&&(!d||!e||d==e)){e=d;d=(window.getComputedStyle?getComputedStyle(c, null):c.currentStyle)[\'backgroundColor\'];if(d==\'transparent\'||d==\'rgba(0, 0, 0, 0)\')d=e;c=c.parentNode;}a.style.display=\'\';a.style.backgroundColor=d;b.innerHTML=\'▲\';}else{a.style.display=\'none\';b.innerHTML=\'▼\';}" style="font-weight: bold; cursor: pointer; font-size: 0.9em;"><span style="padding: 0 5px;">▼</span>$1</div><div style="padding: 6px; margin: 0; display: none;"><p>', $text);
$text = str_replace('[/spoiler]', '</p></div></div><p>', $text);
}
Mais je n'y comprend pas trop.
J'aimerai une balise où il y a marquer "Montrer" puis quand on appuie "Cacher" qui ne fait pas toute la taille de la div mais juste la taille du texte, un bouton quoi et la couleur du spoiler de la même que le bouton bien sur car la c'est noir & blanc .
Merci d'avance
Hors ligne
bonsoir ,
En cherchant sur le .org vous pouvez essayer cette méthode qui a pour but qui met en oeuvre un 'spoiler' étiquette en bbcode qui permet de masquer le texte marqué moins sélectionné avant de faire des changements .
Test : http://www.soundtrackcentral.com/forums … hp?id=7246
Dans include / parser.php:
/ / Tags nous limitons bbcode
$ Tags_limit_bbcode = array (
'*' => Array ('b', 'i', 'u', 's', ......
ajouter «spoiler» pour le tableau '*', et en vertu de cette ajouter une nouvelle ligne qui dit.
'Spoiler' => array ('b', 'i', 'u', 'url', 'sujet', 'post', 'forum'),
Enfin, plus bas autour de la ligne 773 , ajoutez les deux lignes suivantes à leurs sections respectives:
$ Pattern [] = '(.? *)% \ [Spoiler \] \ [/ spoiler \]% ms';
....
Remplacer $ [] '<span title="spoiler: fort class="spoiler" à show"> $ 1 </ span>';
Dans votre feuille de style:
Ajoutez les lignes suivantes:
/ * Définit le texte de spoiler (et les balises dans) de même couleur que la couleur de fond de manière non visible * /
. Calembour. Spoiler,
. Calembour. Spoiler durée,
. Calembour. Spoiler un {
background: # f6f3f3; / * Ceci et l'attribut de couleur ci-dessous doit être identique * /
couleur: # f6f3f3 importante; / * Important besoin de remplacer des balises span avec la couleur explicite des attributs à l'intérieur * /
}
. Calembour. Spoiler {
padding: 0 0,2 em;
}
/ * Afficher spoiler avertissement en avant * /
.. Calembour spoiler: avant {
contenu: "spoiler";
font-style: italic;
}
/ * Définir la couleur du texte pour le texte d'avertissement de spoiler et de spoilers indiqués par javascript * /
.. Calembour spoiler: avant,
. Calembour. Shownspoiler,
. Calembour. Shownspoiler span {
couleur: # 944 importante;
}
/ * Et la couleur spéciale pour les liens indiqués spoiler * /
. Calembour. Shownspoiler un {
couleur: # c11 importante;
}
Dans include / template / main.tpl: (ou ailleurs Javascript s'exécute)
Tout d'abord être sûr que vous avez inclus jQuery. Ensuite, inclure le code suivant quelque part, il se déroulera à la page charge. Par exemple:
<script>
/ / Exécuter sur le document charge
$ (Document). Ready (function () {
/ / Masquer spoiler texte balisé et montrer sur clic
setSpoilerBehavior ();
});
/ / Fonction pour cacher le texte étiqueté [spoiler] (<span class="spoiler">) et afficher sur clic
fonction setSpoilerBehavior () {
. $ ('# Punviewtopic, N ° de punsearch, # punpost') trouvé ('# brdmain de spoiler.) Css (' cursor ',' pointeur ') attr (' title ',' spoiler: cliquez pour afficher ")... cliquez sur (function () {
. $ (This) addClass ('shownspoiler');
. $ (This) css ('cursor', 'default');
});
}
</ Script>
Vous pouvez également envisager de modifier le fichier de help.php d'inclure une explication de l'utilisation de la balise.
Et si ça ne va pas on peut modifier quelque truc
PS ; pas tester
cdlt
Dernière modification par david18 (06-01-2014 20:38:28)
Hors ligne
Ok merci David,
je testerai demain
Hors ligne
Bonsoir David,
un peu tard désolé j'ai été malade comme un chien mais bon.
j'ai trouvé ceci qui est vraiment pas mal mais le problème c'est comment l'adapté ensuite avec Fluxbb ?
http://www.kafeinemarketing.com/collapsing-divs-jquery/
Ce spoiler est vraiment sympa et simple à modifier je trouve.
Amicalement
Hors ligne
Bonjour,
le principal c'est que ça va mieux
il faut faire des tests pour essayer en local mais sa demande pas mal de temps et de plus c'est juste du html et indépendant de fluxbb .
cdlt
Dernière modification par david18 (16-01-2014 14:49:35)
Hors ligne
D'accord,
je ne suis pas assez compétent pour me lancer dans une telle aventure mais si votre second spoiler répond a ce que je demande je prend mais faut il garder les modifications?
Hors ligne
bonsoir ,
Ma première idée était d'inclure la balise spoiler dans la fluxtoolbar que je regarde avec le temps que j'ai peu ensuite essaye la deuxième solution #3 avant essaye la en local afin de bien voir si elle fonctionne !
cdlt
Hors ligne
Je voudrais juste savoir si #3 est un spoiler dépendant du #1 ou pas avant de me lancer dans quelque chose.
Hors ligne
mais ou sinon si j'utilise la technique #5 avec une création de balise de ce topic :
http://fluxbb.fr/forums/viewtopic.php?pid=102641
Est ce que cela marchera ?
Hors ligne
Bonjour :
#1 & #3 sont deux choses différentes car #1 c'est un test que je fait en fonction de mon temps afin d'un d'inclure une balise spoiler ( fluxtoolbar ) .Ensuite pour #10 , il faut tout modifier avec de bonne connaissance afin de ne pas faire planter le forum essayer de voir en local qui ne craint rien en fessant aussi des sauvegardes de la base de donnée et des fichiers si vous faites des erreurs !
cdlt
Hors ligne
Bonsoir,
je suis vraiment désolé j'essaye vraiment de comprendre donc voilà ce que j'ai fais :
#---------[ OPEN ]-----------------------------------------------------------
#
/include/search_idx.php
#
#---------[ FIND ]-----------------------------------------------------------
#
// Remove BBCode
$text = preg_replace('%\[/?(b|u|s|ins|del|em|i|h|colou?r|quote|code|img|url|email|list|topic|post|forum|user)(?:\=[^\]]*)?\]%', ' ', $text);
#
#---------[ REPLACE WITH ]---------------------------------------------------
#
// Remove BBCode
$text = preg_replace('%\[/?(spoiler|b|u|s|ins|del|em|i|h|colou?r|quote|code|img|url|email|list|topic|post|forum|user)(?:\=[^\]]*)?\]%', ' ', $text);
#
#---------[ SAVE ]-----------------------------------------------------------
#
/include/search_idx.php
#---------[OPEN ]-----------------------------------------------------------
#
/include/parser.php
#
#---------[ FIND ]----------------------------------------------------------
#
if (preg_match('%\[/?(?:quote|code|list|h)\b[^\]]*\]%i', $text))
$errors[] = $lang_profile['Signature quote/code/list/h'];
#
#---------[ REPLACE WITH ]--------------------------------------------------
#
if (preg_match('%\[/?(?:spoiler|quote|code|list|h)\b[^\]]*\]%i', $text))
$errors[] = $lang_profile['Signature quote/code/list/h'];
#
#---------[ FIND ]----------------------------------------------------------
#
// Remove empty tags
while (!is_null($new_text = preg_replace('%\[(b|u|s|ins|del|em|i|h|colou?r|quote|img|url|email|list|topic|post|forum|user)(?:\=[^\]]*)?\]\s*\[/\1\]%', '', $text)))
#
#---------[ REPLACE WITH ]--------------------------------------------------
#
// Remove empty tags
while (!is_null($new_text = preg_replace('%\[(spoiler|b|u|s|ins|del|em|i|h|colou?r|quote|img|url|email|list|topic|post|forum|user)(?:\=[^\]]*)?\]\s*\[/\1\]%', '', $text)))
#
#---------[ FIND ]----------------------------------------------------------
#
// List of all the tags
$tags = array('quote', 'code', 'b', 'i', 'u', 's', 'ins', 'del', 'em', 'color', 'colour', 'url', 'email', 'img', 'list', '*', 'h', 'topic', 'post', 'forum', 'user');
#
#---------[ REPLACE WITH ]--------------------------------------------------
#
// List of all the tags
$tags = array('spoiler', 'quote', 'code', 'b', 'i', 'u', 's', 'ins', 'del', 'em', 'color', 'colour', 'url', 'email', 'img', 'list', '*', 'h', 'topic', 'post', 'forum', 'user');
#
#---------[ FIND ]----------------------------------------------------------
#
// Tags we can nest and the depth they can be nested to
$tags_nested = array('quote' => $pun_config['o_quote_depth'], 'list' => 5, '*' => 5);
#
#---------[ REPLACE WITH ]--------------------------------------------------
#
// Tags we can nest and the depth they can be nested to
$tags_nested = array('quote' => $pun_config['o_quote_depth'], 'list' => 5, '*' => 5, 'spoiler' => 5);
#
#---------[ FIND ]----------------------------------------------------------
#
// Block tags, block tags can only go within another block tag, they cannot be in a normal tag
$tags_block = array('quote', 'code', 'list', 'h', '*');
#
#---------[ REPLACE WITH ]--------------------------------------------------
#
// Block tags, block tags can only go within another block tag, they cannot be in a normal tag
$tags_block = array('quote', 'code', 'list', 'h', '*', 'spoiler');
#
#---------[ FIND (FLUXTOOLBAR) = environ 775]----------------------------------------------------------
#
$pattern[] = '%\[video=([0-9]+),([0-9]+)\]([^\[<]*?)/(v/|watch\?v=)([^\[<]*?)\[/video\]%ms';
#
#---------[ AFTER, ADD ]----------------------------------------------------------
#
$pattern[] = '%\[spoiler\](.*?)\[/spoiler\]%ms'; // SPOILER
#
#---------[ FIND (FLUXTOOLBAR) = environ 805]----------------------------------------------------------
#
$replace[] = '<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/$5" width="$1" height="$2"><param name="movie" value="http://www.youtube.com/v/$5" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><p>Flash required</p></object>';
#
#---------[ AFTER, ADD ]----------------------------------------------------------
#
$replace[] = '<div class="spoiler><p class="teaser">Spoiler</p><div class="contenu">$1</div></div>'; // SPOILER
#
#---------[ SAVE ]----------------------------------------------------------
#
/include/parser.php
#---------[OPEN ]-----------------------------------------------------------
#
/style/yourstyle.css
#
#---------[ ADD ]----------------------------------------------------------
#
.spoiler {
margin: 0 0 5px 0;
padding: 0;
width: 50%;
}
.teaser {
margin: 1px;
padding: 3px 10px;
cursor: pointer;
position: relative;
color: #ffffff;
background-color: #ff0000;
}
.contenu {
padding: 5px 10px;
background-color: #fafafa;
}
#
#---------[ SAVE ]----------------------------------------------------------
#
/style/yourstyle.css
Après en ce qui concerne du Jquery j'ai une partie de code :
jQuery(document).ready(function() {
jQuery(".contenu").hide();
jQuery(".teaser").click(function()
{
jQuery(this).next(".contenu").slideToggle(500);
});
});
Mais je ne sais pas quoi en faire mais je pense que c'est dans <script></script> dans main.tpl
J'ai essayé de faire un spoiler avec ceci :
http://www.kafeinemarketing.com/collapsing-divs-jquery/
Merci
Dernière modification par alex83270 (17-01-2014 23:16:22)
Hors ligne
Résolu faut integrer jquery
Hors ligne
Topic pour une éventuelle mod : http://fluxbb.fr/forums/viewtopic.php?p … 94#p111794
Hors ligne
Bonjour,
Oui je savait et j'avait fait ce test en local avec la même logique mais en essayant de la tester sur des versions plus récente
V .1.5.6
Et ajouter une balise spoiler dans la fluxtoolbar celle ci-dessous est un exemple
[spoiler] -------------[/spoiler ]
je regarderait sa dans la journée !!
Ps : essaye de renommer la mod car avant il y a eu beaucoup : exemple Spoiler V.0.2 et quand il sera fini la valider sur le .org
cdlt
Dernière modification par david18 (18-01-2014 10:57:59)
Hors ligne
Bonsoir,
il marche très bien avec Fluxtoolbar, sauf deux petit problème :
petit problème, la balise ne suis pas le texte,
si on centre le texte ne suis pas.Et pour les pros on peut aussi faire changer le texte qui est Spoiler par Montrer et quand on clique Cacher mais ça c'est trop pour moi
Dernière modification par alex83270 (18-01-2014 19:39:47)
Hors ligne
Bonjour,
je vient d'essayer et je n'ai pas de problème de mise en forme ?
cdlt
Hors ligne
ah bon Oo. bizarre bizarre.
Hors ligne
effectivement, c'est réparé tout seul
Hors ligne
Pages : 1