Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-admin/includes
File: ajax-actions.php
* @param string $screen_id The screen ID.
[3500] Fix | Delete
*/
[3501] Fix | Delete
$response = apply_filters( 'heartbeat_received', $response, $data, $screen_id );
[3502] Fix | Delete
}
[3503] Fix | Delete
[3504] Fix | Delete
/**
[3505] Fix | Delete
* Filters the Heartbeat response sent.
[3506] Fix | Delete
*
[3507] Fix | Delete
* @since 3.6.0
[3508] Fix | Delete
*
[3509] Fix | Delete
* @param array $response The Heartbeat response.
[3510] Fix | Delete
* @param string $screen_id The screen ID.
[3511] Fix | Delete
*/
[3512] Fix | Delete
$response = apply_filters( 'heartbeat_send', $response, $screen_id );
[3513] Fix | Delete
[3514] Fix | Delete
/**
[3515] Fix | Delete
* Fires when Heartbeat ticks in logged-in environments.
[3516] Fix | Delete
*
[3517] Fix | Delete
* Allows the transport to be easily replaced with long-polling.
[3518] Fix | Delete
*
[3519] Fix | Delete
* @since 3.6.0
[3520] Fix | Delete
*
[3521] Fix | Delete
* @param array $response The Heartbeat response.
[3522] Fix | Delete
* @param string $screen_id The screen ID.
[3523] Fix | Delete
*/
[3524] Fix | Delete
do_action( 'heartbeat_tick', $response, $screen_id );
[3525] Fix | Delete
[3526] Fix | Delete
// Send the current time according to the server.
[3527] Fix | Delete
$response['server_time'] = time();
[3528] Fix | Delete
[3529] Fix | Delete
wp_send_json( $response );
[3530] Fix | Delete
}
[3531] Fix | Delete
[3532] Fix | Delete
/**
[3533] Fix | Delete
* Handles getting revision diffs via AJAX.
[3534] Fix | Delete
*
[3535] Fix | Delete
* @since 3.6.0
[3536] Fix | Delete
*/
[3537] Fix | Delete
function wp_ajax_get_revision_diffs() {
[3538] Fix | Delete
require ABSPATH . 'wp-admin/includes/revision.php';
[3539] Fix | Delete
[3540] Fix | Delete
$post = get_post( (int) $_REQUEST['post_id'] );
[3541] Fix | Delete
if ( ! $post ) {
[3542] Fix | Delete
wp_send_json_error();
[3543] Fix | Delete
}
[3544] Fix | Delete
[3545] Fix | Delete
if ( ! current_user_can( 'edit_post', $post->ID ) ) {
[3546] Fix | Delete
wp_send_json_error();
[3547] Fix | Delete
}
[3548] Fix | Delete
[3549] Fix | Delete
// Really just pre-loading the cache here.
[3550] Fix | Delete
$revisions = wp_get_post_revisions( $post->ID, array( 'check_enabled' => false ) );
[3551] Fix | Delete
if ( ! $revisions ) {
[3552] Fix | Delete
wp_send_json_error();
[3553] Fix | Delete
}
[3554] Fix | Delete
[3555] Fix | Delete
$return = array();
[3556] Fix | Delete
[3557] Fix | Delete
if ( function_exists( 'set_time_limit' ) ) {
[3558] Fix | Delete
set_time_limit( 0 );
[3559] Fix | Delete
}
[3560] Fix | Delete
[3561] Fix | Delete
foreach ( $_REQUEST['compare'] as $compare_key ) {
[3562] Fix | Delete
list( $compare_from, $compare_to ) = explode( ':', $compare_key ); // from:to
[3563] Fix | Delete
[3564] Fix | Delete
$return[] = array(
[3565] Fix | Delete
'id' => $compare_key,
[3566] Fix | Delete
'fields' => wp_get_revision_ui_diff( $post, $compare_from, $compare_to ),
[3567] Fix | Delete
);
[3568] Fix | Delete
}
[3569] Fix | Delete
wp_send_json_success( $return );
[3570] Fix | Delete
}
[3571] Fix | Delete
[3572] Fix | Delete
/**
[3573] Fix | Delete
* Handles auto-saving the selected color scheme for
[3574] Fix | Delete
* a user's own profile via AJAX.
[3575] Fix | Delete
*
[3576] Fix | Delete
* @since 3.8.0
[3577] Fix | Delete
*
[3578] Fix | Delete
* @global array $_wp_admin_css_colors
[3579] Fix | Delete
*/
[3580] Fix | Delete
function wp_ajax_save_user_color_scheme() {
[3581] Fix | Delete
global $_wp_admin_css_colors;
[3582] Fix | Delete
[3583] Fix | Delete
check_ajax_referer( 'save-color-scheme', 'nonce' );
[3584] Fix | Delete
[3585] Fix | Delete
$color_scheme = sanitize_key( $_POST['color_scheme'] );
[3586] Fix | Delete
[3587] Fix | Delete
if ( ! isset( $_wp_admin_css_colors[ $color_scheme ] ) ) {
[3588] Fix | Delete
wp_send_json_error();
[3589] Fix | Delete
}
[3590] Fix | Delete
[3591] Fix | Delete
$previous_color_scheme = get_user_meta( get_current_user_id(), 'admin_color', true );
[3592] Fix | Delete
update_user_meta( get_current_user_id(), 'admin_color', $color_scheme );
[3593] Fix | Delete
[3594] Fix | Delete
wp_send_json_success(
[3595] Fix | Delete
array(
[3596] Fix | Delete
'previousScheme' => 'admin-color-' . $previous_color_scheme,
[3597] Fix | Delete
'currentScheme' => 'admin-color-' . $color_scheme,
[3598] Fix | Delete
)
[3599] Fix | Delete
);
[3600] Fix | Delete
}
[3601] Fix | Delete
[3602] Fix | Delete
/**
[3603] Fix | Delete
* Handles getting themes from themes_api() via AJAX.
[3604] Fix | Delete
*
[3605] Fix | Delete
* @since 3.9.0
[3606] Fix | Delete
*
[3607] Fix | Delete
* @global array $themes_allowedtags
[3608] Fix | Delete
* @global array $theme_field_defaults
[3609] Fix | Delete
*/
[3610] Fix | Delete
function wp_ajax_query_themes() {
[3611] Fix | Delete
global $themes_allowedtags, $theme_field_defaults;
[3612] Fix | Delete
[3613] Fix | Delete
if ( ! current_user_can( 'install_themes' ) ) {
[3614] Fix | Delete
wp_send_json_error();
[3615] Fix | Delete
}
[3616] Fix | Delete
[3617] Fix | Delete
$args = wp_parse_args(
[3618] Fix | Delete
wp_unslash( $_REQUEST['request'] ),
[3619] Fix | Delete
array(
[3620] Fix | Delete
'per_page' => 20,
[3621] Fix | Delete
'fields' => array_merge(
[3622] Fix | Delete
(array) $theme_field_defaults,
[3623] Fix | Delete
array(
[3624] Fix | Delete
'reviews_url' => true, // Explicitly request the reviews URL to be linked from the Add Themes screen.
[3625] Fix | Delete
)
[3626] Fix | Delete
),
[3627] Fix | Delete
)
[3628] Fix | Delete
);
[3629] Fix | Delete
[3630] Fix | Delete
if ( isset( $args['browse'] ) && 'favorites' === $args['browse'] && ! isset( $args['user'] ) ) {
[3631] Fix | Delete
$user = get_user_option( 'wporg_favorites' );
[3632] Fix | Delete
if ( $user ) {
[3633] Fix | Delete
$args['user'] = $user;
[3634] Fix | Delete
}
[3635] Fix | Delete
}
[3636] Fix | Delete
[3637] Fix | Delete
$old_filter = isset( $args['browse'] ) ? $args['browse'] : 'search';
[3638] Fix | Delete
[3639] Fix | Delete
/** This filter is documented in wp-admin/includes/class-wp-theme-install-list-table.php */
[3640] Fix | Delete
$args = apply_filters( 'install_themes_table_api_args_' . $old_filter, $args );
[3641] Fix | Delete
[3642] Fix | Delete
$api = themes_api( 'query_themes', $args );
[3643] Fix | Delete
[3644] Fix | Delete
if ( is_wp_error( $api ) ) {
[3645] Fix | Delete
wp_send_json_error();
[3646] Fix | Delete
}
[3647] Fix | Delete
[3648] Fix | Delete
$update_php = network_admin_url( 'update.php?action=install-theme' );
[3649] Fix | Delete
[3650] Fix | Delete
$installed_themes = search_theme_directories();
[3651] Fix | Delete
[3652] Fix | Delete
if ( false === $installed_themes ) {
[3653] Fix | Delete
$installed_themes = array();
[3654] Fix | Delete
}
[3655] Fix | Delete
[3656] Fix | Delete
foreach ( $installed_themes as $theme_slug => $theme_data ) {
[3657] Fix | Delete
// Ignore child themes.
[3658] Fix | Delete
if ( str_contains( $theme_slug, '/' ) ) {
[3659] Fix | Delete
unset( $installed_themes[ $theme_slug ] );
[3660] Fix | Delete
}
[3661] Fix | Delete
}
[3662] Fix | Delete
[3663] Fix | Delete
foreach ( $api->themes as &$theme ) {
[3664] Fix | Delete
$theme->install_url = add_query_arg(
[3665] Fix | Delete
array(
[3666] Fix | Delete
'theme' => $theme->slug,
[3667] Fix | Delete
'_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug ),
[3668] Fix | Delete
),
[3669] Fix | Delete
$update_php
[3670] Fix | Delete
);
[3671] Fix | Delete
[3672] Fix | Delete
if ( current_user_can( 'switch_themes' ) ) {
[3673] Fix | Delete
if ( is_multisite() ) {
[3674] Fix | Delete
$theme->activate_url = add_query_arg(
[3675] Fix | Delete
array(
[3676] Fix | Delete
'action' => 'enable',
[3677] Fix | Delete
'_wpnonce' => wp_create_nonce( 'enable-theme_' . $theme->slug ),
[3678] Fix | Delete
'theme' => $theme->slug,
[3679] Fix | Delete
),
[3680] Fix | Delete
network_admin_url( 'themes.php' )
[3681] Fix | Delete
);
[3682] Fix | Delete
} else {
[3683] Fix | Delete
$theme->activate_url = add_query_arg(
[3684] Fix | Delete
array(
[3685] Fix | Delete
'action' => 'activate',
[3686] Fix | Delete
'_wpnonce' => wp_create_nonce( 'switch-theme_' . $theme->slug ),
[3687] Fix | Delete
'stylesheet' => $theme->slug,
[3688] Fix | Delete
),
[3689] Fix | Delete
admin_url( 'themes.php' )
[3690] Fix | Delete
);
[3691] Fix | Delete
}
[3692] Fix | Delete
}
[3693] Fix | Delete
[3694] Fix | Delete
$is_theme_installed = array_key_exists( $theme->slug, $installed_themes );
[3695] Fix | Delete
[3696] Fix | Delete
// We only care about installed themes.
[3697] Fix | Delete
$theme->block_theme = $is_theme_installed && wp_get_theme( $theme->slug )->is_block_theme();
[3698] Fix | Delete
[3699] Fix | Delete
if ( ! is_multisite() && current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
[3700] Fix | Delete
$customize_url = $theme->block_theme ? admin_url( 'site-editor.php' ) : wp_customize_url( $theme->slug );
[3701] Fix | Delete
[3702] Fix | Delete
$theme->customize_url = add_query_arg(
[3703] Fix | Delete
array(
[3704] Fix | Delete
'return' => urlencode( network_admin_url( 'theme-install.php', 'relative' ) ),
[3705] Fix | Delete
),
[3706] Fix | Delete
$customize_url
[3707] Fix | Delete
);
[3708] Fix | Delete
}
[3709] Fix | Delete
[3710] Fix | Delete
$theme->name = wp_kses( $theme->name, $themes_allowedtags );
[3711] Fix | Delete
$theme->author = wp_kses( $theme->author['display_name'], $themes_allowedtags );
[3712] Fix | Delete
$theme->version = wp_kses( $theme->version, $themes_allowedtags );
[3713] Fix | Delete
$theme->description = wp_kses( $theme->description, $themes_allowedtags );
[3714] Fix | Delete
[3715] Fix | Delete
$theme->stars = wp_star_rating(
[3716] Fix | Delete
array(
[3717] Fix | Delete
'rating' => $theme->rating,
[3718] Fix | Delete
'type' => 'percent',
[3719] Fix | Delete
'number' => $theme->num_ratings,
[3720] Fix | Delete
'echo' => false,
[3721] Fix | Delete
)
[3722] Fix | Delete
);
[3723] Fix | Delete
[3724] Fix | Delete
$theme->num_ratings = number_format_i18n( $theme->num_ratings );
[3725] Fix | Delete
$theme->preview_url = set_url_scheme( $theme->preview_url );
[3726] Fix | Delete
$theme->compatible_wp = is_wp_version_compatible( $theme->requires );
[3727] Fix | Delete
$theme->compatible_php = is_php_version_compatible( $theme->requires_php );
[3728] Fix | Delete
}
[3729] Fix | Delete
[3730] Fix | Delete
wp_send_json_success( $api );
[3731] Fix | Delete
}
[3732] Fix | Delete
[3733] Fix | Delete
/**
[3734] Fix | Delete
* Applies [embed] Ajax handlers to a string.
[3735] Fix | Delete
*
[3736] Fix | Delete
* @since 4.0.0
[3737] Fix | Delete
*
[3738] Fix | Delete
* @global WP_Post $post Global post object.
[3739] Fix | Delete
* @global WP_Embed $wp_embed WordPress Embed object.
[3740] Fix | Delete
* @global WP_Scripts $wp_scripts
[3741] Fix | Delete
* @global int $content_width
[3742] Fix | Delete
*/
[3743] Fix | Delete
function wp_ajax_parse_embed() {
[3744] Fix | Delete
global $post, $wp_embed, $content_width;
[3745] Fix | Delete
[3746] Fix | Delete
if ( empty( $_POST['shortcode'] ) ) {
[3747] Fix | Delete
wp_send_json_error();
[3748] Fix | Delete
}
[3749] Fix | Delete
[3750] Fix | Delete
$post_id = isset( $_POST['post_ID'] ) ? (int) $_POST['post_ID'] : 0;
[3751] Fix | Delete
[3752] Fix | Delete
if ( $post_id > 0 ) {
[3753] Fix | Delete
$post = get_post( $post_id );
[3754] Fix | Delete
[3755] Fix | Delete
if ( ! $post || ! current_user_can( 'edit_post', $post->ID ) ) {
[3756] Fix | Delete
wp_send_json_error();
[3757] Fix | Delete
}
[3758] Fix | Delete
setup_postdata( $post );
[3759] Fix | Delete
} elseif ( ! current_user_can( 'edit_posts' ) ) { // See WP_oEmbed_Controller::get_proxy_item_permissions_check().
[3760] Fix | Delete
wp_send_json_error();
[3761] Fix | Delete
}
[3762] Fix | Delete
[3763] Fix | Delete
$shortcode = wp_unslash( $_POST['shortcode'] );
[3764] Fix | Delete
[3765] Fix | Delete
preg_match( '/' . get_shortcode_regex() . '/s', $shortcode, $matches );
[3766] Fix | Delete
$atts = shortcode_parse_atts( $matches[3] );
[3767] Fix | Delete
[3768] Fix | Delete
if ( ! empty( $matches[5] ) ) {
[3769] Fix | Delete
$url = $matches[5];
[3770] Fix | Delete
} elseif ( ! empty( $atts['src'] ) ) {
[3771] Fix | Delete
$url = $atts['src'];
[3772] Fix | Delete
} else {
[3773] Fix | Delete
$url = '';
[3774] Fix | Delete
}
[3775] Fix | Delete
[3776] Fix | Delete
$parsed = false;
[3777] Fix | Delete
$wp_embed->return_false_on_fail = true;
[3778] Fix | Delete
[3779] Fix | Delete
if ( 0 === $post_id ) {
[3780] Fix | Delete
/*
[3781] Fix | Delete
* Refresh oEmbeds cached outside of posts that are past their TTL.
[3782] Fix | Delete
* Posts are excluded because they have separate logic for refreshing
[3783] Fix | Delete
* their post meta caches. See WP_Embed::cache_oembed().
[3784] Fix | Delete
*/
[3785] Fix | Delete
$wp_embed->usecache = false;
[3786] Fix | Delete
}
[3787] Fix | Delete
[3788] Fix | Delete
if ( is_ssl() && str_starts_with( $url, 'http://' ) ) {
[3789] Fix | Delete
/*
[3790] Fix | Delete
* Admin is ssl and the user pasted non-ssl URL.
[3791] Fix | Delete
* Check if the provider supports ssl embeds and use that for the preview.
[3792] Fix | Delete
*/
[3793] Fix | Delete
$ssl_shortcode = preg_replace( '%^(\\[embed[^\\]]*\\])http://%i', '$1https://', $shortcode );
[3794] Fix | Delete
$parsed = $wp_embed->run_shortcode( $ssl_shortcode );
[3795] Fix | Delete
[3796] Fix | Delete
if ( ! $parsed ) {
[3797] Fix | Delete
$no_ssl_support = true;
[3798] Fix | Delete
}
[3799] Fix | Delete
}
[3800] Fix | Delete
[3801] Fix | Delete
// Set $content_width so any embeds fit in the destination iframe.
[3802] Fix | Delete
if ( isset( $_POST['maxwidth'] ) && is_numeric( $_POST['maxwidth'] ) && $_POST['maxwidth'] > 0 ) {
[3803] Fix | Delete
if ( ! isset( $content_width ) ) {
[3804] Fix | Delete
$content_width = (int) $_POST['maxwidth'];
[3805] Fix | Delete
} else {
[3806] Fix | Delete
$content_width = min( $content_width, (int) $_POST['maxwidth'] );
[3807] Fix | Delete
}
[3808] Fix | Delete
}
[3809] Fix | Delete
[3810] Fix | Delete
if ( $url && ! $parsed ) {
[3811] Fix | Delete
$parsed = $wp_embed->run_shortcode( $shortcode );
[3812] Fix | Delete
}
[3813] Fix | Delete
[3814] Fix | Delete
if ( ! $parsed ) {
[3815] Fix | Delete
wp_send_json_error(
[3816] Fix | Delete
array(
[3817] Fix | Delete
'type' => 'not-embeddable',
[3818] Fix | Delete
/* translators: %s: URL that could not be embedded. */
[3819] Fix | Delete
'message' => sprintf( __( '%s failed to embed.' ), '<code>' . esc_html( $url ) . '</code>' ),
[3820] Fix | Delete
)
[3821] Fix | Delete
);
[3822] Fix | Delete
}
[3823] Fix | Delete
[3824] Fix | Delete
if ( has_shortcode( $parsed, 'audio' ) || has_shortcode( $parsed, 'video' ) ) {
[3825] Fix | Delete
$styles = '';
[3826] Fix | Delete
$mce_styles = wpview_media_sandbox_styles();
[3827] Fix | Delete
[3828] Fix | Delete
foreach ( $mce_styles as $style ) {
[3829] Fix | Delete
$styles .= sprintf( '<link rel="stylesheet" href="%s" />', $style );
[3830] Fix | Delete
}
[3831] Fix | Delete
[3832] Fix | Delete
$html = do_shortcode( $parsed );
[3833] Fix | Delete
[3834] Fix | Delete
global $wp_scripts;
[3835] Fix | Delete
[3836] Fix | Delete
if ( ! empty( $wp_scripts ) ) {
[3837] Fix | Delete
$wp_scripts->done = array();
[3838] Fix | Delete
}
[3839] Fix | Delete
[3840] Fix | Delete
ob_start();
[3841] Fix | Delete
wp_print_scripts( array( 'mediaelement-vimeo', 'wp-mediaelement' ) );
[3842] Fix | Delete
$scripts = ob_get_clean();
[3843] Fix | Delete
[3844] Fix | Delete
$parsed = $styles . $html . $scripts;
[3845] Fix | Delete
}
[3846] Fix | Delete
[3847] Fix | Delete
if ( ! empty( $no_ssl_support ) || ( is_ssl() && ( preg_match( '%<(iframe|script|embed) [^>]*src="http://%', $parsed ) ||
[3848] Fix | Delete
preg_match( '%<link [^>]*href="http://%', $parsed ) ) ) ) {
[3849] Fix | Delete
// Admin is ssl and the embed is not. Iframes, scripts, and other "active content" will be blocked.
[3850] Fix | Delete
wp_send_json_error(
[3851] Fix | Delete
array(
[3852] Fix | Delete
'type' => 'not-ssl',
[3853] Fix | Delete
'message' => __( 'This preview is unavailable in the editor.' ),
[3854] Fix | Delete
)
[3855] Fix | Delete
);
[3856] Fix | Delete
}
[3857] Fix | Delete
[3858] Fix | Delete
$return = array(
[3859] Fix | Delete
'body' => $parsed,
[3860] Fix | Delete
'attr' => $wp_embed->last_attr,
[3861] Fix | Delete
);
[3862] Fix | Delete
[3863] Fix | Delete
if ( str_contains( $parsed, 'class="wp-embedded-content' ) ) {
[3864] Fix | Delete
if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
[3865] Fix | Delete
$script_src = includes_url( 'js/wp-embed.js' );
[3866] Fix | Delete
} else {
[3867] Fix | Delete
$script_src = includes_url( 'js/wp-embed.min.js' );
[3868] Fix | Delete
}
[3869] Fix | Delete
[3870] Fix | Delete
$return['head'] = '<script src="' . $script_src . '"></script>';
[3871] Fix | Delete
$return['sandbox'] = true;
[3872] Fix | Delete
}
[3873] Fix | Delete
[3874] Fix | Delete
wp_send_json_success( $return );
[3875] Fix | Delete
}
[3876] Fix | Delete
[3877] Fix | Delete
/**
[3878] Fix | Delete
* @since 4.0.0
[3879] Fix | Delete
*
[3880] Fix | Delete
* @global WP_Post $post Global post object.
[3881] Fix | Delete
* @global WP_Scripts $wp_scripts
[3882] Fix | Delete
*/
[3883] Fix | Delete
function wp_ajax_parse_media_shortcode() {
[3884] Fix | Delete
global $post, $wp_scripts;
[3885] Fix | Delete
[3886] Fix | Delete
if ( empty( $_POST['shortcode'] ) ) {
[3887] Fix | Delete
wp_send_json_error();
[3888] Fix | Delete
}
[3889] Fix | Delete
[3890] Fix | Delete
$shortcode = wp_unslash( $_POST['shortcode'] );
[3891] Fix | Delete
[3892] Fix | Delete
// Only process previews for media related shortcodes:
[3893] Fix | Delete
$found_shortcodes = get_shortcode_tags_in_content( $shortcode );
[3894] Fix | Delete
$media_shortcodes = array(
[3895] Fix | Delete
'audio',
[3896] Fix | Delete
'embed',
[3897] Fix | Delete
'playlist',
[3898] Fix | Delete
'video',
[3899] Fix | Delete
'gallery',
[3900] Fix | Delete
);
[3901] Fix | Delete
[3902] Fix | Delete
$other_shortcodes = array_diff( $found_shortcodes, $media_shortcodes );
[3903] Fix | Delete
[3904] Fix | Delete
if ( ! empty( $other_shortcodes ) ) {
[3905] Fix | Delete
wp_send_json_error();
[3906] Fix | Delete
}
[3907] Fix | Delete
[3908] Fix | Delete
if ( ! empty( $_POST['post_ID'] ) ) {
[3909] Fix | Delete
$post = get_post( (int) $_POST['post_ID'] );
[3910] Fix | Delete
}
[3911] Fix | Delete
[3912] Fix | Delete
// The embed shortcode requires a post.
[3913] Fix | Delete
if ( ! $post || ! current_user_can( 'edit_post', $post->ID ) ) {
[3914] Fix | Delete
if ( in_array( 'embed', $found_shortcodes, true ) ) {
[3915] Fix | Delete
wp_send_json_error();
[3916] Fix | Delete
}
[3917] Fix | Delete
} else {
[3918] Fix | Delete
setup_postdata( $post );
[3919] Fix | Delete
}
[3920] Fix | Delete
[3921] Fix | Delete
$parsed = do_shortcode( $shortcode );
[3922] Fix | Delete
[3923] Fix | Delete
if ( empty( $parsed ) ) {
[3924] Fix | Delete
wp_send_json_error(
[3925] Fix | Delete
array(
[3926] Fix | Delete
'type' => 'no-items',
[3927] Fix | Delete
'message' => __( 'No items found.' ),
[3928] Fix | Delete
)
[3929] Fix | Delete
);
[3930] Fix | Delete
}
[3931] Fix | Delete
[3932] Fix | Delete
$head = '';
[3933] Fix | Delete
$styles = wpview_media_sandbox_styles();
[3934] Fix | Delete
[3935] Fix | Delete
foreach ( $styles as $style ) {
[3936] Fix | Delete
$head .= '<link type="text/css" rel="stylesheet" href="' . $style . '">';
[3937] Fix | Delete
}
[3938] Fix | Delete
[3939] Fix | Delete
if ( ! empty( $wp_scripts ) ) {
[3940] Fix | Delete
$wp_scripts->done = array();
[3941] Fix | Delete
}
[3942] Fix | Delete
[3943] Fix | Delete
ob_start();
[3944] Fix | Delete
[3945] Fix | Delete
echo $parsed;
[3946] Fix | Delete
[3947] Fix | Delete
if ( 'playlist' === $_REQUEST['type'] ) {
[3948] Fix | Delete
wp_underscore_playlist_templates();
[3949] Fix | Delete
[3950] Fix | Delete
wp_print_scripts( 'wp-playlist' );
[3951] Fix | Delete
} else {
[3952] Fix | Delete
wp_print_scripts( array( 'mediaelement-vimeo', 'wp-mediaelement' ) );
[3953] Fix | Delete
}
[3954] Fix | Delete
[3955] Fix | Delete
wp_send_json_success(
[3956] Fix | Delete
array(
[3957] Fix | Delete
'head' => $head,
[3958] Fix | Delete
'body' => ob_get_clean(),
[3959] Fix | Delete
)
[3960] Fix | Delete
);
[3961] Fix | Delete
}
[3962] Fix | Delete
[3963] Fix | Delete
/**
[3964] Fix | Delete
* Handles destroying multiple open sessions for a user via AJAX.
[3965] Fix | Delete
*
[3966] Fix | Delete
* @since 4.1.0
[3967] Fix | Delete
*/
[3968] Fix | Delete
function wp_ajax_destroy_sessions() {
[3969] Fix | Delete
$user = get_userdata( (int) $_POST['user_id'] );
[3970] Fix | Delete
[3971] Fix | Delete
if ( $user ) {
[3972] Fix | Delete
if ( ! current_user_can( 'edit_user', $user->ID ) ) {
[3973] Fix | Delete
$user = false;
[3974] Fix | Delete
} elseif ( ! wp_verify_nonce( $_POST['nonce'], 'update-user_' . $user->ID ) ) {
[3975] Fix | Delete
$user = false;
[3976] Fix | Delete
}
[3977] Fix | Delete
}
[3978] Fix | Delete
[3979] Fix | Delete
if ( ! $user ) {
[3980] Fix | Delete
wp_send_json_error(
[3981] Fix | Delete
array(
[3982] Fix | Delete
'message' => __( 'Could not log out user sessions. Please try again.' ),
[3983] Fix | Delete
)
[3984] Fix | Delete
);
[3985] Fix | Delete
}
[3986] Fix | Delete
[3987] Fix | Delete
$sessions = WP_Session_Tokens::get_instance( $user->ID );
[3988] Fix | Delete
[3989] Fix | Delete
if ( get_current_user_id() === $user->ID ) {
[3990] Fix | Delete
$sessions->destroy_others( wp_get_session_token() );
[3991] Fix | Delete
$message = __( 'You are now logged out everywhere else.' );
[3992] Fix | Delete
} else {
[3993] Fix | Delete
$sessions->destroy_all();
[3994] Fix | Delete
/* translators: %s: User's display name. */
[3995] Fix | Delete
$message = sprintf( __( '%s has been logged out.' ), $user->display_name );
[3996] Fix | Delete
}
[3997] Fix | Delete
[3998] Fix | Delete
wp_send_json_success( array( 'message' => $message ) );
[3999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function