diff --git a/classes/template/TemplateHandler.class.php b/classes/template/TemplateHandler.class.php index b618bd174..5d671980d 100644 --- a/classes/template/TemplateHandler.class.php +++ b/classes/template/TemplateHandler.class.php @@ -365,7 +365,7 @@ class TemplateHandler } // Insert template path comment tag. - if(config('debug.enabled') && Rhymix\Framework\Debug::isEnabledForCurrentUser() && !starts_with('web_path . $this->filename . ' -->' . PHP_EOL; $contents = sprintf($sign, 'start') . $contents . sprintf($sign, 'end'); diff --git a/modules/comment/comment.admin.view.php b/modules/comment/comment.admin.view.php index ebda37cd9..6eb0c68e6 100644 --- a/modules/comment/comment.admin.view.php +++ b/modules/comment/comment.admin.view.php @@ -135,25 +135,76 @@ class commentAdminView extends comment $args->page = Context::get('page'); // /< Page $args->list_count = 30; // /< the number of comment postings to appear on a single page $args->page_count = 10; // /< the number of pages to appear on the page navigation - - $args->sort_index = 'comment_declared.declared_count'; // /< sorting values $args->order_type = 'desc'; // /< sorted value - // get a list - $declared_output = executeQuery('comment.getDeclaredList', $args); - $oCommentModel = getModel('comment'); - - if($declared_output->data && count($declared_output->data)) + + // select sort method + $sort_index = Context::get('sort_index'); + if (!in_array($sort_index, array('declared_latest', 'declared_count', 'regdate'))) { - $comment_list = array(); - - foreach($declared_output->data as $key => $comment) + $sort_index = 'declared_latest'; + } + Context::set('sort_index', $sort_index); + + // get latest declared list + if ($sort_index === 'declared_latest') + { + $declared_output = executeQueryArray('comment.getDeclaredLatest', $args); + if ($declared_output->data && count($declared_output->data)) { - $comment_list[$key] = new commentItem(); - $comment_list[$key]->setAttribute($comment); + $args->comment_srls = array_map(function($item) { return $item->comment_srl; }, $declared_output->data); + $comments = executeQueryArray('comment.getComments', $args); + $comment_list = array(); + foreach ($declared_output->data as $key => $declared_info) + { + foreach ($comments->data as $comment) + { + if ($comment->comment_srl == $declared_info->comment_srl) + { + $comment->declared_count = $declared_info->declared_count; + $comment->latest_declared = $declared_info->latest_declared; + $comment_list[$key] = new commentItem(); + $comment_list[$key]->setAttribute($comment); + break; + } + } + } + $declared_output->data = $comment_list; + } + } + else + { + if ($sort_index === 'declared_count') + { + $args->sort_index = 'comment_declared.declared_count'; + } + else + { + $args->sort_index = 'comments.regdate'; + } + $declared_output = executeQueryArray('comment.getDeclaredList', $args); + if ($declared_output->data && count($declared_output->data)) + { + $args->comment_srls = array_map(function($item) { return $item->comment_srl; }, $declared_output->data); + $declared_latest = executeQueryArray('comment.getDeclaredLatest', $args); + $comment_list = array(); + foreach ($declared_output->data as $key => $comment) + { + foreach ($declared_latest->data as $key => $declared_info) + { + if ($comment->comment_srl == $declared_info->comment_srl) + { + $comment->declared_count = $declared_info->declared_count; + $comment->latest_declared = $declared_info->latest_declared; + $comment_list[$key] = new commentItem(); + $comment_list[$key]->setAttribute($comment); + } + } + } + $declared_output->data = $comment_list; } - $declared_output->data = $comment_list; } + $oCommentModel = getModel('comment'); $secretNameList = $oCommentModel->getSecretNameList(); // set values in the return object of comment_model:: getCommentList() in order to use a template. diff --git a/modules/comment/queries/getDeclaredLatest.xml b/modules/comment/queries/getDeclaredLatest.xml new file mode 100644 index 000000000..5d12df41b --- /dev/null +++ b/modules/comment/queries/getDeclaredLatest.xml @@ -0,0 +1,27 @@ + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/comment/queries/getDeclaredList.xml b/modules/comment/queries/getDeclaredList.xml index aaff1d8e4..0adc4ea62 100644 --- a/modules/comment/queries/getDeclaredList.xml +++ b/modules/comment/queries/getDeclaredList.xml @@ -7,7 +7,8 @@ - + + diff --git a/modules/comment/tpl/declared_list.html b/modules/comment/tpl/declared_list.html index df28e4856..7b0190036 100644 --- a/modules/comment/tpl/declared_list.html +++ b/modules/comment/tpl/declared_list.html @@ -33,10 +33,11 @@ - - - + + + + @@ -44,9 +45,10 @@ - - + + + diff --git a/modules/document/document.admin.view.php b/modules/document/document.admin.view.php index 1e1ec0def..e7bfc9cdd 100644 --- a/modules/document/document.admin.view.php +++ b/modules/document/document.admin.view.php @@ -177,8 +177,16 @@ class documentAdminView extends document $args->page_count = 10; // /< the number of pages that appear in the page navigation $args->order_type = strtolower(Context::get('order_type')) === 'asc' ? 'asc' : 'desc'; + // select sort method + $sort_index = Context::get('sort_index'); + if (!in_array($sort_index, array('declared_latest', 'declared_count', 'regdate'))) + { + $sort_index = 'declared_latest'; + } + Context::set('sort_index', $sort_index); + // get latest declared list - if (Context::get('sort_index') === 'declared_latest') + if ($sort_index === 'declared_latest') { $declared_output = executeQueryArray('document.getDeclaredLatest', $args); if ($declared_output->data && count($declared_output->data)) @@ -205,6 +213,14 @@ class documentAdminView extends document } else { + if ($sort_index === 'declared_count') + { + $args->sort_index = 'document_declared.declared_count'; + } + else + { + $args->sort_index = 'documents.regdate'; + } $declared_output = executeQueryArray('document.getDeclaredList', $args); if ($declared_output->data && count($declared_output->data)) { diff --git a/modules/document/tpl/declared_list.html b/modules/document/tpl/declared_list.html index f66229603..ebff6d199 100644 --- a/modules/document/tpl/declared_list.html +++ b/modules/document/tpl/declared_list.html @@ -35,10 +35,10 @@ xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}'; - - + + @@ -47,9 +47,9 @@ xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}'; - - + +
{$lang->comment}{$lang->user_name}{$lang->date}{$lang->cmd_declare}{$lang->writer} {$lang->ipaddress}{lang('document.declared_count')} {$lang->original_date} {$lang->latest_declared_date}
{$oComment->getSummary(100)} {$oComment->getNickName()}{$oComment->getRegdate("Y-m-d")}{$oComment->get('declared_count')} ({$lang->improper_comment_declare_reason}) {$oComment->get('ipaddress')}{$oComment->get('declared_count')} ({$lang->improper_comment_declare_reason}){$oComment->getRegdate('Y-m-d H:i')}{zdate($oComment->get('latest_declared'), 'Y-m-d H:i')}
{$lang->title} {$lang->writer}{$lang->declared_count} {$lang->readed_count} {$lang->cmd_vote}(+/-){$lang->original_date}{$lang->declared_count} {$lang->original_date} {$lang->latest_declared_date}
{$oDocument->getTitle()} {$oDocument->getNickName()}{$oDocument->get('declared_count')} ({$lang->improper_document_declare_reason}) {$oDocument->get('readed_count')}{$oDocument->get('voted_count')}/{$oDocument->get('blamed_count')}{$oDocument->get('voted_count')} / {$oDocument->get('blamed_count')}{$oDocument->get('declared_count')} ({$lang->improper_document_declare_reason}) {$oDocument->getRegdate("Y-m-d H:i")} {zdate($oDocument->get('latest_declared'), 'Y-m-d H:i')}