<?

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

#$modules[$name]= new DebugMessage(true,false);
$modules[$name]= new DebugMessage();

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

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

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

  /**
   * Function get_level
   *
   * Get the level that is set
   *
   * @return    level: level to display
   */
  
function get_level() {
    return 
$this->level;
  } 
/* function get_level() */

  /**
   * 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_debug_file
   *
   * @param   file: file to store debug information
   */
  
function set_debug_file($file) {
    
// Option to print messages to a file.
    
$this->debug_file $file;
  } 
/* function set_debug_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 debug file
   */
  
function wrapped_up() {
    
// Print debug-messages to a file
    
if ($this->debug_file) {
    echo 
"Write to debug_file";
    
//echo join("\n",$this->messages) . "\n"; // Change to write to file
    
/* if ($this->debug_file) */
  
/* function wrapped_up() */

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