<?php
/*
	[Sueam CMS] (C)2009-2010 ZMRNet Studio
	sueam_vfs.php by 2009-12-25 zmrnet
*/
class sueam_vfs{
	function mkdir($dir){
		return mkdir($dir);
	}
	function rmdir($dir){
		$tdir = str_replace('\\','/',$dir);
		if(substr($tdir,-1)!='/'){$tdir .= '/';}
		$dh = @opendir($tdir);
		while($file=@readdir($dh)){
			if(($file!='.')&&($file!='..')){
				if(is_file($tdir.$file)){
					unlink($tdir.$file);
				}elseif(is_dir($tdir.$file)){
					$this->rmdir($tdir.$file);
				}
			}
		}
		@closedir($dh);
		return @rmdir($dir);
	}
	function rmfile($dir, $ext = ''){
		$tdir = str_replace('\\','/',$dir);
		if(substr($tdir,-1)!='/'){$tdir .= '/';}
		$dh = @opendir($tdir);
		while($file=@readdir($dh)){
			if(is_file($tdir.$file)){
				if($len = strlen($ext)){
					if(substr($file, -$len)==$ext){
						unlink($tdir.$file);
					}
				}else{
					unlink($tdir.$file);
				}
			}
		}
		@closedir($dh);
		return true;
	}
	function delfile($dir, $ext = ''){
		$dt = time() - 3600;
		$tdir = str_replace('\\','/',$dir);
		if(substr($tdir,-1)!='/'){$tdir .= '/';}
		$dh = @opendir($tdir);
		while($file=@readdir($dh)){
			if(is_file($tdir.$file)){
				if($len = strlen($ext)){
					if(substr($file, -$len)==$ext){
						if(filemtime($tdir.$file)<$dt){
							unlink($tdir.$file);
						}
					}
				}else{
					if(filemtime($tdir.$file)<$dt){
						unlink($tdir.$file);
					}
				}
			}
		}
		@closedir($dh);
		return true;
	}
	function unlink($fn){
		return unlink($fn);
	}
	function rename($fn, $fx){
		return rename($fn, $fx);
	}
	function fwrite($fn, $fd){
		$fw = false;
		if($fp = @fopen($fn, 'wb')){
			flock($fp, 2);
			$fw = fwrite($fp, $fd);
			flock($fp, 3);
			fclose($fp);
		}
		return $fw;
	}
	function fread($fn){
		$fd = false;
		if($fp = @fopen($fn, 'rb')){
			$fd = '';
			while(!feof($fp)) {
				$fd .= fread($fp, 8192);
			}
			fclose($fp);
		}
		return $fd;
	}
	function fputs($fn, $fd){
		$fw = false;
		if($fp = @fopen($fn, 'ab')){
			flock($fp, 2);
			$fw = fwrite($fp, $fd);
			flock($fp, 3);
		}
		return $fw;
	}
}
?>