Archives FluxBB.fr

Les archives de FluxBB.fr

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

#1 19-02-2006 22:59:43

MT
Admin rasé

Rajout de fonctions à PunToolBar 1.1.1

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

#2 19-02-2006 23:28:29

vin100
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

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

#3 19-02-2006 23:36:41

MT
Admin rasé

Re : Rajout de fonctions à PunToolBar 1.1.1

Oui, malheureusement je m'en doutais bien ! pleure.gif

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

#4 28-03-2006 12:41:02

.g@sp.
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

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 wink )

si quelqu'un s'est repenché là dessus depuis... wink

merci

Hors ligne

#5 28-03-2006 13:24:57

.g@sp.
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

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

#6 28-03-2006 17:02:36

Chatissimus
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

.g@sp. a écrit :

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 happy


°o°

Hors ligne

#7 28-03-2006 20:55:34

Pandark
Guide

Re : Rajout de fonctions à PunToolBar 1.1.1

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

#8 28-03-2006 22:56:23

.g@sp.
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

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

#9 30-03-2006 18:00:04

.g@sp.
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

personne a une idée d'où ce problème peut venir ??? sad

Hors ligne

#10 31-03-2006 05:10:07

Chatissimus
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

je dirais d'une erreur dans ton parser mais comme ca pour dire d'ou ca viens c'est dur happy

perso je l'ai rajouté au dessus du suny BBcode et pas de probleme


°o°

Hors ligne

#11 31-03-2006 12:03:49

.g@sp.
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

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... sad

Dernière modification par .g@sp. (31-03-2006 12:04:22)

Hors ligne

#12 31-03-2006 12:41:21

vin100
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

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

#13 31-03-2006 17:56:24

.g@sp.
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

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 smile

mon parser

Hors ligne

#14 31-03-2006 20:33:31

vin100
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

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

#15 31-03-2006 21:45:39

.g@sp.
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

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

#16 31-03-2006 23:26:00

vin100
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

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

#17 01-04-2006 00:36:03

.g@sp.
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

malheureusement ça ne fonctionne pas (enfin, plus du tout même dans la prévisualisation, ou la signature, où ça alignait le texte avant...) sad

(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 wink )

Dernière modification par .g@sp. (01-04-2006 00:39:59)

Hors ligne

#18 01-04-2006 00:53:33

.g@sp.
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

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 sad

<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

#19 01-04-2006 05:17:43

Chatissimus
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

si tu veux je peux te passer mon parser qui marche tres bien histoire que tu compares


parser.php.zip


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

#20 01-04-2006 09:35:20

vin100
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

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

#21 01-04-2006 09:51:29

.g@sp.
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

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 wink

merci beaucoup en tout cas...

P.S. si quelqu'un veut les 3 boutons supplémentaires pour la Puntoolbar, les voici :
bt_left.png
bt_ctr.png
bt_right.png

(en même temps l'alignement à gauche... siffle.gif )

Dernière modification par .g@sp. (01-04-2006 09:52:49)

Hors ligne

#22 01-04-2006 10:14:26

vin100
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

.g@sp. a écrit :

Par contre, va savoir pourquoi ça fonctionnait dans la signature et pas dans le message... ça restera toujours pour moi un mystère wink

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

#23 01-04-2006 10:30:38

.g@sp.
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

y en a là dedans !!!
mais alors, je dois refaire mon petit bouton ^^

ok ok je sors wink

je me remets au boulot...

Hors ligne

#24 15-04-2006 20:46:51

Pandark
Guide

Re : Rajout de fonctions à PunToolBar 1.1.1

vin100 a écrit :

[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

#25 15-04-2006 20:53:22

vin100
Membre

Re : Rajout de fonctions à PunToolBar 1.1.1

comment ça ?

Hors ligne

Pied de page des forums