// Checks wether versions from cache and extension matches
function extensionVersionMatches ($ext_name) {
- // Default is not matching
- $matches = false;
-
- // Compare only if installed
- if (isExtensionInstalled($ext_name)) {
- // Get extension version
- $ext_ver = getExtensionVersion($ext_name);
-
- // Debug messages
- if (isset($this->version[$this->name][$ext_name])) {
- // Does it match?
- $matches = ((isset($this->version[$this->name][$ext_name])) && ($this->version[$this->name][$ext_name] == $ext_ver));
- } elseif ($this->isCacheReadable()) {
- // No cache version found!
- logDebugMessage(__METHOD__, __LINE__, "Cache {$this->name} has missing version entry for extension {$ext_name}! Purging cache...");
-
- // Remove the cache file
- $this->removeCacheFile(true);
+ // Check cache
+ if (!isset($GLOBALS[__METHOD__][$ext_name])) {
+ // Compare only if installed
+ if (isExtensionInstalled($ext_name)) {
+ // Get extension version
+ $ext_ver = getExtensionVersion($ext_name);
+
+ // Debug messages
+ if (isset($this->version[$this->name][$ext_name])) {
+ // Does it match?
+ $GLOBALS[__METHOD__][$ext_name] = ((isset($this->version[$this->name][$ext_name])) && ($this->version[$this->name][$ext_name] == $ext_ver));
+ } elseif ($this->isCacheReadable()) {
+ // No cache version found!
+ logDebugMessage(__METHOD__, __LINE__, "Cache {$this->name} has missing version entry for extension {$ext_name}! Purging cache...");
+
+ // Remove the cache file
+ $this->removeCacheFile(true);
+ }
+ } else {
+ // Not installed, does always match
+ $GLOBALS[__METHOD__][$ext_name] = true;
}
} else {
- // Not installed, does always match
- $matches = true;
+ // Cache entry found, log debug message
+ //* DEBUG: */ logDebugMessage(__METHOD__, __LINE__, 'ext_name=' . $ext_name . ', matches=' . intval($GLOBALS[__METHOD__][$ext_name]));
}
// Compare both
- return $matches;
+ return $GLOBALS[__METHOD__][$ext_name];
}
// Rewrit the entry so it can be stored in cache file
unset($GLOBALS['cache_array']['modules'][$entry][$key]);
} else {
// Log this for debug purposes
- debugLogMessage('[' . basename(__FILE__) . ':' . __LINE__ . '] Entry not found. module=' . $mod . ',key=' . $key . ',entry=' . $entry);
+ logDebugMessage(basename(__FILE__), __LINE__, 'Entry not found. module=' . $mod . ',key=' . $key . ',entry=' . $entry);
}
} // END - foreach
} // END - foreach