<?php defined('ABSPATH') || exit; function rocket_imagify_notice() { _deprecated_function(__FUNCTION__, '3.2'); $current_screen = get_current_screen(); if ('admin_notices' === current_filter() && (isset($current_screen) && 'settings_page_wprocket' !== $current_screen->base)) { return; } $boxes = get_user_meta($GLOBALS['current_user']->ID, 'rocket_boxes', true); if (defined('IMAGIFY_VERSION') || in_array(__FUNCTION__, (array) $boxes, true) || 1 === get_option('wp_rocket_dismiss_imagify_notice') || !current_user_can('manage_options')) { return; } $imagify_plugin = 'imagify/imagify.php'; $is_imagify_installed = rocket_is_plugin_installed($imagify_plugin); $action_url = $is_imagify_installed ? rocket_get_plugin_activation_link($imagify_plugin) : wp_nonce_url(add_query_arg(array('action' => 'install-plugin', 'plugin' => 'imagify'), admin_url('update.php')), 'install-plugin_imagify'); $details_url = add_query_arg(array('tab' => 'plugin-information', 'plugin' => 'imagify', 'TB_iframe' => true, 'width' => 722, 'height' => 949), admin_url('plugin-install.php')); $classes = $is_imagify_installed ? '' : ' install-now'; $cta_txt = $is_imagify_installed ? esc_html__('Activate Imagify', 'rocket') : esc_html__('Install Imagify for Free', 'rocket'); $dismiss_url = wp_nonce_url(admin_url('admin-post.php?action=rocket_ignore&box=' . __FUNCTION__), 'rocket_ignore_' . __FUNCTION__); ?> <div id="plugin-filter" class="updated plugin-card plugin-card-imagify rkt-imagify-notice"> <a href="<?php echo $dismiss_url; ?>" class="rkt-cross"><span class="dashicons dashicons-no"></span></a> <p class="rkt-imagify-logo"> <img src="<?php echo WP_ROCKET_ASSETS_IMG_URL; ?>logo-imagify.png" srcset="<?php echo WP_ROCKET_ASSETS_IMG_URL; ?>logo-imagify.svg 2x" alt="Imagify" width="150" height="18"> </p> <p class="rkt-imagify-msg"> <?php _e('Speed up your website and boost your SEO by reducing image file sizes without losing quality with Imagify.', 'rocket'); ?> </p> <p class="rkt-imagify-cta"> <a data-slug="imagify" href="<?php echo $action_url; ?>" class="button button-primary<?php echo $classes; ?>"><?php echo $cta_txt; ?></a> <?php if (!$is_imagify_installed) { ?> <br><a data-slug="imagify" data-name="Imagify Image Optimizer" class="thickbox open-plugin-details-modal" href="<?php echo $details_url; ?>"><?php _e('More details', 'rocket'); ?></a> <?php } ?> </p> </div> <?php } if (!function_exists('run_rocket_preload_cache')) { function run_rocket_preload_cache($spider, $do_sitemap_preload = true) { _deprecated_function(__FUNCTION__, '3.2'); run_rocket_bot($spider); if ($do_sitemap_preload & get_rocket_option('sitemap_preload', false)) { $rocket_background_process = $GLOBALS['rocket_sitemap_background_process']; if (method_exists($rocket_background_process, 'cancel_process')) { $rocket_background_process->cancel_process(); } delete_transient('rocket_sitemap_preload_running'); delete_transient('rocket_sitemap_preload_complete'); run_rocket_sitemap_preload(); } } } if (!function_exists('do_rocket_bot_cache_json')) { function do_rocket_bot_cache_json() { _deprecated_function(__FUNCTION__, '3.2'); return false; } } if (!function_exists('rocket_process_sitemap')) { function rocket_process_sitemap($sitemap_url, $urls = array()) { _deprecated_function(__FUNCTION__, '3.2'); $tmp_urls = array(); $args = apply_filters('rocket_preload_sitemap_request_args', array('user-agent' => 'WP Rocket/Sitemaps', 'sslverify' => apply_filters('https_local_ssl_verify', true))); $sitemap = wp_remote_get(esc_url($sitemap_url), $args); if (is_wp_error($sitemap)) { return array(); } $xml_data = wp_remote_retrieve_body($sitemap); if (empty($xml_data)) { return array(); } libxml_use_internal_errors(true); $xml = simplexml_load_string($xml_data); if (false === $xml) { libxml_clear_errors(); return array(); } $url_count = count($xml->url); if ($url_count > 0) { for ($i = 0; $i < $url_count; $i++) { $page_url = (string) $xml->url[$i]->loc; $tmp_urls[] = $page_url; } } else { $sitemap_children = count($xml->sitemap); if ($sitemap_children > 0) { for ($i = 0; $i < $sitemap_children; $i++) { $sub_sitemap_url = (string) $xml->sitemap[$i]->loc; $urls = rocket_process_sitemap($sub_sitemap_url, $urls); } } } $urls = array_merge($urls, $tmp_urls); return $urls; } } if (!function_exists('rocket_sitemap_preload_complete')) { function rocket_sitemap_preload_complete() { _deprecated_function(__FUNCTION__, '3.2'); $screen = get_current_screen(); if (!current_user_can(apply_filters('rocket_capacity', 'manage_options'))) { return; } if ('settings_page_wprocket' !== $screen->id) { return; } $result = get_transient('rocket_sitemap_preload_complete'); if (false === $result) { return; } delete_transient('rocket_sitemap_preload_complete'); rocket_notice_html(array('message' => sprintf(__('Sitemap preload: %d pages have been cached.', 'rocket'), $result))); } } if (!function_exists('rocket_sitemap_preload_running')) { function rocket_sitemap_preload_running() { _deprecated_function(__FUNCTION__, '3.2'); $screen = get_current_screen(); if (!current_user_can(apply_filters('rocket_capacity', 'manage_options'))) { return; } if ('settings_page_wprocket' !== $screen->id) { return; } $running = get_transient('rocket_sitemap_preload_running'); if (false === $running) { return; } rocket_notice_html(array('message' => sprintf(__('Sitemap preload: %d uncached pages have now been preloaded. (refresh to see progress)', 'rocket'), $running))); } } if (!function_exists('run_rocket_bot_after_clean_post')) { function run_rocket_bot_after_clean_post($post, $purge_urls, $lang) { _deprecated_function(__FUNCTION__, '3.2'); if ('publish' !== $post->post_status) { return false; } array_push($purge_urls, get_rocket_i18n_home_url($lang)); array_push($purge_urls, get_feed_link()); array_push($purge_urls, get_feed_link('comments_')); $purge_author = array(get_author_posts_url($post->post_author)); $purge_dates = get_rocket_post_dates_urls($post->ID); $purge_urls = array_diff($purge_urls, $purge_dates, $purge_author); $json_encode_urls = '["' . implode('","', array_filter($purge_urls)) . '"]'; if (rocket_put_content(WP_ROCKET_PATH . 'cache.json', $json_encode_urls)) { global $do_rocket_bot_cache_json; $do_rocket_bot_cache_json = true; } } } if (!function_exists('run_rocket_bot_after_clean_term')) { function run_rocket_bot_after_clean_term($post, $purge_urls, $lang) { _deprecated_function(__FUNCTION__, '3.2'); array_push($purge_urls, get_rocket_i18n_home_url($lang)); $json_encode_urls = '["' . implode('","', array_filter($purge_urls)) . '"]'; if (rocket_put_content(WP_ROCKET_PATH . 'cache.json', $json_encode_urls)) { global $do_rocket_bot_cache_json; $do_rocket_bot_cache_json = true; } } } if (!function_exists('rocket_clean_directory_for_default_language_on_wpml')) { function rocket_clean_directory_for_default_language_on_wpml() { _deprecated_function(__FUNCTION__, '3.2.4'); $option = get_option('icl_sitepress_settings'); if (1 === $option['language_negotiation_type'] && $option['urls']['directory_for_default_language']) { rocket_clean_files(home_url()); } } } if (!function_exists('rocket_fetch_and_cache_busting')) { function rocket_fetch_and_cache_busting($src, $cache_busting_paths, $abspath_src, $current_filter) { _deprecated_function(__FUNCTION__, '3.2.5'); if (wp_is_stream($src)) { $response = wp_remote_get($src); $content = wp_remote_retrieve_body($response); } else { $content = rocket_direct_filesystem()->get_contents($src); } if (!$content) { return false; } if ('style_loader_src' === $current_filter) { $document_root = apply_filters('rocket_min_documentRoot', wp_normalize_path(dirname($_SERVER['SCRIPT_FILENAME']))); $content = Minify_CSS_UriRewriter::rewrite($content, dirname($abspath_src), $document_root); } if (!rocket_direct_filesystem()->is_dir($cache_busting_paths['bustingpath'])) { rocket_mkdir_p($cache_busting_paths['bustingpath']); } rocket_mkdir_p(dirname($cache_busting_paths['filepath'])); return rocket_put_content($cache_busting_paths['filepath'], $content); } }