<?php 
 
/** 
 * @author Dick Munroe <[email protected]> 
 * @copyright copyright @ by Dick Munroe, 2004-2006 
 * @license http://www.csworks.com/publications/ModifiedNetBSD.html 
 * @package StructuredDataDumper 
 * @version 1.1.0 
 */ 
 
// 
// Edit History: 
// 
//  Dick Munroe [email protected] 23-Dec-2004 
//    Initial version created. 
// 
//  Dick Munroe [email protected] 05-Apr-2006 
//      Bullet proof log file functions. 
// 
 
include_once('SDD/class.SDD.php') ; 
 
class logfile extends SDD 
{ 
 
  /** 
   * The open file handle. 
   * 
   * @access private 
   */ 
 
  var $m_handle ; 
 
  /** 
   * Constructor 
   * 
   * @access public 
   * @param string $theFileName The name of the log file. 
   */ 
 
  function logfile($theFileName) 
    { 
      if (file_exists($theFileName)) 
    { 
      $this->m_handle = @fopen($theFileName, 'a') ; 
    } 
      else 
    { 
      $this->m_handle = @fopen($theFileName, 'w') ; 
    } 
 
      if ($this->m_handle === FALSE) 
    { 
      trigger_error('Failed to open log file: ' . $theFileName . '\n' . 
            'Current working directory: ' . getcwd(), E_USER_WARNING) ; 
    } 
      else 
    { 
      $this->SDD(null, true) ; 
    } 
    } 
 
  /** 
   * Close the log file. 
   * 
   * @access public 
   */ 
 
  function close() 
    { 
      if ($this->m_handle !== FALSE) 
    { 
      fclose($this->m_handle) ; 
    } 
    } 
 
  /** 
   * Write to a log file. 
   * 
   * @access public 
   * @param mixed Data to be logged. 
   * @return integer number of bytes written to the log. 
   */ 
 
  function writeLog(&$theData) 
    { 
      if ($this->m_handle !== FALSE) 
    { 
      return fwrite($this->m_handle, $theData) ; 
    } 
      else 
    { 
      return 0 ; 
    } 
    } 
} 
?>
 
 |