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> | 
