%PDF- %PDF-
Direktori : /home/q/g/b/qgbqkvz/www/wp-content/plugins/duplicator/src/Utils/CachesPurge/ |
Current File : /home/q/g/b/qgbqkvz/www/wp-content/plugins/duplicator/src/Utils/CachesPurge/CachesPurge.php |
<?php namespace Duplicator\Utils\CachesPurge; class CachesPurge { /** * purge all and return purge messages * * @return string[] */ public static function purgeAll() { $globalMessages = array(); $items = array_merge( self::getPurgePlugins(), self::getPurgeHosts() ); foreach ($items as $item) { $message = ''; $result = $item->purge($message); if (strlen($message) > 0 && $result) { $globalMessages[] = $message; } } return $globalMessages; } /** * get list to cache items to purge * * @return CacheItem[] */ protected static function getPurgePlugins() { $items = array(); $items[] = new CacheItem( 'Elementor', function () { return class_exists("\\Elementor\\Plugin"); }, function () { \Elementor\Plugin::$instance->files_manager->clear_cache(); } ); $items[] = new CacheItem( 'W3 Total Cache', function () { return function_exists('w3tc_pgcache_flush'); }, 'w3tc_pgcache_flush' ); $items[] = new CacheItem( 'WP Super Cache', function () { return function_exists('wp_cache_clear_cache'); }, 'wp_cache_clear_cache' ); $items[] = new CacheItem( 'WP Rocket', function () { return function_exists('rocket_clean_domain'); }, 'rocket_clean_domain' ); $items[] = new CacheItem( 'Fast velocity minify', function () { return function_exists('fvm_purge_static_files'); }, 'fvm_purge_static_files' ); $items[] = new CacheItem( 'Cachify', function () { return function_exists('cachify_flush_cache'); }, 'cachify_flush_cache' ); $items[] = new CacheItem( 'Comet Cache', function () { return class_exists('\\comet_cache'); }, array('\\comet_cache', 'clear') ); $items[] = new CacheItem( 'Zen Cache', function () { return class_exists('\\zencache'); }, array('\\zencache', 'clear') ); $items[] = new CacheItem( 'LiteSpeed Cache', function () { return has_action('litespeed_purge_all'); }, function () { return do_action('litespeed_purge_all'); } ); $items[] = new CacheItem( 'WP Cloudflare Super Page Cache', function () { return class_exists('\\SW_CLOUDFLARE_PAGECACHE'); }, function () { return do_action("swcfpc_purge_everything"); } ); $items[] = new CacheItem( 'Hyper Cache', function () { return class_exists('\\HyperCache'); }, function () { return do_action('autoptimize_action_cachepurged'); } ); $items[] = new CacheItem( 'Cache Enabler', function () { return has_action('ce_clear_cache'); }, function () { return do_action('ce_clear_cache'); } ); $items[] = new CacheItem( 'WP Fastest Cache', function () { return function_exists('wpfc_clear_all_cache'); }, function () { wpfc_clear_all_cache(true); } ); $items[] = new CacheItem( 'Breeze', function () { return class_exists("\\Breeze_PurgeCache"); }, array('\\Breeze_PurgeCache', 'breeze_cache_flush') ); $items[] = new CacheItem( 'Swift Performance', function () { return class_exists("\\Swift_Performance_Cache"); }, array('\\Swift_Performance_Cache', 'clear_all_cache') ); $items[] = new CacheItem( 'Hummingbird', function () { return has_action('wphb_clear_page_cache'); }, function () { return do_action('wphb_clear_page_cache'); } ); $items[] = new CacheItem( 'WP-Optimize', function () { return has_action('wpo_cache_flush'); }, function () { return do_action('wpo_cache_flush'); } ); $items[] = new CacheItem( 'Wordpress default', function () { return function_exists('wp_cache_flush'); }, 'wp_cache_flush' ); $items[] = new CacheItem( 'Wordpress permalinks', function () { return function_exists('flush_rewrite_rules'); }, 'flush_rewrite_rules' ); return $items; } /** * get list to cache items to purge * * @return CacheItem[] */ protected static function getPurgeHosts() { $items = array(); $items[] = new CacheItem( 'Godaddy Managed WordPress Hosting', function () { return class_exists('\\WPaaS\\Plugin') && method_exists('\\WPass\\Plugin', 'vip'); }, function () { $method = 'BAN'; $url = home_url(); $host = wpraiser_get_domain(); $url = set_url_scheme(str_replace($host, \WPaas\Plugin::vip(), $url), 'http'); update_option('gd_system_last_cache_flush', time(), 'no'); # purge apc wp_remote_request( esc_url_raw($url), array( 'method' => $method, 'blocking' => false, 'headers' => array( 'Host' => $host ) ) ); } ); $items[] = new CacheItem( 'SG Optimizer (Siteground)', function () { return function_exists('sg_cachepress_purge_everything'); }, 'sg_cachepress_purge_everything' ); $items[] = new CacheItem( 'WP Engine', function () { return (class_exists("\\WpeCommon") && (method_exists('\\WpeCommon', 'purge_memcached') || method_exists('\\WpeCommon', 'purge_varnish_cache'))); }, function () { if (method_exists('\\WpeCommon', 'purge_memcached')) { \WpeCommon::purge_memcached(); } if (method_exists('\\WpeCommon', 'purge_varnish_cache')) { \WpeCommon::purge_varnish_cache(); } } ); $items[] = new CacheItem( 'Kinsta', function () { global $kinsta_cache; return ( (isset($kinsta_cache) && class_exists('\\Kinsta\\CDN_Enabler')) && !empty($kinsta_cache->kinsta_cache_purge)); }, function () { global $kinsta_cache; $kinsta_cache->kinsta_cache_purge->purge_complete_caches(); } ); $items[] = new CacheItem( 'Pagely', function () { return class_exists('\\PagelyCachePurge'); }, function () { $purge_pagely = new \PagelyCachePurge(); $purge_pagely->purgeAll(); } ); $items[] = new CacheItem( 'Pressidum', function () { return defined('WP_NINUKIS_WP_NAME') && class_exists('\\Ninukis_Plugin'); }, function () { $purge_pressidum = \Ninukis_Plugin::get_instance(); $purge_pressidum->purgeAllCaches(); } ); $items[] = new CacheItem( 'Pantheon Advanced Page Cache plugin', function () { return function_exists('pantheon_wp_clear_edge_all'); }, 'pantheon_wp_clear_edge_all' ); return $items; } }