From cd8512a84618f18493ed28ebbf27bfeb76044596 Mon Sep 17 00:00:00 2001 From: zero Date: Tue, 15 Jul 2008 08:04:22 +0000 Subject: [PATCH] =?UTF-8?q?=EC=8D=B8=EB=84=A4=EC=9D=BC=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=EC=8B=9C=202=EB=B2=88=EC=A7=B8=20=EC=B2=A8=EB=B6=80?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=EC=9D=98=20=EC=8D=B8=EB=84=A4=EC=9D=BC?= =?UTF-8?q?=EC=9D=B4=20=EC=83=9D=EC=84=B1=EB=90=98=EB=8A=94=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=EC=99=80=20=EC=B2=A8=EB=B6=80=ED=8C=8C=EC=9D=BC?= =?UTF-8?q?=EC=97=86=EC=9D=B4=20=EB=82=B4=EC=9A=A9=EC=97=90=20=EC=9D=B4?= =?UTF-8?q?=EB=AF=B8=EC=A7=80=20=EB=A7=81=ED=81=AC=EB=90=98=EC=97=88?= =?UTF-8?q?=EC=9D=84=EB=95=8C=20=EC=8D=B8=EB=84=A4=EC=9D=BC=EC=9D=B4=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1=EB=90=98=EC=A7=80=20=EC=95=8A=EB=8A=94=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4364 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/file/FileHandler.class.php | 13 +++++++++---- modules/document/document.item.php | 15 ++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/classes/file/FileHandler.class.php b/classes/file/FileHandler.class.php index 130e81d8b..4ed2c7ab8 100644 --- a/classes/file/FileHandler.class.php +++ b/classes/file/FileHandler.class.php @@ -333,21 +333,26 @@ // 파일을 쓰고 끝냄 switch($target_type) { case 'gif' : - @imagegif($thumb, $target_file, 100); + $output = @imagegif($thumb, $target_file); break; case 'jpeg' : case 'jpg' : - @imagejpeg($thumb, $target_file, 100); + $output = @imagejpeg($thumb, $target_file, 100); break; case 'png' : - @imagepng($thumb, $target_file, 9); + $output = @imagepng($thumb, $target_file, 9); break; case 'wbmp' : case 'bmp' : - @imagewbmp($thumb, $target_file, 100); + $output = @imagewbmp($thumb, $target_file, 100); break; } + + if(!$output) return false; + @chmod($target_file, 0644); + + return true; } } ?> diff --git a/modules/document/document.item.php b/modules/document/document.item.php index 6f0ce9184..2acd1a880 100644 --- a/modules/document/document.item.php +++ b/modules/document/document.item.php @@ -435,7 +435,7 @@ if(!$height) $height = $width; // 첨부파일이 없거나 내용중 이미지가 없으면 return false; - if(!$this->hasUploadedFiles() && !preg_match("!http:\/\/([^ ^\"^']*?)\.(jpg|png|gif|jpeg|bmp)!is", $this->get('content'))) return; + if(!$this->hasUploadedFiles() && !preg_match("!get('content'))) return; // 문서 모듈의 기본 설정에서 Thumbnail의 생성 방법을 구함 if(!in_array($thumbnail_type, array('crop','ratio'))) { @@ -475,8 +475,7 @@ $filename = $file->uploaded_filename; if(!file_exists($filename)) continue; - FileHandler::createImageFile($filename, $thumbnail_file, $width, $height, 'jpg', $thumbnail_type); - if(file_exists($thumbnail_file) && filesize($thumbnail_file)>0) return Context::getRequestUri().$thumbnail_file; + if(FileHandler::createImageFile($filename, $thumbnail_file, $width, $height, 'jpg', $thumbnail_type)) return Context::getRequestUri().$thumbnail_file; } } } @@ -484,16 +483,18 @@ // 첨부된 파일이 없으면 내용중 이미지 파일을 구함 $content = $this->get('content'); $target_src = null; - preg_match_all("!http:\/\/([^ ^\"^']*?)\.(jpg|png|gif|jpeg|bmp)!is", $content, $matches, PREG_SET_ORDER); + preg_match_all("!src=(\"|')([^\"' ]*?)(\"|')!is", $content, $matches, PREG_SET_ORDER); for($i=0;$idocument_srl)); FileHandler::getRemoteFile($target_src, $tmp_file); - if(file_exists($tmp_file)) FileHandler::createImageFile($tmp_file, $thumbnail_file, $width, $height, 'jpg', $thumbnail_type); + if(!file_exists($tmp_file)) continue; + $output = FileHandler::createImageFile($tmp_file, $thumbnail_file, $width, $height, 'jpg', $thumbnail_type); FileHandler::removeFile($tmp_file); - if(file_exists($thumbnail_file) && filesize($thumbnail_file)>0) return Context::getRequestUri().$thumbnail_file; + if($output) return Context::getRequestUri().$thumbnail_file; } }