equal
  deleted
  inserted
  replaced
  
    
    
|     16     private $fh; |     16     private $fh; | 
|     17     private $file; |     17     private $file; | 
|     18  |     18  | 
|     19     function __construct($file) { |     19     function __construct($file) { | 
|     20 	@mkdir(dirname($file)); |     20 	@mkdir(dirname($file)); | 
|     21 	@$this->fh = fopen($file, "a+b"); |     21 	$this->fh = fopen($file, "a+b"); | 
|     22 	if (!$this->fh) throw new Address_Book_Exception("Can't open address book."); |         | 
|     23 	flock($this->fh, LOCK_EX); |     22 	flock($this->fh, LOCK_EX); | 
|     24 	$stat = fstat($this->fh); |     23 	$stat = fstat($this->fh); | 
|     25 	if ($stat['size'] == 0) { |     24 	if ($stat['size'] == 0) { | 
|     26 		fputs($this->fh, join(self::FS, array("Hans Hanson", "0815", "hans@hanson.de")) |     25 		fputs($this->fh, join(self::FS, array("Hans Hanson", "0815", "hans@hanson.de")) | 
|     27 			. self::RS); |     26 			. self::RS); | 
|     59     } |     58     } | 
|     60  |     59  | 
|     61     function search_entries($pattern) { |     60     function search_entries($pattern) { | 
|     62 	$pattern = trim($pattern); |     61 	$pattern = trim($pattern); | 
|     63 	if (empty($pattern)) return; |     62 	if (empty($pattern)) return; | 
|     64 	$pattern = preg_replace('/\//', '\/', $pattern); |     63 	//$pattern = preg_replace('/\//', '\/', $pattern); | 
|         |     64 	if (preg_match('/\//', $pattern)) | 
|         |     65 	    throw new Address_Book_Exception("Pattern must not contain '/'"); | 
|     65 	fseek($this->fh, 0, SEEK_SET); |     66 	fseek($this->fh, 0, SEEK_SET); | 
|     66 	$entries = array(); |     67 	$entries = array(); | 
|     67 	while ($line = stream_get_line($this->fh, 0, self::RS)) { |     68 	while ($line = stream_get_line($this->fh, 0, self::RS)) { | 
|     68 		if ($line === FALSE) break; |     69 		if ($line === FALSE) break; | 
|     69 		if (!preg_match("/$pattern/i", $line)) continue; |     70 		if (!preg_match("/$pattern/i", $line)) continue; |