flush(); } /** * Shortcut for page post cache flush * * @param integer $post_id * @return boolean */ function w3tc_pgcache_flush_post($post_id) { $w3_cacheflush = w3_instance('W3_CacheFlush'); return $w3_cacheflush->pgcache_flush_post($post_id); } /** * Shortcut for url page cache flush * * @param string $url * @return boolean */ function w3tc_pgcache_flush_url($url) { $w3_cacheflush = w3_instance('W3_CacheFlush'); return $w3_cacheflush->pgcache_flush_url($url); } /** * Shortcut for database cache flush * * @return boolean */ function w3tc_dbcache_flush() { $w3_db = w3_instance('W3_DbCache'); return $w3_db->flush_cache(); } /** * Shortcut for minify cache flush * * @return boolean */ function w3tc_minify_flush() { $w3_minify = w3_instance('W3_Minify'); return $w3_minify->flush(); } /** * Shortcut for objectcache cache flush * * @return boolean */ function w3tc_objectcache_flush() { $w3_objectcache = w3_instance('W3_ObjectCache'); return $w3_objectcache->flush(); } /** * Shortcut for CDN cache post purge * @param $post_id * @return mixed */ function w3tc_cdncache_purge_post($post_id) { $w3_cacheflush = w3_instance('W3_CacheFlush'); return $w3_cacheflush->cdncache_purge_post($post_id); } /** * Shortcut for CDN cache url purge * @param string $url * @return mixed */ function w3tc_cdncache_purge_url($url) { $w3_cacheflush = w3_instance('W3_CacheFlush'); return $w3_cacheflush->cdncache_purge_url($url); } /** * Shortcut for CDN cache purge * @return mixed */ function w3tc_cdncache_purge() { $w3_cacheflush = w3_instance('W3_CacheFlush'); return $w3_cacheflush->cdncache_purge(); } /** * Shortcut for CDN purge files * @param array $files Array consisting of uri paths (i.e wp-content/uploads/image.pnp) * @return mixed */ function w3tc_cdn_purge_files($files) { $w3_cacheflush = w3_instance('W3_CacheFlush'); return $w3_cacheflush->cdn_purge_files($files); } /** * Prints script tag for scripts group * * @param string $location * @retun void */ function w3tc_minify_script_group($location) { $w3_plugin_minify = w3_instance('W3_Plugin_Minify'); $w3_plugin_minify->printed_scripts[] = $location; echo $w3_plugin_minify->get_script_group($location); } /** * Prints style tag for styles group * * @param string $location * @retun void */ function w3tc_minify_style_group($location) { $w3_plugin_minify = w3_instance('W3_Plugin_Minify'); $w3_plugin_minify->printed_styles[] = $location; echo $w3_plugin_minify->get_style_group($location); } /** * Prints script tag for custom scripts * * @param string|array $files * @param boolean $blocking * @return void */ function w3tc_minify_script_custom($files, $blocking = true) { $w3_plugin_minify = w3_instance('W3_Plugin_Minify'); echo $w3_plugin_minify->get_script_custom($files, $blocking); } /** * Prints style tag for custom styles * * @param string|array $files * @param boolean $import * @return void */ function w3tc_minify_style_custom($files, $import = false) { $w3_plugin_minify = w3_instance('W3_Plugin_Minify'); echo $w3_plugin_minify->get_style_custom($files, $import); } /** * @param string $fragment_group * @param boolean $global If group is for whole network in MS install * @return mixed */ function w3tc_fragmentcache_flush_group($fragment_group, $global = false) { $w3_fragmentcache = w3_instance('W3_CacheFlush'); return $w3_fragmentcache->fragmentcache_flush_group($fragment_group, $global); } /** * Flush all fragment groups * @return mixed */ function w3tc_fragmentcache_flush() { $w3_fragmentcache = w3_instance('W3_CacheFlush'); return $w3_fragmentcache->fragmentcache_flush(); } /** * Register a fragment group and connected actions for current blog * @param string $group * @param array $actions on which actions group should be flushed * @return mixed */ function w3tc_register_fragment_group($group, $actions) { $w3_fragmentcache = w3_instance('W3_Pro_Plugin_FragmentCache'); return $w3_fragmentcache->register_group($group, $actions); } /** * Register a fragment group for whole network in MS install * @param $group * @param $actions * @return mixed */ function w3tc_register_fragment_global_group($group, $actions) { $w3_fragmentcache = w3_instance('W3_Pro_Plugin_FragmentCache'); return $w3_fragmentcache->register_global_group($group, $actions); } /** * Shortcut for varnish flush * * @return boolean */ function w3tc_varnish_flush() { $w3_pgcache = w3_instance('W3_CacheFlush'); return $w3_pgcache->varnish_flush(); } /** * Shortcut for post varnish flush * * @param integer $post_id * @return boolean */ function w3tc_varnish_flush_post($post_id) { $w3_cacheflush = w3_instance('W3_CacheFlush'); return $w3_cacheflush->varnish_flush_post($post_id); } /** * Shortcut for url varnish flush * * @param string $url * @return boolean */ function w3tc_varnish_flush_url($url) { $w3_cacheflush = w3_instance('W3_CacheFlush'); return $w3_cacheflush->varnish_flush_url($url); } /** * Deletes files. * * @param string $mask regular expression matching files to be deleted * @param bool $http if delete request should be made over http to current site. Default false. * @return mixed */ function w3tc_apc_delete_files_based_on_regex($mask, $http = false) { if (!$http) { $w3_cacheflush = w3_instance('W3_CacheFlush'); return $w3_cacheflush->apc_delete_files_based_on_regex($mask); } else { $url = WP_PLUGIN_URL . '/' . dirname(W3TC_FILE) . '/pub/apc.php'; $path = parse_url($url, PHP_URL_PATH); $post = array( 'method' => 'POST', 'timeout' => 45, 'redirection' => 5, 'httpversion' => '1.0', 'blocking' => true, 'body' => array( 'nonce' => wp_hash($path), 'command' => 'delete_files', 'regex' => $mask), ); $result = wp_remote_post($url, $post); if (is_wp_error($result)) { return $result; } elseif ($result['response']['code'] != '200') { return $result['response']['code']; } return true; } } /** * Reloads files. * @param string[] $files list of files supports, fullpath, from root, wp-content * @param bool $http if delete request should be made over http to current site. Default false. * @return mixed */ function w3tc_apc_reload_files($files, $http = false) { if (!$http) { $w3_cacheflush = w3_instance('W3_CacheFlush'); return $w3_cacheflush->apc_reload_files($files); } else { $url = WP_PLUGIN_URL . '/' . dirname(W3TC_FILE) . '/pub/apc.php'; $path = parse_url($url, PHP_URL_PATH); $post = array( 'method' => 'POST', 'timeout' => 45, 'redirection' => 5, 'httpversion' => '1.0', 'blocking' => true, 'body' => array( 'nonce' => wp_hash($path), 'command' => 'reload_files', 'files' => $files), ); $result = wp_remote_post($url, $post); if (is_wp_error($result)) { return $result; } elseif ($result['response']['code'] != '200') { return $result['response']['code']; } return true; } } /** * Use w3tc_get_themes() to get a list themenames to use with user agent groups * @param $group_name * @param string $theme the themename default is default theme. For childtheme it should be parentthemename/childthemename * @param string $redirect * @param array $agents Remember to escape special characters like spaces, dots or dashes with a backslash. Regular expressions are also supported. * @param bool $enabled */ function w3tc_save_user_agent_group($group_name, $theme = 'default', $redirect = '', $agents = array(), $enabled = false) { /** * @var $w3_mobile W3_Mobile */ $w3_mobile = w3_instance('W3_Mobile'); $w3_mobile->save_group($group_name, $theme, $redirect, $agents, $enabled); } /** * @param $group */ function w3tc_delete_user_agent_group($group) { /** * @var $w3_mobile W3_Mobile */ $w3_mobile = w3_instance('W3_Mobile'); $w3_mobile->delete_group($group); } /** * @param $group * @return mixed */ function w3tc_get_user_agent_group($group) { /** * @var $w3_mobile W3_Mobile */ $w3_mobile = w3_instance('W3_Mobile'); return $w3_mobile->get_group_values($group); } /** * Use w3tc_get_themes() to get a list themenames to use with referrer groups * @param $group_name * @param string $theme the themename default is default theme. For childtheme it should be parentthemename/childthemename * @param string $redirect * @param array $referrers Remember to escape special characters like spaces, dots or dashes with a backslash. Regular expressions are also supported. * @param bool $enabled */ function w3tc_save_referrer_group($group_name, $theme = 'default', $redirect = '', $referrers = array(), $enabled = false) { /** * @var $w3_referrer W3_Referrer */ $w3_referrer = w3_instance('W3_Referrer'); $w3_referrer->save_group($group_name, $theme, $redirect, $referrers, $enabled); } /** * @param $group */ function w3tc_delete_referrer_group($group) { /** * @var $w3_referrer W3_Referrer */ $w3_referrer = w3_instance('W3_Referrer'); $w3_referrer->delete_group($group); } /** * @param $group * @return mixed */ function w3tc_get_referrer_group($group) { /** * @var $w3_mobile W3_Referrer */ $w3_referrer = w3_instance('W3_Referrer'); return $w3_referrer->get_group_values($group); }