diff options
author | zotlabs <mike@macgirvin.com> | 2018-03-13 22:47:11 -0700 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2018-03-13 22:47:11 -0700 |
commit | 128d1f7aa8a11e0394913a10daef56cd4be450b1 (patch) | |
tree | 00b22cc9a3c7472cce0c824c04ca7a40c97ee185 /include | |
parent | 09a841f3be2953fa8e346be9259b43cf68920741 (diff) | |
download | volse-hubzilla-128d1f7aa8a11e0394913a10daef56cd4be450b1.tar.gz volse-hubzilla-128d1f7aa8a11e0394913a10daef56cd4be450b1.tar.bz2 volse-hubzilla-128d1f7aa8a11e0394913a10daef56cd4be450b1.zip |
somewhere along the line the output of exif_read_data() changed and it no longer provides populated sections. Adjust for the new format and allow for the old because I cannot find documentation of this change anywhere. This affects photo rotation and the photo map feature.
Diffstat (limited to 'include')
-rw-r--r-- | include/photo/photo_driver.php | 4 | ||||
-rw-r--r-- | include/photos.php | 15 |
2 files changed, 13 insertions, 6 deletions
diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php index 6af753195..00284a288 100644 --- a/include/photo/photo_driver.php +++ b/include/photo/photo_driver.php @@ -289,12 +289,12 @@ abstract class photo_driver { return false; } - $ort = $exif['IFD0']['Orientation']; + $ort = ((array_key_exists('IFD0',$exif)) ? $exif['IFD0']['Orientation'] : $exif['Orientation']); if(! $ort) { return false; } - + switch($ort) { case 1: // nothing break; diff --git a/include/photos.php b/include/photos.php index b1391f284..321f7159c 100644 --- a/include/photos.php +++ b/include/photos.php @@ -333,10 +333,17 @@ function photo_upload($channel, $observer, $args) { $lat = $lon = null; - if($exif && $exif['GPS']) { - if(feature_enabled($channel_id,'photo_location')) { - $lat = getGps($exif['GPS']['GPSLatitude'], $exif['GPS']['GPSLatitudeRef']); - $lon = getGps($exif['GPS']['GPSLongitude'], $exif['GPS']['GPSLongitudeRef']); + if($exif && feature_enabled($channel_id,'photo_location')) { + $gps = null; + if(array_key_exists('GPS',$exif)) { + $gps = $exif['GPS']; + } + elseif(array_key_exists('GPSLatitude',$exif)) { + $gps = $exif; + } + if($gps) { + $lat = getGps($gps['GPSLatitude'], $gps['GPSLatitudeRef']); + $lon = getGps($gps['GPSLongitude'], $gps['GPSLongitudeRef']); } } |