diff options
author | rvelices <rv-github@modusoptimus.com> | 2010-06-07 19:06:20 +0000 |
---|---|---|
committer | rvelices <rv-github@modusoptimus.com> | 2010-06-07 19:06:20 +0000 |
commit | 497203da33a14f99033dee0e5a53931edd3883f7 (patch) | |
tree | 6322590e13068e7bd7e8a5385c75ce806d5fa2ee | |
parent | 40cab61e1ffd1fc3c3f4974e662303b4a066625f (diff) |
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
-rw-r--r-- | include/functions_metadata.inc.php | 44 | ||||
-rw-r--r-- | include/picture_metadata.inc.php | 21 |
2 files changed, 32 insertions, 33 deletions
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]; } } } |