Index: /extensions/exif_view/index.php
===================================================================
--- /extensions/exif_view/index.php	(revision 4660)
+++ /extensions/exif_view/index.php	(revision 4660)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id$
+// | last update   : $Date$
+// | last modifier : $Author$
+// | revision      : $Revision$
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/exif_view/language/cz_CZ/index.php
===================================================================
--- /extensions/exif_view/language/cz_CZ/index.php	(revision 4660)
+++ /extensions/exif_view/language/cz_CZ/index.php	(revision 4660)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id$
+// | last update   : $Date$
+// | last modifier : $Author$
+// | revision      : $Revision$
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/exif_view/language/cz_CZ/lang.exif.php
===================================================================
--- /extensions/exif_view/language/cz_CZ/lang.exif.php	(revision 4660)
+++ /extensions/exif_view/language/cz_CZ/lang.exif.php	(revision 4660)
@@ -0,0 +1,90 @@
+<?php
+//$lang_info['language_name'] = 'Czech';
+//$lang_info['country'] = 'Czech Republic';
+//$lang_info['charset'] = 'UTF-8';
+//$lang_info['direction'] = 'ltr';
+//$lang_info['code'] = 'cz';
+global $lang;
+
+$lang['exif_field_Contrast'] = 'Kontrast';
+$lang['exif_field_DateTimeOriginal'] = 'Pořízeno';
+$lang['exif_field_DigitalZoomRatio'] = 'Digitalní zoom';
+$lang['exif_field_ExifVersion'] = 'EXIF';
+$lang['exif_field_ExposureBiasValue'] = 'Kompenzace expozice';
+$lang['exif_field_ExposureMode'] = 'Měření expozice';
+$lang['exif_field_ExposureProgram'] = 'Expoziční program';
+$lang['exif_field_ExposureTime'] = 'Čas';
+$lang['exif_field_FNumber'] = 'Clonové číslo';
+$lang['exif_field_Flash'] = 'Blesk';
+$lang['exif_field_FocalLength'] = 'Ohnisko';
+$lang['exif_field_FocalLengthIn35mmFilm'] = 'Ohnisko 35mm film';
+$lang['exif_field_ISOSpeedRatings'] = 'Citlivost ISO';
+$lang['exif_field_LightSource'] = 'Zdroj světla';
+$lang['exif_field_Make'] = 'Značka';
+$lang['exif_field_MeteringMode'] = 'Režim měření expozice';
+$lang['exif_field_Model'] = 'Model';
+$lang['exif_field_Saturation'] = 'Saturace';
+$lang['exif_field_Sharpness'] = 'Ostrost';
+$lang['exif_field_Software'] = 'EXIF software';
+$lang['exif_field_WhiteBalance'] = 'Vyvážení bílé';
+$lang['exif_value_contrast_hard'] = 'vysoký';
+$lang['exif_value_contrast_normal'] = 'normální';
+$lang['exif_value_contrast_soft'] = 'nízký';
+$lang['exif_value_exposure_mode_auto'] = 'auto';
+$lang['exif_value_exposure_mode_auto_bracket'] = 'auto bracket';
+$lang['exif_value_exposure_mode_manual'] = 'ruční';
+$lang['exif_value_exposure_program_action'] = 'akce';
+$lang['exif_value_exposure_program_aperture'] = 'priorita clony';
+$lang['exif_value_exposure_program_creative'] = 'kreativní';
+$lang['exif_value_exposure_program_landscape'] = 'krajina';
+$lang['exif_value_exposure_program_manual'] = 'ruční';
+$lang['exif_value_exposure_program_normal'] = 'normální';
+$lang['exif_value_exposure_program_not_defined'] = 'nedefinován';
+$lang['exif_value_exposure_program_portrait'] = 'portrét';
+$lang['exif_value_exposure_program_shutter'] = 'priorita závěrky';
+$lang['exif_value_flash_mode'] = 'režim';
+$lang['exif_value_flash_mode_auto'] = 'auto';
+$lang['exif_value_flash_mode_compulsory'] = 'povinně';
+$lang['exif_value_flash_mode_supress'] = 'zakázán';
+$lang['exif_value_flash_mode_unknown'] = 'neznámý';
+$lang['exif_value_flash_return_light_detected'] = 'zadní světlo detekováno';
+$lang['exif_value_flash_return_light_not_detected'] = 'zadní světlo nedetekováno';
+$lang['exif_value_light_source_D50'] = 'D50';
+$lang['exif_value_light_source_D55'] = 'D55';
+$lang['exif_value_light_source_D65'] = 'D65';
+$lang['exif_value_light_source_D75'] = 'D75';
+$lang['exif_value_light_source_cloudy_weather'] = 'zamračené počasí';
+$lang['exif_value_light_source_coolwhite_fluorescent_w'] = 'teplá zářivka (W 3900 – 4500K)';
+$lang['exif_value_light_source_daylight'] = 'denní světlo';
+$lang['exif_value_light_source_daylight_fluorescent_d'] = 'denní světlo (D 5700 – 7100K)';
+$lang['exif_value_light_source_daywhite_fluorescent_n'] = 'denní bílé světlo (N 4600 – 5400K)';
+$lang['exif_value_light_source_fine_weather'] = 'pěkné počasí';
+$lang['exif_value_light_source_flash'] = 'blesk';
+$lang['exif_value_light_source_fluorescent'] = 'zářivka';
+$lang['exif_value_light_source_iso_studio_tungsten'] = 'studiová žárovka ISO';
+$lang['exif_value_light_source_other'] = 'jiné';
+$lang['exif_value_light_source_shade'] = 'stín';
+$lang['exif_value_light_source_standard_light_a'] = 'standardní světlo A';
+$lang['exif_value_light_source_standard_light_b'] = 'standardní světlo B';
+$lang['exif_value_light_source_standard_light_c'] = 'standardní světlo C';
+$lang['exif_value_light_source_tungsten'] = 'žárovka';
+$lang['exif_value_light_source_unknown'] = 'neznámý';
+$lang['exif_value_light_source_white_fluorescent'] = 'bílá zářivka (WW 3200 – 3700K)';
+$lang['exif_value_metering_mode_CenterWeightedAVG'] = 'průměr s váženým středem';
+$lang['exif_value_metering_mode_average'] = 'průměr';
+$lang['exif_value_metering_mode_multispot'] = 'vícebodové';
+$lang['exif_value_metering_mode_partial'] = 'částečné';
+$lang['exif_value_metering_mode_pattern'] = 'pattern';
+$lang['exif_value_metering_mode_spot'] = 'bodové';
+$lang['exif_value_metering_mode_unknown'] = 'neznámý';
+$lang['exif_value_red_eye'] = 'redukce červených očí';
+$lang['exif_value_saturation_hard'] = 'vysoká';
+$lang['exif_value_saturation_low'] = 'nízká';
+$lang['exif_value_saturation_normal'] = 'normální';
+$lang['exif_value_sharpness_hard'] = 'vysoká';
+$lang['exif_value_sharpness_normal'] = 'normální';
+$lang['exif_value_sharpness_soft'] = 'nízká';
+$lang['exif_value_white_balance_auto'] = 'auto';
+$lang['exif_value_white_balance_manual'] = 'ruční';
+
+?>
Index: /extensions/exif_view/language/en_UK/index.php
===================================================================
--- /extensions/exif_view/language/en_UK/index.php	(revision 4660)
+++ /extensions/exif_view/language/en_UK/index.php	(revision 4660)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id$
+// | last update   : $Date$
+// | last modifier : $Author$
+// | revision      : $Revision$
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/exif_view/language/en_UK/lang.exif.php
===================================================================
--- /extensions/exif_view/language/en_UK/lang.exif.php	(revision 4660)
+++ /extensions/exif_view/language/en_UK/lang.exif.php	(revision 4660)
@@ -0,0 +1,90 @@
+<?php
+//$lang_info['language_name'] = 'English';
+//$lang_info['country'] = ''Great Britain';
+//$lang_info['charset'] = 'iso-8859-1';
+//$lang_info['direction'] = 'ltr';
+//$lang_info['code'] = 'en';
+global $lang;
+
+$lang['exif_field_Contrast'] = 'Contrast';
+$lang['exif_field_DateTimeOriginal'] = 'Date Time of Original';
+$lang['exif_field_DigitalZoomRatio'] = 'Digital Zoom';
+$lang['exif_field_ExifVersion'] = 'EXIF';
+$lang['exif_field_ExposureBiasValue'] = 'Exposure compensation';
+$lang['exif_field_ExposureMode'] = 'Exposure Mode';
+$lang['exif_field_ExposureProgram'] = 'Exposure Program';
+$lang['exif_field_ExposureTime'] = 'Exposure Time';
+$lang['exif_field_FNumber'] = 'Aperture Number';
+$lang['exif_field_Flash'] = 'Flash';
+$lang['exif_field_FocalLength'] = 'Focal Length';
+$lang['exif_field_FocalLengthIn35mmFilm'] = 'Focal Length in 35mm Film';
+$lang['exif_field_ISOSpeedRatings'] = 'ISO';
+$lang['exif_field_LightSource'] = 'Light Source';
+$lang['exif_field_Make'] = 'Maker';
+$lang['exif_field_MeteringMode'] = 'Exposure Metering Mode';
+$lang['exif_field_Model'] = 'Model';
+$lang['exif_field_Saturation'] = 'Saturation';
+$lang['exif_field_Sharpness'] = 'Sharpness';
+$lang['exif_field_Software'] = 'EXIF software';
+$lang['exif_field_WhiteBalance'] = 'White Balancing';
+$lang['exif_value_contrast_hard'] = 'hard';
+$lang['exif_value_contrast_normal'] = 'normal';
+$lang['exif_value_contrast_soft'] = 'soft';
+$lang['exif_value_exposure_mode_auto'] = 'auto';
+$lang['exif_value_exposure_mode_auto_bracket'] = 'auto bracket';
+$lang['exif_value_exposure_mode_manual'] = 'manual';
+$lang['exif_value_exposure_program_action'] = 'action';
+$lang['exif_value_exposure_program_aperture'] = 'aprture priroty';
+$lang['exif_value_exposure_program_creative'] = 'creative';
+$lang['exif_value_exposure_program_landscape'] = 'landscape';
+$lang['exif_value_exposure_program_manual'] = 'manual';
+$lang['exif_value_exposure_program_normal'] = 'normal';
+$lang['exif_value_exposure_program_not_defined'] = 'not defined';
+$lang['exif_value_exposure_program_portrait'] = 'portrait';
+$lang['exif_value_exposure_program_shutter'] = 'shutter priority';
+$lang['exif_value_flash_mode'] = 'mode';
+$lang['exif_value_flash_mode_auto'] = 'auto';
+$lang['exif_value_flash_mode_compulsory'] = 'compulsory';
+$lang['exif_value_flash_mode_supress'] = 'supressed';
+$lang['exif_value_flash_mode_unknown'] = 'unknown';
+$lang['exif_value_flash_return_light_detected'] = 'return light detected';
+$lang['exif_value_flash_return_light_not_detected'] = 'return light not detected';
+$lang['exif_value_light_source_D50'] = 'D50';
+$lang['exif_value_light_source_D55'] = 'D55';
+$lang['exif_value_light_source_D65'] = 'D65';
+$lang['exif_value_light_source_D75'] = 'D75';
+$lang['exif_value_light_source_cloudy_weather'] = 'cloudy weather';
+$lang['exif_value_light_source_coolwhite_fluorescent_w'] = 'cool white (W 3900  4500K)';
+$lang['exif_value_light_source_daylight'] = 'day light';
+$lang['exif_value_light_source_daylight_fluorescent_d'] = 'day light fluorescent (D 5700  7100K)';
+$lang['exif_value_light_source_daywhite_fluorescent_n'] = 'day white fluorescent (N 4600  5400K)';
+$lang['exif_value_light_source_fine_weather'] = 'fine weather';
+$lang['exif_value_light_source_flash'] = 'flash';
+$lang['exif_value_light_source_fluorescent'] = 'fluorescent';
+$lang['exif_value_light_source_iso_studio_tungsten'] = 'ISO stuido tungsten';
+$lang['exif_value_light_source_other'] = 'other';
+$lang['exif_value_light_source_shade'] = 'shade';
+$lang['exif_value_light_source_standard_light_a'] = 'standard light A';
+$lang['exif_value_light_source_standard_light_b'] = 'standard light B';
+$lang['exif_value_light_source_standard_light_c'] = 'standard light C';
+$lang['exif_value_light_source_tungsten'] = 'tungsten';
+$lang['exif_value_light_source_unknown'] = 'unknown';
+$lang['exif_value_light_source_white_fluorescent'] = 'white fluorescent (WW 3200  3700K)';
+$lang['exif_value_metering_mode_CenterWeightedAVG'] = 'averaged center';
+$lang['exif_value_metering_mode_average'] = 'average';
+$lang['exif_value_metering_mode_multispot'] = 'multispot';
+$lang['exif_value_metering_mode_partial'] = 'partial';
+$lang['exif_value_metering_mode_pattern'] = 'pattern';
+$lang['exif_value_metering_mode_spot'] = 'spot';
+$lang['exif_value_metering_mode_unknown'] = 'unknown';
+$lang['exif_value_red_eye'] = 'red eye reduction';
+$lang['exif_value_saturation_hard'] = 'hard';
+$lang['exif_value_saturation_low'] = 'low';
+$lang['exif_value_saturation_normal'] = 'normal';
+$lang['exif_value_sharpness_hard'] = 'hard';
+$lang['exif_value_sharpness_normal'] = 'normal';
+$lang['exif_value_sharpness_soft'] = 'soft';
+$lang['exif_value_white_balance_auto'] = 'auto';
+$lang['exif_value_white_balance_manual'] = 'manual';
+
+?>
Index: /extensions/exif_view/language/fr_FR/index.php
===================================================================
--- /extensions/exif_view/language/fr_FR/index.php	(revision 4660)
+++ /extensions/exif_view/language/fr_FR/index.php	(revision 4660)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id$
+// | last update   : $Date$
+// | last modifier : $Author$
+// | revision      : $Revision$
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/exif_view/language/fr_FR/lang.exif.php
===================================================================
--- /extensions/exif_view/language/fr_FR/lang.exif.php	(revision 4660)
+++ /extensions/exif_view/language/fr_FR/lang.exif.php	(revision 4660)
@@ -0,0 +1,91 @@
+<?php
+//$lang_info['language_name'] = 'Français';
+//$lang_info['country'] = ''France';
+//$lang_info['charset'] = 'utf-8';
+//$lang_info['direction'] = 'ltr';
+//$lang_info['code'] = 'fr';
+//é
+global $lang;
+
+$lang['exif_field_Contrast'] = 'Contraste';
+$lang['exif_field_DateTimeOriginal'] = 'Date d\'origine';
+$lang['exif_field_DigitalZoomRatio'] = 'Digital Zoom';
+$lang['exif_field_ExifVersion'] = 'EXIF';
+$lang['exif_field_ExposureBiasValue'] = 'Exposure compensation';
+$lang['exif_field_ExposureMode'] = 'Exposure Mode';
+$lang['exif_field_ExposureProgram'] = 'Exposure Program';
+$lang['exif_field_ExposureTime'] = 'Exposure Time';
+$lang['exif_field_FNumber'] = 'Aperture Number';
+$lang['exif_field_Flash'] = 'Flash';
+$lang['exif_field_FocalLength'] = 'Focal Length';
+$lang['exif_field_FocalLengthIn35mmFilm'] = 'Focal Length in 35mm Film';
+$lang['exif_field_ISOSpeedRatings'] = 'ISO';
+$lang['exif_field_LightSource'] = 'Light Source';
+$lang['exif_field_Make'] = 'FR Maker';
+$lang['exif_field_MeteringMode'] = 'Exposure Metering Mode';
+$lang['exif_field_Model'] = 'Model';
+$lang['exif_field_Saturation'] = 'Saturation';
+$lang['exif_field_Sharpness'] = 'Sharpness';
+$lang['exif_field_Software'] = 'EXIF software';
+$lang['exif_field_WhiteBalance'] = 'White Balancing';
+$lang['exif_value_contrast_hard'] = 'hard';
+$lang['exif_value_contrast_normal'] = 'normal';
+$lang['exif_value_contrast_soft'] = 'soft';
+$lang['exif_value_exposure_mode_auto'] = 'auto';
+$lang['exif_value_exposure_mode_auto_bracket'] = 'auto bracket';
+$lang['exif_value_exposure_mode_manual'] = 'manual';
+$lang['exif_value_exposure_program_action'] = 'action';
+$lang['exif_value_exposure_program_aperture'] = 'aprture priroty';
+$lang['exif_value_exposure_program_creative'] = 'creative';
+$lang['exif_value_exposure_program_landscape'] = 'landscape';
+$lang['exif_value_exposure_program_manual'] = 'manual';
+$lang['exif_value_exposure_program_normal'] = 'normal';
+$lang['exif_value_exposure_program_not_defined'] = 'not defined';
+$lang['exif_value_exposure_program_portrait'] = 'portrait';
+$lang['exif_value_exposure_program_shutter'] = 'shutter priority';
+$lang['exif_value_flash_mode'] = 'mode';
+$lang['exif_value_flash_mode_auto'] = 'auto';
+$lang['exif_value_flash_mode_compulsory'] = 'compulsory';
+$lang['exif_value_flash_mode_supress'] = 'supressed';
+$lang['exif_value_flash_mode_unknown'] = 'unknown';
+$lang['exif_value_flash_return_light_detected'] = 'return light detected';
+$lang['exif_value_flash_return_light_not_detected'] = 'return light not detected';
+$lang['exif_value_light_source_D50'] = 'D50';
+$lang['exif_value_light_source_D55'] = 'D55';
+$lang['exif_value_light_source_D65'] = 'D65';
+$lang['exif_value_light_source_D75'] = 'D75';
+$lang['exif_value_light_source_cloudy_weather'] = 'cloudy weather';
+$lang['exif_value_light_source_coolwhite_fluorescent_w'] = 'cool white (W 3900 – 4500K)';
+$lang['exif_value_light_source_daylight'] = 'day light';
+$lang['exif_value_light_source_daylight_fluorescent_d'] = 'day light fluorescent (D 5700 – 7100K)';
+$lang['exif_value_light_source_daywhite_fluorescent_n'] = 'day white fluorescent (N 4600 – 5400K)';
+$lang['exif_value_light_source_fine_weather'] = 'fine weather';
+$lang['exif_value_light_source_flash'] = 'flash';
+$lang['exif_value_light_source_fluorescent'] = 'fluorescent';
+$lang['exif_value_light_source_iso_studio_tungsten'] = 'ISO stuido tungsten';
+$lang['exif_value_light_source_other'] = 'other';
+$lang['exif_value_light_source_shade'] = 'shade';
+$lang['exif_value_light_source_standard_light_a'] = 'standard light A';
+$lang['exif_value_light_source_standard_light_b'] = 'standard light B';
+$lang['exif_value_light_source_standard_light_c'] = 'standard light C';
+$lang['exif_value_light_source_tungsten'] = 'tungsten';
+$lang['exif_value_light_source_unknown'] = 'unknown';
+$lang['exif_value_light_source_white_fluorescent'] = 'white fluorescent (WW 3200 – 3700K)';
+$lang['exif_value_metering_mode_CenterWeightedAVG'] = 'averaged center';
+$lang['exif_value_metering_mode_average'] = 'average';
+$lang['exif_value_metering_mode_multispot'] = 'multispot';
+$lang['exif_value_metering_mode_partial'] = 'partial';
+$lang['exif_value_metering_mode_pattern'] = 'pattern';
+$lang['exif_value_metering_mode_spot'] = 'spot';
+$lang['exif_value_metering_mode_unknown'] = 'unknown';
+$lang['exif_value_red_eye'] = 'red eye reduction';
+$lang['exif_value_saturation_hard'] = 'hard';
+$lang['exif_value_saturation_low'] = 'low';
+$lang['exif_value_saturation_normal'] = 'normal';
+$lang['exif_value_sharpness_hard'] = 'hard';
+$lang['exif_value_sharpness_normal'] = 'normal';
+$lang['exif_value_sharpness_soft'] = 'soft';
+$lang['exif_value_white_balance_auto'] = 'auto';
+$lang['exif_value_white_balance_manual'] = 'manual';
+
+?>
Index: /extensions/exif_view/main.inc.php
===================================================================
--- /extensions/exif_view/main.inc.php	(revision 4660)
+++ /extensions/exif_view/main.inc.php	(revision 4660)
@@ -0,0 +1,353 @@
+<?php /*
+Plugin Name: Exif View
+Version: 0.2
+Description: Converts EXIF values to human readable localized values. Corresponds to EXIF specification 2.2, details in http://www.exif.org. Easily extensible.
+Plugin URI: http://www.phpwebgallery.net
+Author: Martin Javorek
+Author URI: mailto:maple@seznam.cz&subject=PWG%20EXIF%20View
+*/
+
+/*
+-------------------------------------------------------------------------------
+Change log:
+
+0.2, 23th August 2007
+- exposurue bias fix, date time original formatting
+
+0.1, 1st August 2007
+- initial version
+
+
+-------------------------------------------------------------------------------
+
+Extend your configuration in /include/config.local.inc.php file - example:
+
+$conf['show_exif_fields'] = array(
+  'Make',
+  'Model',
+  'ExifVersion',
+  'Software',
+  'DateTimeOriginal',
+  'FNumber',
+  'ExposureBiasValue',
+  'FILE;FileSize',
+  'ExposureTime',
+  'Flash',
+  'ISOSpeedRatings',
+  'FocalLength',
+  'FocalLengthIn35mmFilm',
+  'WhiteBalance',
+  'ExposureMode',
+  'MeteringMode',
+  'ExposureProgram',
+  'LightSource',
+  'Contrast',
+  'Saturation',
+  'Sharpness',
+  );
+
+*/
+
+add_event_handler('format_exif_data', 'exif_translation' );
+
+/**
+ * Date and time format.
+ * @see http://cz2.php.net/manual/en/function.date.php
+ */
+define('DATE_TIME_FORMAT', 'H:i:s j.n.Y');
+
+/**
+ * Truncates number.
+ *
+ * @param num number
+ * @param digits number of digits, default 0
+ */
+function truncate($num, $digits = 0) {
+    $shift = pow(10 , $digits);
+    return ((floor($num * $shift)) / $shift);
+}
+
+/**
+ * Format date.
+ *
+ * @param date given EXIF date
+ */
+function formatDate($date) {
+	$dateTime = explode(' ', $date);
+	$d = explode(':', $dateTime[0]);
+	$t = explode(':', $dateTime[1]);
+	// beware of american date format for mktime, it accepts date in M/D/Y ;-)
+	return date(DATE_TIME_FORMAT, mktime($t[0], $t[1], $t[2], $d[1], $d[2], $d[0]));
+}
+
+/**
+ * EXIF translation.
+ *
+ * @param $key EXIF key name
+ * @param $value EXIF key value
+ * @return translated value depending on key meaning and choosed language
+ */
+function exif_key_translation($key, $value) {
+   // EXIF
+	if (!(strpos($key, 'ExifVersion') === FALSE)) {
+      return $value[1].'.'.$value[2];
+   }
+   
+   // Date Time Original
+   if (!(strpos($key, 'DateTimeOriginal') === FALSE)) {
+      return formatDate($value);
+   }
+
+   // exposure time
+	 if (!(strpos($key, 'ExposureTime') === FALSE)) {
+      $tokens = explode('/', $value);
+      while ($tokens[0] % 10 == 0) {
+         $tokens[0] = $tokens[0] / 10;
+         $tokens[1] = $tokens[1] / 10;
+      }
+      if ($tokens[1] == 1) {
+         return $tokens[0].' s';
+      } else {
+         return $tokens[0].'/'.$tokens[1].' s';
+      }
+   }
+
+   // aperture
+	 if (!(strpos($key, 'FNumber') === FALSE)) {
+      $tokens = explode('/', $value);
+      return $tokens[0]/$tokens[1];
+   }
+
+   // flash
+   if (!(strpos($key, 'Flash') === FALSE)) {
+      // 1st bit is fired/did not fired
+      if (($value & 1) > 0) {
+         $retValue = l10n('yes');
+      } else {
+         $retValue = l10n('no');
+      }
+      // 2nd+3rd bits are return light mode
+      $returnLight = $value & (3 << 1);
+      switch ($returnLight) {
+        case 2 << 1: $retValue .= ', '.l10n('exif_value_flash_return_light_not_detected');break;
+        case 3 << 1: $retValue .= ', '.l10n('exif_value_flash_return_light_detected');break;
+      }
+      // 4th+5th bits are mode
+      $mode = $value & (3 << 3);
+      switch ($mode) {
+        case 0: $retValue .= ', '.l10n('exif_value_flash_mode').': '.l10n('exif_value_flash_mode_unknown');break;
+        case 1 << 3: $retValue .= ', '.l10n('exif_value_flash_mode').': '.l10n('exif_value_flash_mode_compulsory');break;
+        case 2 << 3: $retValue .= ', '.l10n('exif_value_flash_mode').': '.l10n('exif_value_flash_mode_supress');break;
+        case 3 << 3: $retValue .= ', '.l10n('exif_value_flash_mode').': '.l10n('exif_value_flash_mode_auto');break;
+      }
+			// 6th bit is red eye function
+      if (($value & (1 << 6)) > 0) {
+         $retValue .= ', '.l10n('exif_value_red_eye');
+      }
+      return $retValue;
+   }
+
+   // exposure bias
+   if (!(strpos($key, 'ExposureBiasValue') === FALSE)) {
+      $tokens = explode('/', $value);
+      $newValue = $tokens[0] / $tokens[1];
+      // max EV range +-
+      $maxEV = 5;
+      // default value
+      $retValue = $newValue;
+      $absValue = truncate(abs($newValue), 2);
+      $found = FALSE;
+      // find through 1/3
+      for ($i = 1; $i <= $maxEV * 3 ; $i++) {
+         $ev = floor($i * 1/3.0 * 100) / 100;
+         if ($ev == $absValue) {
+            if ($i > 3) {
+               $retValue = (truncate($i / 3)).' '.($i % 3).'/3';
+            } else {
+               $retValue = $i.'/3';
+            }
+            $found = TRUE;
+            break;
+         }
+      }
+      // find through 1/2
+      if (!$found) {
+         for ($i = 1; $i <= $maxEV * 2 ; $i++) {
+            $ev = floor($i * 1/2.0 * 100) / 100;
+            if ($ev == $absValue) {
+               if ($i > 2) {
+                  $retValue = ($i / 2).' '.($i % 2).'/2';
+               } else {
+                  $retValue = $i.'/2';
+               }
+               $found = TRUE;
+               break;
+            }
+         }
+      }
+      // signs
+      if (($newValue < 0) && $found) {
+         $retValue = '- '.$retValue;
+      }
+      if ($newValue > 0) {
+         $retValue = '+ '.$retValue;
+      }
+      return $retValue.' EV';
+   }
+
+   // focal length 35mm
+   if (!(strpos($key, 'FocalLengthIn35mmFilm') === FALSE)) {
+      return $value.' mm';
+   }
+
+   // focal length
+   if (!(strpos($key, 'FocalLength') === FALSE)) {
+      $tokens = explode('/', $value);
+      return ($tokens[0]/$tokens[1]).' mm';
+   }
+
+   // digital zoom
+   if (!(strpos($key, 'DigitalZoomRatio') === FALSE)) {
+      $tokens = explode('/', $value);
+      return ($tokens[0]/$tokens[1]);
+   }
+
+   // white balance
+   if (!(strpos($key, 'WhiteBalance') === FALSE)) {
+      switch ($value) {
+         case 0: return l10n('exif_value_white_balance_auto');
+         case 1: return l10n('exif_value_white_balance_manual');
+         default: return '';
+      }
+   }
+
+   // exposure mode
+   if (!(strpos($key, 'ExposureMode') === FALSE)) {
+      switch ($value) {
+         case 0: return l10n('exif_value_exposure_mode_auto');
+         case 1: return l10n('exif_value_exposure_mode_manual');
+         case 2: return l10n('exif_value_exposure_mode_auto_bracket');
+         default: return '';
+      }
+   }
+
+   // exposure metering mode
+   if (!(strpos($key, 'MeteringMode') === FALSE)) {
+      switch ($value) {
+         case 0: return l10n('exif_value_metering_mode_unknown');
+         case 1: return l10n('exif_value_metering_mode_average');
+         case 2: return l10n('exif_value_metering_mode_CenterWeightedAVG');
+         case 3: return l10n('exif_value_metering_mode_spot');
+         case 4: return l10n('exif_value_metering_mode_multispot');
+         case 5: return l10n('exif_value_metering_mode_pattern');
+         case 6: return l10n('exif_value_metering_mode_partial');
+         default: return '';
+      }
+   }
+
+   // exposure program
+   if (!(strpos($key, 'ExposureProgram') === FALSE)) {
+      switch ($value) {
+         case 0: return l10n('exif_value_exposure_program_not_defined');
+         case 1: return l10n('exif_value_exposure_program_manual');
+         case 2: return l10n('exif_value_exposure_program_normal');
+         case 3: return l10n('exif_value_exposure_program_aperture');
+         case 4: return l10n('exif_value_exposure_program_shutter');
+         case 5: return l10n('exif_value_exposure_program_creative');
+         case 6: return l10n('exif_value_exposure_program_action');
+         case 7: return l10n('exif_value_exposure_program_portrait');
+         case 8: return l10n('exif_value_exposure_program_landscape');
+         default: return '';
+      }
+   }
+   
+   // light source
+   if (!(strpos($key, 'LightSource') === FALSE)) {
+      switch ($value) {
+         case 0: return l10n('exif_value_light_source_unknown');
+         case 1: return l10n('exif_value_light_source_daylight');
+         case 2: return l10n('exif_value_light_source_fluorescent');
+         case 3: return l10n('exif_value_light_source_tungsten');
+         case 4: return l10n('exif_value_light_source_flash');
+         case 9: return l10n('exif_value_light_source_fine_weather');
+         case 10: return l10n('exif_value_light_source_cloudy_weather');
+         case 11: return l10n('exif_value_light_source_shade');
+         case 12: return l10n('exif_value_light_source_daylight_fluorescent_d');
+         case 13: return l10n('exif_value_light_source_daywhite_fluorescent_n');
+         case 14: return l10n('exif_value_light_source_coolwhite_fluorescent_w');
+         case 15: return l10n('exif_value_light_source_white_fluorescent');
+         case 17: return l10n('exif_value_light_source_standard_light_a');
+         case 18: return l10n('exif_value_light_source_standard_light_b');
+         case 19: return l10n('exif_value_light_source_standard_light_c');
+         case 20: return l10n('exif_value_light_source_D55');
+         case 21: return l10n('exif_value_light_source_D65');
+         case 22: return l10n('exif_value_light_source_D75');
+         case 23: return l10n('exif_value_light_source_D50');
+         case 24: return l10n('exif_value_light_source_iso_studio_tungsten');
+         case 255: return l10n('exif_value_light_source_other');
+         default: return '';
+      }
+   }
+
+   // contrast
+   if (!(strpos($key, 'Contrast') === FALSE)) {
+      switch ($value) {
+         case 0: return l10n('exif_value_contrast_normal');
+         case 1: return l10n('exif_value_contrast_soft');
+         case 2: return l10n('exif_value_contrast_hard');
+         default: return '';
+      }
+   }
+
+   // sharpness
+   if (!(strpos($key, 'Sharpness') === FALSE)) {
+      switch ($value) {
+         case 0: return l10n('exif_value_sharpness_normal');
+         case 1: return l10n('exif_value_sharpness_soft');
+         case 2: return l10n('exif_value_sharpness_hard');
+         default: return '';
+      }
+   }
+
+   // saturation
+   if (!(strpos($key, 'Saturation') === FALSE)) {
+      switch ($value) {
+         case 0: return l10n('exif_value_saturation_normal');
+         case 1: return l10n('exif_value_saturation_low');
+         case 2: return l10n('exif_value_saturation_hard');
+         default: return '';
+      }
+   }
+
+   // return value unchanged
+   return $value;
+}
+define('exif_DIR' , basename(dirname(__FILE__)));
+define('exif_PATH' , PHPWG_PLUGINS_PATH . exif_DIR . '/');
+	/**
+	 * Loads plugin language file.
+	 */
+  function loadLang() {
+    global $lang;
+    load_language('lang.exif', exif_PATH);
+  }
+
+/**
+ * EXIF translation.
+ *
+ * @param $key EXIF key name
+ * @param $value EXIF key value
+ * @return translated value dependend on key meaning and choosed language
+ */
+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);
+	   }
+	 }
+   return $exif;
+}
+
+?>
