Make WordPress Core

Ticket #28162: 28162.3.patch

File 28162.3.patch, 2.1 KB (added by SergeyBiryukov, 10 years ago)
  • src/wp-admin/includes/image.php

     
    289289                        if ( ! empty( $iptc['2#120'][0] ) ) { // description / legacy caption
    290290                                $caption = trim( $iptc['2#120'][0] );
    291291                                if ( empty( $meta['title'] ) ) {
     292                                        mbstring_binary_safe_encoding();
    292293                                        // Assume the title is stored in 2:120 if it's short.
    293294                                        if ( strlen( $caption ) < 80 )
    294295                                                $meta['title'] = $caption;
    295296                                        else
    296297                                                $meta['caption'] = $caption;
     298                                        reset_mbstring_encoding();
    297299                                } elseif ( $caption != $meta['title'] ) {
    298300                                        $meta['caption'] = $caption;
    299301                                }
     
    326328                        $meta['title'] = trim( $exif['Title'] );
    327329
    328330                if ( ! empty( $exif['ImageDescription'] ) ) {
     331                        mbstring_binary_safe_encoding();
    329332                        if ( empty( $meta['title'] ) && strlen( $exif['ImageDescription'] ) < 80 ) {
    330333                                // Assume the title is stored in ImageDescription
    331334                                $meta['title'] = trim( $exif['ImageDescription'] );
     
    334337                        } elseif ( trim( $exif['ImageDescription'] ) != $meta['title'] ) {
    335338                                $meta['caption'] = trim( $exif['ImageDescription'] );
    336339                        }
     340                        reset_mbstring_encoding();
    337341                } elseif ( ! empty( $exif['Comments'] ) && trim( $exif['Comments'] ) != $meta['title'] ) {
    338342                        $meta['caption'] = trim( $exif['Comments'] );
    339343                }
  • src/wp-includes/formatting.php

     
    410410 * @return bool True if $str fits a UTF-8 model, false otherwise.
    411411 */
    412412function seems_utf8($str) {
     413        mbstring_binary_safe_encoding();
    413414        $length = strlen($str);
     415        reset_mbstring_encoding();
    414416        for ($i=0; $i < $length; $i++) {
    415417                $c = ord($str[$i]);
    416418                if ($c < 0x80) $n = 0; # 0bbbbbbb
     
    634636        $num_octets = 1;
    635637        $unicode_length = 0;
    636638
     639        mbstring_binary_safe_encoding();
    637640        $string_length = strlen( $utf8_string );
     641        reset_mbstring_encoding();
     642
    638643        for ($i = 0; $i < $string_length; $i++ ) {
    639644
    640645                $value = ord( $utf8_string[ $i ] );