mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-05 09:41:40 +09:00
#19745697 trash module devlopement
Document Status DB Column added, and Document module refactoring git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8401 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
4b9faef300
commit
2e86e56bf5
31 changed files with 220 additions and 129 deletions
|
|
@ -571,7 +571,7 @@ function doDocumentSave(obj) {
|
|||
else params[field.name] = field.value;
|
||||
});
|
||||
|
||||
exec_xml('member','procMemberSaveDocument', params, completeDocumentSave, responses, params, obj.form);
|
||||
exec_xml('document','procDocumentTempSave', params, completeDocumentSave, responses, params, obj.form);
|
||||
|
||||
editorRelKeys[editor_sequence]['content'].value = prev_content;
|
||||
return false;
|
||||
|
|
@ -587,7 +587,7 @@ var objForSavedDoc = null;
|
|||
function doDocumentLoad(obj) {
|
||||
// 저장된 게시글 목록 불러오기
|
||||
objForSavedDoc = obj.form;
|
||||
popopen(request_uri.setQuery('module','member').setQuery('act','dispSavedDocumentList'));
|
||||
popopen(request_uri.setQuery('module','document').setQuery('act','dispTempSavedList'));
|
||||
}
|
||||
|
||||
/* 저장된 게시글의 선택 */
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
<action name="dispDocumentPrint" type="view" standalone="true" />
|
||||
<action name="dispDocumentPreview" type="view" standalone="true" />
|
||||
<action name="dispDocumentManageDocument" type="view" standalone="true" />
|
||||
<action name="dispTempSavedList" type="view" standalone="true" />
|
||||
|
||||
<action name="getDocumentCategories" type="model" standalone="true" />
|
||||
<action name="getDocumentMenu" type="model" standalone="true" />
|
||||
|
|
@ -41,6 +42,7 @@
|
|||
<action name="procDocumentDeleteCategory" type="controller" standalone="true" />
|
||||
<action name="procDocumentMoveCategory" type="controller" standalone="true" />
|
||||
<action name="procDocumentMakeXmlFile" type="controller" standalone="true" />
|
||||
<action name="procDocumentTempSave" type="controller" standalone="true" />
|
||||
|
||||
<action name="procDocumentAdminInsertAlias" type="controller" standalone="true" />
|
||||
<action name="procDocumentAdminDeleteAlias" type="controller" standalone="true" />
|
||||
|
|
|
|||
|
|
@ -33,11 +33,15 @@
|
|||
$oDocumentModel = &getModel('document');
|
||||
$output = $oDocumentModel->getDocumentList($args);
|
||||
|
||||
// get Status name list
|
||||
$statusNameList = $oDocumentModel->getStatusConfigList();
|
||||
|
||||
// Set values of document_model::getDocumentList() objects for a template
|
||||
Context::set('total_count', $output->total_count);
|
||||
Context::set('total_page', $output->total_page);
|
||||
Context::set('page', $output->page);
|
||||
Context::set('document_list', $output->data);
|
||||
Context::set('status_name_list', $statusNameList);
|
||||
Context::set('page_navigation', $output->page_navigation);
|
||||
|
||||
// set a search option used in the template
|
||||
|
|
|
|||
|
|
@ -102,6 +102,9 @@
|
|||
//2011. 04. 07 adding description column to document categories
|
||||
if(!$oDB->isColumnExists("document_categories","description")) return true;
|
||||
|
||||
//2011. 05. 23 adding status column to document
|
||||
if(!$oDB->isColumnExists('documents', 'status')) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -237,6 +240,16 @@
|
|||
//2011. 04. 07 adding description column to document categories
|
||||
if(!$oDB->isColumnExists("document_categories","description")) $oDB->addColumn('document_categories',"description","varchar",200,0);
|
||||
|
||||
//2011. 05. 23 adding status column to document
|
||||
if(!$oDB->isColumnExists('documents', 'status'))
|
||||
{
|
||||
$oDB->addColumn('documents', 'status', 'varchar', 20, 'PUBLIC');
|
||||
$args->is_secret = 'Y';
|
||||
$output = executeQuery('document.updateDocumentStatus', $args);
|
||||
if($output->toBool())
|
||||
$oDB->dropColumn('documents', 'is_secret');
|
||||
}
|
||||
|
||||
return new Object(0,'success_updated');
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -141,7 +141,6 @@ class documentController extends document {
|
|||
$oDB = &DB::getInstance();
|
||||
$oDB->begin();
|
||||
// List variables
|
||||
if($obj->is_secret!='Y') $obj->is_secret = 'N';
|
||||
if($obj->allow_comment!='Y') $obj->allow_comment = 'N';
|
||||
if($obj->lock_comment!='Y') $obj->lock_comment = 'N';
|
||||
if($obj->allow_trackback!='Y') $obj->allow_trackback = 'N';
|
||||
|
|
@ -275,7 +274,6 @@ class documentController extends document {
|
|||
$obj->ipaddress = $source_obj->get('ipaddress');
|
||||
}
|
||||
// List variables
|
||||
if($obj->is_secret!='Y') $obj->is_secret = 'N';
|
||||
if($obj->allow_comment!='Y') $obj->allow_comment = 'N';
|
||||
if($obj->lock_comment!='Y') $obj->lock_comment = 'N';
|
||||
if($obj->allow_trackback!='Y') $obj->allow_trackback = 'N';
|
||||
|
|
@ -408,7 +406,6 @@ class documentController extends document {
|
|||
$oDocumentModel = &getModel('document');
|
||||
// Check if the documnet exists
|
||||
$oDocument = $oDocumentModel->getDocument($document_srl, $is_admin);
|
||||
debugPrint('normal');
|
||||
}
|
||||
else if($isEmptyTrash && $oDocument == null) return new Object(-1, 'document is not exists');
|
||||
|
||||
|
|
@ -1621,6 +1618,8 @@ class documentController extends document {
|
|||
$document_config->use_vote_down = Context::get('use_vote_down');
|
||||
if(!$document_config->use_vote_down) $document_config->use_vote_down = 'Y';
|
||||
|
||||
$document_config->use_status = Context::get('use_status');
|
||||
|
||||
$oModuleController = &getController('module');
|
||||
for($i=0;$i<count($module_srl);$i++) {
|
||||
$srl = trim($module_srl[$i]);
|
||||
|
|
@ -1630,5 +1629,53 @@ class documentController extends document {
|
|||
$this->setError(-1);
|
||||
$this->setMessage('success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief
|
||||
**/
|
||||
function procDocumentTempSave()
|
||||
{
|
||||
// Check login information
|
||||
if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
|
||||
|
||||
$module_info = Context::get('module_info');
|
||||
$logged_info = Context::get('logged_info');
|
||||
// Get form information
|
||||
$obj = Context::getRequestVars();
|
||||
// Change the target module to log-in information
|
||||
$obj->module_srl = $module_info->module_srl;
|
||||
$obj->status = 'TEMP';
|
||||
unset($obj->is_notice);
|
||||
|
||||
// Extract from beginning part of contents in the guestbook
|
||||
if(!$obj->title) {
|
||||
$obj->title = cut_str(strip_tags($obj->content), 20, '...');
|
||||
}
|
||||
|
||||
$oDocumentModel = &getModel('document');
|
||||
$oDocumentController = &getController('document');
|
||||
// Check if already exist geulinji
|
||||
$oDocument = $oDocumentModel->getDocument($obj->document_srl, $this->grant->manager);
|
||||
// Update if already exists
|
||||
if($oDocument->isExists() && $oDocument->document_srl == $obj->document_srl) {
|
||||
$output = $oDocumentController->updateDocument($oDocument, $obj);
|
||||
$msg_code = 'success_updated';
|
||||
// Otherwise, get a new
|
||||
} else {
|
||||
$output = $oDocumentController->insertDocument($obj);
|
||||
$msg_code = 'success_registed';
|
||||
$obj->document_srl = $output->get('document_srl');
|
||||
$oDocument = $oDocumentModel->getDocument($obj->document_srl, $this->grant->manager);
|
||||
}
|
||||
// Set the attachment to be invalid state
|
||||
if($oDocument->hasUploadedFiles()) {
|
||||
$args->upload_target_srl = $oDocument->document_srl;
|
||||
$args->isvalid = 'N';
|
||||
executeQuery('file.updateFileValid', $args);
|
||||
}
|
||||
|
||||
$this->setMessage('success_saved');
|
||||
$this->add('document_srl', $obj->document_srl);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@
|
|||
}
|
||||
|
||||
function isSecret() {
|
||||
return $this->get('is_secret') == 'Y' ? true : false;
|
||||
return $this->get('status') == 'SECRET' ? true : false;
|
||||
}
|
||||
|
||||
function isNotice() {
|
||||
|
|
@ -239,7 +239,8 @@
|
|||
|
||||
if($this->isSecret() && !$this->isGranted() && !$this->isAccessible()) return Context::getLang('msg_is_secret');
|
||||
|
||||
$_SESSION['accessible'][$this->document_srl] = true;
|
||||
$result = $this->_checkAccessibleFromStatus();
|
||||
if($result) $_SESSION['accessible'][$this->document_srl] = true;
|
||||
|
||||
$content = $this->get('content');
|
||||
|
||||
|
|
@ -253,7 +254,8 @@
|
|||
|
||||
if($this->isSecret() && !$this->isGranted() && !$this->isAccessible()) return Context::getLang('msg_is_secret');
|
||||
|
||||
$_SESSION['accessible'][$this->document_srl] = true;
|
||||
$result = $this->_checkAccessibleFromStatus();
|
||||
if($result) $_SESSION['accessible'][$this->document_srl] = true;
|
||||
|
||||
$content = $this->get('content');
|
||||
if(!$stripEmbedTagException) stripEmbedTagForAdmin($content, $this->get('member_srl'));
|
||||
|
|
@ -738,5 +740,22 @@
|
|||
function replaceResourceRealPath($matches) {
|
||||
return preg_replace('/src=(["\']?)files/i','src=$1'.Context::getRequestUri().'files', $matches[0]);
|
||||
}
|
||||
|
||||
function _checkAccessibleFromStatus()
|
||||
{
|
||||
$logged_info = Context::get('logged_info');
|
||||
if($logged_info->is_admin == 'Y') return true;
|
||||
|
||||
$status = $this->get('status');
|
||||
if(empty($status)) return false;
|
||||
|
||||
if($status == 'PUBLIC' || $status == 'PUBLISH') return true;
|
||||
else if($status == 'PRIVATE' || $status == 'SECRET')
|
||||
{
|
||||
if($this->get('member_srl') == $logged_info->member_srl)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
**/
|
||||
|
||||
class documentModel extends document {
|
||||
|
||||
/**
|
||||
* @brief Initialization
|
||||
**/
|
||||
|
|
@ -153,6 +152,7 @@
|
|||
* @brief module_srl value, bringing the list of documents
|
||||
**/
|
||||
function getDocumentList($obj, $except_notice = false, $load_extra_vars=true, $columnList = array()) {
|
||||
$logged_info = Context::get('logged_info');
|
||||
$sort_check = $this->_setSortIndex($obj, $load_extra_vars);
|
||||
|
||||
$obj->sort_index = $sort_check->sort_index;
|
||||
|
|
@ -180,6 +180,8 @@
|
|||
$args->start_date = $obj->start_date?$obj->start_date:null;
|
||||
$args->end_date = $obj->end_date?$obj->end_date:null;
|
||||
$args->member_srl = $obj->member_srl;
|
||||
$args->statusList = $obj->statusList?$obj->statusList:array('SECRET', 'PUBLIC', 'PUBLISH');
|
||||
if($logged_info->is_admin == 'Y') $args->statusList = array('SECRET', 'PUBLIC', 'PUBLISH');
|
||||
// Category is selected, further sub-categories until all conditions
|
||||
if($args->category_srl) {
|
||||
$category_list = $this->getCategoryList($args->module_srl);
|
||||
|
|
@ -235,6 +237,7 @@
|
|||
$division_args->list_count = 1;
|
||||
$division_args->sort_index = $args->sort_index;
|
||||
$division_args->order_type = $args->order_type;
|
||||
$division_args->statusList = $args->statusList;
|
||||
$output = executeQuery($listSqlID, $division_args, $columnList);
|
||||
if($output->data) {
|
||||
$item = array_pop($output->data);
|
||||
|
|
@ -258,7 +261,6 @@
|
|||
$item = array_pop($output->data);
|
||||
$last_division = $item->list_order;
|
||||
}
|
||||
|
||||
}
|
||||
// Make sure that after last_division article
|
||||
if($last_division) {
|
||||
|
|
@ -925,9 +927,8 @@
|
|||
break;
|
||||
case 'is_notice' :
|
||||
case 'is_secret' :
|
||||
if($search_keyword=='N') $args->{"s_".$search_target} = 'N';
|
||||
elseif($search_keyword=='Y') $args->{"s_".$search_target} = 'Y';
|
||||
else $args->{"s_".$search_target} = '';
|
||||
if($search_keyword=='N') $args->statusList = array('PUBLIC', 'PUBLISH');
|
||||
elseif($search_keyword=='Y') $args->statusList = array('SECRET');
|
||||
break;
|
||||
case 'member_srl' :
|
||||
case 'readed_count' :
|
||||
|
|
@ -1002,6 +1003,14 @@
|
|||
$this->add('voted_member_list',$output->data);
|
||||
}
|
||||
|
||||
function getStatusConfigList()
|
||||
{
|
||||
global $lang;
|
||||
if(!isset($lang->status_name_list))
|
||||
return array('PRIVATE'=>'private', 'PUBLIC'=>'public', 'SECRET'=>'secret', 'TEMP'=>'temporary');
|
||||
else return $lang->status_name_list;
|
||||
}
|
||||
|
||||
function _setSortIndex($obj, $load_extra_vars)
|
||||
{
|
||||
$sortIndex = $obj->sort_index;
|
||||
|
|
@ -1074,9 +1083,8 @@
|
|||
break;
|
||||
case 'is_notice' :
|
||||
case 'is_secret' :
|
||||
if($search_keyword=='N') $args->{"s_".$search_target} = 'N';
|
||||
elseif($search_keyword=='Y') $args->{"s_".$search_target} = 'Y';
|
||||
else $args->{"s_".$search_target} = '';
|
||||
if($search_keyword=='N') $args->statusList = array('PUBLIC', 'PUBLISH');
|
||||
elseif($search_keyword=='Y') $args->statusList = array('SECRET');
|
||||
break;
|
||||
case 'member_srl' :
|
||||
case 'readed_count' :
|
||||
|
|
|
|||
|
|
@ -111,5 +111,30 @@
|
|||
return new Object();
|
||||
}
|
||||
|
||||
function dispTempSavedList()
|
||||
{
|
||||
$this->setLayoutFile('popup_layout');
|
||||
|
||||
$oMemberModel = &getModel('member');
|
||||
// A message appears if the user is not logged-in
|
||||
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
|
||||
// Get the saved document (module_srl is set to member_srl instead)
|
||||
$logged_info = Context::get('logged_info');
|
||||
$args->member_srl = $logged_info->member_srl;
|
||||
$args->statusList = array('TEMP');
|
||||
$args->page = (int)Context::get('page');
|
||||
$args->list_count = 10;
|
||||
|
||||
$oDocumentModel = &getModel('document');
|
||||
$output = $oDocumentModel->getDocumentList($args, true);
|
||||
Context::set('total_count', $output->total_count);
|
||||
Context::set('total_page', $output->total_page);
|
||||
Context::set('page', $output->page);
|
||||
Context::set('document_list', $output->data);
|
||||
Context::set('page_navigation', $output->page_navigation);
|
||||
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
$this->setTemplateFile('saved_list_popup');
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -83,4 +83,6 @@
|
|||
$lang->success_trashed = '휴지통으로 이동되었습니다.';
|
||||
$lang->msg_not_selected_document = '선택된 문서가 없습니다.';
|
||||
$lang->show_voted_member = '사용자 노출';
|
||||
$lang->status = '상태';
|
||||
$lang->status_name_list = array('PRIVATE'=>'비공개', 'PUBLIC'=>'공개', 'SECRET'=>'비밀', 'TEMP'=>'임시');
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
<condition operation="in" column="category_srl" var="category_srl" pipe="and" />
|
||||
<condition operation="equal" column="is_notice" var="s_is_notice" pipe="and" />
|
||||
<condition operation="equal" column="member_srl" var="member_srl" filter="number" pipe="and" />
|
||||
<condition operation="in" column="status" var="statusList" pipe="and" />
|
||||
<group pipe="and">
|
||||
<condition operation="more" column="list_order" var="division" pipe="and" />
|
||||
<condition operation="below" column="list_order" var="last_division" pipe="and" />
|
||||
|
|
@ -24,7 +25,6 @@
|
|||
<condition operation="like" column="email_address" var="s_email_addres" pipe="or" />
|
||||
<condition operation="like" column="homepage" var="s_homepage" pipe="or" />
|
||||
<condition operation="like" column="tags" var="s_tags" pipe="or" />
|
||||
<condition operation="equal" column="is_secret" var="s_is_secret" pipe="or" />
|
||||
<condition operation="equal" column="member_srl" var="s_member_srl" pipe="or" />
|
||||
<condition operation="more" column="readed_count" var="s_readed_count" pipe="or" />
|
||||
<condition operation="more" column="voted_count" var="s_voted_count" pipe="or" />
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
<condition operation="like" column="email_address" var="s_email_addres" pipe="or" />
|
||||
<condition operation="like" column="homepage" var="s_homepage" pipe="or" />
|
||||
<condition operation="like" column="tags" var="s_tags" pipe="or" />
|
||||
<condition operation="equal" column="is_secret" var="s_is_secret" pipe="or" />
|
||||
<condition operation="equal" column="member_srl" var="s_member_srl" pipe="or" />
|
||||
<condition operation="more" column="readed_count" var="s_readed_count" pipe="or" />
|
||||
<condition operation="more" column="voted_count" var="s_voted_count" pipe="or" />
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
<condition operation="equal" column="documents.member_srl" var="member.member_srl" notnull="notnull" pipe="and" />
|
||||
<condition operation="equal" column="documents.module_srl" var="module_srl" filter="number" pipe="and" />
|
||||
<condition operation="equal" column="documents.category_srl" var="category_srl" pipe="and" />
|
||||
<condition operation="in" column="status" var="statusList" pipe="and" />
|
||||
<group pipe="and">
|
||||
<condition operation="like" column="documents.title" var="s_title" />
|
||||
<condition operation="like" column="documents.content" var="s_content" pipe="or" />
|
||||
|
|
@ -18,7 +19,6 @@
|
|||
<condition operation="like" column="documents.homepage" var="s_homepage" pipe="or" />
|
||||
<condition operation="like" column="documents.tags" var="s_tags" pipe="or" />
|
||||
<condition operation="equal" column="documents.is_notice" var="s_is_notice" pipe="or" />
|
||||
<condition operation="equal" column="documents.is_secret" var="s_is_secret" pipe="or" />
|
||||
<condition operation="equal" column="documents.member_srl" var="s_member_srl" pipe="or" />
|
||||
<condition operation="more" column="documents.readed_count" var="s_readed_count" pipe="or" />
|
||||
<condition operation="more" column="documents.voted_count" var="s_voted_count" pipe="or" />
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
<condition operation="less" column="regdate" var="rev_regdate" filter="number" pipe="and" />
|
||||
<condition operation="less" column="update_order" var="update_order" filter="number" pipe="and" />
|
||||
<condition operation="more" column="update_order" var="rev_update_order" filter="number" pipe="and" />
|
||||
<condition operation="in" column="status" var="statusList" pipe="and" />
|
||||
<group pipe="and">
|
||||
<condition operation="like" column="title" var="s_title" />
|
||||
<condition operation="like" column="content" var="s_content" pipe="or" />
|
||||
|
|
@ -30,7 +31,6 @@
|
|||
<condition operation="like" column="email_address" var="s_email_addres" pipe="or" />
|
||||
<condition operation="like" column="homepage" var="s_homepage" pipe="or" />
|
||||
<condition operation="like" column="tags" var="s_tags" pipe="or" />
|
||||
<condition operation="equal" column="is_secret" var="s_is_secret" pipe="or" />
|
||||
<condition operation="equal" column="member_srl" var="s_member_srl" pipe="or" />
|
||||
<condition operation="more" column="readed_count" var="s_readed_count" pipe="or" />
|
||||
<condition operation="more" column="voted_count" var="s_voted_count" pipe="or" />
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
<column name="category_srl" var="category_srl" filter="number" default="0" />
|
||||
<column name="lang_code" var="lang_code" default="" />
|
||||
<column name="is_notice" var="is_notice" notnull="notnull" default="N" />
|
||||
<column name="is_secret" var="is_secret" notnull="notnull" default="N" />
|
||||
<column name="title" var="title" notnull="notnull" minlength="1" maxlength="250" />
|
||||
<column name="title_bold" var="title_bold" default="N" />
|
||||
<column name="title_color" var="title_color" default="N" />
|
||||
|
|
@ -38,5 +37,6 @@
|
|||
<column name="lock_comment" var="lock_comment" default="N" />
|
||||
<column name="allow_trackback" var="allow_trackback" default="Y" />
|
||||
<column name="notify_message" var="notify_message" default="N" />
|
||||
<column name="status" var="status" default="PUBLIC" />
|
||||
</columns>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
<column name="module_srl" var="module_srl" filter="number" default="0" />
|
||||
<column name="category_srl" var="category_srl" filter="number" default="0" />
|
||||
<column name="is_notice" var="is_notice" notnull="notnull" default="N" />
|
||||
<column name="is_secret" var="is_secret" notnull="notnull" default="N" />
|
||||
<column name="title" var="title" notnull="notnull" minlength="1" maxlength="250" />
|
||||
<column name="title_bold" var="title_bold" default="N" />
|
||||
<column name="title_color" var="title_color" default="N" />
|
||||
|
|
@ -30,6 +29,7 @@
|
|||
<column name="lock_comment" var="lock_comment" default="N" />
|
||||
<column name="allow_trackback" var="allow_trackback" default="Y" />
|
||||
<column name="notify_message" var="notify_message" default="N" />
|
||||
<column name="status" var="status" default="PUBLIC" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="document_srl" var="document_srl" filter="number" notnull="notnull" />
|
||||
|
|
|
|||
13
modules/document/queries/updateDocumentStatus.xml
Normal file
13
modules/document/queries/updateDocumentStatus.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<query id="updateDocumentStatus" action="update">
|
||||
<tables>
|
||||
<table name="documents" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="status" var="status" default="SECRET" notnull="notnull" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="document_srl" var="document_srl" pipe="and" />
|
||||
<condition operation="equal" column="is_secret" var="is_secret" pipe="and" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
||||
|
|
@ -4,7 +4,6 @@
|
|||
<column name="category_srl" type="number" size="11" default="0" notnull="notnull" index="idx_category_srl" />
|
||||
<column name="lang_code" type="varchar" size="10" default="" notnull="notnull" />
|
||||
<column name="is_notice" type="char" size="1" default="N" notnull="notnull" index="idx_is_notice" />
|
||||
<column name="is_secret" type="char" size="1" default="N" notnull="notnull" index="idx_is_secret" />
|
||||
<column name="title" type="varchar" size="250" />
|
||||
<column name="title_bold" type="char" size="1" default="N" notnull="notnull" />
|
||||
<column name="title_color" type="varchar" size="7" />
|
||||
|
|
@ -34,4 +33,5 @@
|
|||
<column name="lock_comment" type="char" size="1" default="N" notnull="notnull" />
|
||||
<column name="allow_trackback" type="char" size="1" default="Y" notnull="notnull" />
|
||||
<column name="notify_message" type="char" size="1" default="N" notnull="notnull" />
|
||||
<column name="status" type="varchar" size="20" default="PUBLIC" />
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@
|
|||
<th scope="col"><div>{$lang->no}</div></th>
|
||||
<th scope="col"><div><input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" /></div></th>
|
||||
<th scope="col" class="wide"><div>{$lang->document}</div></th>
|
||||
<th scope="col"><div>{$lang->status}</div></th>
|
||||
<th scope="col"><div>{$lang->nick_name}</div></th>
|
||||
<th scope="col"><div>{$lang->readed_count}</div></th>
|
||||
<th scope="col"><div>{$lang->voted_count}</div></th>
|
||||
|
|
@ -73,6 +74,7 @@
|
|||
[{$oDocument->getTrackbackCount()}]
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td class="nowrap">{$status_name_list[$oDocument->get('status')]}</td>
|
||||
<td class="nowrap"><span class="member_{$oDocument->get('member_srl')}">{$oDocument->getNickName()}</span></td>
|
||||
<td class="number center">{$oDocument->get('readed_count')}</td>
|
||||
<td class="number center">{$oDocument->get('voted_count')} / {$oDocument->get('blamed_count')}</td>
|
||||
|
|
|
|||
|
|
@ -7,6 +7,6 @@
|
|||
<li <!--@if($act=='dispDocumentAdminList')-->class="on"<!--@end-->><a href="{getUrl('act','dispDocumentAdminList')}">{$lang->document_list}</a></li>
|
||||
<li <!--@if($act=='dispDocumentAdminConfig')-->class="on"<!--@end-->><a href="{getUrl('act','dispDocumentAdminConfig')}">{$lang->cmd_module_config}</a></li>
|
||||
<li <!--@if($act=='dispDocumentAdminDeclared')-->class="on"<!--@end-->><a href="{getUrl('act','dispDocumentAdminDeclared')}">{$lang->cmd_declared_list}</a></li>
|
||||
<li <!--@if($act=='dispDocumentAdminTrashList')-->class="on"<!--@end-->><a href="{getUrl('act','dispDocumentAdminTrashList')}">{$lang->cmd_trash}</a></li>
|
||||
<!--li <!--@if($act=='dispDocumentAdminTrashList')-->class="on"<!--@end-->><a href="{getUrl('act','dispDocumentAdminTrashList')}">{$lang->cmd_trash}</a></li-->
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
|||
49
modules/document/tpl/saved_list_popup.html
Normal file
49
modules/document/tpl/saved_list_popup.html
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
<!--%import("css/default.css")-->
|
||||
|
||||
<div id="memberModule">
|
||||
|
||||
<div id="popHeader" class="wide">
|
||||
<h3 class="xeAdmin">{$lang->cmd_view_saved_document}</h3>
|
||||
</div>
|
||||
|
||||
<div id="popBody">
|
||||
<div id="memberModule">
|
||||
<!-- 목록 -->
|
||||
<table cellspacing="0" class="colTable">
|
||||
<caption>Total : {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="title"><div>{$lang->date}</div></th>
|
||||
<th class="title"><div>{$lang->title}</div></th>
|
||||
<th class="title"><div>{$lang->cmd_select}</div></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($document_list as $no => $val)-->
|
||||
<tr>
|
||||
<td class="nowrap">{$val->getRegdate("Y-m-d H:i:s")}</td>
|
||||
<td class="wide">
|
||||
<div><a href="#" onclick="jQuery('#saved_document_{$val->document_srl}').toggle(); setFixedPopupSize(); return false;">{$val->getTitle()}</a></div>
|
||||
<div id="saved_document_{$val->document_srl}" class="saved_content" style="display:none;">{$val->getContent(false)}</div>
|
||||
</td>
|
||||
<td><a href="#" onclick="doDocumentSelect('{$val->document_srl}'); return false;" class="buttonSet buttonActive"><span>{$lang->cmd_select}</span></a></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- 페이지 네비게이션 -->
|
||||
<div class="pagination a1">
|
||||
<a href="{getUrl('page','','module_srl','')}" class="prevEnd">{$lang->first_page}</a>
|
||||
<!--@while($page_no = $page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<strong>{$page_no}</strong>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="nextEnd">{$lang->last_page}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -539,7 +539,7 @@
|
|||
$obj->member_srl = 0;
|
||||
|
||||
$obj->is_notice = base64_decode($xmlDoc->post->is_notice->body)=='Y'?'Y':'N';
|
||||
$obj->is_secret = base64_decode($xmlDoc->post->is_secret->body)=='Y'?'Y':'N';
|
||||
$obj->status = base64_decode($xmlDoc->post->is_secret->body)=='Y'?'SECRET':'PUBLIC';
|
||||
$obj->title = base64_decode($xmlDoc->post->title->body);
|
||||
$obj->content = base64_decode($xmlDoc->post->content->body);
|
||||
$obj->readed_count = base64_decode($xmlDoc->post->readed_count->body);
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@
|
|||
}
|
||||
|
||||
$obj->is_notice = 'N';
|
||||
$obj->is_secret = in_array($xmlDoc->post->visibility->body, array('public','syndicated'))?'N':'Y';
|
||||
$obj->status = in_array($xmlDoc->post->visibility->body, array('public','syndicated'))?'PUBLIC':'SECRET';
|
||||
$obj->title = $xmlDoc->post->title->body;
|
||||
$obj->content = $xmlDoc->post->content->body;
|
||||
$obj->password = md5($xmlDoc->post->password->body);
|
||||
|
|
@ -275,7 +275,7 @@
|
|||
$obj->document_srl = getNextSequence();
|
||||
$obj->uploaded_count = 0;
|
||||
$obj->is_notice = 'N';
|
||||
$obj->is_secret = $val->secret->body=='1'?'Y':'N';
|
||||
$obj->status = $val->secret->body=='1'?'SECRET':'PUBLIC';
|
||||
$obj->content = nl2br($val->content->body);
|
||||
|
||||
// Extract a title form the bocy
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
function arrangeContent($content) {
|
||||
$output = null;
|
||||
if($content){
|
||||
$output= $content->gets('document_srl','category_srl','is_secret','nick_name','user_id','user_name','title','content','tags','voted_count','blamed_count','comment_count','regdate','last_update','extra_vars');
|
||||
$output= $content->gets('document_srl','category_srl','nick_name','user_id','user_name','title','content','tags','voted_count','blamed_count','comment_count','regdate','last_update','extra_vars','status');
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -406,47 +406,10 @@
|
|||
|
||||
/**
|
||||
* @brief Save posts
|
||||
* @Deplicated - instead Document Controller - procDocumentTempSave method use
|
||||
**/
|
||||
function procMemberSaveDocument() {
|
||||
// Check login information
|
||||
if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
|
||||
|
||||
$logged_info = Context::get('logged_info');
|
||||
// Get form information
|
||||
$obj = Context::getRequestVars();
|
||||
// Change the target module to log-in information
|
||||
$obj->module_srl = $logged_info->member_srl;
|
||||
unset($obj->is_notice);
|
||||
|
||||
// Extract from beginning part of contents in the guestbook
|
||||
if(!$obj->title) {
|
||||
$obj->title = cut_str(strip_tags($obj->content), 20, '...');
|
||||
}
|
||||
|
||||
$oDocumentModel = &getModel('document');
|
||||
$oDocumentController = &getController('document');
|
||||
// Check if already exist geulinji
|
||||
$oDocument = $oDocumentModel->getDocument($obj->document_srl, $this->grant->manager);
|
||||
// Update if already exists
|
||||
if($oDocument->isExists() && $oDocument->document_srl == $obj->document_srl) {
|
||||
$output = $oDocumentController->updateDocument($oDocument, $obj);
|
||||
$msg_code = 'success_updated';
|
||||
// Otherwise, get a new
|
||||
} else {
|
||||
$output = $oDocumentController->insertDocument($obj);
|
||||
$msg_code = 'success_registed';
|
||||
$obj->document_srl = $output->get('document_srl');
|
||||
$oDocument = $oDocumentModel->getDocument($obj->document_srl, $this->grant->manager);
|
||||
}
|
||||
// Set the attachment to be invalid state
|
||||
if($oDocument->hasUploadedFiles()) {
|
||||
$args->upload_target_srl = $oDocument->document_srl;
|
||||
$args->isvalid = 'N';
|
||||
executeQuery('file.updateFileValid', $args);
|
||||
}
|
||||
|
||||
$this->setMessage('success_saved');
|
||||
$this->add('document_srl', $obj->document_srl);
|
||||
return new Object(0, 'Deplicated method');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -275,28 +275,10 @@
|
|||
|
||||
/**
|
||||
* @brief Display a list of saved articles
|
||||
* @Deplicated - instead Document View - dispTempSavedList method use
|
||||
**/
|
||||
function dispSavedDocumentList() {
|
||||
$this->setLayoutFile('popup_layout');
|
||||
|
||||
$oMemberModel = &getModel('member');
|
||||
// A message appears if the user is not logged-in
|
||||
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
|
||||
// Get the saved document (module_srl is set to member_srl instead)
|
||||
$logged_info = Context::get('logged_info');
|
||||
$args->module_srl = $logged_info->member_srl;
|
||||
$args->page = (int)Context::get('page');
|
||||
$args->list_count = 10;
|
||||
|
||||
$oDocumentModel = &getModel('document');
|
||||
$output = $oDocumentModel->getDocumentList($args, true);
|
||||
Context::set('total_count', $output->total_count);
|
||||
Context::set('total_page', $output->total_page);
|
||||
Context::set('page', $output->page);
|
||||
Context::set('document_list', $output->data);
|
||||
Context::set('page_navigation', $output->page_navigation);
|
||||
|
||||
$this->setTemplateFile('saved_list_popup');
|
||||
return new Object(0, 'Deplicated method');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -509,7 +509,7 @@
|
|||
$args->name = trim($key);
|
||||
$args->value = trim($val);
|
||||
if(!$args->name || !$args->value) continue;
|
||||
executeQuery('module.insertModuleExtraVars', $args);
|
||||
$output = executeQuery('module.insertModuleExtraVars', $args);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@
|
|||
* Use a separate model method because external page handles information and configurations of the defaul module either.
|
||||
**/
|
||||
function getOpage($module_srl) {
|
||||
debugPrint('getOpage');
|
||||
$oModuleModel = &getModel('module');
|
||||
$columnList = array('module_srl');
|
||||
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl, $columnList);
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
<condition operation="equal" column="doc.module_srl" var="module_srl" filter="number" />
|
||||
<condition operation="notin" column="doc.module_srl" var="except_module_srls" pipe="and" />
|
||||
<condition operation="null" column="except_modules.module_srl" default="1" pipe="and" />
|
||||
<condition operation="equal" column="doc.is_secret" default="N" pipe="and" />
|
||||
<condition operation="equal" column="doc.status" default="PUBLIC" pipe="and" />
|
||||
<condition operation="equal" column="modules.module_srl" default="doc.module_srl" filter="number" pipe="and" />
|
||||
<condition operation="notin" column="modules.module_srl" var="except_modules" filter="numbers" pipe="and" />
|
||||
<condition operation="more" column="doc.last_update" var="start_date" filter="number" pipe="and" />
|
||||
|
|
|
|||
|
|
@ -2,9 +2,11 @@
|
|||
<module>
|
||||
<grants />
|
||||
<permissions>
|
||||
<permission action="dispTrashAdminList" target="manager" />
|
||||
<permission action="procTrashAdminEmptyTrash" target="manager" />
|
||||
<permission action="procTrashAdminRestore" target="manager" />
|
||||
</permissions>
|
||||
<actions>
|
||||
<action name="dispTrash" type="view" standalone="true" />
|
||||
<action name="dispTrashAdminList" type="view" standalone="true" admin_index="true" />
|
||||
|
||||
<action name="procTrashAdminEmptyTrash" type="controller" standalone="true" />
|
||||
|
|
|
|||
|
|
@ -6,25 +6,6 @@
|
|||
**/
|
||||
class trashController extends trash
|
||||
{
|
||||
/**
|
||||
* @brief object insert to trash
|
||||
**/
|
||||
function insertTrash($oTrashVO)
|
||||
{
|
||||
$output = executeQuery('trash.insertTrash', $oTrashVO);
|
||||
debugPrint($output);
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief empty trash
|
||||
* @param trashSrls : trash_srl in array
|
||||
**/
|
||||
function emptyTrash($trashSrls)
|
||||
{
|
||||
if(!is_array($trashSrls)) return false;
|
||||
executeQuery('trash.deleteTrash', $trashSrls);
|
||||
}
|
||||
}
|
||||
|
||||
/* End of file trash.controller.php */
|
||||
|
|
|
|||
|
|
@ -12,24 +12,5 @@ class trashView extends trash {
|
|||
**/
|
||||
function init() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief
|
||||
**/
|
||||
function dispTrash() {
|
||||
$trashSrl = Context::get('trashSrl');
|
||||
debugPrint($trashSrl);
|
||||
|
||||
$oWastebasketModel = getModel('trash');
|
||||
$output = $oWastebasketModel->getTrash($trashSrl);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief
|
||||
**/
|
||||
function dispTrashList() {
|
||||
$oWastebasketModel = getModel('trash');
|
||||
$output = $oWastebasketModel->getTrashList();
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue