add('read', l10n('Metadata'), READ_METADATA_ADMIN . '-read'); $tabsheet->select($page['tab']); $tabsheet->assign(); switch ($page['tab']) { case 'read': $admin_base_url = READ_METADATA_ADMIN.'-read'; if (isset($_GET['showmetadata']) and !isset($_POST['submitreadmetadata'])) { check_input_parameter('showmetadata', $_GET, false, PATTERN_ID); $_POST['idreadmetadata']=$_GET['showmetadata']; $_POST['submitreadmetadata']=1; } if(isset($_POST['idreadmetadata2']) and $_POST['idreadmetadata2']!=-1){ $_POST['idreadmetadata']=$_POST['idreadmetadata2']; } if(isset($_POST['idreadmetadata'])){ $template->assign( 'read', array('RM_ID' => $_POST['idreadmetadata'])); }else{ $template->assign( 'read', array('RM_ID' => '')); } $tab_picture = pwg_query('SELECT id,name FROM ' . IMAGES_TABLE . ' order by id;'); if (pwg_db_num_rows($tab_picture)) { while ($info_photos = pwg_db_fetch_assoc($tab_picture)) { $items = array( 'PHOTOID' => $info_photos['id'], 'PHOTOINFO' => $info_photos['id'].' - '.$info_photos['name'], ); $template->append('info_photos', $items); } } if (isset($_POST['submitreadmetadata'])){ if (isset($_POST['idreadmetadata']) and is_numeric($_POST['idreadmetadata'])){ $query = 'select id,name,file,path FROM ' . IMAGES_TABLE . ' WHERE id = \''.$_POST['idreadmetadata'].'\';'; $result = pwg_query($query); $row = pwg_db_fetch_assoc($result); $filename=$row['path']; if(empty($filename)){ $_SESSION['page_infos'] = array(l10n('This ID isn\'t used in your gallery')); redirect($admin_base_url); } if(exif_imagetype($filename) != IMAGETYPE_JPEG and exif_imagetype($filename) != IMAGETYPE_TIFF_II and exif_imagetype($filename) != IMAGETYPE_TIFF_MM){ $_SESSION['page_infos'] = array(l10n('This file type doesn\'t use metadata')); redirect($admin_base_url); } $rd_image = new SrcImage($row); $name=$row['name']; $file=$row['file']; $template->assign( 'readmetadata', array( 'RM_NAME' => $name, 'RM_FILE' => $file, 'RM_SCR' => DerivativeImage::url(IMG_THUMB, $rd_image), 'U_SHOWPHOTOADMIN' => 'admin.php?page=photo-'.$_POST['idreadmetadata'], )); /*IPTC*/ $iptc_result = array(); $imginfo = array(); getimagesize($filename, $imginfo); if (isset($imginfo['APP13'])){ $iptc = iptcparse($imginfo['APP13']); if (is_array($iptc)){ foreach (array_keys($iptc) as $iptc_key){ if (isset($iptc[$iptc_key][0])){ if ($iptc_key == '2#025'){ $value = implode(',', array_map( 'clean_iptc_value', $iptc[$iptc_key] ) ); }else{ $value = clean_iptc_value($iptc[$iptc_key][0]); } $iptc_result[$iptc_key] = $value; } } } $template->assign( 'readmetadata2', array( 'RM_IPTCWORDING' => 'IPTC Fields in ', )); $keys = array_keys($iptc_result); sort($keys); foreach ($keys as $key){ $items['RM_KEY'] = $key; $items['RM_VALUE'] = $iptc_result[$key]; $template->append('rm_iptc', $items); } }else{ $template->assign( 'readmetadata2', array( 'RM_IPTCWORDING' => 'no IPTC information ', )); } /*Exif*/ $exif = read_exif_data($filename); foreach ($exif as $key => $section){ if(is_array($section)){ $i=0; foreach ($section as $name => $value){ if($i==0){ $items['RM_SECTION'] = $key.'
'; }else{ $items['RM_SECTION'] = ''; } $items['RM_KEY'] = $name; $items['RM_VALUE'] = $value; $template->append('rm_exif', $items); $i++; } }else{ $items['RM_SECTION'] = '1'; $items['RM_KEY'] = $key; $items['RM_VALUE'] = $section; $template->append('rm_exif', $items); } } $template->assign( 'readmetadata3', array( 'RM_EXIFWORDING' => 'EXIF Fields in ', )); }else{ $_SESSION['page_infos'] = array(l10n('You must choose a photo ID')); redirect($admin_base_url); } } break; } $template->set_filenames(array('plugin_admin_content' => dirname(__FILE__) . '/admin.tpl')); $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); } ?>