Ticket #3229: 3299-20.diff

File 3299-20.diff, 5.9 KB (added by mdawaffe, 7 years ago)

branches/2.0

  • wp-includes/template-functions-post.php

     
    200200        if ( ! $post_id ) 
    201201                $post_id = $id; 
    202202 
     203        $post_id = (int) $post_id; 
     204 
    203205        if ( isset($post_meta_cache[$post_id]) ) 
    204206                return $post_meta_cache[$post_id]; 
    205207 
     
    207209                // Change from flat structure to hierarchical: 
    208210                $post_meta_cache = array(); 
    209211                foreach ( $meta_list as $metarow ) { 
    210                         $mpid = $metarow['post_id']; 
     212                        $mpid = (int) $metarow['post_id']; 
    211213                        $mkey = $metarow['meta_key']; 
    212214                        $mval = $metarow['meta_value']; 
    213215 
     
    256258 
    257259// this will probably change at some point... 
    258260function the_meta() { 
    259         global $id, $post_meta_cache; 
     261        global $id; 
    260262 
    261263        if ( $keys = get_post_custom_keys() ) { 
    262264                echo "<ul class='post-meta'>\n"; 
  • wp-includes/functions.php

     
    421421function add_post_meta($post_id, $key, $value, $unique = false) { 
    422422        global $wpdb, $post_meta_cache; 
    423423 
     424        $post_id = (int) $post_id; 
     425 
    424426        if ( $unique ) { 
    425                 if ( $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key 
    426 = '$key' AND post_id = '$post_id'") ) { 
     427                if ( $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key = '$key' AND post_id = '$post_id'") ) { 
    427428                        return false; 
    428429                } 
    429430        } 
     
    434435 
    435436        $wpdb->query("INSERT INTO $wpdb->postmeta (post_id,meta_key,meta_value) VALUES ('$post_id','$key','$value')"); 
    436437 
    437         $post_meta_cache['$post_id'][$key][] = $original; 
     438        $post_meta_cache[$post_id][$key][] = $original; 
    438439 
    439440        return true; 
    440441} 
     
    442443function delete_post_meta($post_id, $key, $value = '') { 
    443444        global $wpdb, $post_meta_cache; 
    444445 
     446        $post_id = (int) $post_id; 
     447 
    445448        if ( empty($value) ) { 
    446                 $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE 
    447 post_id = '$post_id' AND meta_key = '$key'"); 
     449                $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key'"); 
    448450        } else { 
    449                 $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE 
    450 post_id = '$post_id' AND meta_key = '$key' AND meta_value = '$value'"); 
     451                $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key' AND meta_value = '$value'"); 
    451452        } 
    452453 
    453454        if ( !$meta_id ) 
    454455                return false; 
    455456 
    456457        if ( empty($value) ) { 
    457                 $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' 
    458 AND meta_key = '$key'"); 
    459                 unset($post_meta_cache['$post_id'][$key]); 
     458                $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key'"); 
     459                unset($post_meta_cache[$post_id][$key]); 
    460460        } else { 
    461                 $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' 
    462 AND meta_key = '$key' AND meta_value = '$value'"); 
    463                 $cache_key = $post_meta_cache['$post_id'][$key]; 
     461                $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key' AND meta_value = '$value'"); 
     462                $cache_key = $post_meta_cache[$post_id][$key]; 
    464463                if ($cache_key) foreach ( $cache_key as $index => $data ) 
    465464                        if ( $data == $value ) 
    466                                 unset($post_meta_cache['$post_id'][$key][$index]); 
     465                                unset($post_meta_cache[$post_id][$key][$index]); 
    467466        } 
    468467 
    469         unset($post_meta_cache['$post_id'][$key]); 
     468        unset($post_meta_cache[$post_id][$key]); 
    470469 
    471470        return true; 
    472471} 
     
    474473function get_post_meta($post_id, $key, $single = false) { 
    475474        global $wpdb, $post_meta_cache; 
    476475 
     476        $post_id = (int) $post_id; 
     477 
    477478        if ( isset($post_meta_cache[$post_id][$key]) ) { 
    478479                if ( $single ) { 
    479480                        return maybe_unserialize( $post_meta_cache[$post_id][$key][0] ); 
     
    507508function update_post_meta($post_id, $key, $value, $prev_value = '') { 
    508509        global $wpdb, $post_meta_cache; 
    509510 
     511        $post_id = (int) $post_id; 
     512 
    510513        $original_value = $value; 
    511514        if ( is_array($value) || is_object($value) ) 
    512515                $value = $wpdb->escape(serialize($value)); 
     
    515518        if ( is_array($prev_value) || is_object($prev_value) ) 
    516519                $prev_value = $wpdb->escape(serialize($prev_value)); 
    517520 
    518         if (! $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key 
    519 = '$key' AND post_id = '$post_id'") ) { 
     521        if (! $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key = '$key' AND post_id = '$post_id'") ) { 
    520522                return false; 
    521523        } 
    522524 
    523525        if ( empty($prev_value) ) { 
    524                 $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE 
    525 meta_key = '$key' AND post_id = '$post_id'"); 
    526                 $cache_key = $post_meta_cache['$post_id'][$key]; 
     526                $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE meta_key = '$key' AND post_id = '$post_id'"); 
     527                $cache_key = $post_meta_cache[$post_id][$key]; 
    527528                if ( !empty($cache_key) ) 
    528529                        foreach ($cache_key as $index => $data) 
    529                                 $post_meta_cache['$post_id'][$key][$index] = $original_value; 
     530                                $post_meta_cache[$post_id][$key][$index] = $original_value; 
    530531        } else { 
    531                 $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE 
    532 meta_key = '$key' AND post_id = '$post_id' AND meta_value = '$prev_value'"); 
    533                 $cache_key = $post_meta_cache['$post_id'][$key]; 
     532                $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE meta_key = '$key' AND post_id = '$post_id' AND meta_value = '$prev_value'"); 
     533                $cache_key = $post_meta_cache[$post_id][$key]; 
    534534                if ( !empty($cache_key) ) 
    535535                        foreach ($cache_key as $index => $data) 
    536536                                if ( $data == $original_prev ) 
    537                                         $post_meta_cache['$post_id'][$key][$index] = $original_value; 
     537                                        $post_meta_cache[$post_id][$key][$index] = $original_value; 
    538538        } 
    539539 
    540540        return true; 
     
    14441444                // Change from flat structure to hierarchical: 
    14451445                $post_meta_cache = array(); 
    14461446                foreach ($meta_list as $metarow) { 
    1447                         $mpid = $metarow['post_id']; 
     1447                        $mpid = (int) $metarow['post_id']; 
    14481448                        $mkey = $metarow['meta_key']; 
    14491449                        $mval = $metarow['meta_value']; 
    14501450