From bf5e694571f69bb7f0d5ddf0a09bd212289e42f3 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 24 Jul 2026 13:47:42 +0900 Subject: [PATCH] =?UTF-8?q?FAQ=20=EC=97=90=EB=9F=AC=20=EA=B0=9C=EC=84=A01?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- egbim/lib/common.lib.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/egbim/lib/common.lib.php b/egbim/lib/common.lib.php index 6a22030..9c480b3 100644 --- a/egbim/lib/common.lib.php +++ b/egbim/lib/common.lib.php @@ -660,8 +660,19 @@ function html_purifier($html) include_once(G5_PLUGIN_PATH . '/htmlpurifier/extend.video.php'); $config = HTMLPurifier_Config::createDefault(); + // data/cache 가 없거나 쓰기 불가한 환경에서도 FAQ 출력이 깨지지 않도록 캐시 경로를 보장한다. + $serializer_path = G5_DATA_PATH . '/cache'; + if (!is_dir($serializer_path)) { + @mkdir($serializer_path, 0755, true); + } + if (!is_dir($serializer_path) || !is_writable($serializer_path)) { + $serializer_path = rtrim(sys_get_temp_dir(), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'egbim_htmlpurifier_cache'; + if (!is_dir($serializer_path)) { + @mkdir($serializer_path, 0755, true); + } + } // data/cache 디렉토리에 CSS, HTML, URI 디렉토리 등을 만든다. - $config->set('Cache.SerializerPath', G5_DATA_PATH . '/cache'); + $config->set('Cache.SerializerPath', $serializer_path); $config->set('HTML.SafeEmbed', false); $config->set('HTML.SafeObject', false); $config->set('Output.FlashCompat', false);