From 497203da33a14f99033dee0e5a53931edd3883f7 Mon Sep 17 00:00:00 2001 From: rvelices Date: Mon, 7 Jun 2010 19:06:20 +0000 Subject: merge r6484 from trunk to branch 2.1 - revert r6473 and r6475 - moved call to event format_exif_data earlier git-svn-id: http://piwigo.org/svn/branches/2.1@6485 68402e56-0260-453c-a942-63ccdbb3a9ee --- include/functions_metadata.inc.php | 44 ++++++++++++++++---------------------- include/picture_metadata.inc.php | 21 +++++++++++------- 2 files changed, 32 insertions(+), 33 deletions(-) (limited to 'include') diff --git a/include/functions_metadata.inc.php b/include/functions_metadata.inc.php index 2b298606f..95ed2befc 100644 --- a/include/functions_metadata.inc.php +++ b/include/functions_metadata.inc.php @@ -117,31 +117,25 @@ function get_exif_data($filename, $map) // Read EXIF data if ($exif = @read_exif_data($filename)) { - if ($map != null) - { - foreach ($map as $key => $field) - { - if (strpos($field, ';') === false) - { - if (isset($exif[$field])) - { - $result[$key] = $exif[$field]; - } - } - else - { - $tokens = explode(';', $field); - if (isset($exif[$tokens[0]][$tokens[1]])) - { - $result[$key] = $exif[$tokens[0]][$tokens[1]]; - } - } - } - } - else - { - $result = $exif; - } + $exif = trigger_event('format_exif_data', $exif, $filename ); + foreach ($map as $key => $field) + { + if (strpos($field, ';') === false) + { + if (isset($exif[$field])) + { + $result[$key] = $exif[$field]; + } + } + else + { + $tokens = explode(';', $field); + if (isset($exif[$tokens[0]][$tokens[1]])) + { + $result[$key] = $exif[$tokens[0]][$tokens[1]]; + } + } + } } return $result; diff --git a/include/picture_metadata.inc.php b/include/picture_metadata.inc.php index 9c5a4a980..b87ae0700 100644 --- a/include/picture_metadata.inc.php +++ b/include/picture_metadata.inc.php @@ -29,15 +29,20 @@ include_once(PHPWG_ROOT_PATH.'/include/functions_metadata.inc.php'); if (($conf['show_exif']) and (function_exists('read_exif_data'))) { - $exif = get_exif_data($picture['current']['image_path'], null); + $exif_mapping = array(); + foreach ($conf['show_exif_fields'] as $field) + { + $exif_mapping[$field] = $field; + } + + $exif = get_exif_data($picture['current']['image_path'], $exif_mapping); if (count($exif) == 0 and $picture['current']['has_high']) { - $exif = get_exif_data($picture['current']['high_url'], null); + $exif = get_exif_data($picture['current']['high_url'], $exif_mapping); } + if (count($exif) > 0) { - $exif = trigger_event('format_exif_data', $exif, $picture['current'] ); - $tpl_meta = array( 'TITLE' => 'EXIF Metadata', 'lines' => array(), @@ -60,14 +65,14 @@ if (($conf['show_exif']) and (function_exists('read_exif_data'))) else { $tokens = explode(';', $field); - if (isset($exif[$tokens[0]][$tokens[1]])) + if (isset($exif[$field])) { $key = $tokens[1]; - if (isset($lang['exif_field_'.$tokens[1]])) + if (isset($lang['exif_field_'.$key])) { - $key = $lang['exif_field_'.$tokens[1]]; + $key = $lang['exif_field_'.$key]; } - $tpl_meta['lines'][$key] = $exif[$tokens[0]][$tokens[1]]; + $tpl_meta['lines'][$key] = $exif[$field]; } } } -- cgit v1.2.3