+
+ // Checks wether the current cache file is readable
+ function isCacheReadable () {
+ return isIncludeReadable($this->inc);
+ }
+
+} // END - class
+
+// Destroy the cache on extension changes
+function FILTER_CACHE_DESTROY_ON_EXT_CHANGE ($data) {
+ // Return the data anyway if there is no cache extension
+ if (!isCacheInstanceValid()) return $data;
+
+ // Remove cache
+ 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;
+}
+
+// Destroy the cache on changing admin
+function FILTER_CACHE_DESTROY_ON_ADMIN_CHANGE () {
+ // Skip this step if the cache instance is not there
+ if (!isCacheInstanceValid()) return false;
+
+ // Remove cache
+ 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: */ DEBUG_LOG(__FUNCTION__, __LINE__, 'Called!');
+ if (!isCacheInstanceValid()) return false;
+
+ // Remove cache files
+ 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);
+ if ($GLOBALS['cache_instance']->loadCacheFile('filter')) $GLOBALS['cache_instance']->destroyCacheFile(false);
+ //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, 'Done!');