WordPress.org

Make WordPress Core

Ticket #32565: 32565.2.diff

File 32565.2.diff, 1.3 KB (added by ericlewis, 4 years ago)
  • src/wp-admin/includes/ajax-actions.php

     
    12111211                                        ) );
    12121212                                        $x->send();
    12131213                                }
    1214 
    1215                                 if ( !$mid = add_meta( $pid ) )
    1216                                         wp_die( __( 'Please provide a custom field value.' ) );
    12171214                        } else {
    12181215                                wp_die( 0 );
    12191216                        }
    1220                 } elseif ( ! $mid = add_meta( $pid ) ) {
    1221                         wp_die( __( 'Please provide a custom field value.' ) );
    12221217                }
     1218                if ( ! $mid = add_meta( $pid ) ) {
     1219                        $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash( trim( $_POST['metakeyselect'] ) ) : '';
     1220                        $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash( trim( $_POST['metakeyinput'] ) ) : '';
     1221                        $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : '';
     1222                        if ( '#NONE#' != $metakeyselect )
     1223                                $metakey = $metakeyselect;
     1224                        if ( $metakeyinput )
     1225                                $metakey = $metakeyinput;
     1226                        if ( is_protected_meta( $metakey, 'post' ) || ! current_user_can( 'add_post_meta', $pid, $metakey ) ) {
     1227                                wp_die( __( 'You are not allowed to edit this custom field.' ) );
     1228                        } else {
     1229                                wp_die( __( 'Please provide a custom field value.' ) );
     1230                        }
     1231                }
    12231232
    12241233                $meta = get_metadata_by_mid( 'post', $mid );
    12251234                $pid = (int) $meta->post_id;