L'arrivé des derivatives ça me perturbe ^_^;
Pour mon plugin [extension by Gotcha] PiwiShack il me faut revoir le code. J'ai bien pris connaissance de la page [wiki] Changements technique dans Piwigo v2.4.
Mais concrètement, pour quelqu'un comme moi pour qui coder est synonyme de "lire le Mandarin à l'envers" j'ai du mal à appliquer ce qui est écrit dans le wiki.
Concrètement
Liste des fonctions obsolètes dans mon plugin :
- get_thumbnail_url
- get_image_url
Liste des fichiers impactés :
- http://piwigo.org/dev/browser/extension … ss.inc.php
La question est simple : je remplace mes fonctions par quoi exactement ???
Non parceque dans le wiki ce n'est peux-être pas du Mandarin mais ça se rapproche de l’Hébreu pour moi -_-;
Merci :-)
Hors ligne
j'ai écrit dans le wiki surtout pour les tpl ; le php je n'ai pas encore essayé et comme ça fait appel aux classe, objets etc bref c'est de la high tech pour moi ^^
Hors ligne
Oki bon bah j'espère que j'aurai une réponse :-)
Merci d'avoir répondu Florent.
Hors ligne
Le wiki n'est effectivement pas très clair et pas très complet.
En fait, il faut faire attention à plusieurs choses :
- le fonctions qui n'existent plus (référencées dans le wiki)
- l'usage au niveau des templates (référencé dans le wiki, mais j'avoue qu'une simple lecture ne m'a pas permis de comprendre les impacts, il va falloir que je me penche la dessus)
- l'usage de la variable $conf['prefix_thumbnail']
=> même si elle existe toujours dans le fichier de conf (et dans les fichiers de langues), sont usage est obsolète
- l'usage de la variable $conf['dir_thumbnail']
=> même si elle existe toujours dans le fichier de conf et semble encore exploitée par une fonction inexploitée (mkget_thumbnail_dir), sont usage est obsolète
- l'usage du champs 'tn_ext' dans la table 'images'
=> même si le champ existe toujours, il ne semble plus être alimenté
- l'usage du champs 'path' dans la table 'images'
=> le champ a toujours son utilité, mais il faut faire très attention à la façon dont on l'exploite dans les plugins (sauf peut-être pour des cas particulier, il ne doit pas être utilisé directement pour construire une url)
Dans le code PHP, si tu souhaites disposer de l'url d'une vignette (ou thumbnail), on constate l'emploi de deux méthodes dans le code de piwigo :
$url = DerivativeImage::thumb_url($image_info); $url = DerivativeImage::url(IMG_THUMB, $image_info);
C'est la même chose, encore que d'un point de vue personnel l'usage de thumb_url() me semble plus pertinent vu que la fonction existe.
La variable $image_info étant initialisée de la façon suivante :
$sql="SELECT id, path, representative_ext, width, height, rotation FROM ".PIWIGO_IMAGES." WHERE [...] "; $result=$pwg_query($sql); if($result) { while($row=pwg_db_fetch_assoc($result)) { $image_info = new SrcImage($row) $url = DerivativeImage::thumb_url($image_info); // faire sa tambouille.... } }
Sachant que seul 'id' et 'path' sont obligatoires.
Les autres données semblent facultatives.
Je ne garanti pas que c'est comme ça qu'on utilise le truc, le code source étant dépourvu de tout commentaires (ça serait trop facile sinon ;-)) ce n'est qu'une rapide analyse que je n'ai pas encore eu le temps de tester (ce we probablement, si j'ai le temps).
Et si tu veux l'url d'une image au format 'large', c'est :
$url = DerivativeImage::url(IMG_LARGE, $image_info);
Et les différentes valeurs possibles déclarées sont :
define('IMG_SQUARE', 'square'); define('IMG_THUMB', 'thumb'); define('IMG_XXSMALL', '2small'); define('IMG_XSMALL', 'xsmall'); define('IMG_SMALL', 'small'); define('IMG_MEDIUM', 'medium'); define('IMG_LARGE', 'large'); define('IMG_XLARGE', 'xlarge'); define('IMG_XXLARGE', 'xxlarge'); define('IMG_CUSTOM', 'custom');
Hors ligne
$conf['prefix_thumbnail'] et $conf['dir_thumbnail'] je vais le virer de include/config_defaults, pour éviter toute confusion
Hors ligne
plg a écrit:
$conf['prefix_thumbnail'] et $conf['dir_thumbnail'] je vais le virer de include/config_defaults, pour éviter toute confusion
fait un grep quand même, il y a plusieurs fichiers qui y font référence... je ne pense pas qu'ils soient encore utile mais sait-on jamais.
Hors ligne
Ce sera l'occasion de nettoyer. Mais tu vois par exemple, on le trouve dans install/db/121-database.php, avec la précaution de possibilité d'inexistence :
if (!isset($conf['prefix_thumbnail'])) { $conf['prefix_thumbnail'] = 'TN-'; } if (!isset($conf['dir_thumbnail'])) { $conf['dir_thumbnail'] = 'thumbnail'; }
Hors ligne
çà évite un problème immédiat lors de l'installation, mais ça peut en masquer d'autres du coup, car même si elle existe, le résultat de son exploitation sera un peu aléatoire : tout dépends de ce qui en est fait après :)
Hors ligne
Merci Grum pour ton message.
J'avoue que moi (allergique aux efforts ^^) ca reste très abstrait. Il faudra qu'un jour je trouve (et que je me prenne) un bouquin "PHP pour les nuls" lol
Hors ligne
grum a écrit:
...on constate l'emploi de deux méthodes dans le code de piwigo :
Code:
$url = DerivativeImage::thumb_url($image_info); $url = DerivativeImage::url(IMG_THUMB, $image_info);
et il me semble qu'a certains endroits il y a le même résultat avec instanciation (et non appel statique) de la classe SrcImage.....
Hors ligne
je profite du topic...
dans la table 'images', le champs 'has_high' devrait, me semble-t-il, ne plus avoir d'utilité...
mais il est toujours présent.
Les fonctions suivantes l'exploitent :
include/functions_picture.inc.php
get_high_path => fonction inexploitée et obsolète
get_high_url => fonction inexploitée et obsolète ; déclenche le trigger 'get_high_url' qui devrait lui aussi ne plus être exploité (tools/trigger_list.php)
get_high_location => fonction inexploitée et obsolète ; déclenche le trigger 'get_high_location' qui devrait lui aussi ne plus être exploité (tools/trigger_list.php)
include/functions_upload.inc.php
file_path_for_type => fonction inexploitée et obsolète ; exploite des fonctions telles que get_thumbnail_location et get_high_location
Toute référence au répertoire 'pwg_high' est à supprimer aussi...
On trouve un paquet de références à ce répertoire dans Piwigo => est-ce normal ?
Hors ligne
Il faut regarder en trunk, pas sur la 240RC3 : [Subversion] r14830
Le champ images.has_high va être supprimé dans une prochaine tâche de migration. Ainsi que high_* et tn_ext.
Hors ligne
rvelices a écrit:
plg a écrit:
$conf['prefix_thumbnail'] et $conf['dir_thumbnail'] je vais le virer de include/config_defaults, pour éviter toute confusion
Tout a fait. Ils n'ont plus aucune utilité ...
[Subversion] r15316 (j'ai aussi édité la page du wiki qui liste les changements pour la 2.4)
Hors ligne