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.
This commit is contained in:
parent
09a841f3be
commit
128d1f7aa8
@ -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;
|
||||
|
@ -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']);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user