mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 18:51:41 +09:00
위젯 검출 정규 표현식을 수정
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2892 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
f9896fe51a
commit
90aa62a6ac
993 changed files with 9190 additions and 10457 deletions
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<module version="0.1">
|
||||
<module version="0.1" category="accessory">
|
||||
<title xml:lang="ko">포인트 시스템</title>
|
||||
<title xml:lang="zh-CN">积分系统</title>
|
||||
<title xml:lang="jp">ポイントシステム</title>
|
||||
|
|
|
|||
|
|
@ -11,5 +11,6 @@
|
|||
<action name="procPointAdminInsertModuleConfig" type="controller" standalone="true" />
|
||||
<action name="procPointAdminInsertActConfig" type="controller" standalone="true" />
|
||||
<action name="procPointAdminUpdatePoint" type="controller" standalone="true" />
|
||||
<action name="procPointAdminInsertPointModuleConfig" type="controller" standalone="true" />
|
||||
</actions>
|
||||
</module>
|
||||
|
|
|
|||
|
|
@ -9,22 +9,22 @@
|
|||
$lang->level = "Level";
|
||||
|
||||
$lang->about_point_module = "You can grant points on writing/adding comments/uploading/downloading.<br />But point module only configure settings, and the point will be accumulated only when point addon is activated";
|
||||
$lang->about_act_config = "Each module like board/blog has actions such as writing/deleting/adding comments/deleting comments.<br />You can just add act value to link modules with point system except board/blog.<br />Comma(,) will distinguish multiple values.";
|
||||
$lang->about_act_config = "Each module like board/blog has its own actions such as \"writing/deleting/adding comments/deleting comments\".<br />You can just add act values to link modules with point system except board/blog.<br />Comma(,) will distinguish multiple values.";
|
||||
|
||||
$lang->max_level = 'Max Level';
|
||||
$lang->about_max_level = 'You can set the max level. Level icons should be considered and 1000 is the maximum value you can set';
|
||||
$lang->about_max_level = 'You may set the max level. Level icons should be considered and the level of 1000 is the maximum value you can set';
|
||||
|
||||
$lang->level_icon = 'Level Icon';
|
||||
$lang->about_level_icon = 'Path of level icon is ./module/point/icons/[level].gif and max level could be different with icon set. So be careful';
|
||||
$lang->about_level_icon = 'Path of level icon is "./module/point/icons/[level].gif" and max level could be different with icon set. So please be careful';
|
||||
|
||||
$lang->point_name = 'Point Name';
|
||||
$lang->about_point_name = 'You can give point name or unit';
|
||||
$lang->about_point_name = 'You may give a name or unit for point';
|
||||
|
||||
$lang->level_point = 'Level Point';
|
||||
$lang->about_level_point = 'Level will be adjusted when point reaches to each level point or decrease under each level point';
|
||||
$lang->about_level_point = 'Level will be adjusted when point gets to each level point or drops under each level point';
|
||||
|
||||
$lang->disable_download = 'Prohibit Downloads';
|
||||
$lang->about_disable_download = "It will prohibit downloads when there isn't enough point. (Exclude image files)";
|
||||
$lang->about_disable_download = "This will prohibit downloads when there are not enough points. (Exclude image files)";
|
||||
|
||||
$lang->about_module_point = "You can set point for each module and modules which don't have any value will use default point.<br />All point will be restored on acting reverse.";
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,13 @@
|
|||
$config->point_name = $args->point_name;
|
||||
if(!$config->point_name) $config->point_name = 'point';
|
||||
|
||||
$config->signup_point = (int)$args->signup_point;
|
||||
$config->login_point = (int)$args->login_point;
|
||||
$config->insert_document = (int)$args->insert_document;
|
||||
$config->insert_comment = (int)$args->insert_comment;
|
||||
$config->upload_file = (int)$args->upload_file;
|
||||
$config->download_file = (int)$args->download_file;
|
||||
|
||||
$config->max_level = $args->max_level;
|
||||
if($config->max_level>1000) $config->max_level = 1000;
|
||||
if($config->max_level<1) $config->max_level = 1;
|
||||
|
|
@ -61,14 +68,8 @@
|
|||
// 변수 정리
|
||||
$args = Context::getRequestVars();
|
||||
|
||||
$config->signup = (int)$args->signup;
|
||||
$config->insert_document = (int)$args->insert_document;
|
||||
$config->insert_comment = (int)$args->insert_comment;
|
||||
$config->upload_file = (int)$args->upload_file;
|
||||
$config->download_file = (int)$args->download_file;
|
||||
|
||||
foreach($args as $key => $val) {
|
||||
preg_match("/^(signup|insert_document|insert_comment|upload_file|download_file)_([0-9]+)$/", $key, $matches);
|
||||
preg_match("/^(insert_document|insert_comment|upload_file|download_file)_([0-9]+)$/", $key, $matches);
|
||||
if(!$matches[1]) continue;
|
||||
$name = $matches[1];
|
||||
$module_srl = $matches[2];
|
||||
|
|
@ -85,6 +86,28 @@
|
|||
$this->setMessage('success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 모듈별 개별 포인트 저장
|
||||
**/
|
||||
function procPointAdminInsertPointModuleConfig() {
|
||||
$module_srl = Context::get('target_module_srl');
|
||||
if(!$module_srl) return new Object(-1, 'msg_invalid_request');
|
||||
|
||||
// 설정 정보 가져오기
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
$config->module_point[$module_srl]['insert_document'] = (int)Context::get('insert_document');
|
||||
$config->module_point[$module_srl]['insert_comment'] = (int)Context::get('insert_comment');
|
||||
$config->module_point[$module_srl]['upload_file'] = (int)Context::get('upload_file');
|
||||
$config->module_point[$module_srl]['download_file'] = (int)Context::get('download_file');
|
||||
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->insertModuleConfig('point', $config);
|
||||
|
||||
return new Object(0, 'success_registed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 기능별 act 저장
|
||||
**/
|
||||
|
|
@ -96,7 +119,6 @@
|
|||
// 변수 정리
|
||||
$args = Context::getRequestVars();
|
||||
|
||||
$config->signup_act = $args->signup_act;
|
||||
$config->insert_document_act = $args->insert_document_act;
|
||||
$config->delete_document_act = $args->delete_document_act;
|
||||
$config->insert_comment_act = $args->insert_comment_act;
|
||||
|
|
@ -134,8 +156,7 @@
|
|||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
// 각 act값을 정리
|
||||
$act_list = sprintf("%s,%s,%s,%s,%s,%s,%s,%s",
|
||||
$config->signup_act,
|
||||
$act_list = sprintf("%s,%s,%s,%s,%s,%s,%s",
|
||||
$config->insert_document_act,
|
||||
$config->delete_document_act,
|
||||
$config->insert_comment_act,
|
||||
|
|
|
|||
|
|
@ -31,6 +31,12 @@
|
|||
$config->level_step[$i] = pow($i,2)*90;
|
||||
}
|
||||
|
||||
// 회원가입
|
||||
$config->signup_point = 10;
|
||||
|
||||
// 로그인 가입
|
||||
$config->login_point = 5;
|
||||
|
||||
// 포인트 호칭
|
||||
$config->point_name = 'point';
|
||||
|
||||
|
|
@ -43,10 +49,6 @@
|
|||
/**
|
||||
* 모듈별 기본 점수 및 각 action 정의 (게시판,블로그외에 어떤 모듈이 생길지 모르니 act값을 명시한다
|
||||
**/
|
||||
// 회원가입
|
||||
$config->signup = 10;
|
||||
|
||||
$config->signup_act = 'procMemberInsert';
|
||||
|
||||
// 글작성
|
||||
$config->insert_document = 10;
|
||||
|
|
@ -77,6 +79,19 @@
|
|||
$oPointController = &getAdminController('point');
|
||||
$oPointController->cacheActList();
|
||||
|
||||
// 가입/글작성/댓글작성/파일업로드/다운로드에 대한 트리거 추가
|
||||
$oModuleController->insertTrigger('member.insertMember', 'point', 'controller', 'triggerInsertMember', 'after');
|
||||
$oModuleController->insertTrigger('document.insertDocument', 'point', 'controller', 'triggerInsertDocument', 'after');
|
||||
$oModuleController->insertTrigger('document.deleteDocument', 'point', 'controller', 'triggerDeleteDocument', 'after');
|
||||
$oModuleController->insertTrigger('comment.insertComment', 'point', 'controller', 'triggerInsertComment', 'after');
|
||||
$oModuleController->insertTrigger('comment.deleteComment', 'point', 'controller', 'triggerDeleteComment', 'after');
|
||||
$oModuleController->insertTrigger('file.insertFile', 'point', 'controller', 'triggerInsertFile', 'after');
|
||||
$oModuleController->insertTrigger('file.deleteFile', 'point', 'controller', 'triggerDeleteFile', 'after');
|
||||
$oModuleController->insertTrigger('file.downloadFile', 'point', 'controller', 'triggerBeforeDownloadFile', 'before');
|
||||
$oModuleController->insertTrigger('file.downloadFile', 'point', 'controller', 'triggerDownloadFile', 'after');
|
||||
$oModuleController->insertTrigger('member.doLogin', 'point', 'controller', 'triggerAfterLogin', 'after');
|
||||
$oModuleController->insertTrigger('module.dispAdditionSetup', 'point', 'view', 'triggerDispPointAdditionSetup', 'after');
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
|
|
@ -88,7 +103,18 @@
|
|||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
if(!isset($config->signup) || !isset($config->signup_act)) return true;
|
||||
// 가입/글작성/댓글작성/파일업로드/다운로드에 대한 트리거 추가
|
||||
if(!$oModuleModel->getTrigger('member.insertMember', 'point', 'controller', 'triggerInsertMember', 'after')) return true;
|
||||
if(!$oModuleModel->getTrigger('document.insertDocument', 'point', 'controller', 'triggerInsertDocument', 'after')) return true;
|
||||
if(!$oModuleModel->getTrigger('document.deleteDocument', 'point', 'controller', 'triggerDeleteDocument', 'after')) return true;
|
||||
if(!$oModuleModel->getTrigger('comment.insertComment', 'point', 'controller', 'triggerInsertComment', 'after')) return true;
|
||||
if(!$oModuleModel->getTrigger('comment.deleteComment', 'point', 'controller', 'triggerDeleteComment', 'after')) return true;
|
||||
if(!$oModuleModel->getTrigger('file.insertFile', 'point', 'controller', 'triggerInsertFile', 'after')) return true;
|
||||
if(!$oModuleModel->getTrigger('file.deleteFile', 'point', 'controller', 'triggerDeleteFile', 'after')) return true;
|
||||
if(!$oModuleModel->getTrigger('file.downloadFile', 'point', 'controller', 'triggerBeforeDownloadFile', 'before')) return true;
|
||||
if(!$oModuleModel->getTrigger('file.downloadFile', 'point', 'controller', 'triggerDownloadFile', 'after')) return true;
|
||||
if(!$oModuleModel->getTrigger('member.doLogin', 'point', 'controller', 'triggerAfterLogin', 'after')) return true;
|
||||
if(!$oModuleModel->getTrigger('module.dispAdditionSetup', 'point', 'view', 'triggerDispPointAdditionSetup', 'after')) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
@ -99,18 +125,33 @@
|
|||
function moduleUpdate() {
|
||||
// point 모듈 정보 가져옴
|
||||
$oModuleModel = &getModel('module');
|
||||
$oModuleController = &getController('module');
|
||||
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
if(!$config->signup || !$config->signup_act) {
|
||||
$config->signup = 10;
|
||||
$config->signup_act = 'procMemberInsert';
|
||||
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->insertModuleConfig('point', $config);
|
||||
|
||||
$oPointController = &getAdminController('point');
|
||||
$oPointController->cacheActList();
|
||||
}
|
||||
// 가입/글작성/댓글작성/파일업로드/다운로드에 대한 트리거 추가
|
||||
if(!$oModuleModel->getTrigger('member.insertMember', 'point', 'controller', 'triggerInsertMember', 'after'))
|
||||
$oModuleController->insertTrigger('member.insertMember', 'point', 'controller', 'triggerInsertMember', 'after');
|
||||
if(!$oModuleModel->getTrigger('document.insertDocument', 'point', 'controller', 'triggerInsertDocument', 'after'))
|
||||
$oModuleController->insertTrigger('document.insertDocument', 'point', 'controller', 'triggerInsertDocument', 'after');
|
||||
if(!$oModuleModel->getTrigger('document.deleteDocument', 'point', 'controller', 'triggerDeleteDocument', 'after'))
|
||||
$oModuleController->insertTrigger('document.deleteDocument', 'point', 'controller', 'triggerDeleteDocument', 'after');
|
||||
if(!$oModuleModel->getTrigger('comment.insertComment', 'point', 'controller', 'triggerInsertComment', 'after'))
|
||||
$oModuleController->insertTrigger('comment.insertComment', 'point', 'controller', 'triggerInsertComment', 'after');
|
||||
if(!$oModuleModel->getTrigger('comment.deleteComment', 'point', 'controller', 'triggerDeleteComment', 'after'))
|
||||
$oModuleController->insertTrigger('comment.deleteComment', 'point', 'controller', 'triggerDeleteComment', 'after');
|
||||
if(!$oModuleModel->getTrigger('file.insertFile', 'point', 'controller', 'triggerInsertFile', 'after'))
|
||||
$oModuleController->insertTrigger('file.insertFile', 'point', 'controller', 'triggerInsertFile', 'after');
|
||||
if(!$oModuleModel->getTrigger('file.deleteFile', 'point', 'controller', 'triggerDeleteFile', 'after'))
|
||||
$oModuleController->insertTrigger('file.deleteFile', 'point', 'controller', 'triggerDeleteFile', 'after');
|
||||
if(!$oModuleModel->getTrigger('file.downloadFile', 'point', 'controller', 'triggerBeforeDownloadFile', 'before'))
|
||||
$oModuleController->insertTrigger('file.downloadFile', 'point', 'controller', 'triggerBeforeDownloadFile', 'before');
|
||||
if(!$oModuleModel->getTrigger('file.downloadFile', 'point', 'controller', 'triggerDownloadFile', 'after'))
|
||||
$oModuleController->insertTrigger('file.downloadFile', 'point', 'controller', 'triggerDownloadFile', 'after');
|
||||
if(!$oModuleModel->getTrigger('member.doLogin', 'point', 'controller', 'triggerAfterLogin', 'after'))
|
||||
$oModuleController->insertTrigger('member.doLogin', 'point', 'controller', 'triggerAfterLogin', 'after');
|
||||
if(!$oModuleModel->getTrigger('module.dispAdditionSetup', 'point', 'view', 'triggerDispPointAdditionSetup', 'after'))
|
||||
$oModuleController->insertTrigger('module.dispAdditionSetup', 'point', 'view', 'triggerDispPointAdditionSetup', 'after');
|
||||
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,10 +19,287 @@
|
|||
function init() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 회원가입 포인트 적용 trigger
|
||||
**/
|
||||
function triggerInsertMember(&$obj) {
|
||||
// point 모듈 정보 가져옴
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
// 가입한 회원의 member_srl을 구함
|
||||
$member_srl = $obj->member_srl;
|
||||
|
||||
// 대상 회원의 포인트를 구함
|
||||
$oPointModel = &getModel('point');
|
||||
$cur_point = $oPointModel->getPoint($member_srl, true);
|
||||
|
||||
$point = $config->signup_point;
|
||||
|
||||
// 포인트 증감
|
||||
$cur_point += $point;
|
||||
$this->setPoint($member_srl,$cur_point);
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 회원 로그인 포인트 적용 trigger
|
||||
**/
|
||||
function triggerAfterLogin(&$obj) {
|
||||
$member_srl = $obj->member_srl;
|
||||
if(!$member_srl) return new Object();
|
||||
|
||||
// 바로 이전 로그인이 오늘이 아니어야 포인트를 줌
|
||||
if(substr($obj->last_login,0,8)==date("Ymd")) return new Object();
|
||||
|
||||
// point 모듈 정보 가져옴
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
// 대상 회원의 포인트를 구함
|
||||
$oPointModel = &getModel('point');
|
||||
$cur_point = $oPointModel->getPoint($member_srl, true);
|
||||
|
||||
$point = $config->login_point;
|
||||
|
||||
// 포인트 증감
|
||||
$cur_point += $point;
|
||||
$this->setPoint($member_srl,$cur_point);
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 게시글 등록 포인트 적용 trigger
|
||||
**/
|
||||
function triggerInsertDocument(&$obj) {
|
||||
$module_srl = $obj->module_srl;
|
||||
$member_srl = $obj->member_srl;
|
||||
if(!$module_srl || !$member_srl) return new Object();
|
||||
|
||||
// point 모듈 정보 가져옴
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
// 대상 회원의 포인트를 구함
|
||||
$oPointModel = &getModel('point');
|
||||
$cur_point = $oPointModel->getPoint($member_srl, true);
|
||||
|
||||
$point = $config->module_point[$module_srl]['insert_document'];
|
||||
if(!isset($point)) $point = $config->insert_document;
|
||||
|
||||
// 포인트 증감
|
||||
$cur_point += $point;
|
||||
$this->setPoint($member_srl,$cur_point);
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 게시글 삭제 포인트 적용 trigger
|
||||
**/
|
||||
function triggerDeleteDocument(&$obj) {
|
||||
$module_srl = $obj->module_srl;
|
||||
$member_srl = $obj->member_srl;
|
||||
if(!$module_srl || !$member_srl) return new Object();
|
||||
|
||||
// 로그인 상태일때만 실행
|
||||
$logged_info = Context::get('logged_info');
|
||||
if(!$logged_info->member_srl) return new Object();
|
||||
|
||||
// point 모듈 정보 가져옴
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
// 대상 회원의 포인트를 구함
|
||||
$oPointModel = &getModel('point');
|
||||
$cur_point = $oPointModel->getPoint($member_srl, true);
|
||||
|
||||
$point = $config->module_point[$module_srl]['insert_document'];
|
||||
if(!isset($point)) $point = $config->insert_document;
|
||||
|
||||
// 포인트 증감
|
||||
$cur_point -= $point;
|
||||
$this->setPoint($member_srl,$cur_point);
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 댓글 등록 포인트 적용 trigger
|
||||
**/
|
||||
function triggerInsertComment(&$obj) {
|
||||
$module_srl = $obj->module_srl;
|
||||
$member_srl = $obj->member_srl;
|
||||
if(!$module_srl || !$member_srl) return new Object();
|
||||
|
||||
// point 모듈 정보 가져옴
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
// 대상 회원의 포인트를 구함
|
||||
$oPointModel = &getModel('point');
|
||||
$cur_point = $oPointModel->getPoint($member_srl, true);
|
||||
|
||||
$point = $config->module_point[$module_srl]['insert_comment'];
|
||||
if(!isset($point)) $point = $config->insert_comment;
|
||||
|
||||
// 포인트 증감
|
||||
$cur_point += $point;
|
||||
$this->setPoint($member_srl,$cur_point);
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 댓글 삭제 포인트 적용 trigger
|
||||
**/
|
||||
function triggerDeleteComment(&$obj) {
|
||||
$module_srl = $obj->module_srl;
|
||||
$member_srl = $obj->member_srl;
|
||||
if(!$module_srl || !$member_srl) return new Object();
|
||||
|
||||
// point 모듈 정보 가져옴
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
// 대상 회원의 포인트를 구함
|
||||
$oPointModel = &getModel('point');
|
||||
$cur_point = $oPointModel->getPoint($member_srl, true);
|
||||
|
||||
$point = $config->module_point[$module_srl]['insert_comment'];
|
||||
if(!isset($point)) $point = $config->insert_comment;
|
||||
|
||||
// 포인트 증감
|
||||
$cur_point -= $point;
|
||||
$this->setPoint($member_srl,$cur_point);
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 파일 등록 trigger 추가
|
||||
**/
|
||||
function triggerInsertFile(&$obj) {
|
||||
$module_srl = $obj->module_srl;
|
||||
$member_srl = $obj->member_srl;
|
||||
if(!$module_srl || !$member_srl) return new Object();
|
||||
|
||||
// point 모듈 정보 가져옴
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
// 대상 회원의 포인트를 구함
|
||||
$oPointModel = &getModel('point');
|
||||
$cur_point = $oPointModel->getPoint($member_srl, true);
|
||||
|
||||
$point = $config->module_point[$module_srl]['upload_file'];
|
||||
if(!isset($point)) $point = $config->upload_file;
|
||||
|
||||
// 포인트 증감
|
||||
$cur_point += $point;
|
||||
$this->setPoint($member_srl,$cur_point);
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 파일 삭제 포인트 적용 trigger
|
||||
**/
|
||||
function triggerDeleteFile(&$obj) {
|
||||
$module_srl = $obj->module_srl;
|
||||
$member_srl = $obj->member_srl;
|
||||
if(!$module_srl || !$member_srl) return new Object();
|
||||
|
||||
// point 모듈 정보 가져옴
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
// 대상 회원의 포인트를 구함
|
||||
$oPointModel = &getModel('point');
|
||||
$cur_point = $oPointModel->getPoint($member_srl, true);
|
||||
|
||||
$point = $config->module_point[$module_srl]['upload_file'];
|
||||
if(!isset($point)) $point = $config->upload_file;
|
||||
|
||||
// 포인트 증감
|
||||
$cur_point -= $point;
|
||||
$this->setPoint($member_srl,$cur_point);
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 파일 다운로드 전에 호출되는 trigger
|
||||
**/
|
||||
function triggerBeforeDownloadFile(&$obj) {
|
||||
// point 모듈 정보 가져옴
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
// 포인트가 없으면 다운로드가 안되도록 하였으면 비로그인 회원일 경우 중지
|
||||
if(!Context::get('is_logged') && $config->disable_download == 'Y') return new Object(-1,'msg_not_permitted_download');
|
||||
|
||||
// 로그인 상태일때만 실행
|
||||
$logged_info = Context::get('logged_info');
|
||||
if(!$logged_info->member_srl) return new Object();
|
||||
|
||||
$member_srl = $logged_info->member_srl;
|
||||
$module_srl = $obj->module_srl;
|
||||
if(!$module_srl) return new Object();
|
||||
|
||||
// 대상 회원의 포인트를 구함
|
||||
$oPointModel = &getModel('point');
|
||||
$cur_point = $oPointModel->getPoint($member_srl, true);
|
||||
|
||||
// 포인트를 구해옴
|
||||
$point = $config->module_point[$module_srl]['download_file'];
|
||||
if(!isset($point)) $point = $config->download_file;
|
||||
|
||||
// 포인트가 0보다 작고 포인트가 없으면 파일 다운로드가 안되도록 했다면 오류
|
||||
if($cur_point + $point < 0 && $config->disable_download == 'Y') return new Object(-1,'msg_not_permitted_download');
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 파일 다운로드 포인트 적용 trigger
|
||||
**/
|
||||
function triggerDownloadFile(&$obj) {
|
||||
// 로그인 상태일때만 실행
|
||||
$logged_info = Context::get('logged_info');
|
||||
if(!$logged_info->member_srl) return new Object();
|
||||
|
||||
$module_srl = $obj->module_srl;
|
||||
$member_srl = $logged_info->member_srl;
|
||||
if(!$module_srl) return new Object();
|
||||
|
||||
// point 모듈 정보 가져옴
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
// 대상 회원의 포인트를 구함
|
||||
$oPointModel = &getModel('point');
|
||||
$cur_point = $oPointModel->getPoint($member_srl, true);
|
||||
|
||||
// 포인트를 구해옴
|
||||
$point = $config->module_point[$module_srl]['download_file'];
|
||||
if(!isset($point)) $point = $config->download_file;
|
||||
|
||||
// 포인트 증감
|
||||
$cur_point += $point;
|
||||
$this->setPoint($member_srl,$cur_point);
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 포인트 설정
|
||||
**/
|
||||
function setPoint($member_srl, $point) {
|
||||
if($point < 0) $point = 0;
|
||||
|
||||
// 변수 설정
|
||||
$args->member_srl = $member_srl;
|
||||
$args->point = $point;
|
||||
|
|
|
|||
59
modules/point/point.view.php
Normal file
59
modules/point/point.view.php
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
<?php
|
||||
/**
|
||||
* @class pointView
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief point module의 view class
|
||||
*
|
||||
* POINT 2.0형식으로 문서 출력
|
||||
*
|
||||
**/
|
||||
|
||||
class pointView extends point {
|
||||
|
||||
/**
|
||||
* @brief 초기화
|
||||
**/
|
||||
function init() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 서비스형 모듈의 추가 설정을 위한 부분
|
||||
* point의 사용 형태에 대한 설정만 받음
|
||||
**/
|
||||
function triggerDispPointAdditionSetup(&$obj) {
|
||||
$current_module_srl = Context::get('module_srl');
|
||||
|
||||
if(!$current_module_srl) {
|
||||
// 선택된 모듈의 정보를 가져옴
|
||||
$current_module_info = Context::get('current_module_info');
|
||||
$current_module_srl = $current_module_info->module_srl;
|
||||
}
|
||||
|
||||
if(!$current_module_srl) return new Object();
|
||||
|
||||
// 설정 정보 가져오기
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('point');
|
||||
|
||||
if($config->module_point[$current_module_srl]) $module_config = $config->module_point[$current_module_srl];
|
||||
else {
|
||||
$module_config['insert_document'] = $config->insert_document;
|
||||
$module_config['insert_comment'] = $config->insert_comment;
|
||||
$module_config['upload_file'] = $config->upload_file;
|
||||
$module_config['download_file'] = $config->download_file;
|
||||
}
|
||||
|
||||
$module_config['module_srl'] = $current_module_srl;
|
||||
$module_config['point_name'] = $config->point_name;
|
||||
|
||||
Context::set('module_config', $module_config);
|
||||
|
||||
// 템플릿 파일 지정
|
||||
$oTemplate = &TemplateHandler::getInstance();
|
||||
$tpl = $oTemplate->compile($this->module_path.'tpl', 'point_module_config');
|
||||
$obj .= $tpl;
|
||||
|
||||
return new Object();
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -7,10 +7,6 @@
|
|||
<table cellspacing="0" class="tableType2 gap1">
|
||||
<col width="200" />
|
||||
<col />
|
||||
<tr>
|
||||
<th>{$lang->point_signup}</th>
|
||||
<td><input type="text" name="signup_act" value="{$config->signup_act}" class="inputTypeText w100" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->point_insert_document}</th>
|
||||
<td><input type="text" name="insert_document_act" value="{$config->insert_document_act}" class="inputTypeText w100" /></td>
|
||||
|
|
|
|||
|
|
@ -3,11 +3,10 @@
|
|||
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, insert_config);">
|
||||
|
||||
<div class="infoText">{$lang->about_point_module}</div>
|
||||
<table cellspacing="0" class="tableType2 gap1">
|
||||
<col width="200" />
|
||||
<col width="40" />
|
||||
<col width="40" />
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="180" />
|
||||
<col width="120" />
|
||||
<col width="120" />
|
||||
<col />
|
||||
<tr>
|
||||
<th scope="col">{$lang->max_level}</th>
|
||||
|
|
@ -23,6 +22,34 @@
|
|||
<p>{$lang->about_point_name}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="col" rowspan="6">{$lang->is_default}</th>
|
||||
<td colspan="2">{$lang->point_signup}</th>
|
||||
<td>
|
||||
<input type="text" class="inputTypeText w80" value="{$config->signup_point}" name="signup_point" /> {$config->point_name}
|
||||
<p>{$lang->about_point_signup}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">{$lang->cmd_login}</th>
|
||||
<td><input type="text" class="inputTypeText w80" value="{$config->login_point}" name="login_point" /> {$config->point_name}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">{$lang->point_insert_document}</td>
|
||||
<td><input type="text" name="insert_document" value="{$config->insert_document}" class="inputTypeText w80" /> {$config->point_name}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">{$lang->point_insert_comment}</td>
|
||||
<td><input type="text" name="insert_comment" value="{$config->insert_comment}" class="inputTypeText w80" /> {$config->point_name}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">{$lang->point_upload_file}</td>
|
||||
<td><input type="text" name="upload_file" value="{$config->upload_file}" class="inputTypeText w80" /> {$config->point_name}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">{$lang->point_download_file}</td>
|
||||
<td><input type="text" name="download_file" value="{$config->download_file}" class="inputTypeText w80" /> {$config->point_name}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="col">{$lang->level_icon}</th>
|
||||
<td colspan="3">
|
||||
|
|
|
|||
8
modules/point/tpl/filter/insert_point_module_config.xml
Normal file
8
modules/point/tpl/filter/insert_point_module_config.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<filter name="insert_point_module_config" module="point" act="procPointAdminInsertPointModuleConfig" confirm_msg_code="confirm_update">
|
||||
<form />
|
||||
<parameter />
|
||||
<response>
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
</response>
|
||||
</filter>
|
||||
|
|
@ -1,5 +1,10 @@
|
|||
<!--%import("js/point_admin.js")-->
|
||||
<h3>{$lang->point} <span class="gray">{$lang->cmd_management}</span></h3>
|
||||
<!--@if($act=="dispPointAdminModuleConfig")-->
|
||||
<div class="infoText">{$lang->about_module_point}</div>
|
||||
<!--@else-->
|
||||
<div class="infoText">{$lang->about_point_module}</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($module=='admin')-->
|
||||
<div class="header4">
|
||||
|
|
@ -13,7 +18,6 @@
|
|||
<ul class="localNavigation">
|
||||
<li <!--@if($act=='dispPointAdminConfig')-->class="on"<!--@end-->><a href="{getUrl('act','dispPointAdminConfig')}">{$lang->cmd_point_config}</a></li>
|
||||
<li <!--@if($act=='dispPointAdminModuleConfig')-->class="on"<!--@end-->><a href="{getUrl('act','dispPointAdminModuleConfig')}">{$lang->cmd_point_module_config}</a></li>
|
||||
<li <!--@if($act=='dispPointAdminActConfig')-->class="on"<!--@end-->><a href="{getUrl('act','dispPointAdminActConfig')}">{$lang->cmd_point_act_config}</a></li>
|
||||
<li <!--@if($act=='dispPointAdminPointList')-->class="on"<!--@end-->><a href="{getUrl('act','dispPointAdminPointList')}">{$lang->cmd_point_member_list}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,13 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
<!-- 목록 -->
|
||||
<table cellspacing="0" class="tableType1">
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="50" />
|
||||
<col />
|
||||
<col />
|
||||
<col />
|
||||
<col width="200" />
|
||||
<col width="80" />
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->no}</th>
|
||||
|
|
@ -24,7 +30,7 @@
|
|||
<form action="./" method="get" onsubmit="return procFilter(this, update_point);">
|
||||
<input type="hidden" name="member_srl" value="{$val->member_srl}" />
|
||||
<input type="text" name="point" value="{$val->point}" class="inputTypeText w80" />
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_update}" /></span>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_save}" /></span>
|
||||
</form>
|
||||
</td>
|
||||
<td class="tahoma">{$val->level}</td>
|
||||
|
|
@ -77,4 +83,4 @@
|
|||
<span class="button"><input type="submit" value="{$lang->cmd_search}" /></span>
|
||||
<a href="#" onclick="location.href='{getUrl('','module',$module,'act',$act)}';return false;" class="button"><span>{$lang->cmd_cancel}</span></a>
|
||||
</fieldset>
|
||||
</form>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -3,28 +3,17 @@
|
|||
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, insert_module_config);" id="fo_point">
|
||||
|
||||
<div class="infoText">{$lang->about_module_point}</div>
|
||||
<table cellspacing="0" class="tableType2 gap1">
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th>{$lang->point_signup}</th>
|
||||
<th>{$lang->point_insert_document}</th>
|
||||
<th>{$lang->point_insert_comment}</th>
|
||||
<th>{$lang->point_upload_file}</th>
|
||||
<th>{$lang->point_download_file}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="col">{$lang->is_default}</th>
|
||||
<td><input type="text" name="signup" value="{$config->signup}" class="inputTypeText w80" /> {$config->point_name}</td>
|
||||
<td><input type="text" name="insert_document" value="{$config->insert_document}" class="inputTypeText w80" /> {$config->point_name}</td>
|
||||
<td><input type="text" name="insert_comment" value="{$config->insert_comment}" class="inputTypeText w80" /> {$config->point_name}</td>
|
||||
<td><input type="text" name="upload_file" value="{$config->upload_file}" class="inputTypeText w80" /> {$config->point_name}</td>
|
||||
<td><input type="text" name="download_file" value="{$config->download_file}" class="inputTypeText w80" /> {$config->point_name}</td>
|
||||
</tr>
|
||||
<!--@foreach($mid_list as $key => $val)-->
|
||||
<tr>
|
||||
<th scope="col">{$val->browser_title} ({$val->mid})</th>
|
||||
<td><input type="text" name="signup_{$val->module_srl}" value="{$config->module_point[$val->module_srl]['signup']}" class="inputTypeText w80" /> {$config->point_name}</td>
|
||||
<td><input type="text" name="insert_document_{$val->module_srl}" value="{$config->module_point[$val->module_srl]['insert_document']}" class="inputTypeText w80" /> {$config->point_name}</td>
|
||||
<td><input type="text" name="insert_comment_{$val->module_srl}" value="{$config->module_point[$val->module_srl]['insert_comment']}" class="inputTypeText w80" /> {$config->point_name}</td>
|
||||
<td><input type="text" name="upload_file_{$val->module_srl}" value="{$config->module_point[$val->module_srl]['upload_file']}" class="inputTypeText w80" /> {$config->point_name}</td>
|
||||
|
|
|
|||
28
modules/point/tpl/point_module_config.html
Normal file
28
modules/point/tpl/point_module_config.html
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<!--%import("filter/insert_point_module_config.xml")-->
|
||||
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, insert_point_module_config);" id="fo_point">
|
||||
<input type="hidden" name="target_module_srl" value="{$module_config['module_srl']}" />
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<caption>{$lang->point}</caption>
|
||||
<tr>
|
||||
<th>{$lang->point_insert_document}</th>
|
||||
<th>{$lang->point_insert_comment}</th>
|
||||
<th>{$lang->point_upload_file}</th>
|
||||
<th>{$lang->point_download_file}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" name="insert_document" value="{$module_config['insert_document']}" class="inputTypeText w80" /> {$module_config['point_name']}</td>
|
||||
<td><input type="text" name="insert_comment" value="{$module_config['insert_comment']}" class="inputTypeText w80" /> {$module_config['point_name']}</td>
|
||||
<td><input type="text" name="upload_file" value="{$module_config['upload_file']}" class="inputTypeText w80" /> {$module_config['point_name']}</td>
|
||||
<td><input type="text" name="download_file" value="{$module_config['download_file']}" class="inputTypeText w80" /> {$module_config['point_name']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="4" class="button"><span class="button"><input type="submit" value="{$lang->cmd_save}" /></span></th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 버튼 -->
|
||||
|
||||
</form>
|
||||
<div class="gap1"></div>
|
||||
Loading…
Add table
Add a link
Reference in a new issue