WordPress.org

Make WordPress Core

Ticket #32565: 32565.diff

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

     
    12121212                                        $x->send();
    12131213                                }
    12141214
    1215                                 if ( !$mid = add_meta( $pid ) )
    1216                                         wp_die( __( 'Please provide a custom field value.' ) );
     1215                                if ( !$mid = add_meta( $pid ) ) {
     1216                                        // If adding meta failed, tell the user why.
     1217                                        $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash( trim( $_POST['metakeyselect'] ) ) : '';
     1218                                        $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash( trim( $_POST['metakeyinput'] ) ) : '';
     1219                                        $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : '';
     1220                                        if ( '#NONE#' != $metakeyselect )
     1221                                                $metakey = $metakeyselect;
     1222                                        if ( $metakeyinput )
     1223                                                $metakey = $metakeyinput;
     1224                                        if ( is_protected_meta( $metakey, 'post' ) || ! current_user_can( 'add_post_meta', $pid, $metakey ) ) {
     1225                                                wp_die( __( 'You are not allowed to edit this custom field.' ) );
     1226                                        } else {
     1227                                                wp_die( __( 'Please provide a custom field value.' ) );
     1228                                        }
     1229                                }
    12171230                        } else {
    12181231                                wp_die( 0 );
    12191232                        }
    12201233                } elseif ( ! $mid = add_meta( $pid ) ) {
    1221                         wp_die( __( 'Please provide a custom field value.' ) );
     1234                        // If adding meta failed, tell the user why.
     1235                        $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash( trim( $_POST['metakeyselect'] ) ) : '';
     1236                        $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash( trim( $_POST['metakeyinput'] ) ) : '';
     1237                        $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : '';
     1238                        if ( '#NONE#' != $metakeyselect )
     1239                                $metakey = $metakeyselect;
     1240                        if ( $metakeyinput )
     1241                                $metakey = $metakeyinput;
     1242                        if ( is_protected_meta( $metakey, 'post' ) || ! current_user_can( 'add_post_meta', $pid, $metakey ) ) {
     1243                                wp_die( __( 'You are not allowed to edit this custom field.' ) );
     1244                        } else {
     1245                                wp_die( __( 'Please provide a custom field value.' ) );
     1246                        }
    12221247                }
    12231248
    12241249                $meta = get_metadata_by_mid( 'post', $mid );