WordPress.org

Make WordPress Core

Ticket #15276: 15276.diff

File 15276.diff, 945 bytes (added by kawauso, 7 years ago)

Validation modelled after AJAX handler

  • post.php

     
    192192
    193193        // Meta Stuff
    194194        if ( isset($post_data['meta']) && $post_data['meta'] ) {
    195                 foreach ( $post_data['meta'] as $key => $value )
     195                foreach ( $post_data['meta'] as $key => $value ) {
     196                        if ( !$meta = get_post_meta_by_id( $key ) )
     197                                continue;
     198                        if ( !current_user_can( 'edit_post', $meta->post_id ) )
     199                                continue;
    196200                        update_meta( $key, $value['key'], $value['value'] );
     201                }
    197202        }
    198203
    199204        if ( isset($post_data['deletemeta']) && $post_data['deletemeta'] ) {
    200                 foreach ( $post_data['deletemeta'] as $key => $value )
     205                foreach ( $post_data['deletemeta'] as $key => $value ) {
     206                        if ( !$meta = get_post_meta_by_id( $key ) )
     207                                continue;
     208                        if ( !current_user_can( 'edit_post', $meta->post_id ) )
     209                                continue;
    201210                        delete_meta( $key );
     211                }
    202212        }
    203213
    204214        add_meta( $post_ID );