<?

/**
 * log.mes.php
 * @package   Modules
 */

#$modules[$name]= new LogMessage(true,false);
$modules[$name]= new LogMessage();
$log =& $modules[$name];

/**
 * Constant MES_LOG
 *
 * Constant to address this module in the applications module-array
 */
define("MES_LOG",$name);

/**
 * Class LogMessage
 *
 * This message-module creates an interface for the creation and displaying
 * of log-messages.
 *
 * @package   Messages
 * @author    Herman Suijs
 * @see          Message
 */
class LogMessage extends Message {
  
/**
   * name: Name of this module
   *
   * @access    private
   */
  
var $name "LogMessage";
  
/**
   * id: Id of this module
   *
   * @access    private
   */
  
var $id MES_LOG;
  
/**
   * level: default level to show
   *
   * @access    private
   */
  
var $level=1// The level that needs to be shown
  /**
   * log_file: file to store log information
   *
   * @access    private
   */
  
var $log_file;

  
/**
   * Constructor LogMessage
   *
   * Sets default values
   *
   * @param   enable: boolean to enable (default false)
   * @param   noop: do not execute most functionality of the script
   */
  
function LogMessage($enable=false,$noop=false) {
    
$this->content LOG_CONTENT;
    
$this->enable($enable);
    
$this->set_noop($noop);
    
$this->Message();
  } 
/* function LogMessage($enable=fa... */

  /**
   * Function set_level
   *
   * Set the level to display
   *
   * @param   level: level to display
   */
  
function set_level($level) {
    if (
$level<1) {
      
$this->level 1;
    } else { 
/* if ($level<1) */
      
$this->level $level;
   
/* if ($level<1) { ... } else */ }
  } 
/* function set_level($level) */

  /**
   * Function set_log_file
   *
   * @param   file: file to store log information
   */
  
function set_log_file($file) {
    
// Option to print messages to a file.
    
$this->log_file $file;
  } 
/* function set_log_file($file) */

  /**
   * Function addmessage
   *
   * Checks if a message should be added for this level
   *
   * @param   level: level of the message
   * @return  boolean: message to be added
   */
  
function addmessage($level) {
    if (
$level>$this->level) {
      return 
false;
    } else { 
/* if ($level>$this->level) */
      
return true;
   
/* if ($level>$this->level) { ...... */  }
   
/* if ($level>$this->level) { ...... */}

  
/**
   * Function wrapped_up
   *
   * Do some module specific cleaning up: write messages to log file
   */
  
function wrapped_up() {
    
// Print log-messages to a file
    
if ($this->log_file&&is_file($this->log_file)) {
    
$fd fopen($this->log_file,"a");
    
fwrite($fd,join("\n",$this->messages) . "\n"); // Change to write to file
    
fclose($fd);
    
$debug->add(DB_FLOW,$this->name,"Write to log_file %s",$this->log_file);
    } 
/* if ($this->log_file&&is_file($... */
  
/* function wrapped_up() */

/* if ($level>$this->level) { ...... */