diff options
author | Greg Froese <greg.froese@gmail.com> | 2009-05-20 05:01:21 +0000 |
---|---|---|
committer | Greg Froese <greg.froese@gmail.com> | 2009-05-20 05:01:21 +0000 |
commit | 12a27fa3b501cf08091cd063dd3208a17e0f624a (patch) | |
tree | d993e49523465f2e2d8e856785072526a72cff30 | |
parent | 63b91d8aee8e40497d865591d16ee1716e0c9c15 (diff) | |
download | elgg-12a27fa3b501cf08091cd063dd3208a17e0f624a.tar.gz elgg-12a27fa3b501cf08091cd063dd3208a17e0f624a.tar.bz2 |
added exif support
-rw-r--r-- | actions/upload.php | 5 | ||||
-rw-r--r-- | lib/exif.php | 35 | ||||
-rw-r--r-- | lib/watermark.php | 1 | ||||
-rw-r--r-- | views/default/object/image.php | 9 |
4 files changed, 47 insertions, 3 deletions
diff --git a/actions/upload.php b/actions/upload.php index dd50d2381..6e21fd7b0 100644 --- a/actions/upload.php +++ b/actions/upload.php @@ -8,6 +8,7 @@ global $CONFIG;
include_once dirname(dirname(__FILE__)) . "/lib/resize.php";
include_once dirname(dirname(__FILE__)) . "/lib/watermark.php";
+ include_once dirname(dirname(__FILE__)) . "/lib/exif.php";
// Get common variables
$access_id = (int) get_input("access_id");
@@ -155,7 +156,9 @@ tp_watermark($thumbs);
} // end of image library selector
-
+
+ //get and store the exif data
+ td_get_exif($file);
array_push($uploaded_images, $file->guid);
unset($file); // may not be needed but there seems to be a memory leak
diff --git a/lib/exif.php b/lib/exif.php new file mode 100644 index 000000000..1b6c2cbd2 --- /dev/null +++ b/lib/exif.php @@ -0,0 +1,35 @@ +<?php +include_once dirname(__FILE__) . "/tidypics.php"; + +function td_get_exif(Elggfile $file) { + $my_file = str_replace("image", "", tp_get_img_dir()) . $file->getFilename(); + $exif = exif_read_data($my_file); + create_metadata($file->getGUID(), "tp_exif", serialize($exif), "string", $file->getObjectOwnerGUID(), 2); +} + +function tp_exif_formatted($file_guid) { + $metadata_exif = get_metadata_byname($file_guid, "tp_exif"); + if($metadata_exif) { + $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']); + $Fnumber = $Fnumber[0] / $Fnumber[1]; + $Focal = explode("/", $exif['FocalLength']); + $Focal = $Focal[0] / $Focal[1]; + + //prepare the text for return + $exif_text = "Model: ".$exif['Model']."<br>"; + $exif_text .= "Shutter: ".$exif['ExposureTime']."<br>"; + $exif_text .= "Aperture: f/".$Fnumber."<br>"; + $exif_text .= "ISO Speed: ".$exif['ISOSpeedRatings']."<br>"; + $exif_text .= "Focal Length: ".round($Focal)."mm<br>"; + $exif_text .= "Captured: ". $exif['DateTime']; + + return "<tr><td>$exif_text</td></tr>"; + } else { + return false; + } +} +?>
\ No newline at end of file diff --git a/lib/watermark.php b/lib/watermark.php index 813e298a7..64385ae4a 100644 --- a/lib/watermark.php +++ b/lib/watermark.php @@ -2,7 +2,6 @@ function tp_watermark($thumbs) { include_once dirname(__FILE__) . "/tidypics.php"; - global $CONFIG; $user = get_user_entity_as_row($album->owner_guid); diff --git a/views/default/object/image.php b/views/default/object/image.php index f64942b61..546cd711e 100644 --- a/views/default/object/image.php +++ b/views/default/object/image.php @@ -5,6 +5,8 @@ */ global $CONFIG; + include_once dirname(dirname(dirname(dirname(__FILE__)))) . "/lib/exif.php"; + $file = $vars['entity']; $file_guid = $file->getGUID(); $tags = $file->tags; @@ -180,7 +182,12 @@ if ($photo_tags) { 'file_guid' => $file_guid, ) ); ?> - + <div id="tidypics_breadcrumbs"> + <?php + $exif = tp_exif_formatted($file_guid); + if($exif) echo $exif; + ?> + </div> <div id="tidypics_info"> <?php if (!is_null($tags)) { ?> <div class="object_tag_string"><?php echo elgg_view('output/tags',array('value' => $tags));?></div> |