From 8e48231fea0c8c8532969a697f2f70c121f0d07f Mon Sep 17 00:00:00 2001 From: akasima Date: Wed, 19 Feb 2014 17:43:36 +0900 Subject: [PATCH] =?UTF-8?q?#495=20=EA=B2=8C=EC=8B=9C=EB=AC=BC=20=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=20'=ED=9C=B4=EC=A7=80=ED=86=B5'=20=EC=9C=BC=EB=A1=9C?= =?UTF-8?q?=20=EC=9D=B4=EB=8F=99=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/document/conf/module.xml | 2 + .../document/document.admin.controller.php | 75 +++++++++++++++++++ modules/document/document.model.php | 4 + 3 files changed, 81 insertions(+) diff --git a/modules/document/conf/module.xml b/modules/document/conf/module.xml index 28d0b74f2..b06c6e8a1 100644 --- a/modules/document/conf/module.xml +++ b/modules/document/conf/module.xml @@ -14,6 +14,7 @@ + @@ -58,6 +59,7 @@ + diff --git a/modules/document/document.admin.controller.php b/modules/document/document.admin.controller.php index c3e84ffa4..5f422ef76 100644 --- a/modules/document/document.admin.controller.php +++ b/modules/document/document.admin.controller.php @@ -712,6 +712,81 @@ class documentAdminController extends document return $this->setRedirectUrl($returnUrl, $output); } + /** + * @fn procDocumentAdminMoveToTrash + * @brief move a document to trash. + * @see documentModel::getDocumentMenu + */ + function procDocumentAdminMoveToTrash() + { + $document_srl = Context::get('document_srl'); + + $oDocumentModel = getModel('document'); + $oDocumentController = getController('document'); + $oDocument = $oDocumentModel->getDocument($document_srl, false, false); + if(!$oDocument->isGranted()) return $this->stop('msg_not_permitted'); + + $oModuleModel = getModel('module'); + $module_info = $oModuleModel->getModuleInfoByDocumentSrl($document_srl); + + $args = new stdClass(); + $args->description = $message_content; + $args->document_srl = $document_srl; + + $oDocumentController->moveDocumentToTrash($args); + + $returnUrl = Context::get('success_return_url'); + if(!$returnUrl) + { + $arrUrl = parse_url(Context::get('cur_url')); + $query = ""; + + if($arrUrl['query']) + { + parse_str($arrUrl['query'], $arrQuery); + + // set query + if(isset($arrQuery['document_srl'])) + unset($arrQuery['document_srl']); + + $searchArgs = new stdClass; + foreach($arrQuery as $key=>$val) + { + $searchArgs->{$key} = $val; + } + + if(!isset($searchArgs->sort_index)) + $searchArgs->sort_index = $module_info->order_target; + + foreach($module_info as $key=>$val) + { + if(!isset($searchArgs->{$key})) + $searchArgs->{$key} = $val; + } + + $oDocumentModel = getModel('document'); + $output = $oDocumentModel->getDocumentList($searchArgs, $module_info->except_notice, TRUE, array('document_srl')); + + $cur_page = 1; + if(isset($arrQuery['page'])) { + $cur_page = (int)$arrQuery['page']; + } + + + if($cur_page>1 && count($output->data) == 0) + $arrQuery['page'] = $cur_page - 1; + + $query = "?"; + foreach($arrQuery as $key=>$val) + $query .= sprintf("%s=%s&", $key, $val); + $query = substr($query, 0, -1); + } + $returnUrl = $arrUrl['path'] . $query; + } + + $this->add('redirect_url', $returnUrl); + } + /** * Restor document from trash * @return void|object diff --git a/modules/document/document.model.php b/modules/document/document.model.php index c51c18de9..b379c1202 100644 --- a/modules/document/document.model.php +++ b/modules/document/document.model.php @@ -528,6 +528,10 @@ class documentModel extends document if($oDocument->isExists()) { + $str_confirm = Context::getLang('cmd_document_do') . Context::getLang('confirm_delete'); + $url = sprintf("if(!confirm('%s')) return; var params = new Array(); params['document_srl']='%s'; params['mid']=current_mid;params['cur_url']=current_url; exec_xml('document', 'procDocumentAdminMoveToTrash', params)", $str_confirm, $document_srl); + $oDocumentController->addDocumentPopupMenu($url,'cmd_trash','','javascript'); + // Find a post equivalent to ip address $url = getUrl('','module','admin','act','dispDocumentAdminList','search_target','ipaddress','search_keyword',$oDocument->getIpAddress()); $oDocumentController->addDocumentPopupMenu($url,'cmd_search_by_ipaddress',$icon_path,'TraceByIpaddress');