MyBB.support, le portail francophone de MyBB
Boutons d'intégration spécifiques aux images pièces jointes - Version imprimable

+- MyBB.support, le portail francophone de MyBB (https://mybb.support)
+-- Forum : Plug-ins et modules pour MyBB (https://mybb.support/forum-32.html)
+--- Forum : MyCode (https://mybb.support/forum-35.html)
+--- Sujet : Boutons d'intégration spécifiques aux images pièces jointes (/thread-7322.html)



Boutons d'intégration spécifiques aux images pièces jointes - sinse73 - 12-05-2015

.
Avertissement : Les modifications mentionnées ci-dessous n'ont aucunement été validé par le staff de Mybb, en effectuant ces changements, vous vous exposez à de possible faille de sécurité et dysfonctionement. Cela est livré en l'état et vous seul serez responsable des répercussions.


Bonjour,

J'avais déjà fait un ti truc sur MyBB1.6, cf le bas de ce topic : http://mybb.fr/thread-3306.html
Mais donc au passage en 1.8 il est temps d'améliorer un peu tout ça ^^

Qu'est ce que cela va permettre :
- d'avoir des boutons spécifiques pour intégrer des images dans vos posts, un bouton pour la miniature et un bouton d'intégration en taille réelle. Voilà les boutons que vous obtiendrez :
(oui, il y a une faute dans un des boutons ^^" saleté de double frappe non prise en compte)

[Image: attachment.php?aid=1569]

Pour cela, dans le fichier editpost.php,

Trouver :

Code :
$templatelist = "editpost,previewpost,changeuserbox,codebuttons,smilieinsert,smilieinsert_getmore​,smilieinsert_smilie,smilieinsert_smilie_empty,post_attachments_attachment_posti​nsert,post_attachments_attachment_mod_unapprove,postbit_attachments_thumbnails"

Remplacer par :

Code :
$templatelist = "editpost,previewpost,changeuserbox,codebuttons,smilieinsert,smilieinsert_getmore​,smilieinsert_smilie,smilieinsert_smilie_empty,post_attachments_attachment_posti​nsert,post_attachments_attachment_img_postinsert,post_attachments_attachment_mod​_unapprove,postbit_attachments_thumbnails";

Raison : Ajout de l'appel au template "post_attachments_attachment_img_postinsert".

Et aussi, trouver :

Code :
if($mybb->settings['bbcodeinserter'] != 0 && $forum['allowmycode'] != 0 && $mybb->user['showcodebuttons'] != 0)
            {
                eval("\$postinsert = \"".$templates->get("post_attachments_attachment_postinsert")."\";");
            }

Remplacer par :

Code :
$attachtypes = array('image/png', 'image/jpg', 'image/gif', 'image/jpeg', 'image/jpe');
$ext = $attachment['filetype'];

if($mybb->settings['bbcodeinserter'] != 0 && $forum['allowmycode'] != 0 && $mybb->user['showcodebuttons'] != 0)
            {
                if(in_array(strtolower($ext), $attachtypes))
                {
                    eval("\$postinsert = \"".$templates->get("post_attachments_attachment_img_postinsert")."\";");
                }
                else
                {
                    eval("\$postinsert = \"".$templates->get("post_attachments_attachment_postinsert")."\";");
                }
            }

Il faut faire de même pour newreply.php et newthread.php, les lignes peuvent être un peu différente mais vous devriez trouver où effectuer le même genre de modif. (Je peux ajouter ces quelques remplacements ici si c'est jugé nécessaire.)

Maintenant, on crée le template "post_attachments_attachment_img_postinsert" et dedans on met :

Code :
<input type="button" class="button" name="insert" value="Insérer miniature" onclick="MyBBEditor.insertText('[attachment={$attachment['aid']}]');" />
<input type="button" class="button" name="insert" value="Insérer taille réelle" onclick="MyBBEditor.insertText('[url=http://www.domain.tld/forum/attachment.php?aid={$attachment['aid']}][img]http://www.domain.tld/forum/attachment.php?aid={$attachment['aid']}[/img][/url]');" />

Pensez à modifier l'url selon votre configuration.

Afin d'éviter tout soucis de déformation ou d'image trop grande, vous pouvez appliquer une taille max dans les posts comme suggéré par JWH Smith dans le topic cité au début.
Dans global.css, on peut ajouter :

Code :
#posts .scaleimages img {

    max-width: 600px;
}


Et voilà, normalement c'est tout bon. Je n'ai pas noté de soucis pour le moment.
Si vous voyez un problème ou quelque chose qu'il faudrait que je change merci de le signaler que j'essaie d'améliorer cela.

Bien entendu, il est possible d'adapter cela pour d'autres types de fichiers comme bon vous semble.

A vos boutons o//


RE: Boutons d'intégration spécifiques aux images pièces jointes - Jules - 12-05-2015

Pour citer Saphir :
Saphir a écrit :Rappel : Ne modifiez jamais les fichiers source de MyBB, sauf si vous y êtes invité par un membre de notre équipe : vous risqueriez d'endommager votre installation de MyBB et de créer une brèche de sécurité pouvant mettre en péril l'intégrité de votre hébergement. Modifier les templates ou le style de votre forum au travers de son interface d'administration suffit généralement à résoudre vos requêtes.

En modifiant soit-même les fichiers sources de MyBB, vous risquez d'ajouter des failles exploitables sans le faire exprès ou encore d'endommager le fonctionnement de votre forum...
C'est déconseiller et de mon point de vue, tout à fait justifier.

Pourquoi ne pas prendre un peu de temps, découvrir le moteur MyBB et essayer de concevoir un plugin qui reproduirait exactement la même chose ?
Certes, vous y passerez plus de temps, mais au moins, vous n'aurez pas à recommencer les modifications à chaque mise à jour de MyBB et vous ne risquerez pas d'endommager les fichiers sources de MyBB...

Sinon, le système en lui-même est très bien pensé : Utiliser les miniatures pour faire un hébergeur d'image interne au forum (si j'ai bien compris).


RE: Boutons d'intégration spécifiques aux images pièces jointes - sinse73 - 12-05-2015

Salut Jules,

J'ai rajouté un message d'avertissement au début de mon message.

Concernant la création d'un plugin, cela demande quand même pas de connaissances pour le coder. J'arrive plus où moins à comprendre ce qu'il se passe quand je lis des lignes dans les fichiers de MyBB, mais je ne me sens pas bien capable de réaliser un plugin à ce jour. J'essairai quand même de regarder les "tutos" que mybb.com propose pour cela.

Oui, je voulais me servir du système de pièces jointes afin de donner la possibilité aux gens d'afficher des images dans leurs messages, mais pas que les miniatures.

PS : "vous risquez d'ajouter des failles exploitables sans le faire exprès" -> se serait bêta de le faire exprès en plus ^^


RE: Boutons d'intégration spécifiques aux images pièces jointes - Jules - 13-05-2015

(12-05-2015, 21:46)sinse73 a écrit :  PS : "vous risquez d'ajouter des failles exploitables sans le faire exprès" -> se serait bêta de le faire exprès en plus ^^

Je préfère quand même préciser :')

Pour les plugins, c'est sûr que ça prend du temps et un peu d'entraînement, mais à la finale, c'est beaucoup plus propre que de modifier les fichiers sources :p


RE: Boutons d'intégration spécifiques aux images pièces jointes - bruno36100 - 07-09-2015

Super script.... A quand un plugin Big Grin


 Utilitaire de traduction fourni par Regentronique