Make WordPress Core

Ticket #31037: 31037.411.diff

File 31037.411.diff, 3.9 KB (added by dd32, 9 years ago)
  • src/wp-admin/includes/ajax-actions.php

     
    18221822 */
    18231823function wp_ajax_update_widget() {
    18241824        global $wp_customize;
    18251825        $wp_customize->widgets->wp_ajax_update_widget();
    18261826}
    18271827
    18281828/**
    18291829 * Ajax handler for uploading attachments
    18301830 *
    18311831 * @since 3.3.0
    18321832 */
    18331833function wp_ajax_upload_attachment() {
    18341834        check_ajax_referer( 'media-form' );
    18351835
    18361836        if ( ! current_user_can( 'upload_files' ) ) {
    1837                 wp_send_json_error( array(
    1838                         'message'  => __( "You don't have permission to upload files." ),
    1839                         'filename' => $_FILES['async-upload']['name'],
     1837                echo wp_json_encode( array(
     1838                        'success' => false,
     1839                        'data'    => array(
     1840                                'message'  => __( "You don't have permission to upload files." ),
     1841                                'filename' => $_FILES['async-upload']['name'],
     1842                        )
    18401843                ) );
     1844
     1845                wp_die();
    18411846        }
    18421847
    18431848        if ( isset( $_REQUEST['post_id'] ) ) {
    18441849                $post_id = $_REQUEST['post_id'];
    18451850                if ( ! current_user_can( 'edit_post', $post_id ) ) {
    1846                         wp_send_json_error( array(
    1847                                 'message'  => __( "You don't have permission to attach files to this post." ),
    1848                                 'filename' => $_FILES['async-upload']['name'],
     1851                        echo wp_json_encode( array(
     1852                                'success' => false,
     1853                                'data'    => array(
     1854                                        'message'  => __( "You don't have permission to attach files to this post." ),
     1855                                        'filename' => $_FILES['async-upload']['name'],
     1856                                )
    18491857                        ) );
     1858
     1859                        wp_die();
    18501860                }
    18511861        } else {
    18521862                $post_id = null;
    18531863        }
    18541864
    18551865        $post_data = isset( $_REQUEST['post_data'] ) ? $_REQUEST['post_data'] : array();
    18561866
    18571867        // If the context is custom header or background, make sure the uploaded file is an image.
    18581868        if ( isset( $post_data['context'] ) && in_array( $post_data['context'], array( 'custom-header', 'custom-background' ) ) ) {
    18591869                $wp_filetype = wp_check_filetype_and_ext( $_FILES['async-upload']['tmp_name'], $_FILES['async-upload']['name'], false );
    18601870                if ( ! wp_match_mime_types( 'image', $wp_filetype['type'] ) ) {
    1861                         wp_send_json_error( array(
    1862                                 'message'  => __( 'The uploaded file is not a valid image. Please try again.' ),
    1863                                 'filename' => $_FILES['async-upload']['name'],
     1871                        echo wp_json_encode( array(
     1872                                'success' => false,
     1873                                'data'    => array(
     1874                                        'message'  => __( 'The uploaded file is not a valid image. Please try again.' ),
     1875                                        'filename' => $_FILES['async-upload']['name'],
     1876                                )
    18641877                        ) );
     1878
     1879                        wp_die();
    18651880                }
    18661881        }
    18671882
    18681883        $attachment_id = media_handle_upload( 'async-upload', $post_id, $post_data );
    18691884
    18701885        if ( is_wp_error( $attachment_id ) ) {
    1871                 wp_send_json_error( array(
    1872                         'message'  => $attachment_id->get_error_message(),
    1873                         'filename' => $_FILES['async-upload']['name'],
     1886                echo wp_json_encode( array(
     1887                        'success' => false,
     1888                        'data'    => array(
     1889                                'message'  => $attachment_id->get_error_message(),
     1890                                'filename' => $_FILES['async-upload']['name'],
     1891                        )
    18741892                ) );
     1893
     1894                wp_die();
    18751895        }
    18761896
    18771897        if ( isset( $post_data['context'] ) && isset( $post_data['theme'] ) ) {
    18781898                if ( 'custom-background' === $post_data['context'] )
    18791899                        update_post_meta( $attachment_id, '_wp_attachment_is_custom_background', $post_data['theme'] );
    18801900
    18811901                if ( 'custom-header' === $post_data['context'] )
    18821902                        update_post_meta( $attachment_id, '_wp_attachment_is_custom_header', $post_data['theme'] );
    18831903        }
    18841904
    18851905        if ( ! $attachment = wp_prepare_attachment_for_js( $attachment_id ) )
    18861906                wp_die();
    18871907
    1888         wp_send_json_success( $attachment );
     1908        echo wp_json_encode( array(
     1909                'success' => true,
     1910                'data'    => $attachment,
     1911        ) );
     1912
     1913        wp_die();
    18891914}
    18901915
    18911916/**
    18921917 * Ajax handler for image editing.
    18931918 *
    18941919 * @since 3.1.0
    18951920 */
    18961921function wp_ajax_image_editor() {
    18971922        $attachment_id = intval($_POST['postid']);
    18981923        if ( empty($attachment_id) || !current_user_can('edit_post', $attachment_id) )
    18991924                wp_die( -1 );
    19001925
    19011926        check_ajax_referer( "image_editor-$attachment_id" );
    19021927        include_once( ABSPATH . 'wp-admin/includes/image-edit.php' );
    19031928