public static function deactivate() { do_action("ws_plugin__qcache_before_deactivation", get_defined_vars()); /**/ c_ws_plugin__qcache_wp_cache::delete_wp_cache(); c_ws_plugin__qcache_advanced_cache::delete_advanced(); c_ws_plugin__qcache_garbage_collection::delete_garbage_collector(); c_ws_plugin__qcache_auto_cache::delete_auto_cache_engine(); /**/ if ($GLOBALS["WS_PLUGIN__"]["qcache"]["o"]["run_deactivation_routines"]) { delete_option("ws_plugin__qcache_activated_version"); delete_option("ws_plugin__qcache_configured"); delete_option("ws_plugin__qcache_notices"); delete_option("ws_plugin__qcache_options"); } /**/ c_ws_plugin__qcache_purging_routines::purge_cache_dir(false, false, false); /**/ do_action("ws_plugin__qcache_after_deactivation", get_defined_vars()); /**/ return; /* Return for uniformity. */ }
public static function update_all_options($new_options = FALSE, $verified = FALSE, $update_other = TRUE, $display_notices = TRUE, $enqueue_notices = FALSE, $request_refresh = FALSE) { do_action("ws_plugin__qcache_before_update_all_options", get_defined_vars()); /* If you use this Hook, be sure to use `wp_verify_nonce()`. */ /**/ if ($verified || ($nonce = $_POST["ws_plugin__qcache_options_save"]) && wp_verify_nonce($nonce, "ws-plugin--qcache-options-save")) { if (!is_multisite() || is_main_site() && is_super_admin()) { $options = $GLOBALS["WS_PLUGIN__"]["qcache"]["o"]; /* Here we get all of the existing options. */ $new_options = is_array($new_options) ? $new_options : (array) $_POST; /* Force array. */ $new_options = c_ws_plugin__qcache_utils_strings::trim_deep(stripslashes_deep($new_options)); /**/ foreach ((array) $new_options as $key => $value) { /* Looking for relevant keys. */ if (preg_match("/^" . preg_quote("ws_plugin__qcache_", "/") . "/", $key)) { /**/ if ($key === "ws_plugin__qcache_configured") { update_option("ws_plugin__qcache_configured", $value); $GLOBALS["WS_PLUGIN__"]["qcache"]["c"]["configured"] = $value; } else { is_array($value) ? array_shift($value) : null; /* Arrays should be padded. */ $key = preg_replace("/^" . preg_quote("ws_plugin__qcache_", "/") . "/", "", $key); $options[$key] = $value; /* Overriding a possible existing option. */ } } } /**/ $options["options_version"] = (string) ($options["options_version"] + 0.001); $options = ws_plugin__qcache_configure_options_and_their_defaults($options); /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__qcache_during_update_all_options", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ update_option("ws_plugin__qcache_options", $options); /**/ $updated_all_options = true; /* Flag/indication. */ /**/ if ($update_other && $options["enabled"]) { if (c_ws_plugin__qcache_wp_cache::add_wp_cache()) { /* Add WP_CACHE to the config file. */ if (c_ws_plugin__qcache_advanced_cache::add_advanced()) { /* Add the advanced-cache.php file. */ if (c_ws_plugin__qcache_garbage_collection::add_garbage_collector()) { /* Add the garbage collector. */ if (c_ws_plugin__qcache_purging_routines::schedule_cache_dir_purge()) { $enabled = true; /* Mark this variable as enabled successfully. */ $options["auto_cache_enabled"] ? c_ws_plugin__qcache_auto_cache::add_auto_cache_engine() : c_ws_plugin__qcache_auto_cache::delete_auto_cache_engine(); if (($display_notices === true || in_array("success", (array) $display_notices)) && ($notice = '<strong>Options saved</strong>, and the cache was reset to avoid conflicts.' . ($request_refresh ? ' Please <a href="' . esc_attr($_SERVER["REQUEST_URI"]) . '">refresh</a>.' : '') . '')) { $enqueue_notices === true || in_array("success", (array) $enqueue_notices) ? c_ws_plugin__qcache_admin_notices::enqueue_admin_notice($notice, "*:*") : c_ws_plugin__qcache_admin_notices::display_admin_notice($notice); } } } } } /**/ if (!$enabled) { if (!function_exists("wp_cron")) { if (($display_notices === true || in_array("success", (array) $display_notices)) && ($notice = '<strong>Error:</strong> Could NOT enable Quick Cache. Your installation of WordPress® is missing the <code>wp_cron</code> function. Some web hosts disable this intentionally. Please contact your web host for assistance.')) { $enqueue_notices === true || in_array("success", (array) $enqueue_notices) ? c_ws_plugin__qcache_admin_notices::enqueue_admin_notice($notice, "*:*", true) : c_ws_plugin__qcache_admin_notices::display_admin_notice($notice, true); } } else { if (($display_notices === true || in_array("success", (array) $display_notices)) && ($notice = '<strong>Error:</strong> Could NOT enable Quick Cache. Please check permissions on <code>/wp-config.php</code>, <code>/wp-content/</code> and <code>/wp-content/cache/</code>. Permissions need to be <code>755</code> or higher.')) { $enqueue_notices === true || in_array("success", (array) $enqueue_notices) ? c_ws_plugin__qcache_admin_notices::enqueue_admin_notice($notice, "*:*", true) : c_ws_plugin__qcache_admin_notices::display_admin_notice($notice, true); } } } } else { if ($update_other && !$options["enabled"]) { if (c_ws_plugin__qcache_wp_cache::delete_wp_cache()) { /* Delete WP_CACHE from the config file. */ if (c_ws_plugin__qcache_advanced_cache::delete_advanced()) { /* Delete the advanced-cache.php file. */ if (c_ws_plugin__qcache_garbage_collection::delete_garbage_collector()) { /* Delete the garbage collector. */ if (c_ws_plugin__qcache_purging_routines::schedule_cache_dir_purge()) { $disabled = true; /* Mark this variable as disabled successfully. */ c_ws_plugin__qcache_auto_cache::delete_auto_cache_engine(); /* Delete Auto-Cache. */ if (($display_notices === true || in_array("success", (array) $display_notices)) && ($notice = '<strong>Options saved.</strong> Quick Cache disabled.' . ($request_refresh ? ' Please <a href="' . esc_attr($_SERVER["REQUEST_URI"]) . '">refresh</a>.' : '') . '')) { $enqueue_notices === true || in_array("success", (array) $enqueue_notices) ? c_ws_plugin__qcache_admin_notices::enqueue_admin_notice($notice, "*:*") : c_ws_plugin__qcache_admin_notices::display_admin_notice($notice); } } } } } /**/ if (!$disabled) { if (!function_exists("wp_cron")) { if (($display_notices === true || in_array("success", (array) $display_notices)) && ($notice = '<strong>Error:</strong> Could NOT disable Quick Cache. Your installation of WordPress® is missing the <code>wp_cron</code> function. Some web hosts disable this intentionally. Please contact your web host for assistance.')) { $enqueue_notices === true || in_array("success", (array) $enqueue_notices) ? c_ws_plugin__qcache_admin_notices::enqueue_admin_notice($notice, "*:*", true) : c_ws_plugin__qcache_admin_notices::display_admin_notice($notice, true); } } else { if (($display_notices === true || in_array("success", (array) $display_notices)) && ($notice = '<strong>Error:</strong> Could NOT disable Quick Cache. Please check permissions on <code>/wp-config.php</code>, <code>/wp-content/</code> and <code>/wp-content/cache/</code>. Permissions need to be <code>755</code> or higher.')) { $enqueue_notices === true || in_array("success", (array) $enqueue_notices) ? c_ws_plugin__qcache_admin_notices::enqueue_admin_notice($notice, "*:*", true) : c_ws_plugin__qcache_admin_notices::display_admin_notice($notice, true); } } } } else { if (!$update_other) { if (($display_notices === true || in_array("success", (array) $display_notices)) && ($notice = '<strong>Options saved.' . ($request_refresh ? ' Please <a href="' . esc_attr($_SERVER["REQUEST_URI"]) . '">refresh</a>.' : '') . '</strong>')) { $enqueue_notices === true || in_array("success", (array) $enqueue_notices) ? c_ws_plugin__qcache_admin_notices::enqueue_admin_notice($notice, "*:*") : c_ws_plugin__qcache_admin_notices::display_admin_notice($notice); } } } } } else { if (($display_notices === true || in_array("success", (array) $display_notices)) && ($notice = 'Quick Cache can ONLY be modified by a Super Administrator, while operating on the Main Site.')) { $enqueue_notices === true || in_array("success", (array) $enqueue_notices) ? c_ws_plugin__qcache_admin_notices::enqueue_admin_notice($notice, "*:*", true) : c_ws_plugin__qcache_admin_notices::display_admin_notice($notice, true); } } } /**/ do_action("ws_plugin__qcache_after_update_all_options", get_defined_vars()); /**/ return $updated_all_options; /* Return status update. */ }
function autoptimize_flush_pagecache($nothing) { if (function_exists('wp_cache_clear_cache')) { if (is_multisite()) { $blog_id = get_current_blog_id(); wp_cache_clear_cache($blog_id); } else { wp_cache_clear_cache(); } } else { if (has_action('cachify_flush_cache')) { do_action('cachify_flush_cache'); } else { if (function_exists('w3tc_pgcache_flush')) { w3tc_pgcache_flush(); // w3 total cache } else { if (function_exists('hyper_cache_invalidate')) { hyper_cache_invalidate(); // hypercache } else { if (function_exists('wp_fast_cache_bulk_delete_all')) { wp_fast_cache_bulk_delete_all(); // wp fast cache } else { if (class_exists("WpFastestCache")) { $wpfc = new WpFastestCache(); // wp fastest cache $wpfc->deleteCache(); } else { if (class_exists("c_ws_plugin__qcache_purging_routines")) { c_ws_plugin__qcache_purging_routines::purge_cache_dir(); // quick cache } else { if (file_exists(WP_CONTENT_DIR . '/wp-cache-config.php') && function_exists('prune_super_cache')) { // fallback for WP-Super-Cache global $cache_path; if (is_multisite()) { $blog_id = get_current_blog_id(); prune_super_cache(get_supercache_dir($blog_id), true); prune_super_cache($cache_path . 'blogs/', true); } else { prune_super_cache($cache_path . 'supercache/', true); prune_super_cache($cache_path, true); } } } } } } } } } }
function autoptimize_flush_pagecache() { if (function_exists('wp_cache_clear_cache')) { if (is_multisite()) { $blog_id = get_current_blog_id(); wp_cache_clear_cache($blog_id); } else { wp_cache_clear_cache(); } } else { if (has_action('cachify_flush_cache')) { do_action('cachify_flush_cache'); } else { if (function_exists('w3tc_pgcache_flush')) { w3tc_pgcache_flush(); } else { if (function_exists('wp_fast_cache_bulk_delete_all')) { wp_fast_cache_bulk_delete_all(); // still to retest } else { if (class_exists("WpFastestCache")) { $wpfc = new WpFastestCache(); $wpfc->deleteCache(); } else { if (class_exists("c_ws_plugin__qcache_purging_routines")) { c_ws_plugin__qcache_purging_routines::purge_cache_dir(); // quick cache, still to retest } else { if (class_exists("zencache")) { zencache::clear(); } else { if (class_exists("comet_cache")) { comet_cache::clear(); } else { if (class_exists("WpeCommon")) { if (apply_filters('autoptimize_flush_wpengine_aggressive', false)) { if (method_exists("WpeCommon", "purge_memcached")) { WpeCommon::purge_memcached(); } if (method_exists("WpeCommon", "clear_maxcdn_cache")) { WpeCommon::clear_maxcdn_cache(); } } if (method_exists("WpeCommon", "purge_varnish_cache")) { WpeCommon::purge_varnish_cache(); } } else { if (file_exists(WP_CONTENT_DIR . '/wp-cache-config.php') && function_exists('prune_super_cache')) { // fallback for WP-Super-Cache global $cache_path; if (is_multisite()) { $blog_id = get_current_blog_id(); prune_super_cache(get_supercache_dir($blog_id), true); prune_super_cache($cache_path . 'blogs/', true); } else { prune_super_cache($cache_path . 'supercache/', true); prune_super_cache($cache_path, true); } } } } } } } } } } } }
static function clearall() { if (!autoptimizeCache::cacheavail()) { return false; } // scan the cachedirs foreach (array("", "js", "css") as $scandirName) { $scan[$scandirName] = scandir(AUTOPTIMIZE_CACHE_DIR . $scandirName); } // clear the cachedirs foreach ($scan as $scandirName => $scanneddir) { $thisAoCacheDir = rtrim(AUTOPTIMIZE_CACHE_DIR . $scandirName, "/") . "/"; foreach ($scanneddir as $file) { if (!in_array($file, array('.', '..')) && strpos($file, 'autoptimize') !== false && is_file($thisAoCacheDir . $file)) { @unlink($thisAoCacheDir . $file); } } } @unlink(AUTOPTIMIZE_CACHE_DIR . "/.htaccess"); // Do we need to clean any caching plugins cache-files? if (function_exists('wp_cache_clear_cache')) { if (is_multisite()) { $blog_id = get_current_blog_id(); wp_cache_clear_cache($blog_id); } else { wp_cache_clear_cache(); } } else { if (function_exists('w3tc_pgcache_flush')) { w3tc_pgcache_flush(); // w3 total cache } else { if (function_exists('hyper_cache_invalidate')) { hyper_cache_invalidate(); // hypercache } else { if (function_exists('wp_fast_cache_bulk_delete_all')) { wp_fast_cache_bulk_delete_all(); // wp fast cache } else { if (class_exists("WpFastestCache")) { $wpfc = new WpFastestCache(); // wp fastest cache $wpfc->deleteCache(); } else { if (class_exists("c_ws_plugin__qcache_purging_routines")) { c_ws_plugin__qcache_purging_routines::purge_cache_dir(); // quick cache } else { if (file_exists(WP_CONTENT_DIR . '/wp-cache-config.php') && function_exists('prune_super_cache')) { // fallback for WP-Super-Cache global $cache_path; if (is_multisite()) { $blog_id = get_current_blog_id(); prune_super_cache(get_supercache_dir($blog_id), true); prune_super_cache($cache_path . 'blogs/', true); } else { prune_super_cache($cache_path . 'supercache/', true); prune_super_cache($cache_path, true); } } else { // fallback; schedule event and try to clear there wp_schedule_single_event(time() + 1, 'ao_flush_pagecache', array(time())); } } } } } } } return true; }
public static function ajax_clear() { global $current_site, $current_blog; /* Multisite details. */ /**/ do_action("ws_plugin__qcache_before_ajax_clear", get_defined_vars()); /**/ if (($nonce = $_POST["ws_plugin__qcache_ajax_clear"]) && wp_verify_nonce($nonce, "ws-plugin--qcache-ajax-clear")) { if (is_multisite() && !is_main_site() && is_object($current_blog) && $current_blog->blog_id) { c_ws_plugin__qcache_purging_routines::purge_cache_dir($current_blog); /**/ header("Content-Type: text/plain; charset=utf-8"); /**/ $status = 'Cleared ( this blog )'; /* Indicate "this blog" to the Super Admin. */ /**/ echo "jQuery ('input#ws-plugin--qcache-ajax-clear').css ('background-image', 'url(\\'" . c_ws_plugin__qcache_utils_strings::esc_sq($GLOBALS["WS_PLUGIN__"]["qcache"]["c"]["dir_url"]) . "/images/ajax-clear.png\\')');"; echo "setTimeout (function (){ jQuery ('input#ws-plugin--qcache-ajax-clear').val ('Clear Cache'); }, 2000);"; echo "jQuery ('input#ws-plugin--qcache-ajax-clear').val ('" . c_ws_plugin__qcache_utils_strings::esc_sq($status) . "');"; echo "jQuery ('input#ws-plugin--qcache-ajax-clear').each (function (){ this.blur(); });"; } else { c_ws_plugin__qcache_purging_routines::purge_cache_dir(); /**/ header("Content-Type: text/plain; charset=utf-8"); /**/ $status = is_multisite() ? 'Cleared ( all blogs )' : '( Cleared )'; /**/ echo "jQuery ('input#ws-plugin--qcache-ajax-clear').css ('background-image', 'url(\\'" . c_ws_plugin__qcache_utils_strings::esc_sq($GLOBALS["WS_PLUGIN__"]["qcache"]["c"]["dir_url"]) . "/images/ajax-clear.png\\')');"; echo "setTimeout (function (){ jQuery ('input#ws-plugin--qcache-ajax-clear').val ('Clear Cache'); }, 2000);"; echo "jQuery ('input#ws-plugin--qcache-ajax-clear').val ('" . c_ws_plugin__qcache_utils_strings::esc_sq($status) . "');"; echo "jQuery ('input#ws-plugin--qcache-ajax-clear').each (function (){ this.blur(); });"; } /**/ do_action("ws_plugin__qcache_during_ajax_clear", get_defined_vars()); } /**/ do_action("ws_plugin__qcache_after_ajax_clear", get_defined_vars()); /**/ exit; /* Clean exit. */ }