Ticket #17850: 17850.3.diff
File 17850.3.diff, 3.1 KB (added by , 14 years ago) |
---|
-
wp-includes/meta.php
588 588 * @return bool True if the key is protected, false otherwise. 589 589 */ 590 590 function is_protected_meta( $meta_key, $meta_type = null ) { 591 $protected = ( '_' == $meta_key[0] ); 591 $protected = false; 592 $protected_keys = array( '_edit_last', '_edit_lock', '_thumbnail_id' ); 592 593 594 if ( 0 === strpos( $meta_key, '_wp_' ) || 0 === strpos( $meta_key, '_menu_item_' ) || 595 0 === strpos( $meta_key, '__' ) || in_array( $meta_key, $protected_keys ) ) 596 $protected = true; 597 593 598 return apply_filters( 'is_protected_meta', $protected, $meta_key, $meta_type ); 594 599 } 595 600 596 601 /** 602 * Determine whether a meta key is hidden 603 * 604 * @since 3.2.0 605 * 606 * @param string $meta_key Meta key 607 * @return bool True if the key is hidden, false otherwise. 608 */ 609 function is_hidden_meta( $meta_key, $meta_type = null ) { 610 $hidden = ( '_' == $meta_key[0] ); 611 612 return apply_filters( 'is_hidden_meta', $hidden, $meta_key, $meta_type ); 613 } 614 615 /** 597 616 * Sanitize meta value 598 617 * 599 618 * @since 3.1.3 -
wp-admin/admin-ajax.php
396 396 if ( !$meta = get_post_meta_by_id( $id ) ) 397 397 die('1'); 398 398 399 if ( !current_user_can( 'edit_post', $meta->post_id ) || is_ protected_meta( $meta->meta_key ) )399 if ( !current_user_can( 'edit_post', $meta->post_id ) || is_hidden_meta( $meta->meta_key ) || is_protected_meta( $meta->meta_key ) ) 400 400 die('-1'); 401 401 if ( delete_meta( $meta->meta_id ) ) 402 402 die('1'); … … 870 870 die('0'); // if meta doesn't exist 871 871 if ( !current_user_can( 'edit_post', $meta->post_id ) ) 872 872 die('-1'); 873 if ( is_ protected_meta( $meta->meta_key ) )873 if ( is_hidden_meta( $meta->meta_key ) || is_protected_meta( $meta->meta_key ) ) 874 874 die('-1'); 875 875 if ( $meta->meta_value != stripslashes($value) || $meta->meta_key != stripslashes($key) ) { 876 876 if ( !$u = update_meta( $mid, $key, $value ) ) -
wp-admin/includes/post.php
207 207 continue; 208 208 if ( $meta->post_id != $post_ID ) 209 209 continue; 210 if ( is_ protected_meta( $value['key'] ) )210 if ( is_hidden_meta( $value['key'] ) || is_protected_meta( $value['key'] ) ) 211 211 continue; 212 212 update_meta( $key, $value['key'], $value['value'] ); 213 213 } … … 219 219 continue; 220 220 if ( $meta->post_id != $post_ID ) 221 221 continue; 222 if ( is_ protected_meta( $meta->meta_key ) )222 if ( is_hidden_meta( $meta->meta_key ) || is_protected_meta( $meta->meta_key ) ) 223 223 continue; 224 224 delete_meta( $key ); 225 225 } … … 662 662 if ( $metakeyinput) 663 663 $metakey = $metakeyinput; // default 664 664 665 if ( is_ protected_meta( $metakey ) )665 if ( is_hidden_meta( $metakey ) || is_protected_meta( $metakey ) ) 666 666 return false; 667 667 668 668 wp_cache_delete($post_ID, 'post_meta');