moduleModel 및 moduleController에서 제공하던 각 모듈별 설정을 이용시 너무 많은 설정값들이 생길 경우 이를 serialize/ unserialize하는데 드는 부하가 커짐을 방지하기 위해서 module_config외에 module_part_config 테이블을 주고 module_srl 별 설정을 분산하도록 하여 쓸데없는 부하가 생기지 않도록 수정.

files/cache/module_info내에 있던 module_config 캐시 파일도 사용하지 않도록 변경


git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4696 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2008-10-27 07:27:47 +00:00
parent cc7dd67ed2
commit 5934906056
41 changed files with 372 additions and 445 deletions

View file

@ -78,8 +78,6 @@
**/
function procFileAdminInsertConfig() {
// 설정 정보를 받아옴 (module model 객체를 이용)
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('file');
$config->allowed_filesize = Context::get('allowed_filesize');
$config->allowed_attach_size = Context::get('allowed_attach_size');
$config->allowed_filetypes = Context::get('allowed_filetypes');
@ -103,27 +101,19 @@
$download_grant = trim(Context::get('download_grant'));
// 설정 정보를 받아옴 (module model 객체를 이용)
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('file');
$module_file_config->module_srl = $module_srl;
$module_file_config->allowed_filesize = Context::get('allowed_filesize');
$module_file_config->allowed_attach_size = Context::get('allowed_attach_size');
$module_file_config->allowed_filetypes = Context::get('allowed_filetypes');
if($download_grant) $module_file_config->download_grant = explode('|@|',$download_grant);
else $module_file_config->download_grant = array();
$file_config->allowed_filesize = Context::get('allowed_filesize');
$file_config->allowed_attach_size = Context::get('allowed_attach_size');
$file_config->allowed_filetypes = Context::get('allowed_filetypes');
if($download_grant) $file_config->download_grant = explode('|@|',$download_grant);
else $file_config->download_grant = array();
$oModuleController = &getController('module');
for($i=0;$i<count($module_srl);$i++) {
$srl = trim($module_srl[$i]);
if(!$srl) continue;
$config->module_config[$srl] = $module_file_config;
$oModuleController->insertModulePartConfig('file',$srl,$file_config);
}
// module Controller 객체 생성하여 입력
$oModuleController = &getController('module');
$output = $oModuleController->insertModuleConfig('file',$config);
$this->setError(-1);
$this->setMessage('success_updated');
}

View file

@ -72,23 +72,19 @@
function getFileConfig($module_srl = null) {
// 설정 정보를 받아옴 (module model 객체를 이용)
$oModuleModel = &getModel('module');
$file_config = $oModuleModel->getModuleConfig('file');
$config->allowed_filesize = $file_config->allowed_filesize;
$config->allowed_attach_size = $file_config->allowed_attach_size;
$config->allowed_filetypes = $file_config->allowed_filetypes;
if($module_srl) $file_config = $oModuleModel->getModulePartConfig('file',$module_srl);
if(!$file_config) $file_config = $oModuleModel->getModuleConfig('file');
if($file_config) {
$config->allowed_filesize = $file_config->allowed_filesize;
$config->allowed_attach_size = $file_config->allowed_attach_size;
$config->allowed_filetypes = $file_config->allowed_filetypes;
$config->download_grant = $file_config->download_grant;
}
if(!$config->allowed_filesize) $config->allowed_filesize = '2';
if(!$config->allowed_attach_size) $config->allowed_attach_size = '3';
if(!$config->allowed_filetypes) $config->allowed_filetypes = '*.*';
if($module_srl && $file_config->module_config[$module_srl]) {
$module_config = $file_config->module_config[$module_srl];
$config->allowed_filesize = $module_config->allowed_filesize;
$config->allowed_attach_size = $module_config->allowed_attach_size;
$config->allowed_filetypes = $module_config->allowed_filetypes;
}
if(!$config->download_grant) $config->download_grant = array();
return $config;
}
@ -136,8 +132,6 @@
function getUploadConfig() {
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y') {
//$file_config->allowed_filesize = 1024;
//$file_config->allowed_attach_size = 1024;
$file_config->allowed_filesize = preg_replace("/[a-z]/is","",ini_get('upload_max_filesize'));
$file_config->allowed_attach_size = preg_replace("/[a-z]/is","",ini_get('upload_max_filesize'));
$file_config->allowed_filetypes = '*.*';
@ -172,24 +166,7 @@
* @brief 특정 모듈의 file 설정을 return
**/
function getFileModuleConfig($module_srl) {
// file 모듈의 config를 가져옴
$oModuleModel = &getModel('module');
$file_config = $oModuleModel->getModuleConfig('file');
$module_file_config = $file_config->module_config[$module_srl];
if(!is_object($module_file_config)) $module_file_config = null;
if(!$module_file_config->module_srl) {
$module_file_config->module_srl = $module_srl;
$module_file_config->allowed_filesize = $file_config->allowed_filesize;
$module_file_config->allowed_attach_size = $file_config->allowed_attach_size;
$module_file_config->allowed_filetypes = $file_config->allowed_filetypes;
$module_file_config->download_grant = array();
} else {
if(!$module_file_config->download_grant) $module_file_config->download_grant = array();
}
return $module_file_config;
return $this->getFileConfig($module_srl);
}
}
?>