Make WordPress Core

Ticket #22768: 22768.4.diff

File 22768.4.diff, 3.6 KB (added by SergeyBiryukov, 10 years ago)
  • src/wp-admin/includes/image.php

     
    299299
    300300                        if ( ! empty( $iptc['2#120'][0] ) ) { // description / legacy caption
    301301                                $caption = trim( $iptc['2#120'][0] );
    302                                 if ( empty( $meta['title'] ) ) {
    303                                         mbstring_binary_safe_encoding();
    304                                         $caption_length = strlen( $caption );
    305                                         reset_mbstring_encoding();
    306302
     303                                mbstring_binary_safe_encoding();
     304                                $caption_length = strlen( $caption );
     305                                reset_mbstring_encoding();
     306
     307                                if ( empty( $meta['title'] ) && $caption_length < 80 ) {
    307308                                        // Assume the title is stored in 2:120 if it's short.
    308                                         if ( $caption_length < 80 ) {
    309                                                 $meta['title'] = $caption;
    310                                         } else {
    311                                                 $meta['caption'] = $caption;
    312                                         }
    313                                 } elseif ( $caption != $meta['title'] ) {
    314                                         $meta['caption'] = $caption;
     309                                        $meta['title'] = $caption;
    315310                                }
     311
     312                                $meta['caption'] = $caption;
    316313                        }
    317314
    318315                        if ( ! empty( $iptc['2#110'][0] ) ) // credit
     
    346343                        if ( empty( $meta['title'] ) && $description_length < 80 ) {
    347344                                // Assume the title is stored in ImageDescription
    348345                                $meta['title'] = trim( $exif['ImageDescription'] );
    349                                 if ( empty( $meta['caption'] ) && ! empty( $exif['COMPUTED']['UserComment'] ) && trim( $exif['COMPUTED']['UserComment'] ) != $meta['title'] ) {
    350                                         $meta['caption'] = trim( $exif['COMPUTED']['UserComment'] );
    351                                 }
    352                         } elseif ( empty( $meta['caption'] ) && trim( $exif['ImageDescription'] ) != $meta['title'] ) {
     346                        }
     347
     348                        if ( empty( $meta['caption'] ) && ! empty( $exif['COMPUTED']['UserComment'] ) ) {
     349                                $meta['caption'] = trim( $exif['COMPUTED']['UserComment'] );
     350                        }
     351
     352                        if ( empty( $meta['caption'] ) ) {
    353353                                $meta['caption'] = trim( $exif['ImageDescription'] );
    354354                        }
    355                 } elseif ( empty( $meta['caption'] ) && ! empty( $exif['Comments'] ) && trim( $exif['Comments'] ) != $meta['title'] ) {
     355                } elseif ( empty( $meta['caption'] ) && ! empty( $exif['Comments'] ) ) {
    356356                        $meta['caption'] = trim( $exif['Comments'] );
    357357                }
    358358
  • src/wp-admin/includes/media.php

     
    280280        $file = $file['file'];
    281281        $title = $name;
    282282        $content = '';
     283        $excerpt = '';
    283284
    284285        if ( preg_match( '#^audio#', $type ) ) {
    285286                $meta = wp_read_audio_metadata( $file );
    286287
    287                 if ( ! empty( $meta['title'] ) )
     288                if ( ! empty( $meta['title'] ) ) {
    288289                        $title = $meta['title'];
     290                }
    289291
    290                 $content = '';
    291 
    292292                if ( ! empty( $title ) ) {
    293293
    294294                        if ( ! empty( $meta['album'] ) && ! empty( $meta['artist'] ) ) {
     
    335335
    336336        // Use image exif/iptc data for title and caption defaults if possible.
    337337        } elseif ( 0 === strpos( $type, 'image/' ) && $image_meta = @wp_read_image_metadata( $file ) ) {
    338                 if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) )
     338                if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) {
    339339                        $title = $image_meta['title'];
    340                 if ( trim( $image_meta['caption'] ) )
    341                         $content = $image_meta['caption'];
     340                }
     341
     342                if ( trim( $image_meta['caption'] ) ) {
     343                        $excerpt = $image_meta['caption'];
     344                }
    342345        }
    343346
    344347        // Construct the attachment array
     
    348351                'post_parent' => $post_id,
    349352                'post_title' => $title,
    350353                'post_content' => $content,
     354                'post_excerpt' => $excerpt,
    351355        ), $post_data );
    352356
    353357        // This should never be set as it would then overwrite an existing attachment.