From 96de92beedf91a28a162e261439aebcfb05ff14b Mon Sep 17 00:00:00 2001 From: YJSoft Date: Sun, 27 Apr 2014 01:02:02 +0900 Subject: [PATCH] =?UTF-8?q?file=20cache=20=EC=82=AC=EC=9A=A9=EC=8B=9C=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=98=88=EC=99=B8=EC=B2=98=EB=A6=AC?= =?UTF-8?q?=EA=B0=80=20=EB=90=98=EC=A7=80=20=EC=95=8A=EB=8D=98=EC=A0=90=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20&=20=EC=98=A4=ED=83=80=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit include문 사용시 parse error 예외처리가 불가능함으로 FileHandler::readFile로 읽어 들인뒤 eval하는 방식으로 수정하였습니다. 추가:pharse가 아니라 parse네요;;; --- classes/template/TemplateHandler.class.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/classes/template/TemplateHandler.class.php b/classes/template/TemplateHandler.class.php index d71b3abe8..c043bf660 100644 --- a/classes/template/TemplateHandler.class.php +++ b/classes/template/TemplateHandler.class.php @@ -365,7 +365,14 @@ class TemplateHandler ob_start(); if(substr($buff, 0, 7) == 'file://') { - include(substr($buff, 7)); + $eval_str = FileHandler::readFile(substr($buff, 7)); + $eval_str_buffed = "?>" . $eval_str; + @eval($eval_str_buffed); + $error_info = error_get_last(); + if ($error_info['type'] == 4) + { + echo "

Error Parsing Template - {$error_info['message']} in template file {$this->file}

"; + } } else { @@ -374,7 +381,7 @@ class TemplateHandler $error_info = error_get_last(); if ($error_info['type'] == 4) { - echo "

Error Pharsing Template - {$error_info['message']} in template file {$this->file}

"; + echo "

Error Parsing Template - {$error_info['message']} in template file {$this->file}

"; } }