From bda141ad119b7d382a8689182edd80aa603c2442 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Sun, 21 Jun 2009 12:41:09 +0000 Subject: improved exif code --- lib/exif.php | 104 +++++++++++++++++++++++++++-------------------------------- 1 file changed, 47 insertions(+), 57 deletions(-) (limited to 'lib') diff --git a/lib/exif.php b/lib/exif.php index 5382fbc9f..9d5ae6343 100644 --- a/lib/exif.php +++ b/lib/exif.php @@ -14,72 +14,62 @@ function td_get_exif($file) { function tp_exif_formatted($file_guid) { $metadata_exif = get_metadata_byname($file_guid, "tp_exif"); - if(!$metadata_exif) { //try to load it from the file if its not in the database + if (!$metadata_exif) { //try to load it from the file if its not in the database $file = new ElggFile($file_guid); td_get_exif($file); unset($file); $metadata_exif = get_metadata_byname($file_guid, "tp_exif"); } - if($metadata_exif) { + if (!$metadata_exif) { + return false; + } + + $exif = unserialize($metadata_exif["value"]); + + $model = $exif['Model']; + if(!$model) $model = "N/A"; + $exif_data['Model'] = $model; - $exif = unserialize($metadata_exif["value"]); - - //got the code snippet below from http://www.zenphoto.org/support/topic.php?id=17 - //convert the raw values to understandible values - $Fnumber = explode("/", $exif['FNumber']); - - if ($Fnumber[1] != 0) - $Fnumber = $Fnumber[0] / $Fnumber[1]; - else - $Fnumber = 0; - - if(!$Fnumber) { - $Fnumber = "N/A"; - } else { - $Fnumber = "f/$Fnumber"; - } - - $Focal = explode("/", $exif['FocalLength']); - if ($Focal[1] != 0) - $Focal = $Focal[0] / $Focal[1]; - else - $Focal = 0; - if(!$Focal || round($Focal) == "0") $Focal = 0; - if(round($Focal) == 0) { - $Focal = "N/A"; - } else { - $Focal = round($Focal) . "mm"; - } + $exposure = $exif['ExposureTime']; + if (!$exposure) $exposure = "N/A"; + $exif_data['Shutter'] = $exposure; - $model = $exif['Model']; - if(!$model) $model = "N/A"; - - $exposure = $exif['ExposureTime']; - if(!$exposure) $exposure = "N/A"; - - $iso = $exif['ISOSpeedRatings']; - if(!$iso) $iso = "N/A"; - - $captured = $exif['DateTime']; - if(!$captured) $captured = "N/A"; - - //prepare the text for return - - $exif_text = "Model: ".$model."
"; - $exif_text .= "Shutter: ".$exposure."
"; - $exif_text .= "Aperture: ".$Fnumber."
"; - $exif_text .= "ISO Speed: ".$iso."
"; - if(round($Focal) == 0) { - $exif_text .= "Focal Length: N/A
"; - } else { - $exif_text .= "Focal Length: " . round($Focal) . "mm
"; - } - $exif_text .= "Captured: ". $captured; - - return $exif_text; + //got the code snippet below from http://www.zenphoto.org/support/topic.php?id=17 + //convert the raw values to understandible values + $Fnumber = explode("/", $exif['FNumber']); + if ($Fnumber[1] != 0) + $Fnumber = $Fnumber[0] / $Fnumber[1]; + else + $Fnumber = 0; + if (!$Fnumber) { + $Fnumber = "N/A"; } else { - return false; + $Fnumber = "f/$Fnumber"; } + $exif_data['Aperture'] = $Fnumber; + + $iso = $exif['ISOSpeedRatings']; + if (!$iso) $iso = "N/A"; + $exif_data['ISO Speed'] = $iso; + + $Focal = explode("/", $exif['FocalLength']); + if ($Focal[1] != 0) + $Focal = $Focal[0] / $Focal[1]; + else + $Focal = 0; + if (!$Focal || round($Focal) == "0") $Focal = 0; + if (round($Focal) == 0) { + $Focal = "N/A"; + } else { + $Focal = round($Focal) . "mm"; + } + $exif_data['Focal Length'] = $Focal; + + $captured = $exif['DateTime']; + if (!$captured) $captured = "N/A"; + $exif_data['Captured'] = $captured; + + return $exif_data; } ?> \ No newline at end of file -- cgit v1.2.3