[Linpha-cvs] SF.net SVN: linpha: [4412] trunk/linpha2
Status: Inactive
Brought to you by:
bzrudi
From: <fan...@us...> - 2006-03-14 21:00:48
|
Revision: 4412 Author: fangehrn Date: 2006-03-14 13:00:36 -0800 (Tue, 14 Mar 2006) ViewCVS: http://svn.sourceforge.net/linpha/?rev=4412&view=rev Log Message: ----------- * show image information * adding "browse by date" feature Modified Paths: -------------- trunk/linpha2/ChangeLog trunk/linpha2/lib/classes/linpha.imgview.class.php trunk/linpha2/lib/classes/linpha.metadata.class.php trunk/linpha2/templates/main_html/view_meta.html.php trunk/linpha2/templates/main_html/view_thumbdetail.html.php Modified: trunk/linpha2/ChangeLog =================================================================== --- trunk/linpha2/ChangeLog 2006-03-13 22:27:31 UTC (rev 4411) +++ trunk/linpha2/ChangeLog 2006-03-14 21:00:36 UTC (rev 4412) @@ -1,3 +1,7 @@ +2006-03-14 flo + * show image information + * adding "browse by date" feature + 2006-03-13 flo * add image infos Modified: trunk/linpha2/lib/classes/linpha.imgview.class.php =================================================================== --- trunk/linpha2/lib/classes/linpha.imgview.class.php 2006-03-13 22:27:31 UTC (rev 4411) +++ trunk/linpha2/lib/classes/linpha.imgview.class.php 2006-03-14 21:00:36 UTC (rev 4412) @@ -489,8 +489,41 @@ { $GLOBALS['linpha']->template->setModuleName('view_thumbdetail'); - $this->setRandomImages(); + /** + * set some infos only viewed in top view + */ + if($this->id_current == 0) + { + $this->setRandomImages(); + + $this->setBrowseByDate(); + } } + + function setBrowseByDate() + { + $data = $GLOBALS['linpha']->db->GetRow("SELECT min(datetimeoriginal), max(datetimeoriginal) " . + "FROM ".PREFIX."meta_exif"); + + /** + * get min and max year + */ + $min_year = substr($data[0],0,4); + $max_year = substr($data[1],0,4); + + /** + * get years between + */ + $this->output['browse_by_date'] = ''; + for($i = $min_year; $i <= $max_year; $i++) + { + $data = $GLOBALS['linpha']->db->GetRow("SELECT count(datetimeoriginal) FROM ".PREFIX."meta_exif WHERE datetimeoriginal LIKE '".$i."%'"); + if($data[0]>0) + { + $this->output['browse_by_date'] .= $i.' ('.$data[0].'), '; + } + } + } function setRandomImages() { @@ -591,26 +624,74 @@ /** * read image information from database */ + + if($GLOBALS['linpha']->sql->config->value['sys_image_exif']) { + $str_exif_fields = strtolower( implode(', ',$MetaData->defined_exif_fields) ); + $exif_data = $GLOBALS['linpha']->db->GetRow("SELECT ".$str_exif_fields." FROM ".PREFIX."meta_exif WHERE md5sum = '".$this->md5sum."'"); + } + + if($GLOBALS['linpha']->sql->config->value['sys_image_iptc']) { + $str_iptc_fields = strtolower( implode(', ',$MetaData->defined_iptc_fields) ); + $iptc_data = $GLOBALS['linpha']->db->GetRow("SELECT ".$str_iptc_fields." FROM ".PREFIX."meta_iptc WHERE md5sum = '".$this->md5sum."'"); + } + $query = $GLOBALS['linpha']->db->Execute("SELECT name FROM ".PREFIX."meta_fields WHERE flags = '10' ORDER by id"); while($data = $query->FetchRow()) { $name = $MetaData->getNameOfField( $data['name'], false ); + $value = ''; $pos = strpos($data['name'],'_'); $first_part = substr($data['name'],0,$pos); $last_part = substr($data['name'],$pos+1); switch($first_part) { - case 'id': // builtin and own fields and special fields like filename, imagesize and dimension + case 'id': + $meta_data = $GLOBALS['linpha']->db->GetRow("SELECT name, field_type FROM ".PREFIX."meta_fields WHERE id = '".$last_part."'"); + if($meta_data['field_type']==0) // special fields like filename, dimension, imagesize + { + /** + * @todo maybe we could save this values in the db for speed improvements + */ + switch($meta_data['name']) + { + case 'filename': + $value = $this->filename; + break; + case 'imagesize': + $value = filesize(LINPHA_DIR.'/'.$this->full_filename); + break; + case 'dimension': + $array = linIdentify::linGetImageSize(LINPHA_DIR.'/'.$this->full_filename); + $value = $array[0].'x'.$array[1]; + break; + } + } + else // builtin and own fields + { + $meta_data = $GLOBALS['linpha']->db->GetRow("SELECT meta_data FROM ".PREFIX."meta_data ". + "WHERE field_id = '".$last_part."' AND md5sum = '".$this->md5sum."'"); + if(isset($meta_data['meta_data'])) { + $value = $meta_data['meta_data']; + } + } break; case 'exif': + if($GLOBALS['linpha']->sql->config->value['sys_image_exif']) { + $value = $exif_data[$last_part]; + } break; case 'iptc': + if($GLOBALS['linpha']->sql->config->value['sys_image_iptc']) { + $value = $iptc_data[$last_part]; + } break; } - $value = ''; - $this->output['image_infos'][$data['name']] = Array('name' => $name, 'value' => $value); + if($value != '') + { + $this->output['image_infos'][$data['name']] = Array('name' => $name, 'value' => $value); + } } } Modified: trunk/linpha2/lib/classes/linpha.metadata.class.php =================================================================== --- trunk/linpha2/lib/classes/linpha.metadata.class.php 2006-03-13 22:27:31 UTC (rev 4411) +++ trunk/linpha2/lib/classes/linpha.metadata.class.php 2006-03-14 21:00:36 UTC (rev 4412) @@ -57,7 +57,11 @@ { case 'id': // builtin and own fields and special fields like filename, imagesize and dimension $data2 = $GLOBALS['linpha']->db->GetRow("SELECT name FROM ".PREFIX."meta_fields WHERE id = '".$last_part."'"); - $value = $this->array_special_fields[$data2['name']]; + if(isset($this->array_special_fields[$data2['name']])) { + $value = $this->array_special_fields[$data2['name']]; + } else { + $value = $data2['name']; + } break; case 'exif': $value = $this->all_exif_fields[$last_part]; Modified: trunk/linpha2/templates/main_html/view_meta.html.php =================================================================== --- trunk/linpha2/templates/main_html/view_meta.html.php 2006-03-13 22:27:31 UTC (rev 4411) +++ trunk/linpha2/templates/main_html/view_meta.html.php 2006-03-14 21:00:36 UTC (rev 4412) @@ -66,6 +66,7 @@ </div> <div id='maindiv' class='main'> +<a href="<?php echo $GLOBALS['linpha']->imgview->link_url.'&id='.$GLOBALS['linpha']->imgview->id_current.'&view=img'; ?>">Back to normal view</a> <h1>Edit image informations</h1> <?php $query = $GLOBALS['linpha']->db->Execute("SELECT id, name, field_type FROM ".PREFIX."meta_fields " . Modified: trunk/linpha2/templates/main_html/view_thumbdetail.html.php =================================================================== --- trunk/linpha2/templates/main_html/view_thumbdetail.html.php 2006-03-13 22:27:31 UTC (rev 4411) +++ trunk/linpha2/templates/main_html/view_thumbdetail.html.php 2006-03-14 21:00:36 UTC (rev 4412) @@ -30,6 +30,9 @@ <hr /> <?php } ?> + Browse by Date: <?php echo $GLOBALS['linpha']->imgview->output['browse_by_date']; ?><br /> + <hr /> + <h1>Albums</h1> <?php } ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |