128 Zeilen
		
	
	
		
			Kein EOL
		
	
	
		
			3,4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			128 Zeilen
		
	
	
		
			Kein EOL
		
	
	
		
			3,4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * Project: 
 | 
						|
 * Contenido Content Management System
 | 
						|
 * 
 | 
						|
 * Description: 
 | 
						|
 * Debug object to write info to a file.
 | 
						|
 * In case you cannot output directly to screen when debugging a live system, this object writes 
 | 
						|
 * the info to a file located in /contenido/logs/debug.log.
 | 
						|
 * 
 | 
						|
 * Requirements: 
 | 
						|
 * @con_php_req 5.0
 | 
						|
 * 
 | 
						|
 *
 | 
						|
 * @package    Contenido Backend classes
 | 
						|
 * @version    1.1.1
 | 
						|
 * @author     Rudi Bieller
 | 
						|
 * @copyright  four for business AG <www.4fb.de>
 | 
						|
 * @license    http://www.contenido.org/license/LIZENZ.txt
 | 
						|
 * @link       http://www.4fb.de
 | 
						|
 * @link       http://www.contenido.org
 | 
						|
 * 
 | 
						|
 * {@internal 
 | 
						|
 *   created  2007-01-01
 | 
						|
 *   modified 2008-05-21 Added methods add(), reset(), showAll()
 | 
						|
 *   modified 2010-05-20 Murat Purc, Hey, last change was nearly 2 years ago ;-)... Fixed generated warnings, see [#CON-309]
 | 
						|
 *
 | 
						|
 *   $Id$:
 | 
						|
 * }}
 | 
						|
 * 
 | 
						|
 */
 | 
						|
 | 
						|
if (!defined('CON_FRAMEWORK')) {
 | 
						|
	die('Illegal call');
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
include_once('IDebug.php');
 | 
						|
 | 
						|
class Debug_File implements IDebug {
 | 
						|
	
 | 
						|
	static private $_instance;
 | 
						|
	static private $_hFileHandle;
 | 
						|
	private $_sPathToLogs;
 | 
						|
	private $_sFileName;
 | 
						|
	private $_sPathToFile;
 | 
						|
	
 | 
						|
	/** 
 | 
						|
	* Constructor
 | 
						|
	* Opens filehandle for debug-logfile
 | 
						|
	* @access private
 | 
						|
	* @return void
 | 
						|
	*/
 | 
						|
    private function __construct() {
 | 
						|
		global $cfg; // omfg, I know... TODO
 | 
						|
        $this->_sPathToLogs = $cfg['path']['contenido'].'logs'.DIRECTORY_SEPARATOR;
 | 
						|
		$this->_sFileName = 'debug.log';
 | 
						|
		$this->_sPathToFile = $this->_sPathToLogs.$this->_sFileName;
 | 
						|
        if (file_exists($this->_sPathToLogs) && is_writeable($this->_sPathToLogs)) {
 | 
						|
		    self::$_hFileHandle = @fopen($this->_sPathToFile, 'a+'); // keep it quiet, might be used in production systems
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	/**
 | 
						|
	 * Closes file handle upon destruction of object
 | 
						|
	 * @access public
 | 
						|
	 * @return void
 | 
						|
	 */
 | 
						|
	public function __destruct() {
 | 
						|
        if (is_resource(self::$_hFileHandle)) {
 | 
						|
	        fclose(self::$_hFileHandle);
 | 
						|
	    }
 | 
						|
	}
 | 
						|
	
 | 
						|
	/** 
 | 
						|
	* static
 | 
						|
	* @access public
 | 
						|
	* @return void
 | 
						|
	*/
 | 
						|
	static public function getInstance() {
 | 
						|
		if (self::$_instance == null) {
 | 
						|
			self::$_instance = new Debug_File();
 | 
						|
		}
 | 
						|
		return self::$_instance;
 | 
						|
	}
 | 
						|
	
 | 
						|
	/**
 | 
						|
	 * Outputs contents of passed variable in a preformatted, readable way
 | 
						|
	 *
 | 
						|
	 * @access public
 | 
						|
	 * @param mixed $mVariable The variable to be displayed
 | 
						|
	 * @param string $sVariableDescription The variable's name or description
 | 
						|
	 * @param boolean $bExit If set to true, your app will die() after output of current var
 | 
						|
	 * @return void
 | 
						|
	 */
 | 
						|
	public function show($mVariable, $sVariableDescription='', $bExit = false)
 | 
						|
	{
 | 
						|
        if (is_resource(self::$_hFileHandle) && is_writeable($this->_sPathToFile)) {
 | 
						|
            $sDate = date('Y-m-d H:i:s');
 | 
						|
            fwrite(self::$_hFileHandle, '#################### '.$sDate.' ####################'."\n");
 | 
						|
            fwrite(self::$_hFileHandle, $sVariableDescription."\n");
 | 
						|
            fwrite(self::$_hFileHandle, print_r($mVariable, true)."\n");
 | 
						|
            fwrite(self::$_hFileHandle, '#################### /'.$sDate.' ###################'."\n\n");
 | 
						|
        }
 | 
						|
	}
 | 
						|
	
 | 
						|
    /**
 | 
						|
	 * Interface implementation
 | 
						|
	 * @access public
 | 
						|
	 * @param mixed $mVariable
 | 
						|
	 * @param string $sVariableDescription
 | 
						|
	 * @return void
 | 
						|
	 */
 | 
						|
	public function add($mVariable, $sVariableDescription = '') {}
 | 
						|
	/**
 | 
						|
	 * Interface implementation
 | 
						|
	 * @access public
 | 
						|
	 * @return void
 | 
						|
	 */
 | 
						|
	public function reset() {}
 | 
						|
	/**
 | 
						|
	 * Interface implementation
 | 
						|
	 * @access public
 | 
						|
	 * @return string Here an empty string
 | 
						|
	 */
 | 
						|
	public function showAll() {}
 | 
						|
}
 | 
						|
?>
 |