Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Bonjour, je suis en train de rajouter des fonctions à la Mod de Vin100 PunToolBar v1.1.1
J'ai déjà réussi à mettre l'option de surlignage présente dans Subby BBcode, si ça intéresse quelques personnes je vous dirais comment.
Maintenant je cherche à mettre en place la liste de sélection de la taille du texte.
J'ai déjà mis en place les codes nécessaire dans le parser pour qu'il reconnaisse le changement de taille, ce qui me pose problème c'est l'intégration dans la PunToolBar. J'imagine que ça va se mettre dans toolbar.js ou bien dans post/edit/viewtopic.php (afin que ça apparaisse aussi dans la Réponse rapide), mais de là à savoir comment faire... je bloque un peu !
Voici les codes nécessaire issus de Subby BBcode :
Dans mod_easy_bbcode.php, ligne 46, partie en javascript :
function fonction() {
element.onclick = insert_text('[font='+(this.value)+']','[/font]', 'false');
}même fichier, ligne 91, partie en html :
<div style="padding-top: 4px">
<select name='ffont' class='codebuttons' <?php isIE_select("font"); ?> >
<option value='0'>Police</option>
<option value='Arial' style='font-family:Arial' <?php isNotIE_option("font"); ?> >Arial</option>
<option value='Times' style='font-family:Times' <?php isNotIE_option("font"); ?> >Times</option>
<option value='Courier' style='font-family:Courier' <?php isNotIE_option("font"); ?> >Courier</option>
<option value='Impact' style='font-family:Impact' <?php isNotIE_option("font"); ?> >Impact</option>
<option value='Geneva' style='font-family:Geneva' <?php isNotIE_option("font"); ?> >Geneva</option>
<option value='Optima' style='font-family:Optima' <?php isNotIE_option("font"); ?> >Optima</option>
</select>
</div>Donc si vous aviez de quoi m'aider...
Merci bien !
Dernière modification par Apupv (19-02-2006 22:59:57)
(s) MT
ex-Apupv
:faq: :recherche:
Gra.
Hors ligne
pour être dans l'optique de la toolbar ton truc devrait être généré par le fichier JS comme tous les autres boutons ; l'idée c'est que si javascript est désactivé alors aucun bouton n'apparait puisque de toutes façons ont peu pas s'en servir
bon après pour ce qui est du choix de police de caractère dans un menu déroulant j'ai pleins de raisons pour lesquelles je ne l'ai pas implémenté, en gros la conclusion de toutes ces raisons c'est : ça n'a pas de sens, c'est inutile ; pour à peu près les même raison un choix de taille de police n'a pas non plus tellement de sens ; du coup t'imagine que j'vais pas me pencher sur la question
Hors ligne
Oui, malheureusement je m'en doutais bien ! 
La police n'est certes pas très nécessaire, mais les changements de taille, quand on veut faire un post bien mis en page, ça peut être utile !
J'avais pris la liste de polices car c'est la première qui me tombait sous la main, et que j'aurais fait une petite analogie avec les autres...
Donc si je veux tout faire en Javascript, toute la partie en Html serait à repenser pour qu'elle soit formattée directement en JS ?
Enfin, je crois que je vais attendre de l'aide, car le JS c'est vraiment l'un des langages que je connais le moins, et j'ai pas vraiment le temps de m'y plonger maintenant...
En tout cas merci pour cette mod !
Dernière modification par Apupv (19-02-2006 23:38:10)
(s) MT
ex-Apupv
:faq: :recherche:
Gra.
Hors ligne
zut, je cherchais aussi comment ajouter des fonctions (pour l'alignement du texte)...
j'ai le code (astuce trouvée sur multy, fichier zip à télécharger), je me suis fait trois boutons en plus, mais là, je suis coincé par le JS aussi...
(j'ai déjà modifié mon parser.php, donc ça fonctionne, je peux aligner le texte, mais ce serait quand même plus userfriendly si j'avais les petits boutons dans la puntoolbar
)
si quelqu'un s'est repenché là dessus depuis... 
merci
Hors ligne
bon, je me suis penché dessus, et ça n'était pas si difficile que ça... (en tout cas pour mon cas à moi)
Il faut tout d'abord modifier le parser.php comme dans le fichier de fil1958 du multy ET se créer les 3 boutons correspondants, à uploader dans le dossier img/bt/
Je suis allé chercher dans le "toolbar.js"
j'y ai trouvé les fonctions gras, italique, souligné et barré et je me suis basé là dessus pour rajouter les fonctions gauhe, droite, centrer :
***chercher*** (ligne 30)
this.btDel = function() {}
***après, ajouter***
this.btlft = function() {}
this.btctr = function() {}
this.btrtg = function() {}
***chercher*** (ligne 177)
function btDel(label)
{
addButton(bt_img_path+'bt_del.png',label,
function() { singleTag('s'); });
}
***après, ajouter***
function btlft(label)
{
addButton(bt_img_path+'bt_lft.png',label,
function() { singleTag('left'); });
}
function btctr(label)
{
addButton(bt_img_path+'bt_ctr.png',label,
function() { singleTag('center'); });
}
function btrgt(label)
{
addButton(bt_img_path+'bt_rgt.png',label,
function() { singleTag('right'); });
}
***chercher*** (ligne 368)
this.btDel = btDel;
***après, ajouter***
this.btlft = btDel;
this.btctr = btDel;
this.btrgt = btDel;Ensuite dans "post.php"
***chercher*** (environ ligne 590)
tb.btDel('<?php echo str_replace("'","\'",$lang_common['btDel']); ?>');
***après, ajouter***
tb.btlft('<?php echo str_replace("'","\'",$lang_common['btlft']); ?>');
tb.btctr('<?php echo str_replace("'","\'",$lang_common['btctr']); ?>');
tb.btrgt('<?php echo str_replace("'","\'",$lang_common['btrgt']); ?>');Ensuite dans lang/french/common.php
***chercher***
'btDel' => 'Barré; : [s]texte[/s]',
***après, ajouter***
'btlft' => 'Aligné à gauche : [left]texte[/left]',
'btctr' => 'Aligné au centre : [center]texte[/center]',
'btrgt' => 'Aligné à droite : [right]texte[/right]',Et à mon avis, il faut aussi modifier tous les fichiers dans lesquels la puntoolbar est active (edit.php, poll.php, message_send.php, etc)
Voilà, je pense n'avoir rien oublié...
j'espère que ça pourra servir à certains...
Dernière modification par .g@sp. (28-03-2006 13:25:16)
Hors ligne
Et à mon avis, il faut aussi modifier tous les fichiers dans lesquels la puntoolbar est active (edit.php, poll.php, message_send.php, etc)
au passage perso je conseille d'instaler le code de puntoolbar séparement et de faire une include dans les codes de post.php /view...php / .etc
C'est beaucoup plus pratique quand on fait des modifications. Par contre je ne sais pas s'il y a une raison pour laquelle vin100 ne le fait pas ...
j'ai aussi rajouté un bouton surlignement et j'ai laissé le reste (de sunybbcode) dans le parser au cas ou, c'est quelque fois utile 
°o°
Hors ligne
Exactement pour la même raison que celle que tu cite dans l'autre sens.. Il pense qu'il est plus pratique d'avoir le code dans les fichiers pour l'éditer et que si l'on veut avoir une barre différente pour les différents cas (écriture/édition/réponse rapide) on peut le faire facilement.
=> Plugins | Modifications | Liens utiles <=
.._ -Pandark- _..
Serial Dreamer
Hors ligne
par contre, j'ai un petit souci, assez bizarre...
j'ai modifié mon parser pour pouvoir aligner le texte du message, et de la signature...
Puis j'ai fait toutes les modifications que j'ai dit ici...
mais il ne me le parse pas dans le message, alors que dans la prévisualisation, ça le fait...
dans le message, il me laisse les balises... (dans la signature, ça marche nickel)
vous avez une idée d'où peut venir le problème ???
merci
Hors ligne
personne a une idée d'où ce problème peut venir ??? 
Hors ligne
je dirais d'une erreur dans ton parser mais comme ca pour dire d'ou ca viens c'est dur 
perso je l'ai rajouté au dessus du suny BBcode et pas de probleme
°o°
Hors ligne
bon, j'ai tenté de déplacer les quelques lignes de la fonction "align text", et la fonction en elle-même (dans la partie "parse message text", et ça ne change absolument rien... Et j'ai bien vérifié les virgules et point virgules, il n'en manque pas (de toute façon, il me le dirait)...
Le message est absolument bien parsé dans la prévisualisation, mais pas dans le texte de mon message... 
Dernière modification par .g@sp. (31-03-2006 12:04:22)
Hors ligne
c'est particulièrement bizarre car, sauf erreur de ma part, c'est la même fonction qui est utilisée dans la prévisualisation et dans le message
cole nous ton parser.php
Hors ligne
Bon, il veut pas me le foutre ici, il me dit La syntaxe BBCode est incorrecte. Il manque la balise de fermeture pour "code".
je vous mets donc un fichier .rar avec mon parser dedans...
merci du coup de main 
Hors ligne
ok, pourquoi est-tu passé par une fonction suplémentaire ? utilise plutot la fonction existante do_bbcode() en ajoutant tes paterns aux tableaux
ah ouais aussi, mettre un élément de type bloc (div) dans un élément paragraphe (p) c'est interdit en HTML, il faut fermer le paragraphe et en ouvrir un nouveau avec l'alignement voulu
et puis l'attribut align= est interdit dans la variante strict, il faut passer par css style="align:
Hors ligne
ok, pourquoi est-tu passé par une fonction suplémentaire ? utilise plutot la fonction existante do_bbcode() en ajoutant tes paterns aux tableaux
j'ai repris ce que qu'avait fait fil1958 sur multy (voir ici
ah ouais aussi, mettre un élément de type bloc (div) dans un élément paragraphe (p) c'est interdit en HTML, il faut fermer le paragraphe et en ouvrir un nouveau avec l'alignement voulu
hum je comprends bien, mais ça complique la chose...
et puis l'attribut align= est interdit dans la variante strict, il faut passer par css style="align:
et c'est possible ça avec le BBcode ??
Hors ligne
bon ... t'enlève ce que tu as fait et tu remplace
$pattern = array('#\[b\](.*?)\[/b\]#s',
'#\[i\](.*?)\[/i\]#s',
'#\[u\](.*?)\[/u\]#s',
'#\[s\](.*?)\[/s\]#s',
'#\[q\](.*?)\[/q\]#s',
'#\[c\](.*?)\[/c\]#s',
'#\[url\]([^\[]*?)\[/url\]#e',
'#\[url=([^\[]*?)\](.*?)\[/url\]#e',
'#\[nospam\]([^\[]*?)\[/nospam\]#e',
'#\[nospam=([^\[]*?)\](.*?)\[/nospam\]#e',
'#\[email\]([^\[]*?)\[/email\]#',
'#\[email=([^\[]*?)\](.*?)\[/email\]#',
'#\[acronym\]([^\[]*?)\[/acronym\]#e',
'#\[acronym=([^\[]*?)\](.*?)\[/acronym\]#',
'#\[color=([a-zA-Z]*|\#?[0-9a-fA-F]{6})](.*?)\[/color\]#s',
'#\[---\]#s');
$replace = array('<strong>$1</strong>',
'<em>$1</em>',
'<ins>$1</ins>',
'<del>$1</del>',
'<q>$1</q>',
'<code>$1</code>',
'handle_url_tag(\'$1\')',
'handle_url_tag(\'$1\', \'$2\')',
'nospam_tag(\'$1\')',
'nospam_tag(\'$1\', \'$2\')',
'<a href="mailto:$1">$1</a>',
'<a href="mailto:$1">$2</a>',
'<acronym>$1</acronym>',
'<acronym title="$1">$2</acronym>',
'<span style="color: $1">$2</span>',
'</p><hr /><p>');par
$pattern = array('#\[b\](.*?)\[/b\]#s',
'#\[i\](.*?)\[/i\]#s',
'#\[u\](.*?)\[/u\]#s',
'#\[s\](.*?)\[/s\]#s',
'#\[q\](.*?)\[/q\]#s',
'#\[c\](.*?)\[/c\]#s',
'#\[url\]([^\[]*?)\[/url\]#e',
'#\[url=([^\[]*?)\](.*?)\[/url\]#e',
'#\[nospam\]([^\[]*?)\[/nospam\]#e',
'#\[nospam=([^\[]*?)\](.*?)\[/nospam\]#e',
'#\[email\]([^\[]*?)\[/email\]#',
'#\[email=([^\[]*?)\](.*?)\[/email\]#',
'#\[acronym\]([^\[]*?)\[/acronym\]#e',
'#\[acronym=([^\[]*?)\](.*?)\[/acronym\]#',
'#\[color=([a-zA-Z]*|\#?[0-9a-fA-F]{6})](.*?)\[/color\]#s',
'#\[---\]#s',
'#\[center\](.*?)\[\/center\]#si',
'#\[right\](.*?)\[\/right\]#si',
'#\[left\](.*?)\[\/left\]#si');
$replace = array('<strong>$1</strong>',
'<em>$1</em>',
'<ins>$1</ins>',
'<del>$1</del>',
'<q>$1</q>',
'<code>$1</code>',
'handle_url_tag(\'$1\')',
'handle_url_tag(\'$1\', \'$2\')',
'nospam_tag(\'$1\')',
'nospam_tag(\'$1\', \'$2\')',
'<a href="mailto:$1">$1</a>',
'<a href="mailto:$1">$2</a>',
'<acronym>$1</acronym>',
'<acronym title="$1">$2</acronym>',
'<span style="color: $1">$2</span>',
'</p><hr /><p>',
'</p><p style="align:center">$1</p><p>',
'</p><p style="align:left">$1</p><p>',
'</p><p style="align:right">$1</p><p>');Hors ligne
malheureusement ça ne fonctionne pas (enfin, plus du tout même dans la prévisualisation, ou la signature, où ça alignait le texte avant...) 
(en plus, mais ça c'est pas très grave, tu avais inversé l'ordre... dans pattern, tu as mis center right left, et dans replace center left right... mais bon ce n'est bien sur pas ça le problème
)
Dernière modification par .g@sp. (01-04-2006 00:39:59)
Hors ligne
bon, finalement, j'ai chipoté un peu avec le code...
En trichant et en remettant <p align="center"></p> etc, ça refonctionne dans la signature, mais toujours pas dans le message...
c'est interdit, mais au moins ça fonctionne (un peu)
mais je ne pige toujours pas ce qui bloque ça dans le message (le texte n'est plus aligné non plus dans la prévisualisation)
(comme on peut le voir ici)
et comme on peut le voir ici dans le code source (simplifié), ce sont les même balises 
<div class="postmsg">
<p align="center">test de texte centré</p><p><br /><br /></p><p align="right">test de texte aligné à droite</p><p><br /><br />comme vous le voyez ça ne fonctionne pas encore très bien (sauf dans ma signature <img src="img/smilies/sceptique.png" alt="sceptique" />)</p>
</div>
<div class="postsignature">
<hr /><p align="center"><strong>.g@sp.</strong></p><p></p><p align="right"><a href="http://sms.informatiquefrance.com"><img class="sigimage" src="http://informatiquefrance.free.fr/sms/sms_14.gif" alt="http://informatiquefrance.free.fr/sms/sms_14.gif" /></a></p><p>
</div>Dernière modification par .g@sp. (01-04-2006 01:00:26)
Hors ligne
si tu veux je peux te passer mon parser qui marche tres bien histoire que tu compares
le probleme aussi d'utiliser align c'est que n'étant pas suportée en strict elle a peu etre un comportement étrange en fonction des styles parents.
°o°
Hors ligne
oui effectivement erreur de ma part c'est pas :
'</p><p style="align:center">$1</p><p>',
'</p><p style="align:left">$1</p><p>',
'</p><p style="align:right">$1</p><p>'mais
'</p><p style="text-align:center">$1</p><p>',
'</p><p style="text-align:left">$1</p><p>',
'</p><p style="text-align:right">$1</p><p>'Hors ligne
Hé ben voilà, merci Vin100 (et vive les têtes raides bientôt en concert chez moi)
Par contre, va savoir pourquoi ça fonctionnait dans la signature et pas dans le message... ça restera toujours pour moi un mystère 
merci beaucoup en tout cas...
P.S. si quelqu'un veut les 3 boutons supplémentaires pour la Puntoolbar, les voici : 


(en même temps l'alignement à gauche...
)
Dernière modification par .g@sp. (01-04-2006 09:52:49)
Hors ligne
Par contre, va savoir pourquoi ça fonctionnait dans la signature et pas dans le message... ça restera toujours pour moi un mystère
c'est ça le code pas valide, on peut pas garantir du résultat, voilà un des raisons pourquoi il faut utiliser les standards et produire du code valide
tu ferait mieux de remplacer l'alignement à gauche par un alignement justifié
[c]</p><p style="text-align:justify">$1</p><p>[/c]
Hors ligne
y en a là dedans !!!
mais alors, je dois refaire mon petit bouton 
ok ok je sors 
je me remets au boulot...
Hors ligne
[c]</p><p style="text-align:justify">$1</p><p>[/c]
Le must, ce serait d'enlever les <p></p> vides à la fin...
=> Plugins | Modifications | Liens utiles <=
.._ -Pandark- _..
Serial Dreamer
Hors ligne
comment ça ?
Hors ligne