issue 26 Document status change with config.

old version coding with hard coding


git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8448 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ovclas 2011-06-03 08:51:55 +00:00
parent 0ba04bb1f7
commit e3376c3c3a
8 changed files with 45 additions and 20 deletions

View file

@ -11,6 +11,7 @@
// search option to use in admin page // search option to use in admin page
var $search_option = array('title','content','title_content','user_name',); // /< Search options var $search_option = array('title','content','title_content','user_name',); // /< Search options
var $statusList = array('private'=>'PRIVATE', 'public'=>'PUBLIC', 'secret'=>'SECRET', 'temp'=>'TEMP');
/** /**
* @brief Implement if additional tasks are necessary when installing * @brief Implement if additional tasks are necessary when installing
@ -262,5 +263,23 @@
FileHandler::removeFilesInDir(_XE_PATH_."files/cache/document_category"); FileHandler::removeFilesInDir(_XE_PATH_."files/cache/document_category");
} }
/**
* @brief Document Status List
**/
function getStatusList()
{
return $this->statusList;
}
function getDefaultStatus()
{
return $this->statusList['public'];
}
function getConfigStatus($key)
{
if(array_key_exists($key, $this->statusList)) return $this->statusList[$key];
else $this->getDefaultStatus();
}
} }
?> ?>

View file

@ -344,7 +344,7 @@ class documentController extends document {
// Remove iframe and script if not a top adminisrator in the session. // Remove iframe and script if not a top adminisrator in the session.
if($logged_info->is_admin != 'Y') $obj->content = removeHackTag($obj->content); if($logged_info->is_admin != 'Y') $obj->content = removeHackTag($obj->content);
// if temporary document, regdate is now setting // if temporary document, regdate is now setting
if($source_obj->get('status') == 'TEMP') $obj->regdate = date('YmdHis'); if($source_obj->get('status') == $this->getConfigStatus('temp')) $obj->regdate = date('YmdHis');
// Insert data into the DB // Insert data into the DB
$output = executeQuery('document.updateDocument', $obj); $output = executeQuery('document.updateDocument', $obj);
@ -1648,7 +1648,7 @@ class documentController extends document {
$obj = Context::getRequestVars(); $obj = Context::getRequestVars();
// Change the target module to log-in information // Change the target module to log-in information
$obj->module_srl = $module_info->module_srl; $obj->module_srl = $module_info->module_srl;
$obj->status = 'TEMP'; $obj->status = $this->getConfigStatus('temp');
unset($obj->is_notice); unset($obj->is_notice);
// Extract from beginning part of contents in the guestbook // Extract from beginning part of contents in the guestbook

View file

@ -122,7 +122,8 @@
} }
function isSecret() { function isSecret() {
return $this->get('status') == 'SECRET' ? true : false; $oDocumentModel = &getModel('document');
return $this->get('status') == $oDocumentModel->getConfigStatus('secret') ? true : false;
} }
function isNotice() { function isNotice() {
@ -633,7 +634,7 @@
function getStatus() function getStatus()
{ {
if(!$this->get('status')) return 'PUBLIC'; if(!$this->get('status')) return $this->getDefaultStatus();
return $this->get('status'); return $this->get('status');
} }
@ -756,8 +757,12 @@
$status = $this->get('status'); $status = $this->get('status');
if(empty($status)) return false; if(empty($status)) return false;
if($status == 'PUBLIC' || $status == 'PUBLISH') return true; $oDocumentModel = &getModel('document');
else if($status == 'PRIVATE' || $status == 'SECRET') $configStatusList = $oDocumentModel->getStatusList();
if($status == $configStatusList['public'] || $status == $configStatusList['publish'])
return true;
else if($status == $configStatusList['private'] || $status == $configStatusList['secret'])
{ {
if($this->get('member_srl') == $logged_info->member_srl) if($this->get('member_srl') == $logged_info->member_srl)
return true; return true;

View file

@ -180,8 +180,8 @@
$args->start_date = $obj->start_date?$obj->start_date:null; $args->start_date = $obj->start_date?$obj->start_date:null;
$args->end_date = $obj->end_date?$obj->end_date:null; $args->end_date = $obj->end_date?$obj->end_date:null;
$args->member_srl = $obj->member_srl; $args->member_srl = $obj->member_srl;
$args->statusList = $obj->statusList?$obj->statusList:array('SECRET', 'PUBLIC', 'PUBLISH'); $args->statusList = $obj->statusList?$obj->statusList:array($this->getConfigStatus('secret'), $this->getConfigStatus('public'));
if($logged_info->is_admin == 'Y') $args->statusList = array('SECRET', 'PUBLIC', 'PUBLISH'); if($logged_info->is_admin == 'Y') $args->statusList = array($this->getConfigStatus('secret'), $this->getConfigStatus('public'));
// Category is selected, further sub-categories until all conditions // Category is selected, further sub-categories until all conditions
if($args->category_srl) { if($args->category_srl) {
$category_list = $this->getCategoryList($args->module_srl); $category_list = $this->getCategoryList($args->module_srl);
@ -927,8 +927,8 @@
break; break;
case 'is_notice' : case 'is_notice' :
case 'is_secret' : case 'is_secret' :
if($search_keyword=='N') $args->statusList = array('PUBLIC', 'PUBLISH'); if($search_keyword=='N') $args->statusList = array($this->getConfigStatus('public'));
elseif($search_keyword=='Y') $args->statusList = array('SECRET'); elseif($search_keyword=='Y') $args->statusList = array($this->getConfigStatus('secret'));
break; break;
case 'member_srl' : case 'member_srl' :
case 'readed_count' : case 'readed_count' :
@ -1003,11 +1003,11 @@
$this->add('voted_member_list',$output->data); $this->add('voted_member_list',$output->data);
} }
function getStatusConfigList() function getStatusNameList()
{ {
global $lang; global $lang;
if(!isset($lang->status_name_list)) if(!isset($lang->status_name_list))
return array('PRIVATE'=>'private', 'PUBLIC'=>'public', 'SECRET'=>'secret', 'TEMP'=>'temporary'); return array_flip($this->getStatusList());
else return $lang->status_name_list; else return $lang->status_name_list;
} }
@ -1083,8 +1083,8 @@
break; break;
case 'is_notice' : case 'is_notice' :
case 'is_secret' : case 'is_secret' :
if($search_keyword=='N') $args->statusList = array('PUBLIC', 'PUBLISH'); if($search_keyword=='N') $args->statusList = array($this->getConfigStatus('public'));
elseif($search_keyword=='Y') $args->statusList = array('SECRET'); elseif($search_keyword=='Y') $args->statusList = array($this->getConfigStatus('secret'));
break; break;
case 'member_srl' : case 'member_srl' :
case 'readed_count' : case 'readed_count' :

View file

@ -129,7 +129,7 @@
// Get the saved document (module_srl is set to member_srl instead) // Get the saved document (module_srl is set to member_srl instead)
$logged_info = Context::get('logged_info'); $logged_info = Context::get('logged_info');
$args->member_srl = $logged_info->member_srl; $args->member_srl = $logged_info->member_srl;
$args->statusList = array('TEMP'); $args->statusList = array($this->getConfigStatus('temp'));
$args->page = (int)Context::get('page'); $args->page = (int)Context::get('page');
$args->list_count = 10; $args->list_count = 10;

View file

@ -539,7 +539,7 @@
$obj->member_srl = 0; $obj->member_srl = 0;
$obj->is_notice = base64_decode($xmlDoc->post->is_notice->body)=='Y'?'Y':'N'; $obj->is_notice = base64_decode($xmlDoc->post->is_notice->body)=='Y'?'Y':'N';
$obj->status = base64_decode($xmlDoc->post->is_secret->body)=='Y'?'SECRET':'PUBLIC'; $obj->status = base64_decode($xmlDoc->post->is_secret->body)=='Y'?$oDocumentModel->getConfigStatus('secret'):$oDocumentModel->getConfigStatus('public');
$obj->title = base64_decode($xmlDoc->post->title->body); $obj->title = base64_decode($xmlDoc->post->title->body);
$obj->content = base64_decode($xmlDoc->post->content->body); $obj->content = base64_decode($xmlDoc->post->content->body);
$obj->readed_count = base64_decode($xmlDoc->post->readed_count->body); $obj->readed_count = base64_decode($xmlDoc->post->readed_count->body);

View file

@ -113,7 +113,7 @@
} }
$obj->is_notice = 'N'; $obj->is_notice = 'N';
$obj->status = in_array($xmlDoc->post->visibility->body, array('public','syndicated'))?'PUBLIC':'SECRET'; $obj->status = in_array($xmlDoc->post->visibility->body, array('public','syndicated'))?$oDocumentModel->getConfigStatus('public'):$oDocumentModel->('secret');
$obj->title = $xmlDoc->post->title->body; $obj->title = $xmlDoc->post->title->body;
$obj->content = $xmlDoc->post->content->body; $obj->content = $xmlDoc->post->content->body;
$obj->password = md5($xmlDoc->post->password->body); $obj->password = md5($xmlDoc->post->password->body);
@ -275,7 +275,7 @@
$obj->document_srl = getNextSequence(); $obj->document_srl = getNextSequence();
$obj->uploaded_count = 0; $obj->uploaded_count = 0;
$obj->is_notice = 'N'; $obj->is_notice = 'N';
$obj->status = $val->secret->body=='1'?'SECRET':'PUBLIC'; $obj->status = $val->secret->body=='1'?$oDocumentModel->getConfigStatus('secret'):$oDocumentModel->getConfigStatus('public');
$obj->content = nl2br($val->content->body); $obj->content = nl2br($val->content->body);
// Extract a title form the bocy // Extract a title form the bocy

View file

@ -61,7 +61,8 @@
* @brief A trigger to add points to the member for creating a post * @brief A trigger to add points to the member for creating a post
**/ **/
function triggerInsertDocument(&$obj) { function triggerInsertDocument(&$obj) {
if($obj->status != 'TEMP') $oDocumentModel = &getModel('document');
if($obj->status != $oDocumentModel->getConfigStatus('temp'))
{ {
$module_srl = $obj->module_srl; $module_srl = $obj->module_srl;
$member_srl = $obj->member_srl; $member_srl = $obj->member_srl;
@ -100,7 +101,7 @@
$oDocument = $oDocumentModel->getDocument($document_srl); $oDocument = $oDocumentModel->getDocument($document_srl);
// if status is TEMP or PUBLIC... give not point, only status is empty // if status is TEMP or PUBLIC... give not point, only status is empty
if($oDocument->get('status') == 'TEMP' && $obj->status != 'TEMP') if($oDocument->get('status') == $oDocumentModel->getConfigStatus('temp') && $obj->status != $oDocumentModel->getConfigStatus('temp'))
{ {
$oModuleModel = &getModel('module'); $oModuleModel = &getModel('module');