Make WordPress Core

Changeset 36429


Ignore:
Timestamp:
02/01/2016 02:52:15 PM (9 years ago)
Author:
ocean90
Message:

Media: In wp_read_image_metadata() make sure that IPTC keywords are UTF8 encoded.

Prevents missing _wp_attachment_metadata when an image contains keywords with latin extended characters.

Fixes #35316.

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/image.php

    r36054 r36429  
    409409    }
    410410
    411     foreach ( $meta as &$value ) {
    412         if ( is_string( $value ) ) {
    413             $value = wp_kses_post( $value );
    414         }
    415     }
     411    foreach ( $meta['keywords'] as $key => $keyword ) {
     412        if ( ! seems_utf8( $keyword ) ) {
     413            $meta['keywords'][ $key ] = utf8_encode( $keyword );
     414        }
     415    }
     416
     417    $meta = wp_kses_post_deep( $meta );
    416418
    417419    /**
  • trunk/src/wp-includes/kses.php

    r36232 r36429  
    15831583
    15841584/**
     1585 * Navigates through an array, object, or scalar, and sanitizes content for
     1586 * allowed HTML tags for post content.
     1587 *
     1588 * @since 4.4.2
     1589 *
     1590 * @param mixed $value The array or string to filter.
     1591 * @return mixed $value The filtered content.
     1592 */
     1593function wp_kses_post_deep( $data ) {
     1594    return map_deep( $data, 'wp_kses_post' );
     1595}
     1596
     1597/**
    15851598 * Strips all of the HTML in the content.
    15861599 *
Note: See TracChangeset for help on using the changeset viewer.