[plugin]ImageTools

Bon ça y est, j'ai codé mon premier plugin pour Pluxml, c'était pas bien méchant ^^

ImageTools permet d'appliquer des rotations de 90° aux images sélectionnées dans Médias. Je compte ajouter d'autre opération sur les images plus tard...

Il est dispo là: http://remisoft.ath.cx/imagetools.zip , je l'ai même fait en français et anglais tellement c'était simple.

Je suis admiratif du code de Pluxml, c'est super facile à étendre, c'est bien commenté, la doc est claire ... Du bon boulot !

Par contre ce qui m'embête un peu c'est que j'ai du toucher un peu au code de core/admin/medias.php pour ajouter des hooks qui vont bien. J'en ai profité pour factoriser un peu le code de création du select des images ;)

Autour de la ligne 226, j'ai remplacé le code de génération du select par:
<?php
$selectionList = array('' =>L_FOR_SELECTION, 'move'=>L_PLXMEDIAS_MOVE_FOLDER, 'thumbs'=>L_MEDIAS_RECREATE_THUMB, '-'=>'-----', 'delete' =>L_DELETE);
eval($plxAdmin->plxPlugins->callHook('AdminMediasSelectionList'));
plxUtils::printSelect('selection[]', $selectionList, '', false, '', false);
?>
Comme ça je peux modifier le contenu de $selectionList via le hook. Il faut aussi remplacer le créateur du select du bas par un simple:
<?php plxUtils::printSelect('selection[]', $selectionList, '', false, '', false); ?>
Et j'ai ajouté un hook à la ligne 76, juste avant le commentaire "# Tri de l'affichage des fichiers":
eval($plxAdmin->plxPlugins->callHook('AdminMediasOperations'));
Ca me permet de rajouter mes traitements d'images.

Est ce que ces modifications mérites d'être intégrées à la prochaine release ? J'entrevois une autre façon d'utiliser ces mêmes hooks en créant un plugin séparé qui permettra d'archiver les médias sélectionnés dans un zip...

J'aimerais bien quelques retours histoire de savoir ce que vous en pensez et ce que je pourrait/devrait changer.

Merci d'avance.

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour Foloex

    Ce que tu proposes est très intéressant. J'en tiens compte mais de cette façon:

    http://websvn.pluxml.org/revision.php?repname=PluXml&isdir=1&rev=1109&peg=1109

    => clic sur le lien "Différence avec la précédente" pour voir le hdiff

    Au lieu créer 2 nouveaux hooks, il suffit:

    1) d'utiliser le hook: AdminMediasPrepend pour gérer tes actions

    2) d'utiliser le hook: AdminMediasTop pour rajouter des options dans les 2 listes déroulantes et rajouter des actions.

    La modification du code étant dans le svn de PluXml elle sera dispo dans la prochaine version. Tu peux donc adopter cette solution

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Je suis content d'avoir pu être utile ;)
    J'ai mis à jour mon plugin en suivant test conseil, merci.
Connectez-vous ou Inscrivez-vous pour répondre.