Revert "Refactor a bit to differentiate between the various meta data groups."
authorMichael J. Rubinsky <mrubinsk@horde.org>
Wed, 5 Aug 2009 17:16:19 +0000 (13:16 -0400)
committerMichael J. Rubinsky <mrubinsk@horde.org>
Wed, 5 Aug 2009 18:38:01 +0000 (14:38 -0400)
This reverts commit ec781ad1d0e5bd5e2b9c9e61a3393c601d91f046.

framework/Image/lib/Horde/Image/Exif.php
framework/Image/lib/Horde/Image/Exif/Base.php
framework/Image/lib/Horde/Image/Exif/Bundled.php
framework/Image/lib/Horde/Image/Exif/Exiftool.php
framework/Image/lib/Horde/Image/Exif/Php.php

index 3bb9391..acb85f7 100644 (file)
  */
 class Horde_Image_Exif
 {
-    protected _$fields = array(
-            'IPTC' => array(
-                'Keywords' => array('description' => _("Image keywords"), 'type' => 'array'),
-                'ObjectName' => array('description' => _("Image Title"), 'type' => 'text'),
-                'By-line' => array('description' => _("By"), 'type' => 'text'),
-                'CopyrightNotice' => array('description' => _("Copyright"), 'type' => 'text'),
-            ),
-
-            'XMP' => array(
-                'Creator' => array('description' => _("Image Creator"), 'type' => 'text'),
-                'Rights' => array('description' => _("Rights"), 'type' => 'text'),
-                'UsageTerms' => array('description' => _("Usage Terms"), 'type' => 'type'),
-            ),
-
-            'EXIF' => array(
-                'DateTime' => array('description' => _("Date Photo Modified"), 'type' => 'date'),
-                'DateTimeOriginal' => array('description' => _("Date Photo Taken"), 'type' => 'date'),
-                'DateTimeDigitized' => array('description' => _("Date Photo Digitized"), 'type' => 'date'),
-                'GPSLatitude' => array('description' => _("Latitude"), 'type' => 'gps'),
-                'GPSLongitude' => array('description' => _("Longitude"), 'type' => 'gps'),
-                'Make' => array('description' => _("Camera Make"), 'type' => 'text'),
-                'Model' => array('description' => _("Camera Model"), 'type' => 'text'),
-                'Software' => array('description' => _("Software Version"), 'type' => 'text'),
-                'ImageType' => array('description' => _("Photo Type"), 'type' => 'text'),
-                'ImageDescription' => array('description' => _("Photo Description"), 'type' => 'text'),
-                'FileSize' => array('description' => _("File Size"), 'type' => 'number'),
-                'ExifImageWidth' => array('description' => _("Width"), 'type' => 'number'),
-                'ExifImageLength' => array('description' => _("Height"), 'type' => 'number'),
-                'XResolution' => array('description' => _("X Resolution"), 'type' => 'number'),
-                'YResolution' => array('description' => _("Y Resolution"), 'type' => 'number'),
-                'ResolutionUnit' => array('description' => _("Resolution Unit"), 'type' => 'text'),
-                'ShutterSpeedValue' => array('description' => _("Shutter Speed"), 'type' => 'number'),
-                'ExposureTime' => array('description' => _("Exposure"), 'type' => 'number'),
-                'FocalLength' => array('description' => _("Focal Length"), 'type' => 'number'),
-                'FocalLengthIn35mmFilm' => array('description' => _("Focal Length (35mm equiv)"), 'type' => 'number'),
-                'ApertureValue' => array('description' => _("Aperture"), 'type' => 'number'),
-                'FNumber' => array('description' => _("F-Number"), 'type' => 'number'),
-                'ISOSpeedRatings' => array('description' => _("ISO Setting"), 'type' => 'number'),
-                'ExposureBiasValue' => array('description' => _("Exposure Bias"), 'type' => 'number'),
-                'ExposureMode' => array('description' => _("Exposure Mode"), 'type' => 'number'),
-                'ExposureProgram' => array('description' => _("Exposure Program"), 'type' => 'number'),
-                'MeteringMode' => array('description' => _("Metering Mode"), 'type' => 'number'),
-                'Flash' => array('description' => _("Flash Setting"), 'type' => 'number'),
-                'UserComment' => array('description' => _("User Comment"), 'type' => 'text'),
-                'ColorSpace' => array('description' => _("Color Space"), 'type' => 'number'),
-                'SensingMethod' => array('description' => _("Sensing Method"), 'type' => 'number'),
-                'WhiteBalance' => array('description' => _("White Balance"), 'type' => 'number'),
-                'Orientation' => array('description' => _("Camera Orientation"), 'type' => 'number'),
-                'Copyright' => array('description' => _("Copyright"), 'type' => 'text'),
-                'Artist' => array('description' => _("Artist"), 'type' => 'text'),
-                'LightSource' => array('description' => _("Light source"), 'type' => 'number'),
-                'FileSource' => array('description' => _("File source"), 'type' => 'number'),
-                'ImageStabalization' => array('description' => _("Image Stabilization"), 'type' => 'text'),
-            ),
-        );
-
     /**
      * Factory method for instantiating a Horde_Image_Exif object.
      *
@@ -118,15 +62,47 @@ class Horde_Image_Exif
      *
      * @return array
      */
-    static public function getFields($driver)
+    static public function getFields()
     {
-        $groups = $driver->supportedGroups();
-        $return = array();
-        foreach ($groups as $group) {
-            $return[$group] = $this->_fields[$group];
-        }
-
-        return $return;
+        return array('Make' => array('description' => _("Camera Make"), 'type' => 'text'),
+                     'Model' => array('description' => _("Camera Model"), 'type' => 'text'),
+                     'Software' => array('description' => _("Software Version"), 'type' => 'text'),
+                     'ImageType' => array('description' => _("Photo Type"), 'type' => 'text'),
+                     'ImageDescription' => array('description' => _("Photo Description"), 'type' => 'text'),
+                     'FileSize' => array('description' => _("File Size"), 'type' => 'number'),
+                     'DateTime' => array('description' => _("Date Photo Modified"), 'type' => 'date'),
+                     'DateTimeOriginal' => array('description' => _("Date Photo Taken"), 'type' => 'date'),
+                     'DateTimeDigitized' => array('description' => _("Date Photo Digitized"), 'type' => 'date'),
+                     'ExifImageWidth' => array('description' => _("Width"), 'type' => 'number'),
+                     'ExifImageLength' => array('description' => _("Height"), 'type' => 'number'),
+                     'XResolution' => array('description' => _("X Resolution"), 'type' => 'number'),
+                     'YResolution' => array('description' => _("Y Resolution"), 'type' => 'number'),
+                     'ResolutionUnit' => array('description' => _("Resolution Unit"), 'type' => 'text'),
+                     'ShutterSpeedValue' => array('description' => _("Shutter Speed"), 'type' => 'number'),
+                     'ExposureTime' => array('description' => _("Exposure"), 'type' => 'number'),
+                     'FocalLength' => array('description' => _("Focal Length"), 'type' => 'number'),
+                     'FocalLengthIn35mmFilm' => array('description' => _("Focal Length (35mm equiv)"), 'type' => 'number'),
+                     'ApertureValue' => array('description' => _("Aperture"), 'type' => 'number'),
+                     'FNumber' => array('description' => _("F-Number"), 'type' => 'number'),
+                     'ISOSpeedRatings' => array('description' => _("ISO Setting"), 'type' => 'number'),
+                     'ExposureBiasValue' => array('description' => _("Exposure Bias"), 'type' => 'number'),
+                     'ExposureMode' => array('description' => _("Exposure Mode"), 'type' => 'number'),
+                     'ExposureProgram' => array('description' => _("Exposure Program"), 'type' => 'number'),
+                     'MeteringMode' => array('description' => _("Metering Mode"), 'type' => 'number'),
+                     'Flash' => array('description' => _("Flash Setting"), 'type' => 'number'),
+                     'UserComment' => array('description' => _("User Comment"), 'type' => 'text'),
+                     'ColorSpace' => array('description' => _("Color Space"), 'type' => 'number'),
+                     'SensingMethod' => array('description' => _("Sensing Method"), 'type' => 'number'),
+                     'WhiteBalance' => array('description' => _("White Balance"), 'type' => 'number'),
+                     'Orientation' => array('description' => _("Camera Orientation"), 'type' => 'number'),
+                     'Copyright' => array('description' => _("Copyright"), 'type' => 'text'),
+                     'Artist' => array('description' => _("Artist"), 'type' => 'text'),
+                     'GPSLatitude' => array('description' => _("Latitude"), 'type' => 'gps'),
+                     'GPSLongitude' => array('description' => _("Longitude"), 'type' => 'gps'),
+                     'LightSource' => array('description' => _("Light source"), 'type' => 'number'),
+                     'FileSource' => array('description' => _("File source"), 'type' => 'number'),
+                     'Keywords' => array('description' => _("Image keywords"), 'type' => 'array')
+        );
     }
 
     /**
@@ -410,9 +386,7 @@ class Horde_Image_Exif
            return round($data/pow(1024, $e), 2) . ' ' . $s[$e];
 
         case 'FileSource':
-            var_dump($data);
             $data = bin2hex($data);
-            var_dump($data);
             $data = str_replace('00', '', $data);
             $data = str_replace('03', _("Digital Still Camera"), $data);
             return $data;
index 89664c6..bea1cc2 100644 (file)
@@ -46,11 +46,7 @@ abstract class Horde_Image_Exif_Base
     {
         $results = array();
         if ($exif) {
-            $groups = Horde_Image_Exif::getFields();
-            $fields = array();
-            foreach ($groups as $group) {
-                $fields = array_merge($fields, $group);
-            }
+            $fields = Horde_Image_Exif::getFields();
 
             foreach ($fields as $field => $data) {
                 $value = isset($exif[$field]) ? $exif[$field] : '';
@@ -159,7 +155,6 @@ abstract class Horde_Image_Exif_Base
     }
 
     abstract public function getData($image);
-    abstract public function supportedGroups();
 
 
 }
\ No newline at end of file
index ed42381..9ab0b99 100644 (file)
@@ -34,11 +34,6 @@ class Horde_Image_Exif_Bundled extends Horde_Image_Exif_Base
     }
 
 
-    public function supportedGroups()
-    {
-        return array('EXIF');
-    }
-
     /**
      *
      * @param $path
index ca8e6c2..1c643cf 100644 (file)
@@ -73,9 +73,4 @@ class Horde_Image_Exif_Exiftool extends Horde_Image_Exif_Base
         return $output;
     }
 
-    public function supportedGroups()
-    {
-        return array('EXIF', 'XMP', 'IPTC');
-    }
-
 }
\ No newline at end of file
index fb7df70..bf380d7 100644 (file)
@@ -19,9 +19,4 @@ class Horde_Image_Exif_Php extends Horde_Image_Exif_Base
         return $this->_processData($exif);
     }
 
-    public function supportedGroups()
-    {
-        return array('EXIF');
-    }
-
 }