| 
<?php 
 class Cache
 {
 private $cacheFile = "";
 private $settings = array();
 private $changed = false;
 private $disabled = false;
 function __construct($cacheFile, $disable=false)
 {
 if ($cacheFile != "")
 $this->cacheFile = $cacheFile;
 if ($disable == true)
 $this->disabled = true;
 else
 $this->Load();
 }
 private function Load()
 {
 $file = @file($this->cacheFile);
 if (!is_array($file))
 return false;
 foreach($file as $key => $line)
 {
 $line = explode(":",$line);
 $this->settings[$line[0]] = str_replace(":",":",eregi_replace("\n$","",$line[1]));
 }
 return true;
 }
 function Get($name)
 {
 if ($this->disabled == true)
 return "";
 if (key_exists($name, $this->settings))
 return $this->settings[$name];
 else
 return false;
 }
 function Set($name,$value)
 {
 if ($this->disabled == true)
 return;
 $this->settings[$name] = $value;
 $this->changed = true;
 }
 function ClearCache()
 {
 if ($this->disabled == true)
 return;
 $this->settings = array();
 $this->Save();
 }
 function Save()
 {
 if ($this->disabled == true)
 return;
 if ($this->changed == false)
 return; //no changes to cache
 $file = fopen($this->cacheFile,"w")
 or die("FATAL ERROR: Cannot write to cache file");
 foreach($this->settings as $name => $value)
 {
 fwrite($file,$name.":".str_replace(":",":",$value)."\n");
 }
 fclose($file);
 }
 
 }
 
 ?>
 |