$this->path = $path;
// Check if path exists
- if ((isDirectory($path)) && (!$tested)) {
+ if ((isDirectory($path)) && ($tested === false)) {
// Make FQFN for dummy file
$fqfn = $path . 'dummy.tmp';
// Is the file there?
if (isFileReadable($fqfn)) {
// Yes, we can do. So let's remove it
- unlink($fqfn);
+ removeFile($fqfn);
// Is there a .htaccess file?
if (isFileReadable($path . '.htaccess')) {
}
// Destroy an existing cache file
- function destroyCacheFile () {
+ function destroyCacheFile ($removeArray = false) {
+ // Only run in regular output mode
+ if (getOutputMode() != 0) {
+ // Debug message if allowed
+ if (isDebugModeEnabled()) {
+ // Debug message
+ DEBUG_LOG(__METHOD__, __LINE__, 'Not removing cache ' . $this->name . ' in output_mode=' . getOutputMode());
+ } // END - if
+
+ // Abort here
+ return;
+ } // END - if
+
// Is the cache file there?
if ((!isset($this->rebuilt[$this->name])) && ($this->isCacheReadable())) {
// Close cache
$this->finalize();
+ // Debug-mode enabled?
+ if (isDebugModeEnabled()) {
+ // Log removal of cache
+ DEBUG_LOG(__METHOD__, __LINE__, 'removing cache: ' . $this->name);
+ } // END - if
+
// Remove cache file from system
- //* DEBUG: */ print __METHOD__."(<font color=\"#0000aa\">".__LINE__."</font>): {$this->name} - DESTROYED!<br />\n";
- unlink($this->fqfn);
- // @TODO remove from $GLOBALS['cache_array']!!!
+ removeFile($this->fqfn);
+
+ // Shall we remove the array from memory?
+ if ($removeArray === true) {
+ // Debug message if allowed
+ if (isDebugModeEnabled()) {
+ // Debug message
+ DEBUG_LOG(__METHOD__, __LINE__, 'removing array!');
+ } // END - if
+
+ // Remove it from memory
+ unset($GLOBALS['cache_array'][$this->name]);
+ } // END - if
// Is the file there?
if (!$this->isCacheReadable()) {
if (!isCacheInstanceValid()) return $data;
// Remove cache
- if ($GLOBALS['cache_instance']->loadCacheFile('config')) $GLOBALS['cache_instance']->destroyCacheFile();
- if ($GLOBALS['cache_instance']->loadCacheFile('extensions')) $GLOBALS['cache_instance']->destroyCacheFile();
- if ($GLOBALS['cache_instance']->loadCacheFile('modreg')) $GLOBALS['cache_instance']->destroyCacheFile();
+ if ($GLOBALS['cache_instance']->loadCacheFile('config')) $GLOBALS['cache_instance']->destroyCacheFile(false);
+ if ($GLOBALS['cache_instance']->loadCacheFile('extensions')) $GLOBALS['cache_instance']->destroyCacheFile(false);
+ if ($GLOBALS['cache_instance']->loadCacheFile('modreg')) $GLOBALS['cache_instance']->destroyCacheFile(false);
// Return it
return $data;
if (!isCacheInstanceValid()) return false;
// Remove cache
- if ($GLOBALS['cache_instance']->loadCacheFile('admins')) $GLOBALS['cache_instance']->destroyCacheFile();
+ if ($GLOBALS['cache_instance']->loadCacheFile('admins')) $GLOBALS['cache_instance']->destroyCacheFile(false);
}
// Destroy all cache files
function FILTER_CACHE_DESTROY_ALL () {
// Skip this step if the cache instance is not there
+ DEBUG_LOG(__FUNCTION__, __LINE__, 'Called!');
if (!isCacheInstanceValid()) return false;
// Remove cache files
- if ($GLOBALS['cache_instance']->loadCacheFile('admins')) $GLOBALS['cache_instance']->destroyCacheFile();
- if ($GLOBALS['cache_instance']->loadCacheFile('admins_acls')) $GLOBALS['cache_instance']->destroyCacheFile();
- if ($GLOBALS['cache_instance']->loadCacheFile('config')) $GLOBALS['cache_instance']->destroyCacheFile();
- if ($GLOBALS['cache_instance']->loadCacheFile('extensions')) $GLOBALS['cache_instance']->destroyCacheFile();
- if ($GLOBALS['cache_instance']->loadCacheFile('modreg')) $GLOBALS['cache_instance']->destroyCacheFile();
- if ($GLOBALS['cache_instance']->loadCacheFile('refdepths')) $GLOBALS['cache_instance']->destroyCacheFile();
- if ($GLOBALS['cache_instance']->loadCacheFile('refsystem')) $GLOBALS['cache_instance']->destroyCacheFile();
- if ($GLOBALS['cache_instance']->loadCacheFile('themes')) $GLOBALS['cache_instance']->destroyCacheFile();
- if ($GLOBALS['cache_instance']->loadCacheFile('revision')) $GLOBALS['cache_instance']->destroyCacheFile();
+ if ($GLOBALS['cache_instance']->loadCacheFile('admins')) $GLOBALS['cache_instance']->destroyCacheFile(false);
+ if ($GLOBALS['cache_instance']->loadCacheFile('admins_acls')) $GLOBALS['cache_instance']->destroyCacheFile(false);
+ if ($GLOBALS['cache_instance']->loadCacheFile('config')) $GLOBALS['cache_instance']->destroyCacheFile(false);
+ if ($GLOBALS['cache_instance']->loadCacheFile('extensions')) $GLOBALS['cache_instance']->destroyCacheFile(false);
+ if ($GLOBALS['cache_instance']->loadCacheFile('modreg')) $GLOBALS['cache_instance']->destroyCacheFile(false);
+ if ($GLOBALS['cache_instance']->loadCacheFile('refdepths')) $GLOBALS['cache_instance']->destroyCacheFile(false);
+ if ($GLOBALS['cache_instance']->loadCacheFile('refsystem')) $GLOBALS['cache_instance']->destroyCacheFile(false);
+ if ($GLOBALS['cache_instance']->loadCacheFile('themes')) $GLOBALS['cache_instance']->destroyCacheFile(false);
+ if ($GLOBALS['cache_instance']->loadCacheFile('revision')) $GLOBALS['cache_instance']->destroyCacheFile(false);
+ DEBUG_LOG(__FUNCTION__, __LINE__, 'Done!');
}
// Filter for purging entire admin menu cache