From 50ba21e179df092317f2cb03df68132d6e09aae4 Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Tue, 19 Aug 2014 23:22:47 +0000 Subject: [PATCH] TinyMCE wpView: show an error when no items are found while parsing a audio/video/playlist shortcode. Props avryl, fixes #29114. git-svn-id: https://develop.svn.wordpress.org/trunk@29546 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/includes/ajax-actions.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/wp-admin/includes/ajax-actions.php b/src/wp-admin/includes/ajax-actions.php index de9263e5d8..ee2860f583 100644 --- a/src/wp-admin/includes/ajax-actions.php +++ b/src/wp-admin/includes/ajax-actions.php @@ -2715,7 +2715,16 @@ function wp_ajax_parse_media_shortcode() { wp_send_json_error(); } + if ( empty( $_POST['shortcode'] ) || ! current_user_can( 'edit_post', $post->ID ) ) { + wp_send_json_error(); + } + setup_postdata( $post ); + $shortcode = do_shortcode( wp_unslash( $_REQUEST['shortcode'] ) ); + + if ( empty( $shortcode ) ) { + wp_send_json_error( array( 'statusText' => __( 'No items found.' ) ) ); + } ob_start(); @@ -2724,7 +2733,7 @@ function wp_ajax_parse_media_shortcode() { printf( '', $style ); } - echo do_shortcode( wp_unslash( $_REQUEST['shortcode'] ) ); + echo $shortcode; if ( ! empty( $wp_scripts ) ) { $wp_scripts->done = array();