Ticket #3229: 3229-trunk.diff

File 3229-trunk.diff, 6.0 KB (added by mdawaffe, 7 years ago)

trunk

  • wp-includes/post-template.php

     
    211211 
    212212// this will probably change at some point... 
    213213function the_meta() { 
    214         global $id, $post_meta_cache; 
     214        global $id; 
    215215 
    216216        if ( $keys = get_post_custom_keys() ) { 
    217217                echo "<ul class='post-meta'>\n"; 
  • wp-includes/post.php

     
    221221function add_post_meta($post_id, $key, $value, $unique = false) { 
    222222        global $wpdb, $post_meta_cache; 
    223223 
     224        $post_id = (int) $post_id; 
     225 
    224226        if ( $unique ) { 
    225                 if ( $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key 
    226 = '$key' AND post_id = '$post_id'") ) { 
     227                if ( $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key = '$key' AND post_id = '$post_id'") ) { 
    227228                        return false; 
    228229                } 
    229230        } 
     
    234235 
    235236        $wpdb->query("INSERT INTO $wpdb->postmeta (post_id,meta_key,meta_value) VALUES ('$post_id','$key','$value')"); 
    236237 
    237         $post_meta_cache['$post_id'][$key][] = $original; 
     238        $post_meta_cache[$post_id][$key][] = $original; 
    238239 
    239240        return true; 
    240241} 
     
    242243function delete_post_meta($post_id, $key, $value = '') { 
    243244        global $wpdb, $post_meta_cache; 
    244245 
     246        $post_id = (int) $post_id; 
     247 
    245248        if ( empty($value) ) { 
    246                 $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE 
    247 post_id = '$post_id' AND meta_key = '$key'"); 
     249                $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key'"); 
    248250        } else { 
    249                 $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE 
    250 post_id = '$post_id' AND meta_key = '$key' AND meta_value = '$value'"); 
     251                $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key' AND meta_value = '$value'"); 
    251252        } 
    252253 
    253254        if ( !$meta_id ) 
    254255                return false; 
    255256 
    256257        if ( empty($value) ) { 
    257                 $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' 
    258 AND meta_key = '$key'"); 
    259                 unset($post_meta_cache['$post_id'][$key]); 
     258                $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key'"); 
     259                unset($post_meta_cache[$post_id][$key]); 
    260260        } else { 
    261                 $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' 
    262 AND meta_key = '$key' AND meta_value = '$value'"); 
    263                 $cache_key = $post_meta_cache['$post_id'][$key]; 
     261                $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key' AND meta_value = '$value'"); 
     262                $cache_key = $post_meta_cache[$post_id][$key]; 
    264263                if ($cache_key) foreach ( $cache_key as $index => $data ) 
    265264                        if ( $data == $value ) 
    266                                 unset($post_meta_cache['$post_id'][$key][$index]); 
     265                                unset($post_meta_cache[$post_id][$key][$index]); 
    267266        } 
    268267 
    269         unset($post_meta_cache['$post_id'][$key]); 
     268        unset($post_meta_cache[$post_id][$key]); 
    270269 
    271270        return true; 
    272271} 
     
    274273function get_post_meta($post_id, $key, $single = false) { 
    275274        global $wpdb, $post_meta_cache; 
    276275 
     276        $post_id = (int) $post_id; 
     277 
    277278        if ( isset($post_meta_cache[$post_id][$key]) ) { 
    278279                if ( $single ) { 
    279280                        return maybe_unserialize( $post_meta_cache[$post_id][$key][0] ); 
     
    307308function update_post_meta($post_id, $key, $value, $prev_value = '') { 
    308309        global $wpdb, $post_meta_cache; 
    309310 
     311        $post_id = (int) $post_id; 
     312 
    310313        $original_value = $value; 
    311314        if ( is_array($value) || is_object($value) ) 
    312315                $value = $wpdb->escape(serialize($value)); 
     
    315318        if ( is_array($prev_value) || is_object($prev_value) ) 
    316319                $prev_value = $wpdb->escape(serialize($prev_value)); 
    317320 
    318         if (! $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key 
    319 = '$key' AND post_id = '$post_id'") ) { 
     321        if (! $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key = '$key' AND post_id = '$post_id'") ) { 
    320322                return false; 
    321323        } 
    322324 
    323325        if ( empty($prev_value) ) { 
    324                 $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE 
    325 meta_key = '$key' AND post_id = '$post_id'"); 
    326                 $cache_key = $post_meta_cache['$post_id'][$key]; 
     326                $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE meta_key = '$key' AND post_id = '$post_id'"); 
     327                $cache_key = $post_meta_cache[$post_id][$key]; 
    327328                if ( !empty($cache_key) ) 
    328329                        foreach ($cache_key as $index => $data) 
    329                                 $post_meta_cache['$post_id'][$key][$index] = $original_value; 
     330                                $post_meta_cache[$post_id][$key][$index] = $original_value; 
    330331        } else { 
    331                 $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE 
    332 meta_key = '$key' AND post_id = '$post_id' AND meta_value = '$prev_value'"); 
    333                 $cache_key = $post_meta_cache['$post_id'][$key]; 
     332                $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE meta_key = '$key' AND post_id = '$post_id' AND meta_value = '$prev_value'"); 
     333                $cache_key = $post_meta_cache[$post_id][$key]; 
    334334                if ( !empty($cache_key) ) 
    335335                        foreach ($cache_key as $index => $data) 
    336336                                if ( $data == $original_prev ) 
    337                                         $post_meta_cache['$post_id'][$key][$index] = $original_value; 
     337                                        $post_meta_cache[$post_id][$key][$index] = $original_value; 
    338338        } 
    339339 
    340340        return true; 
     
    347347        if ( ! $post_id ) 
    348348                $post_id = $id; 
    349349 
     350        $post_id = (int) $post_id; 
     351 
    350352        if ( isset($post_meta_cache[$post_id]) ) 
    351353                return $post_meta_cache[$post_id]; 
    352354 
     
    354356                // Change from flat structure to hierarchical: 
    355357                $post_meta_cache = array(); 
    356358                foreach ( $meta_list as $metarow ) { 
    357                         $mpid = $metarow['post_id']; 
     359                        $mpid = (int) $metarow['post_id']; 
    358360                        $mkey = $metarow['meta_key']; 
    359361                        $mval = $metarow['meta_value']; 
    360362 
  • wp-includes/functions.php

     
    542542                // Change from flat structure to hierarchical: 
    543543                $post_meta_cache = array(); 
    544544                foreach ($meta_list as $metarow) { 
    545                         $mpid = $metarow['post_id']; 
     545                        $mpid = (int) $metarow['post_id']; 
    546546                        $mkey = $metarow['meta_key']; 
    547547                        $mval = $metarow['meta_value']; 
    548548