* @version 1.0.0 * @license http://gnu.org/licenses/lgpl.txt/ GNU Lesser General Public License (LGPL) */ class eiaf { public $eiafconfig = array( "rootdir" => "data/", "showerrors" => "no", "del404" => "[eiaf.class.del] $time ERROR: File \"$eiafconfig[rootdir]$source\" not found
\n", "get404" => "[eiaf.class.get] $time ERROR: File \"$eiafconfig[rootdir]$source\" not found
\n", "put404" => "[eiaf.class.put] $time ERROR: File \"$eiafconfig[rootdir]$source\" not found
\n", "mv404" => "[eiaf.class.mv] $time ERROR: File \"$eiafconfig[rootdir]$source\" not found
\n", "destinationexists" => "[eiaf.class.mvdir] $time ERROR: Folder \"$eiafconfig[rootdir]$source\" not found
\n", "mvdir404" => "[eiaf.class.mvdir] $time ERROR: Directory \"$eiafconfig[rootdir]$source\" not found
\n", "direxists" => "[eiaf.class.putdir] $time ERROR: Directory \"$eiafconfig[rootdir]$source\" already exists
\n", "dirnotempty" => "[eiaf.class.deldir] $time ERROR: Directory \"$eiafconfig[rootdir]$source\" is not empty
\n", "dir404" => "[eiaf.class.deldir] $time ERROR: Directory \"$eiafconfig[rootdir]$source\" not found
\n", ); function error($message, $source){ $time = time(); $error = $message; if($this->eiafconfig["showerrors"]=="yes"){ $this->put("errors.log", $error, "append"); $return = $error; }else{ $this->put("errors.log", $error, "append"); $return = false; } return $return; } function get($source){ if(file_exists($this->eiafconfig["rootdir"].$source)){ $return = file_get_contents($this->eiafconfig["rootdir"].$source); }else{ $return = $this->error($this->eiafconfig["get404"], $source); } return $return; } function put($source, $input, $method){ if(file_exists($this->eiafconfig["rootdir"].$source) || $method=="create"){ switch($method){ case "append": $mode = "a"; break; case "prepend": $mode = "r+"; break; case "rewrite": $mode = "w"; break; case "create": $mode = "x"; break; } $stream = fopen($source, $mode); fputs($stream, $input); fclose($stream); }else{ $return = $this->error($this->eiafconfig["put404"], $source); } return $return; } function del($source){ if(file_exists($this->eiafconfig["rootdir"].$source)){ unlink($this->eiafconfig["rootdir"].$source); $return = true; }else{ $return = $this->error($this->eiafconfig["del404"], $source); } return $return; } function mv($source, $destination){ if(file_exists($this->eiafconfig["rootdir"].$source)){ if(!file_exists($this->eiafconfig["rootdir"].$destination)){ $data = $this->get($source); $this->put($destination, $data, "create"); unlink($source); $return = true; }else{ $return = $this->error($this->eiafconfig["destinationexists"], $destination); } }else{ $return = $this->error($this->eiafconfig["mv404"], $source); } return $return; } function mvdir($source, $destination){ if(file_exists($this->eiafconfig["rootdir"].$source)){ if(!file_exists($this->eiafconfig["rootdir"].$destination)){ rename($source, $destination); $return = true; }else{ $return = $this>error($this->eiafconfig["destinationexists"], $destination); } }else{ $return = $this->error($this->eiafconfig["mvdir404"], $destination); } return $return; } function putdir($destination){ if(!file_exists($this->eiafconfig["rootdir"].$destination)){ mkdir($this->eiafconfig["rootdir"].$destination); $return = true; }else{ $return = $this->error($this->eiafconfig["direxists"], $destination); } return $return; } function deldir($source, $force="no"){ if(file_exists($source)){ if(strrpos($source, '/') == strlen($source) - 1){ $slash = null; }else{ $slash = "/"; } if(!glob($this->eiafconfig["rootdir"].$source.$slash."*")){ rmdir($source); $return = true; }elseif($force="yes"){ foreach(glob($this->eiafconfig["rootdir"].$source.$slash."*") as $filename){ $this->del($filename); } rmdir($source); $return = true; }else{ $return = $this->error($this->eiafconfig["dirnotempty"], $source); } }else{ $return = $this->error($this->eiafconfig["dir404"], $source); } return $return; } } ?>