diff --git a/modules/document/conf/module.xml b/modules/document/conf/module.xml
index 1ec724c13..66607d25c 100644
--- a/modules/document/conf/module.xml
+++ b/modules/document/conf/module.xml
@@ -1,71 +1,73 @@
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
-
- .
-
-
-
-
-
-
+
+ .
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/modules/document/document.admin.view.php b/modules/document/document.admin.view.php
index b0ab9df3d..4be7e52b5 100644
--- a/modules/document/document.admin.view.php
+++ b/modules/document/document.admin.view.php
@@ -161,6 +161,53 @@ class documentAdminView extends document
$this->setTemplateFile('declared_list');
}
+ /**
+ * Display a report list on the admin page
+ * @return void
+ */
+ function dispDocumentAdminDeclaredLogByDocumentSrl()
+ {
+ // option for a list
+ $args = new stdClass;
+ $args->page = Context::get('page'); // /< Page
+ $args->list_count = 30; // /< the number of posts to display on a single page
+ $args->page_count = 10; // /< the number of pages that appear in the page navigation
+ $args->document_srl = intval(Context::get('target_srl'));
+
+
+ // get Status name list
+ $oDocumentModel = getModel('document');
+ $oMemberModel = getModel('member');
+ $statusNameList = $oDocumentModel->getStatusNameList();
+ $oDocument = $oDocumentModel->getDocument($args->document_srl);
+
+ $declared_output = executeQuery('document.getDeclaredLogByDocumentSrl', $args);
+ if($declared_output->data && count($declared_output->data))
+ {
+ $reporter_list = array();
+
+ foreach($declared_output->data as $key => $log)
+ {
+ $reporter_list[$log->member_srl] = $oMemberModel->getMemberInfoByMemberSrl($log->member_srl);
+ }
+ }
+
+ // Set values of document_model::getDocumentList() objects for a template
+ Context::set('total_count', $declared_output->total_count);
+ Context::set('total_page', $declared_output->total_page);
+ Context::set('page', $declared_output->page);
+ Context::set('declare_log', $declared_output->data);
+ Context::set('reporter_list', $reporter_list);
+ Context::set('declared_document', $oDocument);
+ Context::set('page_navigation', $declared_output->page_navigation);
+ Context::set('status_name_list', $statusNameList);
+
+ // Set the template
+ $this->setLayoutFile('popup_layout');
+ $this->setTemplatePath($this->module_path.'tpl');
+ $this->setTemplateFile('declared_log');
+ }
+
/**
* Display a alias list on the admin page
* @return void
diff --git a/modules/document/document.class.php b/modules/document/document.class.php
index 1eba9935e..278f540f4 100644
--- a/modules/document/document.class.php
+++ b/modules/document/document.class.php
@@ -124,6 +124,9 @@ class document extends ModuleObject
// 2012. 08. 29 Add a trigger to copy additional setting when the module is copied
if(!$oModuleModel->getTrigger('module.procModuleAdminCopyModule', 'document', 'controller', 'triggerCopyModule', 'after')) return true;
+ // 2016. 1. 27: Add a column(declare_message) for report
+ if(!$oDB->isColumnExists("document_declared_log","declare_message")) return true;
+
return false;
}
@@ -320,6 +323,12 @@ class document extends ModuleObject
$oModuleController->insertTrigger('module.procModuleAdminCopyModule', 'document', 'controller', 'triggerCopyModule', 'after');
}
+ // 2016. 1. 27: Add a column(declare_message) for report
+ if(!$oDB->isColumnExists("document_declared_log","declare_message"))
+ {
+ $oDB->addColumn('document_declared_log',"declare_message","text");
+ }
+
return new Object(0,'success_updated');
}
diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php
index 2a8c8e55e..16abc0128 100644
--- a/modules/document/document.controller.php
+++ b/modules/document/document.controller.php
@@ -192,12 +192,18 @@ class documentController extends document
*/
function procDocumentDeclare()
{
- if(!Context::get('is_logged')) return new Object(-1, 'msg_invalid_request');
+ if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
$document_srl = Context::get('target_srl');
+ $declare_message = Context::get('declare_message');
if(!$document_srl) return new Object(-1, 'msg_invalid_request');
- return $this->declaredDocument($document_srl);
+ if(Context::get('success_return_url'))
+ {
+ $this->setRedirectUrl(Context::get('success_return_url'));
+ }
+
+ return $this->declaredDocument($document_srl, $declare_message);
}
/**
@@ -1359,9 +1365,10 @@ class documentController extends document
/**
* Report posts
* @param int $document_srl
+ * @param string $declare_message
* @return void|Object
*/
- function declaredDocument($document_srl)
+ function declaredDocument($document_srl, $declare_message = '')
{
// Fail if session information already has a reported document
if($_SESSION['declared_document'][$document_srl]) return new Object(-1, 'failed_declared');
@@ -1421,6 +1428,7 @@ class documentController extends document
}
$args->document_srl = $document_srl;
+ $args->declare_message = trim(htmlspecialchars($declare_message));
$output = executeQuery('document.getDocumentDeclaredLogInfo', $args);
// Pass after registering a sesson if reported/declared documents are in the logs.
@@ -1438,6 +1446,7 @@ class documentController extends document
if($declared_count > 0) $output = executeQuery('document.updateDeclaredDocument', $args);
else $output = executeQuery('document.insertDeclaredDocument', $args);
if(!$output->toBool()) return $output;
+
// Leave logs
$output = executeQuery('document.insertDocumentDeclaredLog', $args);
if(!$output->toBool())
diff --git a/modules/document/document.model.php b/modules/document/document.model.php
index 7167623a4..c353a33a4 100644
--- a/modules/document/document.model.php
+++ b/modules/document/document.model.php
@@ -514,8 +514,8 @@ class documentModel extends document
}
// Adding Report
- $url = sprintf("doCallModuleAction('document','procDocumentDeclare','%s')", $document_srl);
- $oDocumentController->addDocumentPopupMenu($url,'cmd_declare','','javascript');
+ $url = getUrl('', 'act', 'dispDocumentDeclare', 'target_srl', $document_srl);
+ $oDocumentController->addDocumentPopupMenu($url,'cmd_declare','','popup');
// Add Bookmark button
$url = sprintf("doCallModuleAction('member','procMemberScrapDocument','%s')", $document_srl);
diff --git a/modules/document/document.view.php b/modules/document/document.view.php
index b922d8778..e18170a8a 100644
--- a/modules/document/document.view.php
+++ b/modules/document/document.view.php
@@ -175,6 +175,35 @@ class documentView extends document
$this->setTemplateFile('saved_list_popup');
}
+ /**
+ * Document temp saved list
+ * @return void
+ */
+ function dispDocumentDeclare()
+ {
+ $this->setLayoutFile('popup_layout');
+ $document_srl = Context::get('target_srl');
+
+ $oMemberModel = getModel('member');
+ // A message appears if the user is not logged-in
+ if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
+
+ // Create the document object. If the document module of basic data structures, write it all works .. -_-;
+ $oDocumentModel = getModel('document');
+ // Creates an object for displaying the selected document
+ $oDocument = $oDocumentModel->getDocument($document_srl, $this->grant->manager, FALSE);
+ if(!$oDocument->isExists()) return new Object(-1,'msg_invalid_request');
+ // Check permissions
+ if(!$oDocument->isAccessible()) return new Object(-1,'msg_not_permitted');
+
+ // Browser title settings
+ Context::set('target_document', $oDocument);
+
+ Context::set('target_srl', $document_srl);
+
+ $this->setTemplatePath($this->module_path.'tpl');
+ $this->setTemplateFile('declare_document');
+ }
}
/* End of file document.view.php */
/* Location: ./modules/document/document.view.php */
diff --git a/modules/document/lang/lang.xml b/modules/document/lang/lang.xml
index 0a2d5f3b5..f94be534d 100644
--- a/modules/document/lang/lang.xml
+++ b/modules/document/lang/lang.xml
@@ -965,4 +965,20 @@
+ -
+
+
+
+ -
+
+
+
+ -
+
+
+
+ -
+
+
+
diff --git a/modules/document/queries/getDeclaredLogByDocumentSrl.xml b/modules/document/queries/getDeclaredLogByDocumentSrl.xml
new file mode 100644
index 000000000..b30790912
--- /dev/null
+++ b/modules/document/queries/getDeclaredLogByDocumentSrl.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/document/queries/insertDocumentDeclaredLog.xml b/modules/document/queries/insertDocumentDeclaredLog.xml
index 81e9dd6d8..9fbe756c8 100644
--- a/modules/document/queries/insertDocumentDeclaredLog.xml
+++ b/modules/document/queries/insertDocumentDeclaredLog.xml
@@ -1,11 +1,12 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/document/queries/updateDeclaredDocument.xml b/modules/document/queries/updateDeclaredDocument.xml
index b06e9d8b5..736ec6a54 100644
--- a/modules/document/queries/updateDeclaredDocument.xml
+++ b/modules/document/queries/updateDeclaredDocument.xml
@@ -1,11 +1,11 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/modules/document/ruleset/insertDeclare.xml b/modules/document/ruleset/insertDeclare.xml
new file mode 100644
index 000000000..f9a57eddf
--- /dev/null
+++ b/modules/document/ruleset/insertDeclare.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/document/schemas/document_declared.xml b/modules/document/schemas/document_declared.xml
index e2892b7c6..a180aa7e2 100644
--- a/modules/document/schemas/document_declared.xml
+++ b/modules/document/schemas/document_declared.xml
@@ -1,4 +1,4 @@
diff --git a/modules/document/schemas/document_declared_log.xml b/modules/document/schemas/document_declared_log.xml
index 046f6d3b3..80af4c993 100644
--- a/modules/document/schemas/document_declared_log.xml
+++ b/modules/document/schemas/document_declared_log.xml
@@ -1,6 +1,7 @@
diff --git a/modules/document/tpl/declare_document.html b/modules/document/tpl/declare_document.html
new file mode 100644
index 000000000..9456b5cef
--- /dev/null
+++ b/modules/document/tpl/declare_document.html
@@ -0,0 +1,32 @@
+
+
{$XE_VALIDATOR_MESSAGE}
+
+
+ {$lang->improper_document_declare}
+
+
+
\ No newline at end of file
diff --git a/modules/document/tpl/declared_list.html b/modules/document/tpl/declared_list.html
index 6822a12f3..239e16dcb 100644
--- a/modules/document/tpl/declared_list.html
+++ b/modules/document/tpl/declared_list.html
@@ -46,7 +46,7 @@ xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}';
| {$oDocument->getTitle()} |
{$oDocument->getNickName()} |
- {$oDocument->get('declared_count')} |
+ {$oDocument->get('declared_count')} ({$lang->improper_document_declare_reason}) |
{$oDocument->get('readed_count')} |
{$oDocument->get('voted_count')}/{$oDocument->get('blamed_count')} |
{$oDocument->getRegdate("Y-m-d H:i")} |
diff --git a/modules/document/tpl/declared_log.html b/modules/document/tpl/declared_log.html
new file mode 100644
index 000000000..2a99dd848
--- /dev/null
+++ b/modules/document/tpl/declared_log.html
@@ -0,0 +1,71 @@
+{$lang->improper_document_declare}
+
+
{$XE_VALIDATOR_MESSAGE}
+
+
+
+