oont-contents/plugins/wp-rocket/inc/deprecated/3.11.php
2025-02-08 15:10:23 +01:00

286 lines
7.7 KiB
PHP

<?php
/**
* Add Yoast SEO sitemap option to WP Rocket default options
*
* @since 2.8
* @since 3.11.1 deprecated
*
* @author Remy Perona
*
* @param array $options WP Rocket options array.
* @return array Updated WP Rocket options array
*/
function rocket_add_yoast_seo_sitemap_option( $options ) {
_deprecated_function( __FUNCTION__ . '()', '3.11.1' );
$options['yoast_xml_sitemap'] = 0;
return $options;
}
/**
* Sanitize Yoast SEO sitemap option value
*
* @since 2.8
* @since 3.11.1 deprecated
*
* @author Remy Perona
*
* @param array $inputs WP Rocket inputs array.
* @return array Sanitized WP Rocket inputs array
*/
function rocket_yoast_seo_sitemap_option_sanitize( $inputs ) {
_deprecated_function( __FUNCTION__ . '()', '3.11.1' );
$inputs['yoast_xml_sitemap'] = ! empty( $inputs['yoast_xml_sitemap'] ) ? 1 : 0;
return $inputs;
}
/**
* Add Yoast SEO sitemap URL to the sitemaps to preload
*
* @since 2.8
* @since 3.11.1 deprecated
*
* @author Remy Perona
*
* @param array $sitemaps Sitemaps to preload.
* @return array Updated Sitemaps to preload
*/
function rocket_add_yoast_seo_sitemap( $sitemaps ) {
_deprecated_function( __FUNCTION__ . '()', '3.11.1' );
if ( get_rocket_option( 'yoast_xml_sitemap', false ) ) {
$sitemaps[] = WPSEO_Sitemaps_Router::get_base_url( 'sitemap_index.xml' );
}
return $sitemaps;
}
/**
* Add Yoast SEO option to WP Rocket settings
*
* @since 2.8
* @since 3.11.1 deprecated
*
* @author Remy Perona
*
* @param array $options WP Rocket settings array.
* @return array Updated WP Rocket settings array
*/
function rocket_sitemap_preload_yoast_seo_option( $options ) {
_deprecated_function( __FUNCTION__ . '()', '3.11.1' );
$options['yoast_xml_sitemap'] = [
'type' => 'checkbox',
'container_class' => [
'wpr-field--children',
],
'label' => __( 'Yoast SEO XML sitemap', 'rocket' ),
// translators: %s = Name of the plugin.
'description' => sprintf( __( 'We automatically detected the sitemap generated by the %s plugin. You can check the option to preload it.', 'rocket' ), 'Yoast SEO' ),
'parent' => 'sitemap_preload',
'section' => 'preload_section',
'page' => 'preload',
'default' => 0,
'sanitize_callback' => 'sanitize_checkbox',
];
return $options;
}
/**
* Clear Kinsta cache when clearing WP Rocket cache
*
* @since 3.0
* @author Remy Perona
*
* @return void
*/
function rocket_clean_kinsta_cache() {
global $kinsta_cache;
_deprecated_function( __FUNCTION__ . '()', '3.11.1' );
if ( ! empty( $kinsta_cache->kinsta_cache_purge ) ) {
$kinsta_cache->kinsta_cache_purge->purge_complete_caches();
}
}
/**
* Partially clear Kinsta cache when partially clearing WP Rocket cache
*
* @since 3.0
* @author Remy Perona
*
* @param object $post Post object.
* @return void
*/
function rocket_clean_kinsta_post_cache( $post ) {
_deprecated_function( __FUNCTION__ . '()', '3.11.1' );
global $kinsta_cache;
$kinsta_cache->kinsta_cache_purge->initiate_purge( $post->ID, 'post' );
}
/**
* Clears Kinsta cache for the homepage URL when using "Purge this URL" from the admin bar on the front end
*
* @since 3.0.4
* @author Remy Perona
*
* @param string $root WP Rocket root cache path.
* @param string $lang Current language.
* @return void
*/
function rocket_clean_kinsta_cache_home( $root = '', $lang = '' ) {
_deprecated_function( __FUNCTION__ . '()', '3.11.1' );
$url = get_rocket_i18n_home_url( $lang );
$url = trailingslashit( $url ) . 'kinsta-clear-cache/';
wp_remote_get(
$url,
[
'blocking' => false,
'timeout' => 0.01,
]
);
}
/**
* Clears Kinsta cache for a specific URL when using "Purge this URL" from the admin bar on the front end
*
* @since 3.0.4
* @author Remy Perona
*
* @param string $url URL to purge.
* @return void
*/
function rocket_clean_kinsta_cache_url( $url ) {
_deprecated_function( __FUNCTION__ . '()', '3.11.1' );
$url = trailingslashit( $url ) . 'kinsta-clear-cache/';
wp_remote_get(
$url,
[
'blocking' => false,
'timeout' => 0.01,
]
);
}
/**
* Remove WP Rocket functions on WP core action hooks to prevent triggering a double cache clear.
*
* @since 3.0
* @author Remy Perona
*
* @return void
*/
function rocket_remove_partial_purge_hooks() {
_deprecated_function( __FUNCTION__ . '()', '3.11.1' );
// WP core action hooks rocket_clean_post() gets hooked into.
$clean_post_hooks = [
// Disables the refreshing of partial cache when content is edited.
'wp_trash_post',
'delete_post',
'clean_post_cache',
'wp_update_comment_count',
];
// Remove rocket_clean_post() from core action hooks.
array_map(
function( $hook ) {
remove_action( $hook, 'rocket_clean_post' );
},
$clean_post_hooks
);
remove_filter( 'rocket_clean_files', 'rocket_clean_files_users' );
}
/**
* Do the rollback
*
* @since 3.11.5 deprecated
* @since 2.4
*/
function rocket_rollback() {
_deprecated_function( __FUNCTION__ . '()', '3.11.5' );
if ( ! isset( $_GET['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $_GET['_wpnonce'] ), 'rocket_rollback' ) ) {
wp_nonce_ays( '' );
}
/**
* Fires before doing the rollback
*/
do_action( 'rocket_before_rollback' );
$plugin_transient = get_site_transient( 'update_plugins' );
$plugin_folder = plugin_basename( dirname( WP_ROCKET_FILE ) );
$plugin = $plugin_folder . '/' . basename( WP_ROCKET_FILE );
$plugin_transient->response[ $plugin ] = (object) [
'slug' => $plugin_folder,
'new_version' => WP_ROCKET_LASTVERSION,
'url' => 'https://wp-rocket.me',
'package' => sprintf( 'https://wp-rocket.me/%s/wp-rocket_%s.zip', get_rocket_option( 'consumer_key' ), WP_ROCKET_LASTVERSION ),
];
set_site_transient( 'update_plugins', $plugin_transient );
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
// translators: %s is the plugin name.
$title = sprintf( __( '%s Update Rollback', 'rocket' ), WP_ROCKET_PLUGIN_NAME );
$nonce = 'upgrade-plugin_' . $plugin;
$url = 'update.php?action=upgrade-plugin&plugin=' . rawurlencode( $plugin );
$upgrader_skin = new Plugin_Upgrader_Skin( compact( 'title', 'nonce', 'url', 'plugin' ) );
$upgrader = new Plugin_Upgrader( $upgrader_skin );
remove_filter( 'site_transient_update_plugins', 'rocket_check_update', 1 );
add_filter( 'update_plugin_complete_actions', 'rocket_rollback_add_return_link' );
rocket_put_content( WP_CONTENT_DIR . '/advanced-cache.php', '' );
$upgrader->upgrade( $plugin );
wp_die(
'',
// translators: %s is the plugin name.
esc_html( sprintf( __( '%s Update Rollback', 'rocket' ), WP_ROCKET_PLUGIN_NAME ) ),
[
'response' => 200,
]
);
}
/**
* After a rollback has been done, replace the "return to" link by a link pointing to WP Rocket's tools page.
* A link to the plugins page is kept in case the plugin is not reactivated correctly.
*
* @since 3.11.5 deprecated
* @since 3.2.4
* @author Grégory Viguier
* @author Arun Basil Lal
*
* @param array $update_actions Array of plugin action links.
* @return array The array of links where the "return to" link has been replaced.
*/
function rocket_rollback_add_return_link( $update_actions ) {
_deprecated_function( __FUNCTION__ . '()', '3.11.5' );
if ( ! isset( $update_actions['plugins_page'] ) ) {
return $update_actions;
}
$update_actions['plugins_page'] = sprintf(
/* translators: 1 and 3 are link openings, 2 is a link closing. */
__( '%1$sReturn to WP Rocket%2$s or %3$sgo to Plugins page%2$s', 'rocket' ),
'<a href="' . esc_url( admin_url( 'options-general.php?page=' . WP_ROCKET_PLUGIN_SLUG ) . '#tools' ) . '" target="_parent">',
'</a>',
'<a href="' . esc_url( admin_url( 'plugins.php' ) ) . '" target="_parent">'
);
return $update_actions;
}