Fix File
•
/
home
/
sportsfe...
/
httpdocs
/
clone
/
wp-conte...
/
plugins
/
password...
/
includes
/
services
•
File:
class-ppw-cache.php
•
Content:
<?php use W3TC\Dispatcher; if ( ! class_exists( 'PPW_Cache_Services' ) ) { /** * Class PPW_Free_Handle_Cache */ class PPW_Cache_Services { public function __construct() { if ( ! function_exists( 'is_plugin_active' ) ) { include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); } } /** * Handle cache for page/post have password type is role with Super Cache plugin * * @param $new_role_password * @param $id * @param $current_roles_password * @param $current_global_passwords * @deprecated */ function handle_cache_for_password_type_role_with_super_cache( $new_role_password, $id, $current_roles_password, $current_global_passwords ) { if ( ! is_plugin_active( 'wp-super-cache/wp-cache.php' ) ) { return; } if ( ! empty( $new_role_password ) ) { $uri = $this->get_uri_by_post_id( $id ); global $cache_rejected_uri; if ( ! in_array( '/' . $uri, $cache_rejected_uri ) ) { $this->add_page_post_to_list_not_cache_for_super_cache( $id, $uri, $cache_rejected_uri ); } } else { if ( ! empty( $current_global_passwords ) ) { return; } $result = array_values( $current_roles_password ); $result = array_filter( $result, 'strlen' ); if ( empty( $result ) ) { $this->remove_page_post_to_list_not_cache_for_super_cache( $id ); } } } /** * Handle cache for page/post have password type is global with Super Cache plugin * * @param $new_global_passwords * @param $id * @param $current_roles_password * @deprecated */ function handle_cache_for_password_type_global_with_super_cache( $new_global_passwords, $id, $current_roles_password ) { if ( ! is_plugin_active( 'wp-super-cache/wp-cache.php' ) ) { return; } if ( ! empty( $new_global_passwords ) ) { $uri = $this->get_uri_by_post_id( $id ); global $cache_rejected_uri; if ( ! in_array( '/' . $uri, $cache_rejected_uri ) ) { $this->add_page_post_to_list_not_cache_for_super_cache( $id, $uri, $cache_rejected_uri ); } } else { $result = array_values( $current_roles_password ); $result = array_filter( $result, 'strlen' ); if ( empty( $result ) ) { $this->remove_page_post_to_list_not_cache_for_super_cache( $id ); } } } /** * Add page or post to list not cache of WP Super Cache plugin * * @param $post_id * @param $uri * @param $cache_rejected_uri * @deprecated */ function add_page_post_to_list_not_cache_for_super_cache( $post_id, $uri, $cache_rejected_uri ) { // 1. Add URI to list not cache global $wp_cache_config_file; array_push( $cache_rejected_uri, '/' . $uri ); $all_uri = array_map( function ( $key, $cache ) { return " $key => '$cache'"; }, array_keys( $cache_rejected_uri ), $cache_rejected_uri ); $all_uri = implode( ',', $all_uri ); $text = "array($all_uri )"; wp_cache_replace_line( '^ *\$cache_rejected_uri', "\$cache_rejected_uri = $text;", $wp_cache_config_file ); // 3. Clear cache by post_id wp_cache_post_edit( $post_id ); } /** * Remove page or post in list not cache of WP Super Cache plugin * * @param $post_id * @deprecated */ function remove_page_post_to_list_not_cache_for_super_cache( $post_id ) { // 1. Get URI in permalink by post_id $uri = $this->get_uri_by_post_id( $post_id ); $uri = '/' . $uri; // 2. Remove URI in list not cache global $cache_rejected_uri, $wp_cache_config_file; $cache_rejected_uri = array_unique( $cache_rejected_uri ); if ( ( $key = array_search( $uri, $cache_rejected_uri ) ) !== false ) { unset( $cache_rejected_uri[ $key ] ); $all_uri = array_map( function ( $key, $cache ) { return " $key => '$cache'"; }, array_keys( $cache_rejected_uri ), $cache_rejected_uri ); $all_uri = implode( ',', $all_uri ); $text = "array($all_uri )"; wp_cache_replace_line( '^ *\$cache_rejected_uri', "\$cache_rejected_uri = $text;", $wp_cache_config_file ); } } /** * get URI by post_id * * @param $post_id * * @return string * @deprecated */ function get_uri_by_post_id( $post_id ) { $permalink = get_permalink( $post_id ); $parse_url = parse_url( $permalink ); $uri = $parse_url['path']; $uri = explode( '/', $uri ); $uri = ! empty( $uri[ count( $uri ) - 1 ] ) ? $uri[ count( $uri ) - 1 ] : $uri[ count( $uri ) - 2 ]; return $uri; } /** * Clear cache all page * @deprecated */ function clear_cache_super_cache() { if ( ! is_plugin_active( 'wp-super-cache/wp-cache.php' ) ) { return; } if ( is_multisite() ) { wp_cache_clear_cache( get_current_blog_id() ); } else { wp_cache_clear_cache(); } } /** * Check W3 Total Cache has config cookie group * * @return bool */ function check_has_config_w3_total_cache() { $config = Dispatcher::config(); $groups = $config->get_array( 'pgcache.cookiegroups.groups' ); if ( ! array_key_exists( 'password_protect_wordpress', $groups ) ) { return false; } if ( ! $groups['password_protect_wordpress']['enabled'] || $groups['password_protect_wordpress']['cache'] ) { return false; } $cookies = $groups['password_protect_wordpress']['cookies']; return in_array( 'pda_protect_password', $cookies ) && in_array( 'wp-postpass-role_*', $cookies ); } /** * Update cookie to option and modify htaccess file for WP Fastest Cache plugin * @deprecated */ function custom_option_exclude_page_and_cookie_fastest_cache() { if ( ! is_plugin_active( 'wp-fastest-cache/wpFastestCache.php' ) ) { return; } $old_fastest = get_option( "WpFastestCacheExclude" ); $fastest_cache = new WpFastestCache(); if ( $old_fastest ) { $old_fastest = json_decode( $old_fastest ); $tmp1 = false; $tmp2_free = false; foreach ( $old_fastest as $fast ) { if ( 'cookie' === $fast->type && 'contain' === $fast->prefix && 'pda_protect_password' === $fast->content ) { $tmp1 = true; } if ( 'cookie' === $fast->type && 'contain' === $fast->prefix && 'wp-postpass-role_' === $fast->content ) { $tmp2_free = true; } } if ( ! $tmp1 ) { array_push( $old_fastest, (object) array( 'prefix' => 'contain', 'content' => 'pda_protect_password', 'type' => 'cookie' ) ); } if ( ! $tmp2_free ) { array_push( $old_fastest, (object) array( 'prefix' => 'contain', 'content' => 'wp-goldpass-pagepost_', 'type' => 'cookie' ) ); } update_option( "WpFastestCacheExclude", json_encode( $old_fastest ) ); $fastest_cache->modify_htaccess_for_exclude(); } else { $ppwp_cookie = array( (object) array( 'prefix' => 'contain', 'content' => 'pda_protect_password', 'type' => 'cookie' ) ); array_push( $ppwp_cookie, (object) array( 'prefix' => 'contain', 'content' => 'wp-postpass-role_', 'type' => 'cookie' ) ); add_option( "WpFastestCacheExclude", json_encode( $ppwp_cookie ), null, "yes" ); $fastest_cache->modify_htaccess_for_exclude(); } } } }
•
Search:
•
Replace:
Function
Edit by line
Download
Information
Rename
Copy
Move
Delete
Chmod
List