É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)

Gotcha
2010-11-22 23:50:34

Je dirais même plus, le sujet initiale date de plus de 4 ans !

ddtddt
2010-11-22 22:50:08

Tu veux faire quoi ?
Tu utilises quelle version de Phpwebgallery/Piwigo

Ce post à 2 ans je te conseils d'ouvrir un nouveau post en expliquant ce que tu veux faire et en faisans référence à celui ci.

Mais en 2 ans il y a eu beaucoup de changement c'est possible que cette solution ne fonctionne plus

Mais dans ce cas, il y en aura une autre :-)

Otemohu
2010-11-22 22:21:36

Bonjour,

J'ai tout essayé mais ça ne marche pas chez moi.
Il semble que la fonction ne veuille pas calculer ce dont pourquoi elle est faite.

Je l'ai placée dans le fichier picture_metadata.inc.php après le include et avant le premier if.

Pour le reste, tout s'affiche bien comme je le souhaite sur le site photo.

Si quelqu'un peut m'aider ?

Cordialement,
Daniel

Nicco
2008-02-11 23:48:04

bon faut que je regarde car la j ai encore du loupé un plugin je me souviens plus de ce qu il fait et si je l ai testé

bon on verra demain

tieum
2008-02-11 23:32:01

J'ai comme qui dirait un boulot ;-)

QU'est-ce qui ne va pas dans exif_view? Je le trouve plutot pas mal.

Nicco
2008-02-11 20:25:23

bon alors ton plugin tieum !!!

on l attend avec impatience ;-]

Nicco
2008-02-11 15:40:27

aaahh oui desole mais je ne parlais pas de la bonne chose ... moi c est toute ca mise en page que je voulais et que je trouvais genial !!!

donc avis a la population ... un plugin qui reprend la presentation de phgiraud please

tieum
2008-02-11 14:51:39

Euh, je l'ai installe comme un plugin et ca marche du tonnerre.

Je suis en train de faire la trad en francais.

J;ai aussi ajouter du code comme indique ci-dessus pour calculer l'equivalent 35mm. Voici la nouvelle fonction function exif_translation pour arriver a cela.

Code:

function exif_translation($exif) {
   // translate all exif fields
   if (is_array($exif)) {
      loadLang();
     foreach ($exif as $key => $value) {
        $exif[$key] = exif_key_translation($key, $value);
     }
     
     if ( !isset($exif['FocalLengthIn35mmFilm']) and
          isset($exif['FocalLength']) and
          isset($exif['Model']) )
     {
       $Focal= explode('m', $exif['FocalLength']);
       if ($exif['Model']==='DSC-H1') $f35 = $Focal[0]*6.0 ;
       else if ($exif['Model']==='E885') $f35 = $Focal[0]*4.75 ;
       else if ($exif['Model']==='Canon EOS 350D DIGITAL') $f35 = $Focal[0]*1.6 ;            
       else if ($exif['Model']==='Canon DIGITAL IXUS 750') $f35 = $Focal[0]*4.8 ;
       
       if (isset($f35)) $exif['FocalLengthIn35mmFilm'] = $f35." mm";          
     }

   }
   return $exif;
}
Nicco
2008-02-11 09:17:22

effectivement si tu arrives a mettre ce MOD en plugin je pense que tu auras du succes !!!

j avais completement oublié cette presentation ... ca serai bien de la retrouver

rub
2008-02-11 07:05:30

tieum a écrit:

Bonjour,

Comment mettre cela en plugin? Peut-on se faire appeller pour surcharger l'affichage des EXIFs?

Merci,

Tieum

Tu as le trigger format_exif_data.
Tu peux aller voir le plugin EXIF View pour avoir un exemple.

tieum
2008-02-11 03:49:13

Bonjour,

Comment mettre cela en plugin? Peut-on se faire appeller pour surcharger l'affichage des EXIFs?

Merci,

Tieum

phgiraud
2006-11-22 18:15:04

apparemment, il faut enlever l'accolade en ligne 73

(par contre, je ne suis pas à l'origine de l'idée de présenter les EXIF, c'est une fonctionnalité déjà présente dans PWG ; j'ai seulement proposé une nouvelle manière de les afficher)

dartagnan
2006-11-22 18:10:22

bonjour,

super cette idée d'ajouter les exifs........Des renseignements très pratique pour tout photographe amateur.
Je me suis aventure dans la modification du php mais voilà, j'ai une erreur à  la ligne 76.
je vous mets le code complet. Pour info, je ne connais rien à la programmation !
Merci pour votre aide.

le code:

<?php
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery                           |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2006 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch        : BSF (Best So Far)
// | file          : $RCSfile$
// | last update   : $Date: 2006-04-05 04:18:27 +0200 (mer, 05 avr 2006) $
// | last modifier : $Author: rvelices $
// | revision      : $Revision: 1126 $
// +-----------------------------------------------------------------------+
// | This program is free software; you can redistribute it and/or modify  |
// | it under the terms of the GNU General Public License as published by  |
// | the Free Software Foundation                                          |
// |                                                                       |
// | This program is distributed in the hope that it will be useful, but   |
// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
// | General Public License for more details.                              |
// |                                                                       |
// | You should have received a copy of the GNU General Public License     |
// | along with this program; if not, write to the Free Software           |
// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
// | USA.                                                                  |
// +-----------------------------------------------------------------------+

/**
* This file is included by the picture page to manage picture metadata
*
*/

include_once(PHPWG_ROOT_PATH.'/include/functions_metadata.inc.php');
$template->assign_block_vars('metadata', array());
if ($conf['show_exif'])
{
  if (!function_exists('read_exif_data'))
  {
    die('Exif extension not available, admin should disable exif display');
  }

  if ($exif = @read_exif_data($picture['current']['src_file_system']))
  {
    $template->assign_block_vars(
      'metadata.headline',
      array('TITLE' => 'EXIF Metadata')
      );

    foreach ($conf['show_exif_fields'] as $field)
    {
      if (strpos($field, ';') === false)
      {
        if (isset($exif[$field]))
        {
          // ************ PHG mouline data
          $key = $field;
          $champ = $field;
          if (isset($lang['exif_field_'.$field])) $key = $lang['exif_field_'.$field];
          $value = $exif[$field] ;
          if ($champ==='Make') $value.=' '.$exif['Model'];
          else if ($champ==='FocalLength') {
            $value = compute_fraction($value) ;
            $value.='mm';
            if (isset($exif['FocalLengthIn35mmFilm'])) {
              $f35 = compute_fraction($exif['FocalLengthIn35mmFilm']) ;
            } else {
              if ($exif['Model']==='DSC-H1') $f35 = $value*6.0 ;
              else if ($exif['Model']==='E885') $f35 = $value*4.75 ;
              else if ($exif['Model']==='Canon EOS 350D DIGITAL') $f35 = $value*1.6 ;
              else if ($exif['Model']==='Nikon D70') $f35 = $value*1.5 ;
            }
            if (isset($f35)) $value.=' (equ. '.$f35.'mm)';
{
            $value = compute_fraction($value) ;
            $value.='mm';
          } else if ($champ==="ExposureTime") {
            $value = compute_fraction($value) ;
            if ($value<1) {
              $value=1/$value ;
              $value="1/".$value ;
            }
            $value.="s";
          } else if ($champ==='ExposureBiasValue') {
            $value = compute_fraction($value) ;
            if ($value>0) $value='+'.$value;
            $value.=' EV';
          } else if ($champ==='ExposureProgram') {
            $sct = $exif['SceneCaptureType'];
            $value='' ;
            if ($sct>2) $value=$sct.' ';
            $exp = $exif['ExposureProgram'];
            switch($exp) {
              case 0: if ($sct===0) $value='Bougie' ; else $value='?'; break;
              case 1: $value.='M'; break;
              case 2: $value.='P'; break;
              case 3: $value.='A'; break;
              case 4: $value.='S'; break;
              case 5: $value.='Plage'; break;
              case 6: $value.='Sport'; break;
              case 7: $value.='Portrait'; break;
              case 8: $value.='Paysage'; break;
              default: $value.='Autre ('.$exp.')' ; break;
            }
          } else if ($champ==='LightSource') {
            switch($value) {
              case 0: $value="Auto"; break;
              case 1: $value="Jour"; break;
              case 2: $value="Fluorescent"; break;
              case 3: $value="Incandescent"; break;
              case 4: $value="Flash"; break;
              case 9: $value="Beau temps"; break;
              case 10: $value="Nuageux"; break;
              case 11: $value="Ombragé"; break;
              case 12: $value="Daylight fluorescent (D 5700 – 7100K)"; break;
              case 13: $value="Day white fluorescent (N 4600 – 5400K)"; break;
              case 14: $value="Cool white fluorescent (W 3900 – 4500K)"; break;
              case 15: $value="White fluorescent (WW 3200 – 3700K)"; break;
              case 17: $value="Standard light A"; break;
              case 18: $value="Standard light B"; break;
              case 19: $value="Standard light C"; break;
              case 20: $value="D55"; break;
              case 21: $value="D65"; break;
              case 22: $value="D75"; break;
              case 23: $value="D50"; break;
              case 24: $value="ISO studio tungsten"; break;
              case 255: $value="Other light source"; break;
              default: $value="Reserved (".$value.")"; break;
            }
          } else if ($champ==='Flash') {
            switch($value) {
              case 0x00: $flash='non'; break;
              case 0x01: $flash='oui'; break;
              case 0x05: $flash='retour ko'; break;
              case 0x07: $flash='retour ok'; break;
              case 0x09: $flash='oui, forcé'; break;
              case 0x0D: $flash='oui, forcé, retour ko'; break;
              case 0x0F: $flash='oui, forcé, retour ok'; break;
              case 0x10: $flash='non, forcé'; break;
              case 0x10: $flash='non, forcé'; break;
              case 0x18: $flash='non, auto'; break;
              case 0x19: $flash='oui, auto'; break;
              case 0x1D: $flash='oui, auto, retour ko'; break;
              case 0x1F: $flash='oui, auto, retour ok'; break;
              case 0x20: $flash='pas de flash'; break;
              case 0x41: $flash='oui, anti yeux rouges'; break;
              case 0x45: $flash='oui, anti yeux rouges, retour ko'; break;
              case 0x47: $flash='oui, anti yeux rouges, retour ok'; break;
              case 0x49: $flash='oui, forcé, anti yeux rouges'; break;
              case 0x4D: $flash='oui, forcé, anti yeux rouges, retour ko'; break;
              case 0x4F: $flash='oui, forcé, anti yeux rouges, retour ok'; break;
              case 0x59: $flash='oui, auto, anti yeux rouges'; break;
              case 0x5D: $flash='oui, auto, anti yeux rouges, retour ko'; break;
              case 0x5F: $flash='oui, auto, anti yeux rouges, retour ok'; break;
              default: $flash='Reserved'; break;
            }
            $value=$flash.' ('.dechex($value).')';
          }

          $template->assign_block_vars(
            'metadata.line',
            array(
              'KEY' => $key,
              'VALUE' => $value
              )
            );
Pour finir, quelques chaînes supplé

      }
      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]];
          }

          $template->assign_block_vars(
            'metadata.line',
            array(
              'KEY' => $key,
              'VALUE' => $exif[$tokens[0]][$tokens[1]]
              )
            );
        }
      }
    }
  }
}
if ($conf['show_iptc'])
{
  $iptc = get_iptc_data($picture['current']['src_file_system'],
                        $conf['show_iptc_mapping']);

  if (count($iptc) > 0)
  {
    $template->assign_block_vars(
      'metadata.headline',
      array('TITLE' => 'IPTC Metadata')
      );
  }

  foreach ($iptc as $field => $value)
  {
    $key = $field;
    if (isset($lang[$field]))
    {
      $key = $lang[$field];
    }

    $template->assign_block_vars(
      'metadata.line',
      array(
        'KEY' => $key,
        'VALUE' => $value
        )
      );
  }
}


?>

Joris
2006-09-28 23:55:53

j'ai trouvé ... merci !

Joris
2006-09-28 23:27:49

Bonne nouvelle, j'ai rajouté l'accolade,

maintenant j'ai une erreure ligne 65 !

Fatal error: Call to undefined function: compute_fraction() in /mnt/113/sdc/a/3/ftpktf/phpwebgallery/include/picture_metadata.inc.php on line 65

$value = compute_fraction($value);

?? je comprends pas , j'ai juste copié collé ton code ... !

Pied de page des forums

Propulsé par FluxBB

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