From e5701c611e9bbc4a69e4166b7fa0399b8ebf06ff Mon Sep 17 00:00:00 2001 From: zero Date: Sat, 14 Apr 2007 02:05:32 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@1137 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/file/file.controller.php | 18 +++++++++++++++--- modules/file/lang/ko.lang.php | 7 ++++--- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/modules/file/file.controller.php b/modules/file/file.controller.php index d36f61df5..a66fcd6bd 100644 --- a/modules/file/file.controller.php +++ b/modules/file/file.controller.php @@ -25,9 +25,6 @@ if(!$_SESSION['upload_enable'][$upload_target_srl]) exit(); $output = $this->insertFile($module_srl, $upload_target_srl); - - // 첨부파일의 목록을 java script로 출력 - //$this->printUploadedFileList($upload_target_srl); } @@ -64,6 +61,21 @@ // 정상적으로 업로드된 파일이 아니면 오류 출력 if(!is_uploaded_file($file_info['tmp_name'])) return false; + // 첨부파일 설정 가져옴 + $logged_info = Context::get('logged_info'); + if($logged_info->is_admin != 'Y') { + $oFileModel = &getModel('file'); + $config = $oFileModel->getFileConfig(); + $allowed_attach_size = $config->allowed_attach_size * 1024 * 1024; + + // 해당 문서에 첨부된 모든 파일의 용량을 가져옴 (DB에서 가져옴) + $size_args->upload_target_srl = $upload_target_srl; + $output = executeQuery('file.getAttachedFileSize', $size_args); + $attached_size = (int)$output->data->attached_size + filesize($file_info['tmp_name']); + if($attached_size > $allowed_attach_size) return new Object(-1, 'msg_exceeds_limit_size'); + } + return new Object(-1, 'msg_exceeds_limit_size'); + // 이미지인지 기타 파일인지 체크하여 upload path 지정 if(eregi("\.(jpg|jpeg|gif|png|wmv|mpg|mpeg|avi|swf|flv|mp3|asaf|wav|asx|midi)$", $file_info['name'])) { $path = sprintf("./files/attach/images/%s/%s/", $module_srl,$upload_target_srl); diff --git a/modules/file/lang/ko.lang.php b/modules/file/lang/ko.lang.php index dbc49529f..dd00cbf5e 100644 --- a/modules/file/lang/ko.lang.php +++ b/modules/file/lang/ko.lang.php @@ -12,9 +12,9 @@ $lang->is_valid = '유효'; $lang->is_stand_by = '대기'; $lang->file_list = '첨부 파일 목록'; - $lang->allowed_filesize = '파일당 허용 용량'; - $lang->allowed_attach_size = '문서당 허용 용량'; - $lang->allowed_filetypes = '허용 첨부 파일 확장자'; + $lang->allowed_filesize = '파일 제한 크기'; + $lang->allowed_attach_size = '문서 첨부 제한'; + $lang->allowed_filetypes = '허용 확장자'; $lang->about_allowed_filesize = '하나의 파일에 대해 최고 용량을 지정할 수 있습니다. (관리자는 제외)'; $lang->about_allowed_attach_size = '하나의 문서에 첨부할 수 있는 최고 용량을 지정할 수 있습니다. (관리자는 제외)'; @@ -26,6 +26,7 @@ $lang->msg_cart_is_null = '삭제할 파일을 선택해주세요'; $lang->msg_checked_file_is_deleted = '%d개의 첨부파일이 삭제되었습니다'; + $lang->msg_exceeds_limit_size = '허용된 용량을 초과하여 첨부가 되지 않았습니다'; $lang->search_target_list = array( 'filename' => '파일이름',