<?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);
}
}