Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Bonjour,
Voici un tuto vous permettant d'ajouter de nouveaux boutons dans la PunToolBar pour la version 1.5. Avant de commencer pensez à sauvegarder tous les fichiers concernés car je ne peut pas être tenu responsable des erreurs de manipulations.
Mes modification sont sûr et sans danger pour votre forum, je les utilisent moi même.
Avant de commencer, vous devez créer votre image selon les styles de la PunToolBar. (Dans les fichiers img/puntoolbar/ buttons, simples et smooth) Cette image doit avoir une résolution de 16*16px. Voici une adresse vous permettant d'utiliser des images de cette taille : http://tango.freedesktop.org/Tango_Desktop_Project
Les fichiers infectés par cette modifications sont : (Donc ceux qu'il faut sauvegardés
)
- js/toolbar.js (js/toolbar_source.js)
- include/cache_puntoolbar.php
- plugins/AP_PunToolBar.php
[large]On va commencer par editer le fichier "js/toolbar_source.js" :[/large]
- Vous devez suivre toutes les modifications de ce fichier à la lettre car le js et assez tétu et fénéant 
- Vous devez remplacer *nom* par le nom de votre fonction (Par exemple "Upload" ou "Imgs"...)
- Si vous souhaitez ajouter plusieurs boutons, vous devez procéder de la même méthode, en ajoutant après "Btquote".
Rechercher :
this.btBquote = function() {};Ajoutez à la suite :
this.bt*nom* = function() {};Ensuite recherchez :
function btBquote(label)
{
addButton(bt_img_path+'bt_bquote.png',label,
function() { singleTag('quote'); });
}Ajoutez à la suite : (3 remplacement dans ce code)
function bt*nom*(label)
{
addButton(bt_img_path+'bt_*nom*.png',label,
function() { singleTag('*nom*'); }); /* ce code correspond à la balise */
}Ensuite recherchez :
this.btBquote = btBquote;Ajoutez à la suite :
this.bt*nom* = bt*nom*;Après avoir sauvegardé votre fichier toolbar_source.js rendez vous à cette adresse : http://javascriptcompressor.com/
Voici comment procéder :
Après avoir coller le contenu du fichier toolbar_source.js dans le premier champ, cliquez sur "Compress" puis copiez le contenu du second champ dans un nouveau fichier que vous placez dans js/toolbar.js. Voici en image ce que ça donne :
[large]On passe au fichier include/cache_puntoolbar.php :[/large]
- Les modification dans ce fichier sont un peu plus compliqués surtout en fonction de l'endroit ou vous souhaitez placer votre fichier. Je vous conseille dans un premier temps de suivre ma démarche et si vous comprenez bien les modifications, alors vous pourrez placer le fcode ou bon vous semble.
Recherchez dans ce fichier :
if ($butons['blockquote'] == 1) # blockquote buton
$output .= "\t".'tb.btBquote(\'<?php echo str_replace("\'","\\\'",$lang_ptb[\'btBquote\']) ?>\');'."\n";Ajoutez à la suite : (3 modification à faire dans ce code)
if ($butons['*nom*'] == 1) # blockquote buton
$output .= "\t".'tb.bt*nom*(\'Description de la balise en question\');'."\n";Enregistez ensuite votre fichier.
[large]On passe pour terminer au fichier plugins/AP_PunToolBar.php :[/large]
Vous pouvez placer le nouveau code un peu ou vous le souhaitez si vous voulez mais si vous ne conaissez pas la structure du HTML je vous déconseille de la placer n'importe ou
)
Rechecher dans ce fichier :
<tr>
<th scope="row"><img src="img/puntoolbar/<?php echo $pun_config['o_ptb_img_pack'] ?>/bt_bquote.png" alt="" /> <?php echo $lang_ptb['btBquote'] ?></th>
<td><input type="radio" name="c_form[blockquote]" value="1"<?php if ($form_butons['blockquote'] == 1) echo ' checked="checked"' ?> /> <strong><?php echo $lang_ptb_admin['yes'] ?></strong> <input type="radio" name="c_form[blockquote]" value="0"<?php if ($form_butons['blockquote'] == 0) echo ' checked="checked"' ?> /> <strong><?php echo $lang_ptb_admin['no'] ?></strong></td>
<td><input type="radio" name="q_form[blockquote]" value="1"<?php if ($qform_butons['blockquote'] == 1) echo ' checked="checked"' ?> /> <strong><?php echo $lang_ptb_admin['yes'] ?></strong> <input type="radio" name="q_form[blockquote]" value="0"<?php if ($qform_butons['blockquote'] == 0) echo ' checked="checked"' ?> /> <strong><?php echo $lang_ptb_admin['no'] ?></strong></td>
</tr>Ajoutez avant ou après : (9 modifications)
<tr>
<th scope="row"><img src="img/puntoolbar/<?php echo $pun_config['o_ptb_img_pack'] ?>/bt_*nom*.png" alt="" /> Description de la balise</th>
<td><input type="radio" name="c_form[*nom*]" value="1"<?php if ($form_butons['*nom*'] == 1) echo ' checked="checked"' ?> /> <strong><?php echo $lang_ptb_admin['yes'] ?></strong> <input type="radio" name="c_form[*nom*]" value="0"<?php if ($form_butons['*nom*'] == 0) echo ' checked="checked"' ?> /> <strong><?php echo $lang_ptb_admin['no'] ?></strong></td>
<td><input type="radio" name="q_form[*nom*]" value="1"<?php if ($qform_butons['*nom*'] == 1) echo ' checked="checked"' ?> /> <strong><?php echo $lang_ptb_admin['yes'] ?></strong> <input type="radio" name="q_form[*nom*]" value="0"<?php if ($qform_butons['*nom*'] == 0) echo ' checked="checked"' ?> /> <strong><?php echo $lang_ptb_admin['no'] ?></strong></td>
</tr>Il ne vous reste plus qu'a sauvegarder vos fichier et vous rendre dans le plugin de gestion de la puntoolbar pour activer votre nouveau bouton.
N'hésitez pas à me poser des questions en cas de soucis. Je pense que je ferait un tutos pour ajouter un liste comme les smilies.
Surtout pensez à faire une sauvegarde de vos fichiers.
Bien cordialement,
M@x.
Dernière modification par M@x (14-08-2009 13:31:31)
...
Hors ligne
Merci M@x.
Juste une question: moi j'aimerais creer un bouton independant de la puntoolbar. C'est à dire un bouton qui pourrait etre installé sans pour autant que la puntoolbar soit installée. Y'aurais-t-il moyen que tu décrive un peu la fonction ajoutant un bouton au textarea ?
Join us now and share the software, Hackers you'll be FREE!
Hors ligne
Bah tout dépend d'où tu souhaite l'ajouter ? (Mais sache que un bon nombre de Pubien
utilisent la ToolBar)
M@x.
...
Hors ligne
le problème c'est que je voudrais installer un bouton pour une extension de punbb 1.3 donc j'aimerais connaitre un peu le système de la toolbar.
Join us now and share the software, Hackers you'll be FREE!
Hors ligne
Bah pourquoi pas créer la ToolBar pour la 1.3 ? Avec une option permettant d'ajouter très facilement des bouton soit en ajoutant des fichier sur le FTP ou bien depuis l'espace administration ?
M@x.
...
Hors ligne
Ben sauf que je pense que vin100 et les autres admins sont en train de le faire et je ne voudrais faire la meme chose (ou est le progrès). De plus je ne voudrais pas marcher sur les plates bandes des autres 
(en verité je suis tres loin d'être capable de produire une toolbar à moi tout seul
)
Join us now and share the software, Hackers you'll be FREE!
Hors ligne
Le soucis c'est que ajouter un bouton tout seule, il va se sentir seul 
A moins que tu puisse le "coincé" quelque part ?
M@x.
...
Hors ligne
Bel effort M@x 
Suggestion : pour que ça soit complet, il faudrait ajouter un exemple de bouton "avec paramètre" (comme 'url'), parce que le code est différent dans ce cas.
D'autre part, il manque une petite explication sur l'utilisation de ce nouveau bouton (c'est à dire une mention sur les modifications à effectuer dans parser.php).
@Apophis : pour l'instant la puntoolbar for 1.3 est en attente du nouveau parser, qui n'est toujours pas fait sur le .org
Hors ligne
Bel effort M@x
Merci 
Suggestion : pour que ça soit complet, il faudrait ajouter un exemple de bouton "avec paramètre" (comme 'url'), parce que le code est différent dans ce cas.
D'ac, je vais rajouter en même temps que l'ajout "d'une liste" type smilies.
D'autre part, il manque une petite explication sur l'utilisation de ce nouveau bouton (c'est à dire une mention sur les modifications à effectuer dans parser.php).
La je ne comprend pas. Mon tuto permet simplement d'ajouter un bouton (Javascrit) or le fichier parser traite du php et notamment le parsage d'un message :
C'est lors de l'installation de la mod (Spoiler, Hide) que les options doivent être ajoutés dans parser.php (A moins que je n'ai pas réellement compris ta question
)
M@x.
...
Hors ligne
Bon ben je pense que je vais ajouter un petit lien à coté de "BBCode", "Balise [img]" et "Émoticônes:" alors, au lieu d'un bouton.
Join us now and share the software, Hackers you'll be FREE!
Hors ligne
Bonjour tout le monde,
J'ai suivi a la lettre le tuto pour ajouter un bouton dans la toolbar : celui ci. J'ai fais ce tuto pour ajouter un bouton Vidéo, pour la balise [video]url[/video].
Sans vouloir faire le gros noob, j'ai testé plein de solutions, rien ne marche... C'est peut-être un problème d'espaces, tabulation, accents, majuscules...
Voici mon code:
Plugin AP_PunToolbar.php
<tr>
<th scope="row"><img src="img/puntoolbar/<?php echo $pun_config['o_ptb_img_pack'] ?>/bt_video.png" alt="" /> Ajouter une vidéo</th>
<td><input type="radio" name="c_form[video]" value="1"<?php if ($form_butons['video'] == 1) echo ' checked="checked"' ?> /> <strong><?php echo $lang_ptb_admin['yes'] ?></strong> <input type="radio" name="c_form[video]" value="0"<?php if ($form_butons['video'] == 0) echo ' checked="checked"' ?> /> <strong><?php echo $lang_ptb_admin['no'] ?></strong></td>
<td><input type="radio" name="q_form[video]" value="1"<?php if ($qform_butons['video'] == 1) echo ' checked="checked"' ?> /> <strong><?php echo $lang_ptb_admin['yes'] ?></strong> <input type="radio" name="q_form[video]" value="0"<?php if ($qform_butons['video'] == 0) echo ' checked="checked"' ?> /> <strong><?php echo $lang_ptb_admin['no'] ?></strong></td>
</tr>
toolbar_source.js
function btVideo(label)
{
addButton(bt_img_path+'bt_video.png',label,
function() { singleTag('video'); });
}
cache_puntoolbar.php
if ($butons['video'] == 1) # video buton
$output .= "\t".'tb.btVideo(\'<?php echo str_replace("\'","\\\'",$lang_ptb[\'btVideo\']) ?>\');'."\n";
puntoolbar.php du dossier french
'btVideo' => 'Ajouter une vidéo : [video]lien[/video]',Tout ca est après les Bquote, comme indiqué dans le tuto.
En vous remerkiant smile
Hors ligne
C'est toutes les modifications que tu as apporté au toolbar_source.js (J'en voit une seule !) ?
Sinon, qu'est ce qui s'affiche lorsque tu test avec ces modifications ?
M@x.
...
Hors ligne
Oups, je remet le toolbar_source:
this.btVideo = function() {};
function btVideo(label)
{
addButton(bt_img_path+'bt_video.png',label,
function() { singleTag('video'); });
}
this.btVideo = btVideo;Et bien quand j'active, le bouton n'saffiche même pas. Pas de bug ni rien il s'affiche pas 
Hors ligne
Tu me passe l'adresse du forum en question avec les modifications. Tu as bien ajouté l'image, compressé le js et renommé et tout et tout ?
M@x.
...
Hors ligne
Oui! C'est le lien de mon profil 'Forums'
Hors ligne
il y a un forum on l'on peut poster sans s'inscrire ? Si non, tu peut en mettre un ?
M@x.
EDIT : Les copyright de PunBB ils sont ou ?!
Dernière modification par M@x (20-04-2008 14:45:33)
...
Hors ligne
Ils sont là, j'avais supprimé pour remplacer mon texte, et j'ai pas pensé a le remettre.
Pour le forum invité, Suggestions partie Administration, ceux d'en haut.
Hors ligne
Je ne voit pas le code de ta balise vidéo. Tu as pensé à régénérer le cache de la toolbar en validant le formulaire depuis le plugin de la puntoolbar ?
M@x.
...
Hors ligne
bonjour,
j'ai suivi à la lettre ce tuto mais ma puntoolbar a disparu maintenant ...
je ne comprend pas pourquoi.. au pire si il y avait eu une erreur elle serait affichée je pense ...
y a t'il d'autre personne qui ont ce probleme?
merci
[edit] j'ai remis les fichiers d'origines mais j'ai toujours le meme probleme... dois-je réinstallé le plugin?
Dernière modification par elmarokinho (15-05-2008 10:36:36)
Hors ligne
si la puntoolbar disparait c'est que tu as fait une erreur dans le fichier .js
Hors ligne
comme je l'ai dit, meme en remettant ceux fournis dans le pack d'origine elle ne réapparait pas 
en fait j'ai "trouver" ... j'ai desactivé la toolbar, vider le cache et réactiver la toolbar ... elle est de nouveau la mais je n'ai pas le nouveau bouton (en ayant fait les modif )
Désolé ..en fait il suffit d'activer le bouton dans le plugin 
[EDIT] :
En fait j'ai un soucis avec le fichier cache ... lorsque je mets celui d'origine la toolbar et la , des que je fais les modif elle disparait... jai recommencer plusieur fois ...
voila mon code :
if ($butons['color'] == 1) # color buton
$output .= "\t".'tb.btColor(\'<?php echo str_replace("\'","\\\'",$lang_ptb[\'btColor\']) ?>\');'."\n";
if ($butons['blockquote'] == 1) # blockquote buton
$output .= "\t".'tb.btBquote(\'<?php echo str_replace("\'","\\\'",$lang_ptb[\'btBquote\']) ?>\');'."\n";
if ($butons['Hide'] == 1) # Hide buton
$output .= "\t".'tb.btHide(\'Cacher\');'."\n";
if ($butons['pre'] == 1) # pre buton
$output .= "\t".'tb.btPre(\'<?php echo str_replace("\'","\\\'",$lang_ptb[\'btPre\']) ?>\');'."\n";merci de votre aide
Dernière modification par elmarokinho (15-05-2008 11:16:02)
Hors ligne
Tes erreurs serviront à d'autres 
Hors ligne
oui mais pour le momen cela ne marche toujours pas... je croyais avoir trouvé mais la c'est le fichier cache qui bloque 
je sais que je ne devrait pas m'y prendre de cette maniere mais quelq'un pourrait il m'envoyer le fichier cache avec l'intégration d'un balise
[Hide=1][/Hide]
car cela fait un moment que je suis dessus et je n'arrive pas a le faire fonctionner ... pourtant j'ai fait toute les modif indiquées.. je suis en train de recommencé une fois de plus ...
merci
Dernière modification par elmarokinho (15-05-2008 11:29:43)
Hors ligne