diff options
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']); } } |