Horde_Image_Exif::factory PHP Method

factory() public static method

Factory method for instantiating a Horde_Image_Exif object.
public static factory ( string $driver = null, array $params = [] ) : Horde_Image_Exif
$driver string
$params array
return Horde_Image_Exif
    public static function factory($driver = null, $params = array())
    {
        if (empty($driver) && function_exists('exif_read_data')) {
            $driver = 'Php';
        } elseif (empty($driver)) {
            $driver = 'Bundled';
        } else {
            $driver = basename($driver);
        }
        $class = 'Horde_Image_Exif_' . $driver;
        return new $class($params);
    }

Usage Example

Exemplo n.º 1
0
 /**
  * Get the image attributes from the backend.
  *
  * @return array  A hash of Exif fieldnames => values.
  */
 public function getAttributes()
 {
     $attributes = $GLOBALS['injector']->getInstance('Ansel_Storage')->getImageAttributes($this->id);
     $params = !empty($GLOBALS['conf']['exif']['params']) ? $GLOBALS['conf']['exif']['params'] : array();
     $params['logger'] = $GLOBALS['injector']->getInstance('Horde_Log_Logger');
     $exif = Horde_Image_Exif::factory($GLOBALS['conf']['exif']['driver'], $params);
     $fields = Horde_Image_Exif::getFields($exif);
     $output = array();
     foreach ($fields as $field => $data) {
         if (!isset($attributes[$field])) {
             continue;
         }
         $output[$field] = $value = Horde_Image_Exif::getHumanReadable($field, Horde_String::convertCharset($attributes[$field], $GLOBALS['conf']['sql']['charset'], 'UTF-8'));
     }
     return $output;
 }