삭제
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2346 201d5d3c-b55e-5fd7-737f-ddc643e51545
|
|
@ -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-->
|
||||
|
|
@ -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-->
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
@ -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;}
|
||||
|
|
@ -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")-->
|
||||
|
|
@ -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")-->
|
||||
|
|
@ -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")-->
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -1 +0,0 @@
|
|||
{$module_info->footer_text}
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
<!--%import("js/blog.js")-->
|
||||
{$module_info->header_text}
|
||||
|
Before Width: | Height: | Size: 5 KiB |
|
Before Width: | Height: | Size: 372 B |
|
Before Width: | Height: | Size: 70 B |
|
Before Width: | Height: | Size: 66 B |
|
Before Width: | Height: | Size: 68 B |
|
Before Width: | Height: | Size: 90 B |
|
Before Width: | Height: | Size: 85 B |
|
Before Width: | Height: | Size: 582 B |
|
Before Width: | Height: | Size: 622 B |
|
Before Width: | Height: | Size: 91 B |
|
Before Width: | Height: | Size: 88 B |
|
|
@ -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")-->
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
||||
|
|
@ -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")-->
|
||||
|
|
@ -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")-->
|
||||
|
|
@ -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>
|
||||
|
|
@ -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-->
|
||||
|
|
@ -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-->
|
||||
|
|
@ -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")-->
|
||||