<?php
class Template_debug
{
	private $thiss = null;
	
	/* 类实例化($this) */
	public function __construct($thiss)
	{
		$this->thiss = $thiss;
	}
	
	/* 模板错误输出 */
	public function Template_xError($_Template_error)
	{
		/* 获取最后一次错误记录 */
		$_Template_error_ = error_get_last();
    $_Template_error = array();
    
    /* 判断是否重要错误信息 */
    switch ($_Template_error_['type'])
    {
    	case 1: $_Template_error['type'] = $this->thiss->Template_Class_Lang[3];
    	case 2: $_Template_error['type'] = $this->thiss->Template_Class_Lang[4];
    	case 4: $_Template_error['type'] = $this->thiss->Template_Class_Lang[5];
    	default:
    		$_Template_error['type'] = '1';
    }
    
    /* 错误信息格式化 */
    if ($_Template_error['type'])
    {
    	$_Template_error['body'] = file($_Template_error_['file']);
    	
    	$_Template_error['err_'] = "<meta http-equiv=Content-Type content=\"text/html;charset=gbk\"><font size=2 color=#333333>\r\n";
    	$_Template_error['err_'] .= "[Template] <br /><br />\r\n";
    	$_Template_error['err_'] .= $this->thiss->Template_Class_Lang[6].': '.str_replace($this->thiss->Template_Cache_End,'',basename($_Template_error_['file']))."<br />\r\n";
    	$_Template_error['err_'] .= $this->thiss->Template_Class_Lang[7].': '.$_Template_error['type']."<br />\r\n";
    	$_Template_error['err_'] .= $this->thiss->Template_Class_Lang[8].': '.htmlspecialchars($_Template_error['body'][$_Template_error_['line']-1])."<br />\r\n";
    	$_Template_error['err_'] .= $this->thiss->Template_Class_Lang[9].': '.$_Template_error_['message']."<br /><br />\r\n";
    	$_Template_error['err_'] .= "</font><font size=2 color=#999999>\r\n";

    	$_Template_error['err_'] .= $this->thiss->Template_Class_Lang[10].': {SERVER_PATH}/'.$this->thiss->Template_Cache_Dir.'/'.basename($_Template_error_['file'])."<br />\r\n";
    	$_Template_error['err_'] .= $this->thiss->Template_Class_Lang[11].': '.$_Template_error_['line']." {$this->thiss->Template_Class_Lang[12]}<br />\r\n";
    	$_Template_error['err_'] .= "</font>\r\n";
    }
    return $_Template_error['err_'];
	}
}


?>