blob: 4d0ae569bf875442b30b364e0deea2bb21d4243d [file] [log] [blame]
<?
# Base class to implement object persistence using serialize and unserialize
class persistent
{
var $filename;
/**********************/
function Persistent($filename)
{
$this->filename = $filename;
if(!file_exists($this->filename)) $this->save();
}
/**********************/
function save()
{
if($f = @fopen($this->filename,"w"))
{
if(@fwrite($f,serialize(get_object_vars($this))))
{
@fclose($f);
}
else die("Could not write to file ".$this->filename." at Persistant::save");
} else die("Could not open file ".$this->filename." for writing, at Persistant::save");
}
/**********************/
function open()
{
$vars = unserialize(file_get_contents($this->filename));
foreach($vars as $key=>$val)
{
eval("$"."this->$key = $"."vars['"."$key'];");
}
}
/**********************/
}
?>