git-svn-id: http://xe-core.googlecode.com/svn/trunk@1541 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-06-04 06:02:04 +00:00
parent f2e47e336d
commit 2de087f399
51 changed files with 3495 additions and 130 deletions

View file

@ -0,0 +1,71 @@
<?php
/**
* @class fileAdminController
* @author zero (zero@nzeo.com)
* @brief file 모듈의 admin controller 클래스
**/
class fileAdminController extends file {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief 특정 모두의 첨부파일 모두 삭제
**/
function deleteModuleFiles($module_srl) {
$args->module_srl = $module_srl;
$output = executeQuery('file.deleteModuleFiles', $args);
if(!$output->toBool()) return $output;
// 실제 파일 삭제
$path[0] = sprintf("./files/attach/images/%s/", $module_srl);
$path[1] = sprintf("./files/attach/binaries/%s/", $module_srl);
FileHandler::removeDir($path[0]);
FileHandler::removeDir($path[1]);
return $output;
}
/**
* @brief 관리자 페이지에서 선택된 파일들을 삭제
**/
function procFileAdminDeleteChecked() {
// 선택된 글이 없으면 오류 표시
$cart = Context::get('cart');
if(!$cart) return $this->stop('msg_cart_is_null');
$file_srl_list= explode('|@|', $cart);
$file_count = count($file_srl_list);
if(!$file_count) return $this->stop('msg_cart_is_null');
$oFileController = &getController('file');
// 글삭제
for($i=0;$i<$file_count;$i++) {
$file_srl = trim($file_srl_list[$i]);
if(!$file_srl) continue;
$oFileController->deleteFile($file_srl);
}
$this->setMessage( sprintf(Context::getLang('msg_checked_file_is_deleted'), $file_count) );
}
/**
* @brief 파일 기본 정보의 추가
**/
function procFileAdminInsertConfig() {
// 기본 정보를 받음
$args = Context::gets('allowed_filesize','allowed_attach_size','allowed_filetypes');
// module Controller 객체 생성하여 입력
$oModuleController = &getController('module');
$output = $oModuleController->insertModuleConfig('file',$args);
return $output;
}
}
?>

View file

@ -0,0 +1,72 @@
<?php
/**
* @class fileAdminModel
* @author zero (zero@nzeo.com)
* @brief file 모듈의 admin model 클래스
**/
class fileAdminModel extends file {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief 모든 첨부파일을 시간 역순으로 가져옴 (관리자용)
**/
function getFileList($obj) {
// 검색 옵션 정리
$search_target = trim(Context::get('search_target'));
$search_keyword = trim(Context::get('search_keyword'));
if($search_target && $search_keyword) {
switch($search_target) {
case 'filename' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_filename = $search_keyword;
break;
case 'filesize' :
$args->s_filesize = (int)$search_keyword;
break;
case 'download_count' :
$args->s_download_count = (int)$search_keyword;
break;
case 'regdate' :
$args->s_regdate = $search_keyword;
break;
case 'ipaddress' :
$args->s_ipaddress= $search_keyword;
break;
}
}
// 유효/대기 상태 설정
if($obj->isvalid == 'Y') $args->isvalid = 'Y';
elseif($obj->isvalid == 'N') $args->isvalid = 'N';
// 변수 설정
$args->sort_index = $obj->sort_index;
$args->page = $obj->page?$obj->page:1;
$args->list_count = $obj->list_count?$obj->list_count:20;
$args->page_count = $obj->page_count?$obj->page_count:10;
// file.getFileList쿼리 실행
$output = executeQuery('file.getFileList', $args);
// 결과가 없거나 오류 발생시 그냥 return
if(!$output->toBool()||!count($output->data)) return $output;
$oFileModel = &getModel('file');
foreach($output->data as $key => $file) {
$file->download_url = $oFileModel->getDownloadUrl($file->file_srl, $file->sid);
$output->data[$key] = $file;
}
return $output;
}
}
?>

View file

@ -1,11 +1,11 @@
<?php
/**
* @class fileView
* @class fileAdminView
* @author zero (zero@nzeo.com)
* @brief file 모듈의 view 클래스
* @brief file 모듈의 admin view 클래스
**/
class fileView extends file {
class fileAdminView extends file {
/**
* @brief 초기화
@ -26,7 +26,7 @@
$args->isvalid = Context::get('isvalid');
// 목록 구함
$oFileModel = &getModel('file');
$oFileModel = &getAdminModel('file');
$output = $oFileModel->getFileList($args);
// 목록의 loop를 돌면서 mid를 구하기 위한 module_srl값을 구함