git-svn-id: http://xe-core.googlecode.com/svn/trunk@281 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-03-06 03:26:53 +00:00
parent 812bbd54e6
commit 7258af97a0
11 changed files with 129 additions and 13 deletions

View file

@ -11,7 +11,7 @@
<!--@if($document->trackback_list)-->
<!--@foreach($document->trackback_list as $key => $val)-->
<a name="trackback_{$key}"></a>
<a name="trackback_{$val->trackback_srl}"></a>
<div style="margin-left:{$val->depth*15}px" >
<table>
<col width="120" />

View file

@ -134,7 +134,7 @@
}
/**
* @brief 모든 코멘트시간 역순으로 가져옴 (관리자용)
* @brief 모든 댓글시간 역순으로 가져옴 (관리자용)
**/
function getTotalCommentList($obj) {

View file

@ -1,5 +1,4 @@
<!--%import("filter/delete_checked.xml")-->
<!--#include("header.html")-->
<!-- 게시판 정보 -->
<div>

View file

@ -1,7 +1,6 @@
<!--%import("filter/search.xml")-->
<!--%import("filter/delete_checked.xml")-->
<!--%import("js/document.js")-->
<!--#include("header.html")-->
<!-- 게시판 정보 -->
<div>

View file

@ -0,0 +1,14 @@
<?php
/**
* @file modules/trackback/lang/ko.lang.php
* @author zero <zero@nzeo.com>
* @brief 엮인글(trackback) 모듈의 기본 언어팩
**/
$lang->module = '모듈';
$lang->cmd_delete_checked_trackback = '선택항목 삭제';
$lang->msg_cart_is_null = '삭제할 글을 선택해주세요';
$lang->msg_checked_trackback_is_deleted = '%d개의 엮인글이 삭제되었습니다';
?>

View file

@ -0,0 +1,14 @@
<query id="getTotalTrackbackList" action="select">
<tables>
<table name="trackbacks" />
</tables>
<columns>
<column name="*" />
</columns>
<navigation>
<index var="sort_index" order="asc" />
<list_count var="list_count" default="20" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
</query>

View file

@ -1,4 +1,4 @@
<filter name="delete_checked" module="comment" act="procDeleteChecked" confirm_msg_code="confirm_delete">
<filter name="delete_checked" module="trackback" act="procDeleteChecked" confirm_msg_code="confirm_delete">
<form>
<node target="cart" required="true" />
</form>

View file

@ -1,5 +1,4 @@
<!--%import("filter/delete_checked.xml")-->
<!--#include("header.html")-->
<!-- 게시판 정보 -->
<div>
@ -21,15 +20,15 @@
<th>{$lang->date}</th>
<th>{$lang->cmd_move}</th>
</tr>
<!--@foreach($comment_list as $no => $val)-->
<!--@foreach($trackback_list as $no => $val)-->
<tr>
<td>{$no}</td>
<td><input type="checkbox" name="cart" value="{$val->comment_srl}" /></td>
<td><input type="checkbox" name="cart" value="{$val->trackback_srl}" /></td>
<td><a href="#" onclick="window.open('./?mid={$val->mid}');return false">{$module_list[$val->module_srl]->browser_title}</a></td>
<td>{$val->user_name}</td>
<td>{$val->content}</td>
<td>{zdate($val->regdate,"Y-m-d")}</td>
<td><a href="#" onclick="window.open('./?document_srl={$val->document_srl}&amp;#comment_{$val->comment_srl}');return false">{$lang->cmd_move}</a></td>
<td><a href="#" onclick="window.open('./?document_srl={$val->document_srl}&amp;#trackback_{$val->trackback_srl}');return false">{$lang->cmd_move}</a></td>
</tr>
<!--@end-->
</table>
@ -37,22 +36,22 @@
<!-- 버튼 -->
<div>
<input type="submit" value="{$lang->cmd_delete_checked_comment}" />
<input type="submit" value="{$lang->cmd_delete_checked_trackback}" />
</div>
</form>
<!-- 페이지 네비게이션 -->
<div>
<a href="{getUrl('page','','comment_srl','')}">[{$lang->first_page}]</a>
<a href="{getUrl('page','','trackback_srl','')}">[{$lang->first_page}]</a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
{$page_no}
<!--@else-->
<a href="{getUrl('page',$page_no,'comment_srl','')}">[{$page_no}]</a>
<a href="{getUrl('page',$page_no,'trackback_srl','')}">[{$page_no}]</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page,'comment_srl','')}">[{$lang->last_page}]</a>
<a href="{getUrl('page',$page_navigation->last_page,'trackback_srl','')}">[{$lang->last_page}]</a>
</div>

View file

@ -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) );
}
}
?>

View file

@ -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;
}
}
?>

View file

@ -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;$i<count($mid_output->data);$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 메세지 출력
* 메세지를 출력하고 그냥 종료 시켜 버림