Make WordPress Core

Ticket #23706: 23706.patch

File 23706.patch, 3.3 KB (added by SergeyBiryukov, 12 years ago)
  • wp-admin/includes/image.php

     
    235235        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 ) ) ) ) {
    236236                $exif = @exif_read_data( $file );
    237237
    238                 if ( !empty( $exif['Title'] ) )
     238                if ( empty( $meta['title'] ) && ! empty( $exif['Title'] ) )
    239239                        $meta['title'] = trim( $exif['Title'] );
    240240
    241241                if ( ! empty( $exif['ImageDescription'] ) ) {
    242242                        if ( empty( $meta['title'] ) && strlen( $exif['ImageDescription'] ) < 80 ) {
    243243                                // Assume the title is stored in ImageDescription
    244244                                $meta['title'] = trim( $exif['ImageDescription'] );
    245                                 if ( ! empty( $exif['COMPUTED']['UserComment'] ) && trim( $exif['COMPUTED']['UserComment'] ) != $meta['title'] )
     245                                if ( empty( $meta['caption'] ) && ! empty( $exif['COMPUTED']['UserComment'] ) && trim( $exif['COMPUTED']['UserComment'] ) != $meta['title'] )
    246246                                        $meta['caption'] = trim( $exif['COMPUTED']['UserComment'] );
    247                         } elseif ( trim( $exif['ImageDescription'] ) != $meta['title'] ) {
     247                        } elseif ( empty( $meta['caption'] ) && trim( $exif['ImageDescription'] ) != $meta['title'] ) {
    248248                                $meta['caption'] = trim( $exif['ImageDescription'] );
    249249                        }
    250                 } elseif ( ! empty( $exif['Comments'] ) && trim( $exif['Comments'] ) != $meta['title'] ) {
     250                } elseif ( empty( $meta['caption'] ) && ! empty( $exif['Comments'] ) && trim( $exif['Comments'] ) != $meta['title'] ) {
    251251                        $meta['caption'] = trim( $exif['Comments'] );
    252252                }
    253253
    254                 if ( ! empty( $exif['Artist'] ) )
    255                         $meta['credit'] = trim( $exif['Artist'] );
    256                 elseif ( ! empty($exif['Author'] ) )
    257                         $meta['credit'] = trim( $exif['Author'] );
     254                if ( empty( $meta['credit'] ) ) {
     255                        if ( ! empty( $exif['Artist'] ) )
     256                                $meta['credit'] = trim( $exif['Artist'] );
     257                        elseif ( ! empty($exif['Author'] ) )
     258                                $meta['credit'] = trim( $exif['Author'] );
     259                }
    258260
    259                 if ( ! empty( $exif['Copyright'] ) )
     261                if ( empty( $meta['copyright'] ) && ! empty( $exif['Copyright'] ) )
    260262                        $meta['copyright'] = trim( $exif['Copyright'] );
    261                 if ( ! empty($exif['FNumber'] ) )
     263                if ( ! empty( $exif['FNumber'] ) )
    262264                        $meta['aperture'] = round( wp_exif_frac2dec( $exif['FNumber'] ), 2 );
    263                 if ( ! empty($exif['Model'] ) )
     265                if ( ! empty( $exif['Model'] ) )
    264266                        $meta['camera'] = trim( $exif['Model'] );
    265                 if ( ! empty($exif['DateTimeDigitized'] ) )
    266                         $meta['created_timestamp'] = wp_exif_date2ts($exif['DateTimeDigitized'] );
    267                 if ( ! empty($exif['FocalLength'] ) )
     267                if ( empty( $meta['created_timestamp'] ) && ! empty( $exif['DateTimeDigitized'] ) )
     268                        $meta['created_timestamp'] = wp_exif_date2ts( $exif['DateTimeDigitized'] );
     269                if ( ! empty( $exif['FocalLength'] ) )
    268270                        $meta['focal_length'] = (string) wp_exif_frac2dec( $exif['FocalLength'] );
    269                 if ( ! empty($exif['ISOSpeedRatings'] ) ) {
     271                if ( ! empty( $exif['ISOSpeedRatings'] ) ) {
    270272                        $meta['iso'] = is_array( $exif['ISOSpeedRatings'] ) ? reset( $exif['ISOSpeedRatings'] ) : $exif['ISOSpeedRatings'];
    271273                        $meta['iso'] = trim( $meta['iso'] );
    272274                }
    273                 if ( ! empty($exif['ExposureTime'] ) )
     275                if ( ! empty( $exif['ExposureTime'] ) )
    274276                        $meta['shutter_speed'] = (string) wp_exif_frac2dec( $exif['ExposureTime'] );
    275277        }
    276278