Make WordPress Core


Ignore:
Timestamp:
10/13/2008 02:48:45 AM (17 years ago)
Author:
azaozz
Message:

Fix stripslashes for post metadata, phpDoc updates for media.php, props jacobsantos, fixes #7871

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/post.php

    r9123 r9129  
    520520    // expected_slashed ($meta_key)
    521521    $meta_key = stripslashes($meta_key);
    522     $meta_value = stripslashes($meta_value);
    523522
    524523    if ( $unique && $wpdb->get_var( $wpdb->prepare( "SELECT meta_key FROM $wpdb->postmeta WHERE meta_key = %s AND post_id = %d", $meta_key, $post_id ) ) )
    525524        return false;
    526525
    527     $meta_value = maybe_serialize($meta_value);
     526    $meta_value = maybe_serialize( stripslashes_deep($meta_value) );
    528527
    529528    $wpdb->insert( $wpdb->postmeta, compact( 'post_id', 'meta_key', 'meta_value' ) );
     
    546545 *
    547546 * @param int $post_id post ID
    548  * @param string $key Metadata name.
    549  * @param mixed $value Optional. Metadata value.
     547 * @param string $meta_key Metadata name.
     548 * @param mixed $meta_value Optional. Metadata value.
    550549 * @return bool False for failure. True for success.
    551550 */
    552 function delete_post_meta($post_id, $key, $value = '') {
     551function delete_post_meta($post_id, $meta_key, $meta_value = '') {
    553552    global $wpdb;
    554553
    555554    $post_id = absint( $post_id );
    556555
    557     // expected_slashed ($key, $value)
    558     $key = stripslashes( $key );
    559     $value = stripslashes( $value );
    560 
    561     if ( empty( $value ) )
    562         $meta_id = $wpdb->get_var( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s", $post_id, $key ) );
     556    // expected_slashed ($meta_key, $meta_value)
     557    $meta_key = stripslashes( $meta_key );
     558    $meta_value = maybe_serialize( stripslashes_deep($meta_value) );
     559
     560    if ( empty( $meta_value ) )
     561        $meta_id = $wpdb->get_var( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s", $post_id, $meta_key ) );
    563562    else
    564         $meta_id = $wpdb->get_var( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s AND meta_value = %s", $post_id, $key, $value ) );
     563        $meta_id = $wpdb->get_var( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s AND meta_value = %s", $post_id, $meta_key, $meta_value ) );
    565564
    566565    if ( !$meta_id )
    567566        return false;
    568567
    569     if ( empty( $value ) )
    570         $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s", $post_id, $key ) );
     568    if ( empty( $meta_value ) )
     569        $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s", $post_id, $meta_key ) );
    571570    else
    572         $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s AND meta_value = %s", $post_id, $key, $value ) );
     571        $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s AND meta_value = %s", $post_id, $meta_key, $meta_value ) );
    573572
    574573    wp_cache_delete($post_id, 'post_meta');
     
    633632    // expected_slashed ($meta_key)
    634633    $meta_key = stripslashes($meta_key);
    635     $meta_value = stripslashes($meta_value);
    636634
    637635    if ( ! $wpdb->get_var( $wpdb->prepare( "SELECT meta_key FROM $wpdb->postmeta WHERE meta_key = %s AND post_id = %d", $meta_key, $post_id ) ) ) {
     
    639637    }
    640638
    641     $meta_value = maybe_serialize($meta_value);
     639    $meta_value = maybe_serialize( stripslashes_deep($meta_value) );
    642640
    643641    $data  = compact( 'meta_value' );
Note: See TracChangeset for help on using the changeset viewer.