git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2346 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-08-12 04:38:39 +00:00
parent a9f0294425
commit ac99f700f5
36 changed files with 0 additions and 1529 deletions

View file

@ -1,63 +0,0 @@
<!--%import("filter/insert_comment.xml")-->
<!--@if($oDocument->getCommentCount())-->
<!--@foreach($oDocument->getComments() as $key => $val)-->
<a name="comment_{$key}"></a>
<div style="margin-left:{$val->depth*15}px" >
<table border="1" width="100%">
<col width="120" />
<col width="*" />
<tr>
<th>{$lang->date}</th>
<td>{zdate($val->regdate, "Y-m-d H:i:s")}</td>
</tr>
<tr>
<th>{$lang->writer}</th>
<td><div class="member_{$val->member_srl}">{htmlspecialchars($val->nick_name)}</div></td>
</tr>
<!--@if($val->homepage)-->
<tr>
<th>{$lang->homepage}</th>
<td><a href="{$val->homepage}" onclick="winopen('{$val->homepage}'); return false;">{htmlspecialchars($val->homepage)}</a></td>
</tr>
<!--@end-->
<tr>
<th>{$lang->content}</th>
<td height="100" valign="top">{$val->content}</td>
</tr>
<tr>
<th>ipaddress</th>
<td>{$val->ipaddress}</td>
</tr>
<!--@if($val->uploaded_count && $val->uploaded_list)-->
<tr>
<th>{$lang->uploaded_file}</th>
<td>
<!--@foreach($val->uploaded_list as $key => $file)-->
<div><a href="{$file->download_url}">{$file->source_filename} ({FileHandler::filesize($file->file_size)})</a> ({number_format($file->download_count)})</div>
<!--@end-->
</td>
</tr>
<!--@end-->
<tr>
<td colspan="2">
<a href="{getUrl('act','dispBlogReplyComment','comment_srl',$val->comment_srl,'document_srl',$document->document_srl)}">[{$lang->cmd_reply}]</a>
<!--@if($val->is_granted || !$val->member_srl || $grant->is_admin)-->
<a href="{getUrl('act','dispBlogModifyComment','comment_srl',$val->comment_srl)}">[{$lang->cmd_modify}]</a>
<a href="{getUrl('act','dispBlogDeleteComment','comment_srl',$val->comment_srl)}">[{$lang->cmd_delete}]</a>
<!--@end-->
</td>
</tr>
</table>
</div>
<!--@end-->
<!--@end-->
<!-- 댓글 입력 폼 -->
<!--@if($grant->write_comment && !$oDocument->isLocked())-->
<!--#include("./comment_form.html")-->
<!--@end-->

View file

@ -1,77 +0,0 @@
<!--%import("filter/insert_comment.xml")-->
<!--%import("js/blog.js")-->
<!--@if($source_comment || $comment)-->
<!--#include("header.html")-->
<!--@end-->
<!-- 만약 댓글의 답을 다는 것이라면 원문 보여줌 -->
<!--@if($source_comment)-->
<div>
<table border="1" width="100%">
<col width="120" />
<col width="*" />
<tr>
<th>{$lang->date}</th>
<td>{$source_comment->regdate}</td>
</tr>
<tr>
<th>{$lang->writer}</th>
<td><div class="member_{$source_comment->member_srl}">{htmlspecialchars($source_comment->nick_name)}</div></td>
</tr>
<tr>
<th>{$lang->content}</th>
<td height="100" valign="top">{$source_comment->content}</td>
</tr>
</table>
</div>
<!--@end-->
<!-- 글쓰기 폼 -->
<form action="./" method="post" onsubmit="return procFilter(this, insert_comment)" <!--@if($grant->fileupload)-->enctype="multipart/form-data"<!--@end-->>
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$document_srl?$document_srl:$comment->document_srl}" />
<input type="hidden" name="comment_srl" value="{$comment_srl}" />
<input type="hidden" name="parent_srl" value="{$parent_srl}" />
<table width="100%" border="1">
<col width="120" />
<col width="*" />
<!--@if(!$is_logged)-->
<tr>
<th>{$lang->writer}</th>
<td><input type="text" name="nick_name" value="{htmlspecialchars($comment->nick_name)}" /></td>
</tr>
<tr>
<th>{$lang->password}</th>
<td><input type="password" name="password" value="" /></td>
</tr>
<tr>
<th>{$lang->email_address}</th>
<td><input type="text" name="email_address" value="{htmlspecialchars($comment->email_address)}"/></td>
</tr>
<tr>
<th>{$lang->homepage}</th>
<td><input type="text" name="homepage" value="{htmlspecialchars($comment->homepage)}" /></td>
</tr>
<!--@end-->
<tr>
<td colspan="2"><textarea class="inputTypeTextArea" name="content">{strip_tags($comment->content)}</textarea></td>
</tr>
<tr>
<td colspan="2">
<!--@if($act&&$act!='dispBlogContent')-->
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('act','')}'" />
<!--@end-->
<input type="submit" value="{$lang->cmd_comment_registration}" accesskey="s" />
</td>
</tr>
</table>
</form>
<!--@if($source_comment)-->
<!--#include("footer.html")-->
<!--@end-->

View file

@ -1,102 +0,0 @@
#blog_category .title_box {
cursor:pointer;
padding-left:18px;
background:url(../images/tree_menu/folder.gif) no-repeat left;
margin-bottom:3px;
}
#blog_category .node_item A {
text-decoration:none;
}
#blog_category .selected {
background-color:#0E078F;
font-weight:bold;
color:#FFFFFF;
font-size:9pt;
cursor:pointer;
padding:1px 2px 1px 2px;
}
#blog_category .unselected {
background-color:#FFFFFF;
font-weight:normal;
color:#000000;
font-size:9pt;
cursor:pointer;
padding:1px 2px 1px 2px;
}
#blog_category .document_count {
margin-left:5px;
color:#AAAAAA;
font-size:9px;
}
#blog_category .page {
cursor:pointer;
background:url(../images/tree_menu/page.gif) no-repeat left;
}
#blog_category .folder_open {
cursor:pointer;
background:url(../images/tree_menu/page_folder.gif) no-repeat left;
}
#blog_category .folder_close {
cursor:pointer;
background:url(../images/tree_menu/folder.gif) no-repeat left;
}
#blog_category .item_open {
display:block;
padding-left:18px;
}
#blog_category .item_close {
display:none;
padding-left:18px;
}
#blog_category .line_open {
display:block;
padding-left:18px;
background:url(../images/tree_menu/line.gif) repeat-y left;
}
#blog_category .line_close {
display:none;
padding-left:18px;
background:url(../images/tree_menu/line.gif) repeat-y left;
}
#blog_category .plus {
padding-left:18px;
background:url(../images/tree_menu/plus.gif) repeat-y left;
}
#blog_category .plus_bottom {
padding-left:18px;
background:url(../images/tree_menu/plusbottom.gif) no-repeat left;
}
#blog_category .minus {
padding-left:18px;
background:url(../images/tree_menu/minus.gif) repeat-y left;
}
#blog_category .minus_bottom {
padding-left:18px;
background:url(../images/tree_menu/minusbottom.gif) no-repeat left;
}
#blog_category .join {
padding-left:18px;
background:url(../images/tree_menu/join.gif) repeat-y left;
}
#blog_category .join_bottom {
padding-left:18px;
background:url(../images/tree_menu/joinbottom.gif) no-repeat left;
}

View file

@ -1,148 +0,0 @@
@charset "utf-8";
body {
margin:0px;
padding:0px;
}
/**
* 블로그 기본 기능
**/
.blog_default_menu {
margin:5px 10px 0px 10px;
width:890px;
text-align:right;
}
/**
* 상단 로고 메인 1차 메뉴
**/
.layout_top {
margin:10px 10px 0px 10px;
width:890px;
}
/* 상단 로고 부분 */
.layout_logo A {
font-weight:bold;
font-size:16pt;
color:#888888;
text-decoration:none;
}
/* 상단 1차 메뉴 */
.layout_first_menu {
border-bottom:2px solid #DDDDDD;
width:100%;
text-align:right;
padding:3px 0px 3px 0px;
}
/**
* 좌측 메뉴 메인 2차 메뉴, 로그인 위젯 기타
**/
.layout_left {
width:220px;
float:left;
margin-top:10px;
position:absolute;
left:10px;
z-index:10;
}
#blog_category {
padding:10px;
margin-bottom:10px;
}
/* 컨텐츠 */
.layout_content {
position:absolute;
left:0px;
padding:10px 10px 0px 240px;
z-index:1;
width:660px;
}
/* 상단 메뉴 */
.first_menu {
background-color:#999999;
padding:3px 10px 3px 10px;
margin-left:5px;
}
.first_menu A {
font-weight:normal;
color:#FFFFFF;
text-decoration:none;
}
.first_menu_selected {
background-color:#000000;
padding:3px 10px 3px 10px;
margin-left:5px;
}
.first_menu_selected A {
color:#FFFFFF;
font-weight:bold;
text-decoration:none;
}
/* 프로필 영역 */
.layout_profile {
border:2px solid #EEEEEE;
text-align:center;
padding:10px 0px 10px 0px;
margin-bottom:10px;
}
.layout_profile .profile_image {
margin-bottom:10px;
}
.layout_profile .profile{
color:#555555;
text-align:left;
padding:0px 10px 10px 10px;
}
/* 검색 */
.layout_search {
border-top:2px solid #EEEEEE;
padding:10px;
margin-bottom:10px;
}
.layout_search .search_keyword {
border:1px solid #EEEEEE;
width:100px;
}
.layout_search .search_button {
border:1px solid #AAAAAA;
background-color:#FFFFFF;
width:40px;
}
/* 좌측 관리자 메뉴 */
.layout_admin {
border-top:1px solid #EEEEEE;
text-align:center;
padding-top:10px;
margin:10px 5px 0px 10px;
}
.layout_admin A {
color:#AAAAAA;
text-decoration:none;
}
/* 내용 */
#content {
}
/* powered by zbxe */
#poweredbyzbxe { text-align:center; margin-top:2em; }
#poweredbyzbxe img { width:138px; height:35px; border:0;}

View file

@ -1,23 +0,0 @@
<!--%import("filter/delete_comment.xml")-->
<!--#include("header.html")-->
<form action="./" method="get" onsubmit="return procFilter(this, delete_comment)">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<input type="hidden" name="comment_srl" value="{$comment_srl}" />
<table>
<tr>
<th colspan="2">{$lang->confirm_delete}</th>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="{$lang->cmd_delete}" />
<input type="button" value="{$lang->cmd_back}" onclick="location.href='{getUrl('act','')}'" />
</td>
</tr>
</table>
</form>
<!--#include("footer.html")-->

View file

@ -1,27 +0,0 @@
<!--%import("filter/delete_document.xml")-->
<!--#include("header.html")-->
<form action="./" method="get" onsubmit="return procFilter(this, delete_document)">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<table>
<tr>
<th colspan="2">{$lang->confirm_delete}</th>
</tr>
<tr>
<th>{$lang->title}</th>
<td>{$oDocument->getTitleText()}</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="{$lang->cmd_delete}" />
<input type="button" value="{$lang->cmd_back}" onclick="location.href='{getUrl('act','')}'" />
</td>
</tr>
</table>
</form>
<!--#include("footer.html")-->

View file

@ -1,23 +0,0 @@
<!--%import("filter/delete_trackback.xml")-->
<!--#include("header.html")-->
<form action="./" method="get" onsubmit="return procFilter(this, delete_trackback)">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<input type="hidden" name="trackback_srl" value="{$trackback_srl}" />
<table>
<tr>
<th colspan="2">{$lang->confirm_delete}</th>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="{$lang->cmd_delete}" />
<input type="button" value="{$lang->cmd_back}" onclick="location.href='{getUrl('act','')}'" />
</td>
</tr>
</table>
</form>
<!--#include("footer.html")-->

View file

@ -1,18 +0,0 @@
<filter name="delete_comment" module="blog" act="procBlogDeleteComment">
<form>
<node target="comment_srl" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="page" target="page" />
<param name="document_srl" target="document_srl" />
<param name="comment_srl" target="comment_srl" />
</parameter>
<response callback_func="completeDeleteComment">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="page" />
</response>
</filter>

View file

@ -1,16 +0,0 @@
<filter name="delete_document" module="blog" act="procBlogDeleteDocument">
<form>
<node target="document_srl" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="page" target="page" />
<param name="document_srl" target="document_srl" />
</parameter>
<response callback_func="completeDeleteDocument">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="page" />
</response>
</filter>

View file

@ -1,18 +0,0 @@
<filter name="delete_trackback" module="blog" act="procBlogDeleteTrackback">
<form>
<node target="trackback_srl" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="page" target="page" />
<param name="document_srl" target="document_srl" />
<param name="trackback_srl" target="trackback_srl" />
</parameter>
<response callback_func="completeDeleteTrackback">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="page" />
</response>
</filter>

View file

@ -1,16 +0,0 @@
<filter name="input_password" module="blog" act="procBlogVerificationPassword" >
<form>
<node target="document_srl" required="true" />
<node target="password" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="document_srl" target="document_srl" />
<param name="comment_srl" target="comment_srl" />
<param name="password" target="password" />
</parameter>
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,18 +0,0 @@
<filter name="insert" module="blog" act="procBlogInsertDocument" confirm_msg_code="confirm_submit">
<form>
<node target="document_srl" required="true" />
<node target="nick_name" required="true" />
<node target="password" required="true" />
<node target="email_address" maxlength="250" />
<node target="homepage" maxlength="250"/>
<node target="title" required="true" minlength="1" maxlength="250" />
<node target="content" required="true" />
</form>
<response callback_func="completeDocumentInserted">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="category_srl" />
</response>
</filter>

View file

@ -1,28 +0,0 @@
<filter name="insert_comment" module="blog" act="procBlogInsertComment" confirm_msg_code="confirm_submit">
<form>
<node target="document_srl" required="true" />
<node target="nick_name" required="true" />
<node target="password" required="true" />
<node target="email_address" maxlength="250" />
<node target="homepage" maxlength="250"/>
<node target="content" required="true" minlength="1" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="document_srl" target="document_srl" />
<param name="comment_srl" target="comment_srl" />
<param name="parent_srl" target="parent_srl" />
<param name="nick_name" target="nick_name" />
<param name="password" target="password" />
<param name="email_address" target="email_address" />
<param name="homepage" target="homepage" />
<param name="content" target="content" />
</parameter>
<response callback_func="completeInsertComment">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="comment_srl" />
</response>
</filter>

View file

@ -1 +0,0 @@
{$module_info->footer_text}

View file

@ -1,2 +0,0 @@
<!--%import("js/blog.js")-->
{$module_info->header_text}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 582 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 622 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 B

View file

@ -1,27 +0,0 @@
<!--%import("filter/input_password.xml")-->
<!--#include("header.html")-->
<form action="./" method="get" onsubmit="return procFilter(this, input_password)">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<input type="hidden" name="comment_srl" value="{$comment_srl}" />
<table>
<tr>
<th colspan="2">{$lang->msg_input_password}</th>
</tr>
<tr>
<th>{$lang->password}</th>
<td><input type="password" name="password" value="" /></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="{$lang->cmd_input}" />
<input type="button" value="{$lang->cmd_back}" onclick="location.href='{getUrl('act','','document_srl','','comment_srl','')}'" />
</td>
</tr>
</table>
</form>
<!--#include("footer.html")-->

View file

@ -1,99 +0,0 @@
/**
* @file modules/blog/js/blog.js
* @author zero (zero@nzeo.com)
* @brief blog 모듈의 javascript
**/
/* 글쓰기 작성후 */
function completeDocumentInserted(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var mid = ret_obj['mid'];
var document_srl = ret_obj['document_srl'];
var category_srl = ret_obj['category_srl'];
alert(message);
var url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');
if(category_srl) url = url.setQuery('category',category_srl);
location.href = url;
}
/* 글 삭제 */
function completeDeleteDocument(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var mid = ret_obj['mid'];
var page = ret_obj['page'];
var url = "./?mid="+mid;
if(page) url += "&page="+page;
alert(message);
location.href = url;
}
/* 검색 실행 */
function completeSearch(fo_obj, params) {
fo_obj.submit();
}
// 현재 페이지 reload
function completeReload(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
location.href = location.href;
}
/* 댓글 글쓰기 작성후 */
function completeInsertComment(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var comment_srl = ret_obj['comment_srl'];
alert(message);
var url = current_url.setQuery('comment_srl','').setQuery('act','').setQuery('rnd',comment_srl);
if(comment_srl) url += '#comment_'+comment_srl;
location.href = url;
}
/* 댓글 삭제 */
function completeDeleteComment(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var mid = ret_obj['mid'];
var document_srl = ret_obj['document_srl'];
var page = ret_obj['page'];
var url = "./?mid="+mid+'&document_srl='+document_srl;
if(page) url += "&page="+page;
alert(message);
location.href = url;
}
/* 트랙백 삭제 */
function completeDeleteTrackback(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var mid = ret_obj['mid'];
var document_srl = ret_obj['document_srl'];
var page = ret_obj['page'];
var url = "./?mid="+mid+'&document_srl='+document_srl;
if(page) url += "&page="+page;
alert(message);
location.href = url;
}
/* 카테고리 이동 */
function doChangeCategory(sel_obj, url) {
var category_srl = sel_obj.options[sel_obj.selectedIndex].value;
if(!category_srl) location.href=url;
else location.href=url+'&category='+category_srl;
}

View file

@ -1,271 +0,0 @@
/**
* @file blog_tree_menu.js
* @author zero (zero@nzeo.com)
* @brief xml파일을 읽어서 트리 메뉴를 그려줌
*
* common/tpl/tree_menu.js 서비스용으로만 사용하기 위해서 수정한 .
* 관리 기능이 없고 css 적용이 가능
**/
// 폴더를 모두 열고/닫기 위한 변수 설정
var blog_tree_menu_folder_list = new Array();
// 노드의 정보를 가지고 있을 변수
var blog_node_info_list = new Array();
// 카테고리별 문서 수를 가지고 있는 전역 변수
var category_document_count = new Array();
var total_document_count = 0;
// 카테고리의 문서 갯수를 세팅하는 함수
function setDocumentCount(node_srl, document_count) {
category_document_count[node_srl] = document_count;
total_document_count += document_count;
}
// 카테고리의 node_srl로 문서 갯수를 리턴하는 함수
function getDocumentCount(node_srl) {
return parseInt(category_document_count[node_srl],10);
}
// 트리메뉴의 정보를 담고 있는 xml파일을 읽고 drawTreeMenu()를 호출하는 함수
function blogLoadTreeMenu(xml_url, title, index_url) {
// 일단 그릴 곳을 찾아서 사전 작업을 함 (그릴 곳이 없다면 아예 시도를 안함)
var zone = xGetElementById("blog_category");
if(typeof(zone)=="undefined") return;
// 제목이 없으면 제목을 category로 지정
if(typeof(title)=="undefined" || !title) title = "category";
// index url이 없으면 현재 # 으로 대체
if(!index_url) index_url= "#";
// xml_handler를 이용해서 직접 메뉴 xml파일를 읽음
if(!xml_url) return;
var oXml = new xml_handler();
oXml.reset();
oXml.xml_path = xml_url;
var param = {"title":title, "index_url":index_url}
// 요청후 drawTreeMenu()함수를 호출 (xml_handler.js에서 request method를 직접 이용)
oXml.request(blogDrawTreeMenu, oXml, null, null, null, param);
}
// 트리메뉴 XML정보를 이용해서 정해진 zone에 출력
var blog_menu_selected = false;
function blogDrawTreeMenu(oXml, callback_func, resopnse_tags, null_func, param) {
var title = param.title;
var index_url = param.index_url;
var zone = xGetElementById("blog_category");
var html = "";
// 받아온 xml내용을 이용하여 트리 메뉴 그림
var xmlDoc = oXml.getResponseXml();
if(!xmlDoc) {
xInnerHtml(zone, html);
return null;
}
// node 태그에 해당하는 값들을 가져와서 html을 작성
var node_list = xmlDoc.getElementsByTagName("node");
if(node_list.length>0) {
var root = xmlDoc.getElementsByTagName("root")[0];
var output = blogDrawNode(root);
html += output.html;
}
// 제목 지정
var title_class = "selected";
if(blog_menu_selected) title_class = "unselected";
var title_html = '<div class="title_box"><span class="'+title_class+'" id="blog_title" onclick="location.href=\''+index_url+'\';return false;" >'+title+'</span> <span class="document_count">';
if(total_document_count) title_html += '('+total_document_count+')';
html = title_html+'</span></div>'+html;
// 출력하려는 zone이 없다면 load후에 출력하도록 함
if(!zone) {
xAddEventListener(window, 'load', function() { blogDrawTeeMenu(html); });
// 출력하려는 zone을 찾아졌다면 바로 출력
} else {
xInnerHtml(zone, html);
}
return null;
}
// 페이지 랜더링 중에 메뉴의 html이 완성되었을때 window.onload event 후에 그리기 재시도를 하게 될 함수
function blogDrawTeeMenu(html) {
xInnerHtml("blog_category", html);
}
// root부터 시작해서 recursive하게 노드를 표혐
function blogDrawNode(parent_node) {
var output = {html:"", expand:"N"}
for (var i=0; i< parent_node.childNodes.length; i++) {
var html = "";
var selected = false;
// nodeName이 node가 아니면 패스~
var node = parent_node.childNodes.item(i);
if(node.nodeName!="node") continue;
// node의 기본 변수들 체크
var node_srl = node.getAttribute("node_srl");
var text = node.getAttribute("text");
var url = node.getAttribute("url");
var expand = node.getAttribute("expand");
if(!text) continue;
// 자식 노드가 있는지 확인
var hasChild = false;
if(node.hasChildNodes()) hasChild = true;
// nextSibling가 있는지 확인
var hasNextSibling = false;
if(i==parent_node.childNodes.length-1) hasNextSibling = true;
// 후에 사용하기 위해 blog_node_info_list에 node_srl을 값으로 하여 node object 추가
blog_node_info_list[node_srl] = node;
// zone_id 값을 세팅
var zone_id = "blog_category_"+node_srl;
blog_tree_menu_folder_list[blog_tree_menu_folder_list.length] = zone_id;
var current_category = current_url.getQuery('category');
if(current_category == node_srl) {
selected = true;
blog_menu_selected = true;
}
// blog_selected_node이 node_srl과 같으면 펼침으로 처리
if(selected) expand = "Y";
// 아이콘 설정
var line_class = null;
var folder_class = null;
// 자식 노드가 있을 경우 자식 노드의 html을 구해옴
var child_output = null;
var child_html = "";
if(hasChild) {
// 자식 노드의 zone id를 세팅
var child_zone_id = zone_id+"_child";
blog_tree_menu_folder_list[blog_tree_menu_folder_list.length] = child_zone_id;
// html을 받아옴
child_output = blogDrawNode(node);
var chtml = child_output.html;
var cexpand = child_output.expand;
if(cexpand == "Y") expand = "Y";
// 무조건 펼침이 아닐 경우
if(expand!="Y") {
if(!hasNextSibling) child_html += '<div id="'+child_zone_id+'" class="line_close">'+chtml+'</div>';
else child_html += '<div id="'+child_zone_id+'" class="item_close">'+chtml+'</div>';
// 무조건 펼침일 경우
} else {
if(!hasNextSibling) child_html += '<div id="'+child_zone_id+'" class="line_open"">'+chtml+'</div>';
else child_html += '<div id="'+child_zone_id+'" class="item_open">'+chtml+'</div>';
}
}
// 자식 노드가 있는지 확인하여 있으면 아이콘을 바꿈
if(hasChild) {
// 무조건 펼침이 아닐 경우
if(expand != "Y") {
if(!hasNextSibling) {
line_class = "minus";
folder_class = "folder_close";
} else {
line_class = "minus_bottom";
folder_class = "folder_close";
}
// 무조건 펼침일 경우
} else {
if(!hasNextSibling) {
line_class = "plus";
folder_class = "folder_open";
} else {
line_class = "plus_bottom";
folder_class = "folder_open";
}
}
// 자식 노드가 없을 경우
} else {
if(hasNextSibling) {
line_class = "join_bottom";
folder_class = "page";
} else {
line_class = "join";
folder_class = "page";
}
}
// html 작성
var click_str = ' class="'+folder_class+'"' ;
if(hasChild) click_str += ' onclick="blogToggleFolder(\''+zone_id+'\');return false;" ';
var text_class = "unselected";
if(selected) text_class = "selected";
var document_count_text = "";
var document_count = getDocumentCount(node_srl);
if(document_count>0) document_count_text = '<span class="document_count">('+document_count+')</span>';
// 왼쪽 폴더/페이지와 텍스트 위치를 맞추기 위해;;; table태그 일단 사용. 차후 바꾸자..
html += '<div id="'+zone_id+'" class="node_item">'+
'<div id="'+zone_id+'_line" class="'+line_class+'">'+
'<table border="0" cellspacing="0" cellpadding="0"><tr><td height="20"><img src="'+request_uri+'/common/tpl/images/blank.gif" width="18" height="18" alt="" id="'+zone_id+'_folder" '+click_str+' /></td>'+
'<td><a href="#" id="'+zone_id+'_node" class="'+text_class+'" onclick="blogSelectNode(\''+url+'\');return false;">'+text+'</a>'+document_count_text+'</td></tr></table>'+
'</div>';
if(hasChild && child_html) html += child_html;
html += '</div>';
output.html += html;
if(expand=="Y") output.expand = "Y";
}
return output;
}
// 노드의 폴더 아이콘 클릭시
function blogToggleFolder(zone_id) {
// 아이콘을 클릭한 대상을 찾아봄
var child_zone = xGetElementById(zone_id+"_child");
if(!child_zone) return;
var line_obj = xGetElementById(zone_id+'_line');
var folder_obj = xGetElementById(zone_id+'_folder');
// 대상의 자식 노드들이 숨겨져 있다면 열고 아니면 닫기
if(folder_obj.className == "folder_open") {
child_zone.style.display = "none";
if(line_obj.className.indexOf('bottom')>0) line_obj.className = 'plus_bottom';
else line_obj.className = 'plus';
folder_obj.className = 'folder_close'
} else {
child_zone.style.display = "block";
if(line_obj.className.indexOf('bottom')>0) line_obj.className = 'minus_bottom';
else line_obj.className = 'minus';
folder_obj.className = 'folder_open';
}
}
// 노드 클릭시
function blogSelectNode(url) {
location.href = url;
}

View file

@ -1,152 +0,0 @@
<!-- 레이아웃과 연동될 css 파일 import -->
<!--%import("css/layout.css")-->
<!--%import("css/blog_tree_menu.css")-->
<!--%import("js/blog_tree_menu.js")-->
<!-- 블로그 카테고리의 글 갯수를 javascript변수로 설정 -->
<script type="text/javascript">
<!--@foreach($category_list as $key => $val)-->setDocumentCount({$key}, {(int)$val->document_count});<!--@end-->
</script>
<!-- 블로그 카테고리를 js/blog_tree_menu.js를 이용해서 표시 -->
<script type="text/javascript">
blogLoadTreeMenu("{$layout_info->category_xml_file}", "{$layout_info->category_name?$layout_info->category_name:'category'}", "{getUrl('','mid',$mid)}");
</script>
<!-- 블로그 기본 기능 메뉴 출력 -->
<div class="blog_default_menu">
<!-- 로그인 -->
<!--@if(!$is_logged)-->
<a href="{getUrl('act','dispMemberSignUpForm')}">{$lang->cmd_signup}</a>
<a href="{getUrl('act','dispMemberLoginForm')}">{$lang->cmd_login}</a>
<!--@else-->
<a href="{getUrl('act','dispMemberInfo')}">{$lang->cmd_view_member_info}</a>
<a href="{getUrl('act','dispMemberLogout')}">{$lang->cmd_logout}</a>
<!--@end-->
<!-- 관리 기능 -->
<!--@if($grant->is_admin)-->
<!-- 관리자일 경우 블로그 관리 메뉴 -->
<a href="{getUrl('mid', $layout_info->mid, 'act','dispBlogAdminBlogInfo')}">{$lang->cmd_management}</a>
<!--@end-->
<!-- RSS -->
<!--@if($rss_url)-->
<!-- rss 버튼 -->
<a href="{$rss_url}">rss</a>
<!--@end-->
</div>
<!-- 상단 로고 및 상단 메뉴 출력 -->
<div class="layout_top">
<div class="layout_logo">
<!--@if($layout_info->logo_image)-->
<a href="{getUrl('','mid',$layout_info->mid)}"><img src="{$layout_info->logo_image}" border="0" alt="{$layout_info->browser_title}"/></a>
<!--@end-->
<!--@if($layout_info->top_title)-->
<a href="{getUrl('','mid',$layout_info->mid)}">{$layout_info->top_title}</a>
<!--@end-->
</div>
<div class="layout_first_menu">
<!-- top_menu 시작 -->
<!--@foreach($top_menu->list as $key => $val)--><!--@if($val['text'])-->
<!--@if($val['selected'])-->
{@ $class_name = 'first_menu_selected'}
<!--@else-->
{@ $class_name = 'first_menu'}
<!--@end-->
<span class="{$class_name}">
<a href="{$val['href']}" <!--@if($val['open_window']=='Y')-->onclick="window.open(this.href);return false;"<!--@end-->>{$val['text']}</a>
</span>
<!--@end--><!--@end-->
<!-- top_menu 끝 -->
</div>
</div>
<!-- 왼쪽 분류 출력 -->
<div class="layout_left">
<!--@if($layout_info->profile || $layout_info->profile_image)-->
<!-- 프로필 -->
<div class="layout_profile">
<!--@if($layout_info->profile_image)-->
<div class="profile_image">
<img src="{$layout_info->profile_image}" border="0" alt="profile image" />
</div>
<!--@end-->
<!--@if($layout_info->profile)-->
<div class="profile">
{$layout_info->profile}
</div>
<!--@end-->
<!--@if($grant->is_admin)-->
<div class="layout_admin">
<!-- 글쓰기 버튼 -->
<a href="{getUrl('mid', $layout_info->mid, 'act','dispBlogWrite','document_srl','')}">{$lang->cmd_write}</a>
</div>
<!--@end-->
</div>
<!--@end-->
<!-- 블로그 메뉴 출력 -->
<div id="blog_category"></div>
<!-- 검색 -->
<div class="layout_search">
<form action="{getUrl()}" method="get">
<input type="hidden" name="mid" value="{$layout_info->mid}" />
<input type="text" class="search_keyword" name="search_keyword" value="<!--@if(!$search_target)-->{htmlspecialchars($search_keyword)}<!--@end-->" />
<input type="submit" class="search_button" value="{$lang->cmd_search}" />
</form>
</div>
<!-- 왼쪽 위젯 출력 위치 -->
<!-- 최근문서 출력 -->
<img src="./common/tpl/images/blank.gif" class="zbxe_widget_output" widget="newest_document" skin="blog_newest_document" colorset="normal" title="Recent Articles" order_target="list_order" order_type="desc" list_count="10" mid_list="{$layout_info->mid}" />
<!-- 최근댓글 출력 -->
<img src="./common/tpl/images/blank.gif" class="zbxe_widget_output" widget="newest_comment" skin="blog_newest_comment" colorset="normal" title="Recent Comments" list_count="10" mid_list="{$layout_info->mid}" />
<!-- 엮인글들 -->
<img src="./common/tpl/images/blank.gif" class="zbxe_widget_output" widget="newest_trackback" skin="blog_newest_trackback" colorset="normal" title="Recent Trackbacks" list_count="5" mid_list="{$layout_info->mid}" />
<!-- 꼬리표들 -->
<img src="./common/tpl/images/blank.gif" class="zbxe_widget_output" widget="tag_list" skin="blog_tag_list" colorset="normal" title="Site Tags" list_count="60" mid_list="{$layout_info->mid}" />
<!-- 월별 현황들 -->
<img src="./common/tpl/images/blank.gif" class="zbxe_widget_output" widget="archive_list" skin="blog_archive_list" colorset="normal" title="Archives" mid_list="{$layout_info->mid}" />
<!-- 달력 -->
<br />
<img src="./common/tpl/images/blank.gif" class="zbxe_widget_output" widget="calendar" skin="blog_calendar_list" colorset="normal" mid_list="{$layout_info->mid}" />
<!-- 카운터 -->
<img src="./common/tpl/images/blank.gif" class="zbxe_widget_output" widget="counter_status" skin="styx_flash" colorset="normal" />
<!-- powered by zbxe -->
<div id="poweredbyzbxe">
<a href="http://www.zeroboard.com" onclick="window.open(this.href);return false;"><img src="./images/poweredbyzbxe.png" alt="powered by zeroboard XE" /></a>
</div>
</div>
<!-- 컨텐츠 출력 부분 -->
<div class="layout_content">
<div id="content">{$content}</div>
</div>

View file

@ -1,53 +0,0 @@
<!--#include("header.html")-->
<!-- 목록 -->
<div style="margin-bottom:20px;">
<!-- 검색된 글 목록이 있고 권한이 있을 경우 출력 -->
<!--@if($document_list && $grant->list)-->
<!--@foreach($document_list as $no => $oDocument)-->
<!-- 검색어가 사용되었을 경우 목록형태로 출력 -->
<!--@if($search_target && $search_keyword)-->
<div>
<!-- 일자, 제목 출력-->
[{$oDocument->getRegdate("Y-m-d")}] <a href="{$oDocument->getPermanentUrl()}" onclick="window.open(this.href);return false;">{$oDocument->getTitleText()}</a>
<!-- 댓글이 있으면 댓글의 수 출력 -->
<!--@if($oDocument->getCommentCount())-->({number_format($oDocument->getCommentCount())})<!--@end-->
<!-- 엮인글이 있으면 엮인글의 수 출력 -->
<!--@if($oDocument->getTrackbackCount())-->({number_format($oDocument->getTrackbackCount())})<!--@end-->
</div>
<!-- 검색어가 없다면 내용을 바로 출력 -->
<!--@else-->
<!--#include("./view_document.html")-->
<!--@end-->
<!--@end-->
<!--@else-->
{$lang->no_documents}
<!--@end-->
</div>
<!--@if($grant->list)-->
<!-- 페이지 네비게이션 -->
<div style="text-align:right">
<a href="{getUrl('page','','document_srl','')}">[{$lang->first_page}]</a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
{$page_no}
<!--@else-->
<a href="{getUrl('page',$page_no,'document_srl','')}">[{$page_no}]</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page,'document_srl','')}">[{$lang->last_page}]</a>
</div>
<!--@end-->
<!--#include("footer.html")-->

View file

@ -1,11 +0,0 @@
<!--#include("header.html")-->
<div>
{$message}
</div>
<!--@if(!$is_logged)-->
<a href="{getUrl('act','dispMemberLoginForm')}">{$lang->cmd_login}</a>
<!--@end-->
<!--#include("footer.html")-->

View file

@ -1,98 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<skin>
<title xml:lang="ko">블로그 기본 스킨</title>
<title xml:lang="jp">ブログ基本スキン</title>
<title xml:lang="zh-CN">博客默认皮肤</title>
<title xml:lang="en">Default Skinf of Blog</title>
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
<name xml:lang="ko">제로</name>
<name xml:lang="jp">Zero</name>
<name xml:lang="zh-CN">zero</name>
<name xml:lang="en">zero</name>
<description xml:lang="ko">blog 모듈의 default스킨</description>
<description xml:lang="ko">ブログblogモジュールのデフォルトスキン</description>
<description xml:lang="zh-CN">博客模块的默认皮肤</description>
<description xml:lang="en">default skin of blog module</description>
</maker>
<colorset>
<color name="normal" src="screenshot/normal.gif">
<title xml:lang="ko">기본</title>
<title xml:lang="jp">기본</title>
<title xml:lang="zh-CN">默认</title>
<title xml:lang="en">Default</title>
</color>
</colorset>
<extra_vars>
<var name="top_title" type="text">
<title xml:lang="ko">상단 제목</title>
<title xml:lang="jp">上段タイトル</title>
<title xml:lang="zh-CN">顶部标题</title>
<title xml:lang="en">Top Title</title>
<description xml:lang="ko">레이아웃의 상단에 표시할 제목을 입력하세요.</description>
<description xml:lang="jp">レイアウト上段に表示させるタイトルを入力してください。</description>
<description xml:lang="zh-CN">请输入布局顶部显示的标题。</description>
<description xml:lang="en">Please input title which will be displayed on top of layout.</description>
</var>
<var name="logo_image" type="image" width="60" height="60">
<title xml:lang="ko">로고이미지</title>
<title xml:lang="jp">ロゴイメージ</title>
<title xml:lang="zh-CN">LOGO图片</title>
<title xml:lang="en">Logo Image</title>
<description xml:lang="ko">레이아웃의 상단에 표시될 로고이미지를 입력하세요.</description>
<description xml:lang="jp">レイアウトの上段に表示されるロゴイメージを入力してください。</description>
<description xml:lang="zh-CN">请输入顶部显示的LOGO图片。</description>
<description xml:lang="en">Please input logo image which will be displayed on top of layout.</description>
</var>
<var name="profile_image" type="image" width="60" height="60">
<title xml:lang="ko">프로필 이미지</title>
<title xml:lang="jp">プロフィールイメージ</title>
<title xml:lang="zh-CN">博客个性图片</title>
<title xml:lang="en">Profile Image</title>
<description xml:lang="ko">프로필 이미지를 입력해 주세요 (가로 사이즈는 200px이 가장 보기 좋습니다)</description>
<description xml:lang="jp">プロフィールイメージを入力してください横幅は「200px」が一番適しています</description>
<description xml:lang="zh-CN">请输入博客个性图片。 宽度200px图片为适</description>
<description xml:lang="en">Please input profile image (It is recommended to set width as 200px)</description>
</var>
<var name="profile" type="textarea">
<title xml:lang="ko">프로필</title>
<title xml:lang="jp">プロフィール</title>
<title xml:lang="zh-CN">简介</title>
<title xml:lang="en">Profile</title>
<description lang="ko">간단한 프로필을 입력해주세요</description>
<description lang="jp">簡単なプロフィールを入力してください。</description>
<description lang="zh-CN">请输入简单介绍。</description>
<description lang="en">Please input your simple profile</description>
</var>
<var name="category_name" type="text">
<title xml:lang="ko">카테고리명</title>
<title xml:lang="jp">カテゴリ名</title>
<title xml:lang="zh-CN">分类名</title>
<title xml:lang="en">Category</title>
<description lang="ko">카테고리의 이름을 입력해주세요.</description>
<description lang="jp">カテゴリ名を入力してください。</description>
<description lang="zh-CN">请输入分类名。</description>
<description lang="en">Please input the name of category.</description>
</var>
<var name="display_writer" type="select">
<title xml:lang="ko">글쓴이 표시</title>
<title xml:lang="jp">投稿者表示</title>
<title xml:lang="zh-CN">显示作者姓名</title>
<title xml:lang="en">Show Writer</title>
<description lang="ko">다수가 블로그를 함께 운영시에 글쓴이의 이름을 표시할 수 있습니다.</description>
<description lang="jp">多数の人が一緒に運営している場合、投稿者の名前を表示させることができます。</description>
<description lang="zh-CN">多数人一起管理博客时可以显示发表文章的作者。</description>
<description lang="en">It can display authors' name when the blog is being administrated by many administrators.</description>
<default>off</default>
<default>on</default>
</var>
</extra_vars>
<menus>
<menu name="top_menu" default="true">
<title xml:lang="ko">상단 메뉴</title>
<title xml:lang="jp">上段メニュー</title>
<title xml:lang="zh-CN">主菜单</title>
<title xml:lang="en">Top Menu</title>
<maxdepth>1</maxdepth>
</menu>
</menus>
</skin>

View file

@ -1,38 +0,0 @@
<!--@if($oDocument->getTrackbackCount())-->
<!--@foreach($oDocument->getTrackbacks() as $key => $val)-->
<a name="trackback_{$val->trackback_srl}"></a>
<div style="margin-left:{$val->depth*15}px" >
<table border="1">
<col width="120" />
<col width="*" />
<tr>
<th>{$lang->title}</th>
<td>{$val->title}</td>
</tr>
<tr>
<th>{$lang->date}</th>
<td>{zdate($val->regdate, "Y-m-d H:i:s")}</td>
</tr>
<tr>
<th>{$lang->blog_name}</th>
<td><a href="{$val->url}" onclick="window.open(this.href);return false;">{$val->blog_name}</a></td>
</tr>
<tr>
<th>{$lang->excerpt}</th>
<td height="100" valign="top">{nl2br($val->excerpt)}</td>
</tr>
<tr>
<th>ipaddress</th>
<td>{$val->ipaddress}</td>
</tr>
<tr>
<td colspan="2">
<a href="{getUrl('act','dispBlogDeleteTrackback','trackback_srl',$val->trackback_srl)}">[{$lang->cmd_delete}]</a>
</td>
</tr>
</table>
</div>
<!--@end-->
<!--@end-->

View file

@ -1,96 +0,0 @@
<!-- 글 내용 보여주기 -->
<div class="content_box">
<div class="title" style="clear:right;height:25px;">
<div style="font-weight:bold;font-size:18px;float:left;">
<!--@if($oDocument->get('category_srl'))-->
[{$category_list[$oDocument->get('category_srl')]->title}]
<!--@end-->
{$oDocument->getTitleText()}
</div>
</div>
<div style="clear:right;height:20px;">
<div class="date" style="float:left;">
<strong>{$oDocument->getRegdate('Y.m.d')}</strong> {$oDocument->getRegdate('H:i:s')}
<!--@if($module_info->display_writer == "on")-->
<span class="member_{$oDocument->get('member_srl')}">{$oDocument->getNickName()}</span>
<!--@end-->
</div>
<div style="float:right;">
<!--@if($oDocument->isEditable())-->
<a href="{getUrl('act','dispBlogWrite','document_srl',$oDocument->document_srl)}">[{$lang->cmd_modify}]</a>
<a href="{getUrl('act','dispBlogDelete','document_srl',$oDocument->document_srl)}">[{$lang->cmd_delete}]</a>
<!--@end-->
</div>
</div>
<div style="overflow:hidden;width:660px;margin:10px 0px 10px 0px;padding:5px 0px 5px 0px;border-top:1px solid #EEEEEE;border-bottom:1px solid #EEEEEE;" class="content">{$oDocument->getContent()}</div>
<div style="margin:10px 0px 10px 0px">
{$lang->document_url} : {$oDocument->getPermanentUrl()}
</div>
<div style="clear:both;height:20px;margin:0px 0px 10px 0px">
{@ $tag_list = $oDocument->get('tag_list') }
<!--@if(count($tag_list))-->
<div style="color:#888888;float:left;">
<!--@for($i=0;$i<count($tag_list);$i++)-->
{@ $tag = $tag_list[$i]; }
{$lang->tag} :
<a href="{getUrl('search_target','tag','search_keyword',urlencode($val),'document_srl','')}" rel="tag">{htmlspecialchars($val)}</a>
<!--@end-->
</div>
<!--@end-->
<!--@if($oDocument->allowTrackback())-->
<div style="color:#888888;float:right;">
{$lang->trackback_url} : {$oDocument->getTrackbackUrl()}
</div>
<!--@end-->
</div>
<!--@if($oDocument->hasUploadedFiles())-->
<div style="border:1px solid #DDDDDD;padding:10px;margin-bottom:10px;">
<div>{$lang->uploaded_file}</div>
<div>
{@ $uploaded_list = $oDocument->getUploadedFiles() }
<!--@foreach($uploaded_list as $key => $file)-->
<span><a href="{$file->download_url}">{$file->source_filename} ({FileHandler::filesize($file->file_size)})</a> ({number_format($file->download_count)})</span>
<!--@end-->
</div>
</div>
<!--@end-->
<a href="{getUrl('','act','dispDocumentPrint','document_srl',$oDocument->document_srl)}" onclick="winopen(this.href);return false;">{$lang->cmd_print}</a>
</div>
<!-- 댓글/ 엮인글 정보 출력 -->
<div>
<!--@if($grant->write_comment && $oDocument->allowComment()) -->
<a href="#comment_top_{$oDocument->document_srl}">{$lang->comment} : {$oDocument->getCommentCount()}</a>,
<!--@end-->
<!--@if($oDocument->allowTrackback())-->
<a href="#trackback_{$oDocument->document_srl}">{$lang->trackback} : {$oDocument->getTrackbackCount()}</a>
<!--@end-->
</div>
<!-- 엮인글 목록 -->
<a name="trackback_{$oDocument->document_srl}"></a>
<!-- 엮인글 파일 include -->
<!--@if($oDocument->allowTrackback())-->
<!--#include("./trackback.html")-->
<!--@end-->
<!-- 댓글 정보 출력 -->
<a name="comment_top_{$oDocument->document_srl}"></a>
<!-- 댓글 파일 include -->
<!--@if($grant->write_comment && $oDocument->allowComment())-->
{@ $document_srl = $oDocument->document_srl; }
<!--#include("./comment.html")-->
<!--@end-->

View file

@ -1,104 +0,0 @@
<!--%import("filter/insert.xml")-->
<!--#include("header.html")-->
<form action="./" method="post" onsubmit="return procFilter(this, insert)" <!--@if($grant->fileupload)-->enctype="multipart/form-data"<!--@end-->>
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="content" value="{$oDocument->getContentText()}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<table border="1" width="100%">
<col width="120" />
<col width="*" />
<!--@if($category_list)-->
<tr>
<th>{$lang->category}</th>
<td>
<select name="category_srl" >
<option value="">{$lang->category}</option>
<!--@foreach($category_list as $val)-->
<option value="{$val->category_srl}" <!--@if($category==$val->category_srl||$val->category_srl==$oDocument->get('category_srl'))-->selected="selected"<!--@end-->>{$val->title} <!--@if($val->document_count)-->({$val->document_count})<!--@end--></option>
<!--@end-->
</select>
</td>
<!--@end-->
<!--@if(!$is_logged)-->
<tr>
<th>{$lang->writer}</th>
<td><input type="text" name="nick_name" value="{$oDocument->getNickName()}" /></td>
</tr>
<tr>
<th>{$lang->password}</th>
<td><input type="password" name="password" value="" /></td>
</tr>
<tr>
<th>{$lang->email_address}</th>
<td><input type="text" name="email_address" value="{htmlspecialchars($oDocument->get('email_address'))}"/></td>
</tr>
<tr>
<th>{$lang->homepage}</th>
<td><input type="text" name="homepage" value="{htmlspecialchars($oDocument->get('homepage'))}" /></td>
</tr>
<!--@end-->
<tr>
<th>{$lang->title}</th>
<td><input type="text" name="title" value="{$oDocument->getTitleText()}" /></td>
</tr>
<tr>
<td colspan="2">
<!--@if($grant->manager)-->
<input type="checkbox" name="is_notice" value="Y" <!--@if($oDocument->isNotice())-->checked="checked"<!--@end--> id="is_notice" />
<label for="is_notice">{$lang->notice}</label>
<!--@end-->
<input type="checkbox" name="is_secret" value="Y" <!--@if($oDocument->isSecret())-->checked="checked"<!--@end--> id="is_secret" />
<label for="is_secret">{$lang->secret}</label>
<input type="checkbox" name="allow_comment" value="Y" <!--@if($oDocument->allowComment())-->checked="checked"<!--@end--> id="allow_comment" />
<label for="allow_comment">{$lang->allow_comment}</label>
<input type="checkbox" name="lock_comment" value="Y" <!--@if($oDocument->isLocked())-->checked="checked"<!--@end--> id="lock_comment" />
<label for="lock_comment">{$lang->lock_comment}</label>
<input type="checkbox" name="allow_trackback" value="Y" <!--@if($oDocument->allowTrackback())-->checked="checked"<!--@end--> id="allow_trackback" />
<label for="allow_trackback">{$lang->allow_trackback}</label>
</td>
</tr>
<tr>
<td colspan="2">{$editor}</td>
</tr>
<tr>
<th>{$lang->cmd_send_trackback}</th>
<td>
<input type="text" name="trackback_url" />
<select name="trackback_charset">
<option value='UTF-8'>UTF-8</option>
<option value='EUC-KR'>EUC-KR</option>
<option value='EUC-JP'>EUC-JP</option>
<option value='SHIFT_JIS'>SHIFT_JIS</option>
<option value='EUC-CN'>EUC-CN</option>
<option value='HZ'>HZ</option>
<option value='BIG5'>BIG5</option>
</select>
</td>
</tr>
<tr>
<th>{$lang->tag}</th>
<td>
<input type="text" name="tags" value="{htmlspecialchars($oDocument->get('tags'))}" /> <br />
{$lang->about_tag}
</td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="{$lang->cmd_preview}" onclick="doDocumentPreview(this); return false;" />
<input type="submit" value="{$lang->cmd_registration}" accesskey="s" />
</td>
</tr>
</table>
</form>
<!--#include("footer.html")-->