<?

class Different_func_test {
	
	function __construct($data_mas) {
		GLOBAL $log;
		
		$this->data_mas = $data_mas; // массив с тестовыми данными
		//$log->line('_construct: ' . $data_mas[1]['read_err']);
	}
	
	// все сообщения выдаем через эту функцию
	// $method нужно указывать если используется промежуточная функция, такая как is_open_file
	private function _error($str, $method='') {
		GLOBAL $log;
		
		if(!$method) {
			$stack = debug_backtrace();
			$method = $stack[0]['func'];
		}
		$log->line("Different_func_test::{$method}(): $str");
	}
	
	private function _parse_fname($fpath) {
		// вырезаем строку после последнего слеша
		if(!preg_match('#([^/]+)$#', $fpath, $res)) {
			$this->_error("не удается выделить имя файла из пути '$fpath'");
			return false;
		}
		return $res[1];
	}
	
	function md5($str, $fpath) {
		GLOBAL $log;
		if(!$fname = $this->_parse_fname($fpath))
			return false;
		
		//$log->line("md5 " . $this->data_mas[$fname]);
		if($this->data_mas[$fname]['read_err'])
			return false;
		
		return true;
	}
}

?>