diff --git a/modules/board/skins/default/trackback.html b/modules/board/skins/default/trackback.html index 784929ff7..9c15a71e3 100644 --- a/modules/board/skins/default/trackback.html +++ b/modules/board/skins/default/trackback.html @@ -11,7 +11,7 @@ - +
diff --git a/modules/comment/comment.model.php b/modules/comment/comment.model.php index cafe6dda2..a7874a408 100644 --- a/modules/comment/comment.model.php +++ b/modules/comment/comment.model.php @@ -134,7 +134,7 @@ } /** - * @brief 모든 코멘트를 시간 역순으로 가져옴 (관리자용) + * @brief 모든 댓글를 시간 역순으로 가져옴 (관리자용) **/ function getTotalCommentList($obj) { diff --git a/modules/comment/tpl.admin/comment_list.html b/modules/comment/tpl.admin/comment_list.html index abcef4095..d075a0274 100644 --- a/modules/comment/tpl.admin/comment_list.html +++ b/modules/comment/tpl.admin/comment_list.html @@ -1,5 +1,4 @@ -
diff --git a/modules/document/tpl.admin/document_list.html b/modules/document/tpl.admin/document_list.html index 88d1ca269..d717b622b 100644 --- a/modules/document/tpl.admin/document_list.html +++ b/modules/document/tpl.admin/document_list.html @@ -1,7 +1,6 @@ -
diff --git a/modules/trackback/lang/ko.lang.php b/modules/trackback/lang/ko.lang.php new file mode 100644 index 000000000..77228b0ad --- /dev/null +++ b/modules/trackback/lang/ko.lang.php @@ -0,0 +1,14 @@ + + * @brief 엮인글(trackback) 모듈의 기본 언어팩 + **/ + + $lang->module = '모듈'; + + $lang->cmd_delete_checked_trackback = '선택항목 삭제'; + + $lang->msg_cart_is_null = '삭제할 글을 선택해주세요'; + $lang->msg_checked_trackback_is_deleted = '%d개의 엮인글이 삭제되었습니다'; +?> diff --git a/modules/trackback/queries/getTotalTrackbackList.xml b/modules/trackback/queries/getTotalTrackbackList.xml new file mode 100644 index 000000000..5c52b7e76 --- /dev/null +++ b/modules/trackback/queries/getTotalTrackbackList.xml @@ -0,0 +1,14 @@ + + +
+ + + + + + + + + + + diff --git a/modules/trackback/tpl.admin/filter/delete_checked.xml b/modules/trackback/tpl.admin/filter/delete_checked.xml index d2f074110..dc276f7ee 100644 --- a/modules/trackback/tpl.admin/filter/delete_checked.xml +++ b/modules/trackback/tpl.admin/filter/delete_checked.xml @@ -1,4 +1,4 @@ - +
diff --git a/modules/trackback/tpl.admin/comment_list.html b/modules/trackback/tpl.admin/trackback_list.html similarity index 67% rename from modules/trackback/tpl.admin/comment_list.html rename to modules/trackback/tpl.admin/trackback_list.html index abcef4095..ee91eaf53 100644 --- a/modules/trackback/tpl.admin/comment_list.html +++ b/modules/trackback/tpl.admin/trackback_list.html @@ -1,5 +1,4 @@ -
@@ -21,15 +20,15 @@
- + - + - +
{$lang->date} {$lang->cmd_move}
{$no} {$module_list[$val->module_srl]->browser_title} {$val->user_name} {$val->content} {zdate($val->regdate,"Y-m-d")}{$lang->cmd_move}{$lang->cmd_move}
@@ -37,22 +36,22 @@
- +
- [{$lang->first_page}] + [{$lang->first_page}] {$page_no} - [{$page_no}] + [{$page_no}] - [{$lang->last_page}] + [{$lang->last_page}]
diff --git a/modules/trackback/trackback.controller.php b/modules/trackback/trackback.controller.php index 12fc5248f..f3b7f3bd9 100644 --- a/modules/trackback/trackback.controller.php +++ b/modules/trackback/trackback.controller.php @@ -198,5 +198,27 @@ // socket 닫음 fclose($fp); } + + /** + * @brief 관리자 페이지에서 선택된 엮인글들을 삭제 + **/ + function procDeleteChecked() { + // 선택된 글이 없으면 오류 표시 + $cart = Context::get('cart'); + if(!$cart) return $this->stop('msg_cart_is_null'); + $trackback_srl_list= explode('|@|', $cart); + $trackback_count = count($trackback_srl_list); + if(!$trackback_count) return $this->stop('msg_cart_is_null'); + + // 글삭제 + for($i=0;$i<$trackback_count;$i++) { + $trackback_srl = trim($trackback_srl_list[$i]); + if(!$trackback_srl) continue; + + $this->deleteTrackback($trackback_srl, true); + } + + $this->setMessage( sprintf(Context::getLang('msg_checked_trackback_is_deleted'), $trackback_count) ); + } } ?> diff --git a/modules/trackback/trackback.model.php b/modules/trackback/trackback.model.php index e940e9819..3d71baa5f 100644 --- a/modules/trackback/trackback.model.php +++ b/modules/trackback/trackback.model.php @@ -71,5 +71,27 @@ return $trackback_list; } + /** + * @brief 모든 엮인글를 시간 역순으로 가져옴 (관리자용) + **/ + function getTotalTrackbackList($obj) { + + // DB 객체 생성 + $oDB = &DB::getInstance(); + + // 변수 설정 + $args->sort_index = $obj->sort_index; + $args->page = $obj->page?$obj->page:1; + $args->list_count = $obj->list_count?$obj->list_count:20; + $args->page_count = $obj->page_count?$obj->page_count:10; + + // trackback.getTotalTrackbackList 쿼리 실행 + $output = $oDB->executeQuery('trackback.getTotalTrackbackList', $args); + + // 결과가 없거나 오류 발생시 그냥 return + if(!$output->toBool()||!count($output->data)) return $output; + + return $output; + } } ?> diff --git a/modules/trackback/trackback.view.php b/modules/trackback/trackback.view.php index 8b626fbac..abaf2c1f5 100644 --- a/modules/trackback/trackback.view.php +++ b/modules/trackback/trackback.view.php @@ -13,6 +13,53 @@ function init() { } + /** + * @brief 목록 출력 (관리자용) + **/ + function dispList() { + // 목록을 구하기 위한 옵션 + $args->page = Context::get('page'); ///< 페이지 + $args->list_count = 50; ///< 한페이지에 보여줄 글 수 + $args->page_count = 10; ///< 페이지 네비게이션에 나타날 페이지의 수 + + $args->sort_index = 'list_order'; ///< 소팅 값 + + // 목록 구함 + $oTrackbackModel = &getModel('trackback'); + $output = $oTrackbackModel->getTotalTrackbackList($args); + + // 목록의 loop를 돌면서 mid를 구하기 위한 module_srl값을 구함 + $trackback_count = count($output->data); + if($trackback_count) { + foreach($output->data as $key => $val) { + $module_srl = $val->module_srl; + if(!in_array($module_srl, $module_srl_list)) $module_srl_list[] = $module_srl; + } + if(count($module_srl_list)) { + $oDB = &DB::getInstance(); + $args->module_srls = implode(',',$module_srl_list); + $mid_output = $oDB->executeQuery('module.getModuleInfoByModuleSrl', $args); + if($mid_output->data && !is_array($mid_output->data)) $mid_output->data = array($mid_output->data); + for($i=0;$idata);$i++) { + $mid_info = $mid_output->data[$i]; + $module_list[$mid_info->module_srl] = $mid_info; + } + } + } + + // 템플릿에 쓰기 위해서 변수 설정 + Context::set('total_count', $output->total_count); + Context::set('total_page', $output->total_page); + Context::set('page', $output->page); + Context::set('trackback_list', $output->data); + Context::set('page_navigation', $output->page_navigation); + Context::set('module_list', $module_list); + + // 템플릿 지정 + $this->setTemplatePath($this->module_path.'tpl.admin'); + $this->setTemplateFile('trackback_list'); + } + /** * @brief 메세지 출력 * 메세지를 출력하고 그냥 종료 시켜 버림