+ ADD_FATAL(__FILE__."(<font color=\"#0000aa\">".__LINE__."</font>): ".CACHE_PROBLEMS_DETECTED);
+ }
+ }
+
+ function storeExtensionVersion ($ext_name) {
+ // Valid cache pointer?
+ if (is_resource($this->pointer)) {
+ // Get extension version
+ $ext_ver = GET_EXT_VERSION($ext_name);
+
+ // Write cache line to file
+ fwrite($this->pointer, "\$cache_version['".$ext_name."'] = \"".$ext_ver."\";\n");
+ } else {
+ // Cannot create file
+ ADD_FATAL(__FILE__."(<font color=\"#0000aa\">".__LINE__."</font>): ".CACHE_PROBLEMS_DETECTED);
+ }
+ }
+
+ function extensionVersionMatches ($ext_name) {
+ // Load cache (dummy)
+ $this->getArrayFromCache();
+
+ // Get extension version
+ $ext_ver = GET_EXT_VERSION($ext_name);
+
+ // Compare both
+ return ((isset($this->version[$this->name][$ext_name])) && ($this->version[$this->name][$ext_name] == $ext_ver));
+ }
+
+ function rewriteEntry ($key, $value) {
+ // Init line
+ $line = "";
+
+ // String or non-string? ;-)
+ if (is_string($value)) {
+ // String...
+ $line = "\$data['".$key."'][] = \"".$value."\";\n";
+ } elseif (is_null($value)) {
+ // Null
+ $line = "\$data['".$key."'][] = null;\n";
+ } elseif (is_bool($value)) {
+ // Boolean value
+ if ($value === true) {
+ $line = "\$data['".$key."'][] = true;\n";
+ } else {
+ $line = "\$data['".$key."'][] = false;\n";
+ }
+ } else {
+ // Non-string
+ $line = "\$data['".$key."'][] = ".$value.";\n";