Ticket #11417: 11417.3.patch
| File 11417.3.patch, 4.4 KB (added by , 16 years ago) |
|---|
-
wp-admin/includes/image.php
252 252 // as caption, description etc 253 253 if ( is_callable('iptcparse') ) { 254 254 getimagesize($file, $info); 255 255 256 if ( !empty($info['APP13']) ) { 256 257 $iptc = iptcparse($info['APP13']); 258 259 if ( !empty($iptc['2#105'][0]) ) // headline, "A brief synopsis of the caption." 260 $meta['title'] = utf8_encode(trim($iptc['2#105'][0])); 261 elseif ( !empty($iptc['2#005'][0]) ) // title, "Many use the Title field to store the filename of the image, though the field may be used in many ways." 262 $meta['title'] = utf8_encode(trim($iptc['2#005'][0])); 263 264 if ( !empty($iptc['2#120'][0]) ) { // description / legacy caption 265 $caption = utf8_encode(trim($iptc['2#120'][0])); 266 if (empty($meta['title'])) { 267 if (strlen($caption) < 80) { 268 // In this situation, assume the title is stored in 2:120. 269 $meta['title'] = $caption; 270 } else { 271 $meta['caption'] = $caption; 272 } 273 } elseif ($caption != $meta['title']) { 274 $meta['caption'] = $caption; 275 } 276 } 277 257 278 if ( !empty($iptc['2#110'][0]) ) // credit 258 279 $meta['credit'] = utf8_encode(trim($iptc['2#110'][0])); 259 elseif ( !empty($iptc['2#080'][0]) ) // byline280 elseif ( !empty($iptc['2#080'][0]) ) // creator / legacy byline 260 281 $meta['credit'] = utf8_encode(trim($iptc['2#080'][0])); 282 261 283 if ( !empty($iptc['2#055'][0]) and !empty($iptc['2#060'][0]) ) // created date and time 262 284 $meta['created_timestamp'] = strtotime($iptc['2#055'][0] . ' ' . $iptc['2#060'][0]); 263 if ( !empty($iptc['2#120'][0]) ) // caption 264 $meta['caption'] = utf8_encode(trim($iptc['2#120'][0])); 285 265 286 if ( !empty($iptc['2#116'][0]) ) // copyright 266 287 $meta['copyright'] = utf8_encode(trim($iptc['2#116'][0])); 267 if ( !empty($iptc['2#005'][0]) ) // title268 $meta['title'] = utf8_encode(trim($iptc['2#005'][0]));269 288 } 270 289 } 271 290 272 291 // fetch additional info from exif if available 273 292 if ( is_callable('exif_read_data') && in_array($sourceImageType, apply_filters('wp_read_image_metadata_types', array(IMAGETYPE_JPEG, IMAGETYPE_TIFF_II, IMAGETYPE_TIFF_MM)) ) ) { 274 293 $exif = @exif_read_data( $file ); 294 295 if (!empty($exif['Title'])) 296 $meta['title'] = trim( $exif['Title'] ); 297 298 if (!empty($exif['ImageDescription'])) { 299 if (empty($meta['title']) && strlen($exif['ImageDescription']) < 80) { 300 // In this situation, the title is stored in ImageDescription 301 $meta['title'] = trim($exif['ImageDescription']); 302 if (!empty($exif['COMPUTED']['UserComment']) && trim($exif['COMPUTED']['UserComment']) != $meta['title']) { 303 $meta['caption'] = trim($exif['COMPUTED']['UserComment']); 304 } 305 } elseif (trim($exif['ImageDescription']) != $meta['title']) { 306 $meta['caption'] = trim($exif['ImageDescription']); 307 } 308 } elseif (!empty($exif['Comments']) && trim($exif['Comments']) != $meta['title']) { 309 $meta['caption'] = trim( $exif['Comments'] ); 310 } 311 312 if (!empty($exif['Artist'])) 313 $meta['credit'] = trim( $exif['Artist'] ); 314 elseif (!empty($exif['Author'])) 315 $meta['credit'] = trim( $exif['Author'] ); 316 317 if (!empty($exif['Copyright'])) 318 $meta['copyright'] = trim( $exif['Copyright'] ); 275 319 if (!empty($exif['FNumber'])) 276 320 $meta['aperture'] = round( wp_exif_frac2dec( $exif['FNumber'] ), 2 ); 277 321 if (!empty($exif['Model'])) -
wp-admin/includes/media.php
208 208 209 209 // use image exif/iptc data for title and caption defaults if possible 210 210 if ( $image_meta = @wp_read_image_metadata($file) ) { 211 if ( trim($image_meta['title']) )211 if ( strlen(trim($image_meta['title'])) > 0 && !is_numeric(sanitize_title($image_meta['title'])) ) 212 212 $title = $image_meta['title']; 213 213 if ( trim($image_meta['caption']) ) 214 214 $content = $image_meta['caption']; … … 259 259 260 260 // use image exif/iptc data for title and caption defaults if possible 261 261 if ( $image_meta = @wp_read_image_metadata($file) ) { 262 if ( trim($image_meta['title']) )262 if ( strlen(trim($image_meta['title'])) > 0 && !is_numeric(sanitize_title($image_meta['title'])) ) 263 263 $title = $image_meta['title']; 264 264 if ( trim($image_meta['caption']) ) 265 265 $content = $image_meta['caption'];