Skip to content

Commit

Permalink
Syntax adjustments #518
Browse files Browse the repository at this point in the history
  • Loading branch information
electerious committed Apr 18, 2016
1 parent b9a7bd1 commit 9e59062
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 15 deletions.
18 changes: 12 additions & 6 deletions php/Modules/Photo.php
Original file line number Diff line number Diff line change
Expand Up @@ -789,40 +789,46 @@ public function getInfo($url) {
// EXIF Metadata
if ($exif!==false) {

// Orientation
if (isset($exif['Orientation'])) $return['orientation'] = $exif['Orientation'];
else if (isset($exif['IFD0']['Orientation'])) $return['orientation'] = $exif['IFD0']['Orientation'];

// ISO
if (!empty($exif['ISOSpeedRatings'])) $return['iso'] = $exif['ISOSpeedRatings'];

// Aperture
if (!empty($exif['COMPUTED']['ApertureFNumber'])) $return['aperture'] = $exif['COMPUTED']['ApertureFNumber'];

// Make
if (!empty($exif['Make'])) $return['make'] = trim($exif['Make']);

// Model
if (!empty($exif['Model'])) $return['model'] = trim($exif['Model']);

// Exposure
if (!empty($exif['ExposureTime'])) $return['shutter'] = $exif['ExposureTime'] . ' s';

// Focal Length
if (!empty($exif['FocalLength'])) {
if (strpos($exif['FocalLength'], '/')!==false) {
$temp = explode('/', $exif['FocalLength'], 2);
$temp = $temp[0] / $temp[1];
$temp = round($temp, 1);
$return['focal'] = $temp . ' mm';
} else {
$return['focal'] = $exif['FocalLength'] . ' mm';
}
else $return['focal'] = $exif['FocalLength'] . ' mm';
}

// Takestamp
if (!empty($exif['DateTimeOriginal'])) $return['takestamp'] = strtotime($exif['DateTimeOriginal']);

// Lens field from Lightroom
if (!empty($exif['UndefinedTag:0xA434'])) $return['lens'] = trim($exif['UndefinedTag:0xA434']);


// Deal with GPS coordinates
if (!empty($exif['GPSLatitude']) && !empty($exif['GPSLatitudeRef']))
$return['latitude'] = getGPSCoordinate($exif['GPSLatitude'], $exif['GPSLatitudeRef']);
if (!empty($exif['GPSLongitude']) && !empty($exif['GPSLongitudeRef']))
$return['longitude'] = getGPSCoordinate($exif['GPSLongitude'], $exif['GPSLongitudeRef']);
if (!empty($exif['GPSLatitude']) && !empty($exif['GPSLatitudeRef'])) $return['latitude'] = getGPSCoordinate($exif['GPSLatitude'], $exif['GPSLatitudeRef']);
if (!empty($exif['GPSLongitude']) && !empty($exif['GPSLongitudeRef'])) $return['longitude'] = getGPSCoordinate($exif['GPSLongitude'], $exif['GPSLongitudeRef']);

}

Expand Down
20 changes: 11 additions & 9 deletions php/helpers/getGPSCoordinate.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,26 @@
* @return string Normalized coordinate as float number (degrees).
*/
function getGPSCoordinate($coordinate, $ref) {

$degrees = count($coordinate) > 0 ? formattedToFloatGPS($coordinate[0]) : 0;
$minutes = count($coordinate) > 1 ? formattedToFloatGPS($coordinate[1]) : 0;
$seconds = count($coordinate) > 2 ? formattedToFloatGPS($coordinate[2]) : 0;
$minutes = count($coordinate) > 1 ? formattedToFloatGPS($coordinate[1]) : 0;
$seconds = count($coordinate) > 2 ? formattedToFloatGPS($coordinate[2]) : 0;

$flip = ($ref == 'W' || $ref == 'S') ? -1 : 1;

$flip = ($ref == 'W' || $ref == 'S') ? -1 : 1;
return $flip * ($degrees + (float)$minutes / 60 + (float)$seconds / 3600);

return $flip * ($degrees + (float)$minutes / 60 + (float)$seconds / 3600);
}

function formattedToFloatGPS($coordinate) {

$parts = explode('/', $coordinate, 2);

if (count($parts) <= 0)
return 0;
if (count($parts) == 1)
return $parts[0];
if (count($parts) <= 0) return 0;
if (count($parts) == 1) return $parts[0];

return (float)$parts[0] / $parts[1];

return (float)$parts[0] / $parts[1];
}

?>

0 comments on commit 9e59062

Please sign in to comment.