Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

Anthony
2009-07-29 11:47:27

Bonjour VDigital,
J'ai modifié mon code qui fonctionne maintenant très bien en gérant les erreurs possibles.
J'ai remis le picture.tpl d'origine et j'utilise maintenant un template perso ;-)
J'ai lu le wiki expliquant la création d'un plugin (http://fr.piwigo.org/doc/doku.php?id=fr … _un_plugin) mais je ne sais pas comment faire pour utiliser les fonctions dont j'ai besoin sans les mettre dans mon picture.php?
Merci

Anthony

VDigital
2009-07-24 18:03:17

Halte au feu!
Si tu veux le faire: un plugin mais pas de modif dans picture.php

Si je ne te l'ai pas proposé, c'est que j'ai des raisons.

1 - Comme ça de tête... Je ne sais plus ce qu'est high_file_system, cela me parait assez zarrebi.
2 - Je me suis fait remonté les bretelles il n'y a pas si longtemps par rvelices sur ce point: Site distant, cela ne marche pas.

3 - Si je lis à l'envers ce que tu écris.
isset($INFO_DIMENSIONSHD) est toujours renseigné au moins d'une étoile donc isset ne sert à rien.
Le sprintf également.
({$INFO_DIMENSIONSHD})
fera la même chose.

donc $infos['INFO_DIMENSIONSHD'] == '*'.
donc $taille_image_high == ''
donc getimagesize($picture['current']['high_file_system'])
ne retourne pas un tableau.
J'enlèverai le @ pour avoir l'erreur.
Si l'accès à filename est impossible ou bien si filename n'est pas une image valide, getimagesize() générera une erreur de niveau E_WARNING. Si une erreur survient lors de la lecture, getimagesize() générera une erreur de niveau E_NOTICE.
Si ce n'est pas une image on devrait avoir false.
S'il n'y a pas d'erreur, c'est que le fichier n'est pas une image.
Je pense que c'est le cas.

Sincèrement, tu insistes et tu ne dois pas car cela viendra naturellement dans une prochaine version.
En incluant les sites distants et les images chargées via l'API.

Anthony
2009-07-24 16:14:03

Merci VDigital,
Cela fonctionne très bien pour le poids de l'image HD et c'est sympa de pouvoir afficher la taille des 2 images en même temps.
En revanche je n'y arrive pas pour la résolution de l'image HD, voilà ce que j'ai fais :

picture.php

Code:

$taille_image_high = @getimagesize($picture['current']['high_file_system']);
$original_width_high = $taille_image_high[0];
$original_height_high = $taille_image_high[1];
$infos['INFO_DIMENSIONSHD'] = $original_width_high.'*'.$original_height_high;

picture.tpl

Code:

{if isset($INFO_DIMENSIONSHD)}{'(%s)'|@sprintf:$INFO_DIMENSIONSHD}{else}{'N/A'|@translate}{/if}

J'ai l'impression que "getimagesize" ne me renvoi pas de valeur., cela m'affiche "(*)" au lieu de par exemple "(1600*1200)".
Si quelqu'un peut me dire ce qui cloche?

Anthony

VDigital
2009-07-24 11:54:58

En t'inspirant de Réaliser un template-extension mais peut-être plus sur la base de picture_content.tpl, c'est à voir.

Tu peux utiliser la variable {$current.high_filesize} exprimé en K octets (le poids de la HD).

Code:

{'%d Kb'|@translate|@sprintf:$current.high_filesize}

ce qui devrait t'afficher... si je ne me plante pas par exemple : en anglais: 1245 Kb et en français: 1245 Ko

Il va falloir mettre un {if ...} je ne sais pas trop le test qu'il faut réellemnt encore... (je pense que le test de isset() n'est pas nécessaire) mais peu importe:

Code:

{if (isset($current.high_filesize) and $current.high_filesize > 0)}
{'%d Kb'|@translate|@sprintf:$current.high_filesize}
{/if}

Il faut un baratin:

Code:

{if (isset($current.high_filesize) and $current.high_filesize > 0)}
{'Download warning, high definition filesize is: '|@translate}{'%d Kb'|@translate|@sprintf:$current.high_filesize} 
{/if}

Dans les local.lang.php (Cf. l'onglet Langues de LocalFiles Editor):

En anglais...

Code:

$lang['Download warning, high definition filesize is: '] = 'Download warning, high definition filesize is: ';

En français...

Code:

$lang['Download warning, high definition filesize is: '] = 'Avertissement au téléchargement, la taille du fichier en haute définition est de : ';

Avec ça tu dois pouvoir t'en sortir.

VDigital
2009-07-24 11:07:58

[Bugtracker] ticket 620

Je vérifie pour high_filesize.
@+

Anthony
2009-07-24 10:57:59

Je veux bien l'explication pour high_filesize, merci.
Mais n'est il pas possible à l'insertion des données de la nouvelle image dans la base de donnée de prendre les valeurs de l'image HD plutôt que la 640x480  (pour la résolution et poids de l'image notamment) ?
Merci d'avance.

Anthony

VDigital
2009-07-24 10:35:59

Actuellement, nous pouvons disposer de high_filesize mais pas des dimensions.
J'expliquerai ça.
Mais est-ce que cela pourrait être suffisant?

Anthony
2009-07-24 09:28:05

Bonjour VDigital,

L'intérêt c'est d'afficher la résolution et le poids de l'image HD pour que le visiteur sache à peu près le temps que lui prendra l'affichage de l'image HD avant qu'il ne clique dessus (certains seront en 3G+).
Je crée mes images 640x480 par un script PHP, je "recopie" les données IPTC de l'image HD dans la 640x480 mais forcément ça ne m'affiche pas la résolution et le poids de l'image HD dans les infos.
Le visiteur a toujours accès à la HD.
Je pensais bien sûr ajouter une condition si l'image HD est manquante, ce qui ne devrait jamais arriver normalement.
Voilà j'espère que tu comprends mieux l'intérêt de ma question, si tu as ne serait-ce que des pistes de recherche cela m'aiderait beaucoup car là je sèche complètement.
Merci d'avance.

Anthony

VDigital
2009-07-23 21:12:04

Je vais dire une petite sonnerie: Pourquoi?

Pourquoi? Tu les as supprimées?
Et si le visiteur n'a pas accès à l'HD?
Et si la HD est manquante?

Le plus simple est d'avoir les métadata également sur l'image redimensionnée, non?

Anthony
2009-07-23 12:05:42

Bonjour à tous,
Voilà tout est dans le titre, je voudrais savoir comment afficher les métadonnées (résolution, poids de l'image, IPTC...) de l'image haute définition (répertoire "pwg_high") plutôt que les métadonnées de l'image affichée dans la galerie.
Merci d'avance

Anthony

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact