Gotcha pour clarifier les idées:
Peux-tu faire un montage de ce que tu souhaites réaliser?
Hors ligne
Oui.
La parties existante des EXIF sur Piwigo je le laisserai telle qu'elle.
La partie que je voudrait rajouter, c'est ce qui est copié de la capture d'écran (CF premier message de cette discution).
:-)
Hors ligne
Ça discute, ça discute dans cette discussion... ;-)
Hors ligne
C'est de ma faute, j'aurais du être plus clair est concis dès le début :-(
Hors ligne
Si j'ai bien compris, tu veux garder toutes données EXIFS + IPTC définies dans
confing_local.inc.php à l'emplacement standard.
Mais visible que si on actionne le bouton metadata.
et afficher en permanence (en linéaire sous la photo )
- Le modèle de l'appareil [Model]
- L'objectif utilisé [UndefinedTag:0x0095]
- Le temps d'exposition [ExposureTime]
- Le nombre focale [ApertureFNumber]
- La vitesse ISO [ISOSpeedRatings]
Dernière modification par EX-FTB (2009-05-27 08:04:19)
Hors ligne
EX-FTB a écrit:
Si j'ai bien compris, tu veux garder toutes données EXIFS + IPTC définies dans
confing_local.inc.php à l'emplacement standard.
Mais visible que si on actionne le bouton metadata.
et afficher en permanence (en linéaire sous la photo )
- Le modèle de l'appareil [Model]
- L'objectif utilisé [UndefinedTag:0x0095]
- Le temps d'exposition [ExposureTime]
- Le nombre focale [ApertureFNumber]
- La vitesse ISO [ISOSpeedRatings]
Pour moi : oui, oui, oui :-)) !!
Hors ligne
EX-FTB a écrit:
Si j'ai bien compris, tu veux garder toutes données EXIFS + IPTC définies dans
confing_local.inc.php à l'emplacement standard.
Mais visible que si on actionne le bouton metadata.
et afficher en permanence (en linéaire sous la photo )
- Le modèle de l'appareil [Model]
- L'objectif utilisé [UndefinedTag:0x0095]
- Le temps d'exposition [ExposureTime]
- Le nombre focale [ApertureFNumber]
- La vitesse ISO [ISOSpeedRatings]
Simplement oui :-)
Hors ligne
Voici une méthode qui va marcher pour les exifs standard hors 'makernote' canon,
mais qui peut être étendue à toutes les données.
1 - On ne touche rien à la gestion des 'metadata' standard de Piwigo.
---------------------------------------------
2- Dans config-local.php on ajoute les champs pour les exifs permanents
$conf['perma_exif_fields'] = array(
'Model',
'FNumber',
'ExposureTime'
);
-----------------------------------------------
3 - Dans picture_metatdata.inc.php
juste avant if ($conf['show_iptc'])
on ajoute
// permanents exifs
if (is_array ($conf['perma_exif_fields']) and (function_exists('read_exif_data')))
{ if ($exif = @read_exif_data($picture['current']['image_path']))
{$perma_meta='';
foreach ($conf['perma_exif_fields'] as $field)
{if (strpos($field, ';') === false)
{
if (isset($exif[$field]))
{$key = $field;
if (isset($lang['exif_field_'.$field]))
{$key = $lang['exif_field_'.$field];}
$perma_meta = $perma_meta.$key.' : '.$exif[$field].' | ';
}
}
else
{$tokens = explode(';', $field);
if (isset($exif[$tokens[0]][$tokens[1]]))
{$key = $tokens[1];
if (isset($lang['exif_field_'.$tokens[1]]))
{$key = $lang['exif_field_'.$tokens[1]]; }
$perma_meta = $perma_meta.$perma_meta.' '.$exif[$tokens[0]][$tokens[1]].' | ';
}
}
}
}
$template->assign('permametadata', $perma_meta);
}
plus les mises en forme / conversion que l'on désire......
Si on est joueur on fait un plugin .....
-----------------------------------------------
4 - dans une extension de picture.tpl ou ou dans element_comment
on ajoute
if isset($permametadata)}
{$permametadata}
{/if}
-------------------------
On ne doit pas être loin d'une solution utilisable avec les version futures....
Hors ligne
Je teste ça dans la soirée mais ça semble vraiment correspondre à mon besoin et en plus, si peux être quelque chose d'utile pour d'autres, je te remercie par avance EX-FTB :-)
Hors ligne
Premier retour:
J'ai collé le code dans my-picture.tpl
if isset($permametadata)} {$permametadata} {/if}
que j'ai entouré des signes { et }
L'affichage se déclenche mais seulement avec l'action du bouton "Afficher les méta-données du fichier". Il faudrait arriver à faire sauter cette condition pour que l'affichage soit persistant.
Deuxième retour:
J'obtiens la ligne par exemple
Diaphragme : 90/10 | Vitesse : 1/30
Sauf dans le fichier picture_metadata.inc.php ces valeurs sont retravaillés (via le MOD More Exif *0D)
Question:
Soit je m'amuse à adapter ton code EX-FTB, soit on est capable d'utiliser les EXIF du fichier... ?
Dernière modification par Gotcha (2009-05-28 21:27:02)
Hors ligne
On va essayer de faire plus simple on repart du début :
à modifier dans picture_metadata de more exif.....
ceci {$template->append('metadata', $tpl_meta);}
par
// original Piwigo metadata
if ( isset($_GET['metadata']) )
{$template->append('metadata', $tpl_meta);}
à ajouter dans picture_metadata de more exif....
// permanent display exifs data
if (is_array ($conf['perma_exif_fields']) and (function_exists('read_exif_data')))
{ if ($exif = @read_exif_data($picture['current']['image_path']))
{$perma_meta='';
foreach ($conf['perma_exif_fields'] as $field)
{if (strpos($field, ';') === false)
{ if (isset($exif[$field]))
{$key = $field;
Conversion($key,$exif[$field],$exif['Model'],$exif['Make']); }
}
}
}
$template->assign('permametadata', $perma_meta);
}
----------------
Dans la fonction conversion du même fichier tu changes :
global $tpl_meta, $lang,$perma_meta;
et
if ($data!="" )
{
if (isset($lang['exif_field_'.$key]))
{ $key = $lang['exif_field_'.$key]; }
$tpl_meta['lines'][$key] = $data;
/* perma exif */
$perma_meta = $perma_meta.$key.' : '.$data.' | ';
}
Cela devrait être OK.
Dans le tpl, il faut ecrire
{if isset($permametadata)}
{$permametadata}
{/if}
Tu actives l'affichage permanent des exifs dans LLGBO2.
Dernière modification par EX-FTB (2009-05-29 18:59:46)
Hors ligne
Chez moi ça n'est pas permanent mais on verra un peu plus tard.
Pour le moment j'ai la notice suivante:
Notice: Undefined variable: perma_meta in C:\Program Files\EasyPHP 3.0\www\Galerie\include\picture_metadata.inc.php on line 162 Notice: Undefined variable: perma_meta in C:\Program Files\EasyPHP 3.0\www\Galerie\include\picture_metadata.inc.php on line 162 Notice: Undefined variable: perma_meta in C:\Program Files\EasyPHP 3.0\www\Galerie\include\picture_metadata.inc.php on line 162 Notice: Undefined variable: perma_meta in C:\Program Files\EasyPHP 3.0\www\Galerie\include\picture_metadata.inc.php on line 162 Notice: Undefined variable: perma_meta in C:\Program Files\EasyPHP 3.0\www\Galerie\include\picture_metadata.inc.php on line 162 Notice: Undefined variable: perma_meta in C:\Program Files\EasyPHP 3.0\www\Galerie\include\picture_metadata.inc.php on line 162 Notice: Undefined variable: perma_meta in C:\Program Files\EasyPHP 3.0\www\Galerie\include\picture_metadata.inc.php on line 162 Notice: Undefined variable: perma_meta in C:\Program Files\EasyPHP 3.0\www\Galerie\include\picture_metadata.inc.php on line 162 Notice: Undefined variable: perma_meta in C:\Program Files\EasyPHP 3.0\www\Galerie\include\picture_metadata.inc.php on line 162 Notice: Undefined variable: perma_meta in C:\Program Files\EasyPHP 3.0\www\Galerie\include\picture_metadata.inc.php on line 352 ModelCanon EOS 400D DIGITAL Notice: Undefined variable: perma_meta in C:\Program Files\EasyPHP 3.0\www\Galerie\include\picture_metadata.inc.php on line 162 FNumber90/10 Notice: Undefined variable: perma_meta in C:\Program Files\EasyPHP 3.0\www\Galerie\include\picture_metadata.inc.php on line 162 ExposureTime1/30 Notice: Undefined variable: perma_meta in C:\Program Files\EasyPHP 3.0\www\Galerie\include\picture_metadata.inc.php on line 162
Le ligne 162 correspond à:
$perma_meta = $perma_meta.$key.' : '.$data.' | ';
Hors ligne
dans conversion, il faut changer
global $tpl_meta, $lang,$perma_meta;
J'ai mis à jour le post ci-dessus.
Hors ligne
C'est bon, l'affichage ma va :-)
Juste ce soucis où les permadata ne sont pas permanents xD
Je vais voir de mon coté si je n'ai pas changé une condition et sinon je reviens pour dire l'inverse.
En tous cas EX-FTB un très grand merci !!! MERCI
Hors ligne
Gotcha a écrit:
C'est bon, l'affichage ma va :-)
Juste ce soucis où les permadata ne sont pas permanents xD
Je vais voir de mon coté si je n'ai pas changé une condition et sinon je reviens pour dire l'inverse.
En tous cas EX-FTB un très grand merci !!! MERCI
la permanence est un effet de bord chez moi, mais on réglera cela demain.
Hors ligne