From 69920fb7173887f83052e682d5273b16e9c34c49 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Wed, 19 Aug 2015 19:17:17 -0700 Subject: fix photo location --- include/photo/photo_driver.php | 3 ++- include/photos.php | 12 +++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php index 426eb6aac..553e77ed1 100644 --- a/include/photo/photo_driver.php +++ b/include/photo/photo_driver.php @@ -238,10 +238,12 @@ abstract class photo_driver { if(! $this->is_valid()) return FALSE; + if((! function_exists('exif_read_data')) || ($this->getType() !== 'image/jpeg')) return; $exif = @exif_read_data($filename,null,true); + if($exif) { $ort = $exif['IFD0']['Orientation']; @@ -281,7 +283,6 @@ abstract class photo_driver { break; } - // logger('exif: ' . print_r($exif,true)); return $exif; } diff --git a/include/photos.php b/include/photos.php index 7437d6aa9..cb7fabc98 100644 --- a/include/photos.php +++ b/include/photos.php @@ -166,7 +166,7 @@ function photo_upload($channel, $observer, $args) { return $ret; } - $exif = $ph->orient($src); + $exif = $ph->orient(($args['os_path']) ? $args['os_path'] : $src); @unlink($src); @@ -579,6 +579,16 @@ function getGps($exifCoord, $hemi) { return floatval($flip * ($degrees + ($minutes / 60) + ($seconds / 3600))); } +function getGpstimestamp($exifCoord) { + + $hours = count($exifCoord) > 0 ? gps2Num($exifCoord[0]) : 0; + $minutes = count($exifCoord) > 1 ? gps2Num($exifCoord[1]) : 0; + $seconds = count($exifCoord) > 2 ? gps2Num($exifCoord[2]) : 0; + + return sprintf('%02d:%02d:%02d',$hours,$minutes,$seconds); +} + + function gps2Num($coordPart) { $parts = explode('/', $coordPart); -- cgit v1.2.3