WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] [Plugin: WP Super Cache] Typos in the wp_cache_clean_cache() and more (v 0.8.6) (3 posts)

  1. kettari
    Member
    Posted 5 years ago #

    Hi,

    I think I found two typos within functions wp_cache_clean_cache() and wp_cache_clean_expired() (see file wp-cache.php). WP-Super-Cache version 0.8.6.

    Function wp_cache_clean_cache(), lines 1156 to 1183:

    function wp_cache_clean_cache($file_prefix) {
    	global $cache_path, $supercachedir;
    
    	// If phase2 was compiled, use its function to avoid race-conditions
    	if(function_exists('wp_cache_phase2_clean_cache')) {
    		if (function_exists ('prune_super_cache')) {
    			if( is_dir( $supercachedir ) ) {
    				prune_super_cache( $supercachedir, true );
    			} elseif( is_dir( $supercachedir . '.disabled' ) ) {
    				prune_super_cache( $supercachedir . '.disabled', true );
    			}
    			prune_super_cache( $cache_path, true );
    			$_POST[ 'super_cache_stats' ] = 1; // regenerate super cache stats;
    		}
    		return wp_cache_phase2_clean_cache($file_prefix);
    	}
    
    	$expr = "/^$file_prefix/";
    	if ( ($handle = opendir( $cache_path )) ) {
    		while ( false !== ($file = readdir($handle))) {
    			if ( preg_match($expr, $file) ) {
    				@unlink($cache_path . $file);
    				@unlink($cache_path . 'meta/' . str_replace( '.html', '.term', $file ) );
    			}
    		}
    		closedir($handle);
    	}
    }

    Look at the line starting with "@unlink($cache_path . 'meta/'" near the end. See that substring '.term'? As far as I can see, plugin creates meta files with extension '.meta', not '.term'. So these functions actually leave meta files untouched when cache cleaning functions are called.

    If it is true, then one should replace the '.term' with '.meta' on the lines #1180 and #1211.

    Looking forward for your comments.

  2. Donncha O Caoimh
    Member
    Posted 5 years ago #

    Thanks for that. I've just fixed it in trunk, but it's not a showstopper as the meta files are deleted when they're recreated.

    The code that serves cached files checks for the cache file and meta file so there's no chance a non existent cache file could be served.

  3. kettari
    Member
    Posted 5 years ago #

    OK with that. Thank you for fast reply, donncha!

Topic Closed

This topic has been closed to new replies.

About this Topic