git-svn-id: http://xe-core.googlecode.com/svn/trunk@1599 201d5d3c-b55e-5fd7-737f-ddc643e51545
|
|
@ -1,4 +1,3 @@
|
|||
<!--%import("filter/insert_comment.xml")-->
|
||||
<!--@if($document->comment_list)-->
|
||||
|
||||
<!--@foreach($document->comment_list as $key => $val)-->
|
||||
|
|
|
|||
56
modules/blog/skins/xe_blog/comment.html
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
<!--@if($document->comment_list)-->
|
||||
<ul id="reply">
|
||||
|
||||
<!--@foreach($document->comment_list as $key => $val)-->
|
||||
|
||||
<li <!--@if($val->depth)-->class="reply"<!--@end-->>
|
||||
<!--@if($val->depth)-->
|
||||
<div style="margin-left:{($val->depth-1)*1.3}em" class="replyIndent">
|
||||
<!--@end-->
|
||||
|
||||
<a name="comment_{$key}"></a>
|
||||
|
||||
<div class="member_{$val->member_srl} author">{htmlspecialchars($val->nick_name)}</div>
|
||||
|
||||
<div class="replyOption">
|
||||
<!--@if($val->is_granted || !$val->member_srl)-->
|
||||
<a href="{getUrl('act','dispBoardDeleteComment','comment_srl',$val->comment_srl)}"><img src="./images/{$module_info->colorset}/buttonDeleteX.gif" alt="{$lang->cmd_reply}" width="12" height="13" /></a>
|
||||
<a href="{getUrl('act','dispBoardModifyComment','comment_srl',$val->comment_srl)}"><img src="./images/{$module_info->colorset}/buttonModifyE.gif" alt="{$lang->cmd_modify}" width="20" height="18" /></a>
|
||||
<!--@end-->
|
||||
<a href="{getUrl('act','dispBoardReplyComment','comment_srl',$val->comment_srl)}"><img src="./images/{$module_info->colorset}/buttonReply.gif" alt="{$lang->cmd_reply}" width="20" height="18" /></a>
|
||||
</div>
|
||||
|
||||
<div class="date">
|
||||
{zdate($val->regdate, "Y.m.d H:i")}
|
||||
<!--@if($grant->is_admin)-->
|
||||
({$val->ipaddress})
|
||||
<!--@end-->
|
||||
</div>
|
||||
|
||||
<div class="replyContent">
|
||||
{$val->content}
|
||||
</div>
|
||||
|
||||
<!--@if($val->uploaded_count && $val->uploaded_list)-->
|
||||
<div class="fileAttached">
|
||||
<ul>
|
||||
<!--@foreach($val->uploaded_list as $key => $file)-->
|
||||
<li><a href="{getUrl('')}{$file->download_url}">{$file->source_filename} ({FileHandler::filesize($file->file_size)})({number_format($file->download_count)})</a></li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($val->depth)-->
|
||||
</div>
|
||||
<!--@end-->
|
||||
</li>
|
||||
<!--@end-->
|
||||
|
||||
</ul>
|
||||
<!--@end-->
|
||||
|
||||
<!-- 댓글 입력 폼 -->
|
||||
<!--@if($grant->write_comment && $document->lock_comment == 'N')-->
|
||||
<div id="comment_form_{$document->document_srl}"></div>
|
||||
<!--@end-->
|
||||
70
modules/blog/skins/xe_blog/comment_form.html
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
<!--%import("filter/insert_comment.xml")-->
|
||||
<!--%import("js/blog.js")-->
|
||||
|
||||
<!--@if($source_comment)-->
|
||||
<!--#include("header.html")-->
|
||||
<!--@end-->
|
||||
|
||||
<!-- 만약 댓글의 답을 다는 것이라면 원문 보여줌 -->
|
||||
<!--@if($source_comment)-->
|
||||
<ul id="reply">
|
||||
<li>
|
||||
<div class="member_{$source_comment->member_srl} author">{htmlspecialchars($source_comment->nick_name)}</div>
|
||||
<div class="date">
|
||||
{zdate($source_comment->regdate, "Y.m.d H:i")}
|
||||
<!--@if($grant->is_admin)-->
|
||||
({$source_comment->ipaddress})
|
||||
<!--@end-->
|
||||
</div>
|
||||
|
||||
<div class="replyContent">
|
||||
{$source_comment->content}
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<!--@end-->
|
||||
|
||||
<!-- 글쓰기 폼 -->
|
||||
<div class="boardWrite">
|
||||
|
||||
<form action="./" method="post" onsubmit="return procFilter(this, insert_comment)" <!--@if($grant->fileupload)-->enctype="multipart/form-data"<!--@end--> class="boardEditor" >
|
||||
<fieldset>
|
||||
<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="content" value="{htmlspecialchars($comment->content)}" />
|
||||
<input type="hidden" name="parent_srl" value="{$parent_srl}" />
|
||||
|
||||
<!--@if(!$is_logged)-->
|
||||
<div class="userNameAndPw">
|
||||
<label for="userName">{$lang->writer}</label>
|
||||
<input type="text" name="nick_name" value="{$comment->nick_name}" class="userName inputTypeText" id="userName"/>
|
||||
|
||||
<label for="userPw">{$lang->password}</label>
|
||||
<input type="password" name="password" value="" id="userPw" class="userPw inputTypeText" />
|
||||
|
||||
<label for="emailAddress">{$lang->email_address}</label>
|
||||
<input type="text" name="email_address" value="{htmlspecialchars($comment->email_address)}" id="emailAddress" class="emailAddress inputTypeText"/>
|
||||
|
||||
<label for="homePage">{$lang->homepage}</label>
|
||||
<input type="text" name="homepage" value="{htmlspecialchars($comment->homepage)}" id="homePage" class="homePage inputTypeText"/>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<div>{$comment_editor}</div>
|
||||
|
||||
<div class="buttonWrite">
|
||||
<!--@if($act&&$act!='dispBlogContent')-->
|
||||
<input type="button" value="{$lang->cmd_back}" onclick="location.href='{getUrl('act','')}'" />
|
||||
<!--@end-->
|
||||
<input type="submit" value="{$lang->cmd_registration}" accesskey="s" />
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!--@if($source_comment)-->
|
||||
<!--#include("footer.html")-->
|
||||
<!--@end-->
|
||||
102
modules/blog/skins/xe_blog/css/blog_tree_menu.css
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
#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;
|
||||
}
|
||||
|
||||
144
modules/blog/skins/xe_blog/css/layout.css
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
@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 {
|
||||
}
|
||||
269
modules/blog/skins/xe_blog/css/white.css
Normal file
|
|
@ -0,0 +1,269 @@
|
|||
@charset "utf-8";
|
||||
/*
|
||||
NHN UIT Lab. WebStandardization Team (http://html.nhndesign.com/)
|
||||
Jeong, Chan Myeong 070601~070630
|
||||
*/
|
||||
|
||||
/* pathNavigation */
|
||||
.pathNavigation { background:url(../images/white/bullet_3x3_d8d8d8.gif) no-repeat left .4em; padding:0 0 0 .5em; color:#999999; margin:0 0 1.5em 0;}
|
||||
.pathNavigation * { font-size:.9em;}
|
||||
.pathNavigation a { color:#999999;}
|
||||
.pathNavigation strong { color:#666666;}
|
||||
|
||||
/* boardHeader */
|
||||
.boardHeader { position:relative; _width:100%; border:1px solid #e1e1dd; border-bottom:none; background:#ffffff url(../images/white/bgH3.gif) repeat-x left bottom; overflow:hidden;}
|
||||
.boardHeader h3 { float:left; clear:both; font-size:1.2em; padding:1em 2em .7em 1.2em; border-bottom:3px solid #fe3614; background:#ffffff url(../images/white/lineH3.gif) no-repeat right bottom;}
|
||||
|
||||
/* boardInformation */
|
||||
.boardInformation { width:100%; clear:both; margin:1em 0 .5em 0; overflow:hidden; color:#666666;}
|
||||
.articleNum { float:left; background:url(../images/white/iconArticle.gif) no-repeat left top; padding:0 0 0 1.5em; margin:.5em 0 0 0;}
|
||||
.articleNum strong { font:bold 11px Tahoma; color:#ff6600;}
|
||||
|
||||
.accountNavigation { float:right; overflow:hidden;}
|
||||
.accountNavigation li { float:left; padding:0 .5em 0 .6em; background:url(../images/white/line_1x10_e0e0e0.gif) no-repeat left .4em;}
|
||||
.accountNavigation li a { font-size:11px; white-space:nowrap; color:#666666;}
|
||||
.accountNavigation li.rss { background:none; padding-top:.4em;}
|
||||
.accountNavigation li.join { background:none; padding-top:.4em;}
|
||||
.accountNavigation li.join a { display:block; background:url(../images/white/iconMyInfo.gif) no-repeat left .1em; padding:0 0 0 1.2em;}
|
||||
.accountNavigation li.myInfo { padding-top:.4em;}
|
||||
.accountNavigation li.myInfo a { display:block; background:url(../images/white/iconMyInfo.gif) no-repeat left .1em; padding:0 0 0 1.2em;}
|
||||
.accountNavigation li.admin { background:none; padding-top:.4em;}
|
||||
.accountNavigation li.admin a { display:block; background:url(../images/white/iconAdmin.gif) no-repeat left .1em; padding:0 0 0 1.2em;}
|
||||
.accountNavigation li.loginAndLogout { background:none; padding-left:0;}
|
||||
|
||||
/* boardList */
|
||||
.boardList { width:100%; position:relative; border:1px solid #e0e1db;}
|
||||
.boardList tr.notice { background:#f8f8f8;}
|
||||
.boardList tr.notice .num { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; font-weight:bold;}
|
||||
.boardList tr.bg1 { background:#ffffff}
|
||||
.boardList tr.bg2 { background:#fbfbfb;}
|
||||
.boardList th { color:#3e3f3e; font-weight:normal; border-bottom:1px solid #ffffff; padding:.8em .5em .5em .5em; background:#ffffff url(../images/white/lineBoardListTh.gif) no-repeat left bottom;}
|
||||
.boardList th a { color:#3e3f3e;}
|
||||
.boardList th.num { background-position:-3px bottom; border-left:1px solid #ffffff; padding:0;}
|
||||
.boardList th.category { padding:0 .2em 0 .5em;}
|
||||
.boardList th.category.thumbStyle { background-position:-3px bottom !important; border-left:1px solid #ffffff; text-align:left;}
|
||||
.boardList th.title {}
|
||||
.boardList th.author {}
|
||||
.boardList th.reading { white-space:nowrap;}
|
||||
.boardList th.recommend { white-space:nowrap;}
|
||||
.boardList th.date { border-right:1px solid #ffffff;}
|
||||
.boardList th .sort { padding:0 .2em; vertical-align:middle;}
|
||||
.boardList td { border-top:1px solid #eff0ed; padding:.5em;}
|
||||
.boardList td.num { font:.8em Tahoma; color:#999999; padding:.5em 1em;}
|
||||
.boardList td.category {}
|
||||
.boardList tr.notice td.num { padding:.5em; white-space:nowrap;}
|
||||
.boardList td.thumb { padding:.5em 0 .5em .5em; width:145px; table-layout:fixed; white-space:nowrap;}
|
||||
.boardList td.thumb * { vertical-align:middle;}
|
||||
.boardList td.title {}
|
||||
.boardList td.title.bold { font-size:1.2em; font-weight:bold;}
|
||||
.boardList td.title.bold a { position:relative; top:.3em;}
|
||||
.boardList td.title * { vertical-align:middle;}
|
||||
.boardList td.title,
|
||||
.boardList td.title a { color:#444444;}
|
||||
.boardList td.title a:visited { color:#777777;}
|
||||
.boardList td.author { color:#333333; font:.95em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;}
|
||||
.boardList td.author a { font-size:1em; color:#333333;}
|
||||
.boardList td.reading { font:.8em Tahoma; color:#999999; text-align:center;}
|
||||
.boardList td.recommend { font:bold .8em Tahoma; color:#ff6600; text-align:center;}
|
||||
.boardList td.date { font:.8em Tahoma; color:#999999; text-align:center;}
|
||||
.boardList td.summary { border-top:none; vertical-align:top; color:#666666; line-height:1.25em;}
|
||||
.boardList td.summary a { color:#666666; text-decoration:none; line-height:inherit;}
|
||||
.boardList td.summary a:visited { color:#999999;}
|
||||
.boardList td input { _margin:-3px;}
|
||||
.boardList td .replyAndTrackback { font:.8em Tahoma; color:#ff6600; position:relative; top:-.2em;}
|
||||
.boardList td .replyAndTrackback img.trackback { margin-bottom:-.1em;}
|
||||
.boardList td.title.bold .replyAndTrackback { font:.6em Tahoma; color:#ff6600; position:relative; top:.3em;}
|
||||
.boardList td .replyAndTrackback strong { font:bold 1em Tahoma;}
|
||||
|
||||
.boardList td .thumbnailSmall { margin:0 .3em 0 .3em;}
|
||||
.boardList td .thumbnailSmall img { border:1px solid #bcbdb6;}
|
||||
.boardList td .thumbnailMedium { margin:0 .3em 0 .3em;}
|
||||
.boardList td .thumbnailMedium img { border:1px solid #e0e1db; padding:3px;}
|
||||
|
||||
.boardList.thumbnail { margin-top:-1px; border-bottom:none;}
|
||||
.boardList.thumbnail td { border-top:none; border-bottom:1px solid #eff0ed; padding:1.5em 0 0 1.5em; overflow:hidden;}
|
||||
.boardList.thumbnail div.cell { float:left; width:130px; margin:0 1.5em 0 0; padding-bottom:1.5em;}
|
||||
.boardList.thumbnail div.cell img.thumb { padding:2px; border:1px solid #e0e1db; display:block; margin-bottom:1em;}
|
||||
.boardList.thumbnail div.title { color:#444444; margin-bottom:.2em; padding-left:3px;}
|
||||
.boardList.thumbnail div.title a { color:#444444;}
|
||||
.boardList.thumbnail div.nameAndDate { font-size:.9em; color:#999999; margin-bottom:.2em; padding-left:3px;}
|
||||
.boardList.thumbnail div.nameAndDate a { color:#999999;}
|
||||
.boardList.thumbnail div.nameAndDate .date { font:.8em Tahoma; color:#999999;}
|
||||
.boardList.thumbnail div.readAndRecommend { font-size:.9em; color:#666666; padding-left:3px;}
|
||||
.boardList.thumbnail div.readAndRecommend .num { font:.8em Tahoma;}
|
||||
.boardList.thumbnail div.readAndRecommend .vr { color:#dddddd;}
|
||||
.boardList.thumbnail div.readAndRecommend strong.num { font:bold .8em Tahoma; color:#ff6600;}
|
||||
|
||||
/* pageNavigation */
|
||||
.pageNavigation { display:block; padding:1.5em 0 2em 0; text-align:center; font:bold .8em Tahoma; }
|
||||
.pageNavigation a { position:relative; margin-left:-4px; font:bold 1em Tahoma; color:#666666; display:inline-block; padding:1px 7px 2px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
|
||||
.pageNavigation a:hover { background:#F7F7F7; text-decoration:none; }
|
||||
.pageNavigation a:visited { color:#999999;}
|
||||
.pageNavigation a.goToFirst,
|
||||
.pageNavigation a.goToLast { border:none; border-right:1px solid #ffffff; border-left:1px solid #ffffff; z-index:99; vertical-align:top; padding:0px 7px 4px 6px;}
|
||||
.pageNavigation a.goToFirst img,
|
||||
.pageNavigation a.goToLast img { display:inline-block; padding:2px 0; position:relative; top:2px; _top:1px;}
|
||||
.pageNavigation .current { position:relative; margin-left:-4px; font:bold 1em Tahoma; color:#ff6600; display:inline-block; padding:1px 7px 1px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
|
||||
|
||||
/* buttonType */
|
||||
.buttonTypeA { display:block; cursor:pointer; background:url(../images/white/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px;}
|
||||
.buttonTypeA:hover { text-decoration:none;}
|
||||
.buttonTypeA img { vertical-align:middle;}
|
||||
.buttonTypeA .leftCap { width:2px; height:24px; background:url(../images/white/buttonTypeALeft.gif) no-repeat; margin:0 .3em 0 0; position:relative; left:-1px;}
|
||||
.buttonTypeA .rightCap { width:2px; height:24px; background:url(../images/white/buttonTypeARight.gif) no-repeat; margin:0 -1px 0 .4em;}
|
||||
.buttonTypeA .icon { margin:0 .2em;}
|
||||
|
||||
.buttonTypeB { display:block; cursor:pointer; background:url(../images/white/buttonTypeBCenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; font-size:.9em; white-space:nowrap;}
|
||||
.buttonTypeB:hover { text-decoration:none;}
|
||||
.buttonTypeB img { vertical-align:middle;}
|
||||
.buttonTypeB .leftCap { width:2px; height:21px; background:url(../images/white/buttonTypeBLeft.gif) no-repeat; margin:0 .3em 0 0; position:relative; left:-1px;}
|
||||
.buttonTypeB .rightCap { width:2px; height:21px; background:url(../images/white/buttonTypeBRight.gif) no-repeat; margin:0 -1px 0 .4em;}
|
||||
.buttonTypeB .icon { margin:0 .2em;}
|
||||
|
||||
/* button of list page */
|
||||
.buttonRight { position:relative; float:right; top:-3em; margin:0 0 -3em 0; _top:-3.5em; padding-right:.5em; overflow:visible;}
|
||||
.buttonRight ul { float:left; }
|
||||
.buttonRight ul li { float:left; margin-right:.3em;}
|
||||
.buttonLeft { position:relative; float:left; top:-3em; margin:0 0 -3em 0; _top:-3.5em; padding-left:.5em; overflow:visible;}
|
||||
.buttonLeft ul { float:left; }
|
||||
.buttonLeft ul li { float:left; margin-right:.3em;}
|
||||
|
||||
.boardRead .dateAndModify { float:right; white-space:nowrap;}
|
||||
.boardRead .dateAndModify .date { font-size:.8em; font-family:Tahoma; color:#999999; margin-right:.5em; float:left; position:relative; top:.3em;}
|
||||
.boardRead .dateAndModify .date strong { font-size:1em; font-family:Tahoma;}
|
||||
.boardRead .dateAndModify ul { display:inline;}
|
||||
.boardRead .dateAndModify ul li { float:left; margin-left:.3em;}
|
||||
|
||||
/* boardSearch */
|
||||
.boardSearch { text-align:center; clear:both; width:100%;}
|
||||
.boardSearch fieldset { border:none; display:inline; overflow:visible; position:relative;}
|
||||
.boardSearch fieldset legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em;}
|
||||
.boardSearch * { vertical-align:middle;}
|
||||
.boardSearch select { float:left;}
|
||||
.boardSearch input { float:left; margin:0 .3em; background:#fbfbfb;}
|
||||
.searchButton ul { overflow:hidden;}
|
||||
.searchButton li { float:left; margin-right:.3em;}
|
||||
|
||||
|
||||
/* boardRead */
|
||||
.boardRead { position:relative; _width:100%; margin:1em 0 0 0; border:1px solid #e0e1db;}
|
||||
.boardRead .originalContent { padding:2em 1.2em 2em 1.2em;}
|
||||
.boardRead .readHeader { width:100%; padding-bottom:.5em; margin-bottom:1em; border-bottom:1px solid #eff0ed; overflow:hidden;}
|
||||
|
||||
.boardRead .titleAndCategory { float:left;}
|
||||
.boardRead .titleAndCategory h4 { font-size:1.4em; display:inline; padding-left:.2em;}
|
||||
.boardRead .titleAndCategory .vr { font-size:.9em; margin:0 .3em; color:#c5c7c0;}
|
||||
.boardRead .titleAndCategory .cotegory { font-size:.9em; color:#999999; white-space:nowrap;}
|
||||
|
||||
.boardRead .dateAndModify { float:right; white-space:nowrap;}
|
||||
.boardRead .dateAndModify .num { font-size:.9em; font-family:Tahoma; color:#999999; margin-right:.5em; float:left; position:relative; top:.3em;}
|
||||
.boardRead .dateAndModify .num strong { font-size:1em; font-family:Tahoma;}
|
||||
.boardRead .dateAndModify .ipaddress { font-size:.9em; font-family:Tahoma; color:#555555; margin-right:.5em; float:left; position:relative; top:.3em;}
|
||||
.boardRead .dateAndModify ul { display:inline;}
|
||||
.boardRead .dateAndModify ul li { float:left; margin-left:.3em;}
|
||||
|
||||
.boardRead dl.uri { overflow:hidden; margin:0 0 2em .3em; float:right;}
|
||||
.boardRead dl.uri dt { float:left; clear:left; font-size:.9em; margin-right:.3em; color:#999999;}
|
||||
.boardRead dl.uri dd { clear:right; font:.8em Tahoma; color:#c5c7c0;}
|
||||
|
||||
.boardRead .userInfo { float:left; white-space:nowrap;}
|
||||
.boardRead .userInfo .author { float:left; padding:0 .3em 0 0; color:#3074a5; margin-right:.3em;}
|
||||
|
||||
.boardRead .readBody { padding:0 .3em; color:#555555; overflow:hidden; margin-bottom:2em; clear:both;}
|
||||
.boardRead .readBody p { margin:1em 0; line-height:1.5em;}
|
||||
.boardRead .readBody .alignLeft { float:left; margin:0 1em 1em 0; }
|
||||
.boardRead .readBody .alignRight { float:right; margin:0 0 1em 1em; }
|
||||
.boardRead .readBody .valignCenter { vertical-align:middle;}
|
||||
.boardRead .readBody .clearBoth { display:block; margin:0 0 1em 0;}
|
||||
.boardRead .readFooter { padding:0 .3em;}
|
||||
.boardRead .readFooter .tag { margin-bottom:1em;}
|
||||
.boardRead .readFooter .tag h5 { display:inline; font-size:1em; margin-right:.5em;}
|
||||
.boardRead .readFooter .tag ul,
|
||||
.boardRead .readFooter .tag li { display:inline;}
|
||||
.boardRead .readFooter .tag a { color:#444444;}
|
||||
.boardRead .readFooter .tag .tagIcon { vertical-align:middle;}
|
||||
.boardRead .readFooter .fileAttached { position:relative; _width:100%; border:1px solid #eaeae7; overflow:hidden; background:#fbfbfb;}
|
||||
.boardRead .readFooter .fileAttached h5 { position:absolute; top:1em; left:1.5em; font-weight:normal; color:#999999; float:left; font-size:1em; margin-right:.5em; line-height:1.5em;}
|
||||
.boardRead .readFooter .fileAttached ul { float:left; padding:1em 1em .8em 0; margin-left:5em; _margin-left:2.5em;}
|
||||
.boardRead .readFooter .fileAttached li { display:inline; margin-right:.75em; line-height:1.5em;}
|
||||
.boardRead .readFooter .fileAttached li a { font-size:.9em; padding:.1em 0 .1em 1.5em; white-space:nowrap; position:relative; color:#444444; background:url(../images/white/iconFile.gif) no-repeat left top;}
|
||||
.boardRead .readFooter .fileAttached li a:visited { color:#777777;}
|
||||
.boardRead .replyAndTrackback { position:relative; overflow:hidden; _width:100%; padding:.8em 0em; height:1em; background:url(../images/white/bgBoardListTh.gif) repeat-x left bottom; border-top:1px solid #e0e1db; border-bottom:2px solid #666760;}
|
||||
.boardRead .replyAndTrackback li { position:relative; left:1.5em; padding-left:1.4em; float:left; margin-right:1em;}
|
||||
.boardRead .replyAndTrackback li.reply { background:url(../images/white/iconReply.gif) no-repeat left top;}
|
||||
.boardRead .replyAndTrackback li.reply a { _position:relative; _top:-.5em;}
|
||||
.boardRead .replyAndTrackback li.trackback { background:url(../images/white/iconTrackback.gif) no-repeat left top;}
|
||||
.boardRead .replyAndTrackback a { display:block; float:left; color:#333333; height:1em; padding:.1em 1.5em .1em 0; white-space:nowrap;}
|
||||
.boardRead .replyAndTrackback a strong { color:#ff6600;}
|
||||
.boardRead .replyAndTrackback a#toggleReply { background:url(../images/white/buttonToggleReply.gif) no-repeat right top;}
|
||||
.boardRead .replyAndTrackback a#toggleTrackback { background:url(../images/white/buttonToggleReply.gif) no-repeat right -13px;}
|
||||
.boardRead .replyAndTrackback li.button { float:right; }
|
||||
.boardRead .replyAndTrackback li.button a { display:inline; padding:0; margin:0 1em 0 1em;}
|
||||
|
||||
#trackbacks { padding:.6em .6em; color:#666666; border:1px solid #e0e1db;;margin-top:.5em;}
|
||||
#trackbacks li { padding:.6em .8em .6em .6em; line-height:1.25em; border-bottom:1px dotted #EEEEEE;}
|
||||
#trackbacks p { display:inline; margin-bottom:1em;}
|
||||
#trackbacks a { color:#666666; }
|
||||
#trackbacks div { clear:both; }
|
||||
#trackbacks address { display:block; padding:0 .3em 0 0; }
|
||||
#trackbacks address a { font-size:.9em; color:#3074a5; margin-right:.3em; float:left;}
|
||||
#trackbacks address .date { font:.8em Tahoma; color:#cccccc; float:right;}
|
||||
|
||||
#reply { padding:.6em .6em; color:#666666; border:1px solid #e0e1db; margin-top:.5em;}
|
||||
#reply li { padding:.6em .8em .6em .6em; line-height:1.25em; clear:both; border-bottom:1px dotted #EEEEEE;}
|
||||
#reply p { display:inline; margin-bottom:1em;}
|
||||
#reply .author { float:left; padding:0 .3em 0 0; font-size:.9em; color:#3074a5; margin-right:.3em;}
|
||||
#reply .author a { font-size:.9em; color:#3074a5; margin-right:.3em;}
|
||||
#reply .date { float:right; font:.8em Tahoma; color:#cccccc; margin:.3em 0 .5em 0;}
|
||||
|
||||
#reply .replyOption { float:right; white-space:nowrap; margin-left:.2em;}
|
||||
#reply .replyOption img { vertical-align:middle;}
|
||||
|
||||
#reply .replyContent { clear:left; }
|
||||
#reply .reply { background-color:#FAFAFA;}
|
||||
#reply .replyIndent { background:url(../images/white/iconReplyArrow.gif) no-repeat .0em .3em; padding-left:1.3em;}
|
||||
|
||||
#reply li .fileAttached { _width:100%; border:1px solid #eaeae7; overflow:hidden; background:#fbfbfb; margin-top:.3em;}
|
||||
#reply li .fileAttached ul { float:left; padding:.3em 1em .2em 0; margin-left:.5em; _margin-left:.25em;}
|
||||
#reply li .fileAttached li { border:0px; display:inline; margin-right:.75em; line-height:1.5em; padding:.1em 0 .1em 1.5em; background:url(../images/white/iconFile.gif) no-repeat left;}
|
||||
#reply li .fileAttached li a { font-size:.9em; white-space:nowrap; position:relative; color:#444444; }
|
||||
#reply li .fileAttached li a:visited { color:#777777;}
|
||||
|
||||
/* boardEditor */
|
||||
.boardEditor { padding:.5em 0 1em 0; width:100%; overflow:hidden;}
|
||||
.boardEditor.reply { padding:.5em 1em 1em 1em; width:auto; overflow:hidden;}
|
||||
.boardEditor legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em;}
|
||||
.boardEditor fieldset { _width:100%; border:1px solid #eaeae7; border-top:none;}
|
||||
.boardEditor .userNameAndPw { position:relative; background:#fbfbfb; border-top:1px solid #eaeae7; border-bottom:1px solid #e1e1e1; padding:.5em 1em; white-space:nowrap;}
|
||||
.boardEditor .userNameAndPw * { vertical-align:middle;}
|
||||
.boardEditor .userNameAndPw label { margin-right:.2em; color:#666760;}
|
||||
.boardEditor .userNameAndPw input { color:#aaaaaa;}
|
||||
.boardEditor .userNameAndPw .userName { width:6em; margin-right:.8em;}
|
||||
.boardEditor .userNameAndPw .userPw { width:5em;}
|
||||
.boardEditor .userNameAndPw .emailAddress { width:6em;}
|
||||
.boardEditor .userNameAndPw .homePage { width:6em;}
|
||||
.boardEditor .userNameAndPw .checkSecret { position:absolute; right:2em; top:.7em;}
|
||||
.boardEditor .buttonReply { position:relative; float:left; left:50%; margin:.5em 0 0 -2em; _padding-bottom:1em;}
|
||||
|
||||
/* boardWrite */
|
||||
.boardWrite { width:100%; position:relative;}
|
||||
.boardWrite .userNameAndPw { margin-bottom:-1px;}
|
||||
.boardWrite .boardEditor fieldset { width:auto; position:relative;}
|
||||
.boardWrite div.title { border-bottom:1px solid #eff0ed; border-top:1px solid #eff0ed; padding:.5em 0; white-space:nowrap;}
|
||||
.boardWrite div.title label.title { display:block; float:left; font-weight:bold; padding:.4em 0 0 1.5em; width:6em; white-space:nowrap;}
|
||||
.boardWrite div.title input#title { width:60%;}
|
||||
.boardWrite .option { border-bottom:1px solid #e1e1e1; padding:.5em 0; overflow:hidden; width:100%;}
|
||||
.boardWrite .option dt { display:block; float:left; font-weight:bold; padding:.3em 0 0 1.5em; width:8em; white-space:nowrap;}
|
||||
.boardWrite .option dd { float:left; margin-right:1em; padding-top:.2em; _padding-top:.1em;}
|
||||
.boardWrite .option dd * { vertical-align:middle;}
|
||||
.boardWrite .inputTypeText { background:#fbfbfb;}
|
||||
.boardWrite .trackbackURI { clear:both; border-top:1px solid #eff0ed; padding:4px 0 .8em 0;}
|
||||
.boardWrite .trackbackURI label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:6em;}
|
||||
.boardWrite .trackbackURI .inputTypeText { width:50%;}
|
||||
.boardWrite .tag { clear:both; border-top:1px solid #eff0ed; padding:.8em 0;}
|
||||
.boardWrite .tag label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:6em;}
|
||||
.boardWrite .tag .inputTypeText { width:50%;}
|
||||
.boardWrite .tag .help { vertical-align:middle;}
|
||||
.boardWrite .tag .info { padding:.5em 0 0 .6em; margin-left:8.5em; font-size:.9em; color:#999999; background:url(../images/white/iconArrowD8.gif) no-repeat left center;}
|
||||
.boardWrite .buttonWrite { text-align:center; margin:.5em 0 1em 0; clear:both;}
|
||||
.boardWrite .buttonWrite input { border:1px solid #999999; background-color:#FFFFFF; color:#999999; height:1.5em; width:5em; _padding-top:.1em; cursor:pointer;}
|
||||
23
modules/blog/skins/xe_blog/delete_comment_form.html
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<!--%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")-->
|
||||
27
modules/blog/skins/xe_blog/delete_form.html
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<!--%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>{$document->title}</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")-->
|
||||
23
modules/blog/skins/xe_blog/delete_trackback_form.html
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<!--%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")-->
|
||||
18
modules/blog/skins/xe_blog/filter/delete_comment.xml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<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>
|
||||
16
modules/blog/skins/xe_blog/filter/delete_document.xml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<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>
|
||||
18
modules/blog/skins/xe_blog/filter/delete_trackback.xml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<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>
|
||||
16
modules/blog/skins/xe_blog/filter/input_password.xml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<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>
|
||||
18
modules/blog/skins/xe_blog/filter/insert.xml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<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>
|
||||
28
modules/blog/skins/xe_blog/filter/insert_comment.xml
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<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
modules/blog/skins/xe_blog/footer.html
Normal file
|
|
@ -0,0 +1 @@
|
|||
{$module_info->footer_text}
|
||||
13
modules/blog/skins/xe_blog/header.html
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<!-- JS 파일 로드 -->
|
||||
<!--%import("js/blog.js")-->
|
||||
|
||||
<!--@if($module_info->colorset != "white")-->
|
||||
{@$module_info->colorset = "white"}
|
||||
<!--@end-->
|
||||
|
||||
<!-- CSS 파일 로드 (컬러셋에 따라서) -->
|
||||
<!--@if($module_info->colorset == "white")-->
|
||||
<!--%import("css/white.css")-->
|
||||
<!--@end-->
|
||||
|
||||
{$module_info->header_text}
|
||||
BIN
modules/blog/skins/xe_blog/images/blank.gif
Normal file
|
After Width: | Height: | Size: 43 B |
BIN
modules/blog/skins/xe_blog/images/tree_menu/folder.gif
Normal file
|
After Width: | Height: | Size: 372 B |
BIN
modules/blog/skins/xe_blog/images/tree_menu/join.gif
Normal file
|
After Width: | Height: | Size: 70 B |
BIN
modules/blog/skins/xe_blog/images/tree_menu/joinbottom.gif
Normal file
|
After Width: | Height: | Size: 66 B |
BIN
modules/blog/skins/xe_blog/images/tree_menu/line.gif
Normal file
|
After Width: | Height: | Size: 68 B |
BIN
modules/blog/skins/xe_blog/images/tree_menu/minus.gif
Normal file
|
After Width: | Height: | Size: 90 B |
BIN
modules/blog/skins/xe_blog/images/tree_menu/minusbottom.gif
Normal file
|
After Width: | Height: | Size: 85 B |
BIN
modules/blog/skins/xe_blog/images/tree_menu/page.gif
Normal file
|
After Width: | Height: | Size: 582 B |
BIN
modules/blog/skins/xe_blog/images/tree_menu/page_folder.gif
Normal file
|
After Width: | Height: | Size: 622 B |
BIN
modules/blog/skins/xe_blog/images/tree_menu/plus.gif
Executable file
|
After Width: | Height: | Size: 91 B |
BIN
modules/blog/skins/xe_blog/images/tree_menu/plusbottom.gif
Normal file
|
After Width: | Height: | Size: 88 B |
BIN
modules/blog/skins/xe_blog/images/white/bgBoardEditorOption.gif
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
modules/blog/skins/xe_blog/images/white/bgBoardListTh.gif
Normal file
|
After Width: | Height: | Size: 197 B |
BIN
modules/blog/skins/xe_blog/images/white/bgEditorFileList.gif
Normal file
|
After Width: | Height: | Size: 60 B |
BIN
modules/blog/skins/xe_blog/images/white/bgH3.gif
Normal file
|
After Width: | Height: | Size: 131 B |
BIN
modules/blog/skins/xe_blog/images/white/bottomGotoFirst.gif
Normal file
|
After Width: | Height: | Size: 51 B |
BIN
modules/blog/skins/xe_blog/images/white/bottomGotoLast.gif
Normal file
|
After Width: | Height: | Size: 51 B |
BIN
modules/blog/skins/xe_blog/images/white/bullet_3x3_d8d8d8.gif
Normal file
|
After Width: | Height: | Size: 44 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonAscending.gif
Normal file
|
After Width: | Height: | Size: 46 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonCancel.gif
Normal file
|
After Width: | Height: | Size: 523 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonClose.gif
Normal file
|
After Width: | Height: | Size: 58 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonDelete.gif
Normal file
|
After Width: | Height: | Size: 458 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonDeleteX.gif
Normal file
|
After Width: | Height: | Size: 61 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonDescending.gif
Normal file
|
After Width: | Height: | Size: 46 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonHelp.gif
Normal file
|
After Width: | Height: | Size: 105 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonLogout.gif
Normal file
|
After Width: | Height: | Size: 599 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonModify.gif
Normal file
|
After Width: | Height: | Size: 452 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonModifyE.gif
Normal file
|
After Width: | Height: | Size: 416 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonReply.gif
Normal file
|
After Width: | Height: | Size: 400 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonSearch.gif
Normal file
|
After Width: | Height: | Size: 517 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonTextAreaDrag.gif
Normal file
|
After Width: | Height: | Size: 68 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonToggleReply.gif
Normal file
|
After Width: | Height: | Size: 70 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonTypeACenter.gif
Normal file
|
After Width: | Height: | Size: 188 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonTypeALeft.gif
Normal file
|
After Width: | Height: | Size: 169 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonTypeARight.gif
Normal file
|
After Width: | Height: | Size: 170 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonTypeBCenter.gif
Normal file
|
After Width: | Height: | Size: 183 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonTypeBLeft.gif
Normal file
|
After Width: | Height: | Size: 166 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonTypeBRight.gif
Normal file
|
After Width: | Height: | Size: 166 B |
BIN
modules/blog/skins/xe_blog/images/white/buttonWrite.gif
Normal file
|
After Width: | Height: | Size: 990 B |
BIN
modules/blog/skins/xe_blog/images/white/iconAdmin.gif
Normal file
|
After Width: | Height: | Size: 88 B |
BIN
modules/blog/skins/xe_blog/images/white/iconArrowD8.gif
Normal file
|
After Width: | Height: | Size: 46 B |
BIN
modules/blog/skins/xe_blog/images/white/iconArticle.gif
Normal file
|
After Width: | Height: | Size: 219 B |
BIN
modules/blog/skins/xe_blog/images/white/iconCheck.gif
Normal file
|
After Width: | Height: | Size: 306 B |
BIN
modules/blog/skins/xe_blog/images/white/iconFile.gif
Normal file
|
After Width: | Height: | Size: 146 B |
BIN
modules/blog/skins/xe_blog/images/white/iconList.gif
Normal file
|
After Width: | Height: | Size: 101 B |
BIN
modules/blog/skins/xe_blog/images/white/iconMyInfo.gif
Normal file
|
After Width: | Height: | Size: 125 B |
BIN
modules/blog/skins/xe_blog/images/white/iconNotice.gif
Normal file
|
After Width: | Height: | Size: 452 B |
BIN
modules/blog/skins/xe_blog/images/white/iconReply.gif
Normal file
|
After Width: | Height: | Size: 106 B |
BIN
modules/blog/skins/xe_blog/images/white/iconReplyArrow.gif
Normal file
|
After Width: | Height: | Size: 54 B |
BIN
modules/blog/skins/xe_blog/images/white/iconRss.gif
Normal file
|
After Width: | Height: | Size: 567 B |
BIN
modules/blog/skins/xe_blog/images/white/iconTag.gif
Normal file
|
After Width: | Height: | Size: 205 B |
BIN
modules/blog/skins/xe_blog/images/white/iconTrackback.gif
Normal file
|
After Width: | Height: | Size: 101 B |
BIN
modules/blog/skins/xe_blog/images/white/iconWrite.gif
Normal file
|
After Width: | Height: | Size: 525 B |
BIN
modules/blog/skins/xe_blog/images/white/lineBoardListTh.gif
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
modules/blog/skins/xe_blog/images/white/lineH3.gif
Normal file
|
After Width: | Height: | Size: 45 B |
BIN
modules/blog/skins/xe_blog/images/white/lineTextAreaDrag.gif
Normal file
|
After Width: | Height: | Size: 46 B |
BIN
modules/blog/skins/xe_blog/images/white/line_1x10_e0e0e0.gif
Normal file
|
After Width: | Height: | Size: 44 B |
27
modules/blog/skins/xe_blog/input_password_form.html
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<!--%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")-->
|
||||
177
modules/blog/skins/xe_blog/js/blog.js
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
/**
|
||||
* @file modules/blog/js/blog.js
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief blog 모듈의 javascript
|
||||
**/
|
||||
|
||||
/**
|
||||
* url에 #comment_번호가 있을 경우 댓글창을 열고 위치 이동
|
||||
**/
|
||||
if(location.href.indexOf('#comment')>0) {
|
||||
function openCommentAndMove() {
|
||||
doDisplayComment(current_url.getQuery('document_srl'));
|
||||
location.href = location.href;
|
||||
}
|
||||
|
||||
xAddEventListener(window,'load', openCommentAndMove);
|
||||
}
|
||||
|
||||
if(location.href.indexOf('#trackback')>0) {
|
||||
function openTrackbackAndMove() {
|
||||
doDisplayTrackback(current_url.getQuery('document_srl'));
|
||||
location.href = location.href;
|
||||
}
|
||||
|
||||
xAddEventListener(window,'load', openTrackbackAndMove);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 댓글 오픈
|
||||
* 댓글의 경우 editor를 동반해서 불러야 하기에 ajax로 tpl파일을 가져와서 쓰는걸로 한다.
|
||||
**/
|
||||
var _opend_comment = new Array();
|
||||
function doDisplayComment(document_srl) {
|
||||
var comment_zone = xGetElementById('comment_'+document_srl);
|
||||
|
||||
// 닫혀 있는 상태라면 한번이라도 열렸었는지 검사하여 열린적이 없다면 에디터를 가져온다
|
||||
if(comment_zone.style.display != "block") {
|
||||
if(!_opend_comment[document_srl]) {
|
||||
_opend_comment[document_srl] = true;
|
||||
doGetCommentEditorForm(document_srl);
|
||||
}
|
||||
comment_zone.style.display = "block";
|
||||
}
|
||||
else comment_zone.style.display = "none";
|
||||
}
|
||||
|
||||
function doGetCommentEditorForm(document_srl) {
|
||||
var params = new Array();
|
||||
params['document_srl'] = document_srl;
|
||||
|
||||
var response_tags = new Array('error','message','document_srl','upload_target_srl','tpl');
|
||||
show_waiting_message = false;
|
||||
exec_xml('blog','getBlogCommentEditorForm', params, completeCommentEditorForm, response_tags);
|
||||
show_waiting_message = true;
|
||||
}
|
||||
|
||||
var editor_path = "./modules/editor/tpl";
|
||||
function completeCommentEditorForm(ret_obj) {
|
||||
var document_srl = ret_obj['document_srl'];
|
||||
var upload_target_srl = ret_obj['upload_target_srl'];
|
||||
var tpl = ret_obj['tpl'];
|
||||
var comment_form_zone = xGetElementById('comment_form_'+document_srl);
|
||||
if(!comment_form_zone) return;
|
||||
|
||||
// tpl 입력
|
||||
xInnerHtml(comment_form_zone, tpl);
|
||||
|
||||
// 에디터 실행
|
||||
editorStart(upload_target_srl, true, 100);
|
||||
}
|
||||
|
||||
/**
|
||||
* 엮인글 오픈
|
||||
**/
|
||||
function doDisplayTrackback(document_srl) {
|
||||
var trackback_zone = xGetElementById('trackback_'+document_srl);
|
||||
if(trackback_zone.style.display != "block") trackback_zone.style.display = "block";
|
||||
else trackback_zone.style.display = "none";
|
||||
}
|
||||
|
||||
/* 글쓰기 작성후 */
|
||||
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;
|
||||
}
|
||||
|
||||
/* 댓글쓰기 submit */
|
||||
function doCommentSubmit() {
|
||||
var fo_obj = xGetElementById('fo_comment_write');
|
||||
procFilter(fo_obj, insert);
|
||||
}
|
||||
|
||||
/* 댓글 글쓰기 작성후 */
|
||||
function completeInsertComment(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
|
||||
alert(message);
|
||||
location.href = current_url.setQuery('comment_srl','').setQuery('act','');
|
||||
}
|
||||
|
||||
/* 댓글 삭제 */
|
||||
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;
|
||||
}
|
||||
269
modules/blog/skins/xe_blog/js/blog_tree_menu.js
Normal file
|
|
@ -0,0 +1,269 @@
|
|||
/**
|
||||
* @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";
|
||||
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">('+total_document_count+')</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 = 'minus_bottom';
|
||||
else line_obj.className = 'minus';
|
||||
|
||||
folder_obj.className = 'folder_close'
|
||||
} else {
|
||||
child_zone.style.display = "block";
|
||||
|
||||
if(line_obj.className.indexOf('bottom')>0) line_obj.className = 'plus_bottom';
|
||||
else line_obj.className = 'plus';
|
||||
|
||||
folder_obj.className = 'folder_open';
|
||||
}
|
||||
}
|
||||
|
||||
// 노드 클릭시
|
||||
function blogSelectNode(url) {
|
||||
location.href = url;
|
||||
}
|
||||
123
modules/blog/skins/xe_blog/layout.html
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
<!-- 레이아웃과 연동될 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("{getUrl()}/files/cache/blog_category/{$layout_info->layout_srl}.xml.php", "{$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="#" onclick="location.href='{getUrl('act','dispMemberLoginForm')}';return false;">{$lang->cmd_login}</a>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('act','dispMemberInfo')}">{$lang->cmd_view_member_info}</a>
|
||||
<a href="#" onclick="location.href='{getUrl('act','dispMemberLogout')}';return false;">{$lang->cmd_logout}</a>
|
||||
<!--@end-->
|
||||
|
||||
<!-- 관리 기능 -->
|
||||
<!--@if($grant->is_admin)-->
|
||||
<!-- 관리자일 경우 블로그 관리 메뉴 -->
|
||||
<a href="#" onclick="location.href='{getUrl('mid', $layout_info->mid, 'act','dispBlogAdminBlogInfo','layout_srl',$layout_info->layout_srl)}';return false;">{$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="#" onclick="return move_url('{$val['href']}','{$val['open_window']}');">{$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>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- 컨텐츠 출력 부분 -->
|
||||
<div class="layout_content">
|
||||
<div id="content">{$content}</div>
|
||||
</div>
|
||||
|
||||
48
modules/blog/skins/xe_blog/list.html
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
<!-- 목록 -->
|
||||
<div style="margin-bottom:20px;">
|
||||
|
||||
<!-- 검색된 글 목록이 있고 권한이 있을 경우 출력 -->
|
||||
<!--@if($document_list && $grant->list)-->
|
||||
<!--@foreach($document_list as $no => $document)-->
|
||||
|
||||
<!-- 검색어가 사용되었을 경우 목록형태로 출력 -->
|
||||
<!--@if($search_target && $search_keyword)-->
|
||||
<div>
|
||||
<!-- 일자, 제목 출력-->
|
||||
[{zdate($document->regdate, "Y-m-d")}] <a href="#" onclick="winopen('{getUrl('','document_srl',$document->document_srl)}');return false;">{$document->title}</a>
|
||||
|
||||
<!-- 댓글이 있으면 댓글의 수 출력 -->
|
||||
<!--@if($document->comment_count)-->({number_format($document->comment_count)})<!--@end-->
|
||||
|
||||
<!-- 엮인글이 있으면 엮인글의 수 출력 -->
|
||||
<!--@if($document->trackback_count)-->({number_format($document->trackback_count)})<!--@end-->
|
||||
</div>
|
||||
|
||||
<!-- 검색어가 없다면 내용을 바로 출력 -->
|
||||
<!--@else-->
|
||||
<!--#include("./view_document.html")-->
|
||||
<!--@end-->
|
||||
|
||||
<!--@end-->
|
||||
<!--@else-->
|
||||
{$lang->no_documents}
|
||||
<!--@end-->
|
||||
</div>
|
||||
|
||||
<!-- 페이지 네비게이션 -->
|
||||
<div class="pageNavigation">
|
||||
|
||||
<a href="{getUrl('page','','document_srl','')}" class="goToFirst"><img src="./images/{$module_info->colorset}/bottomGotoFirst.gif" alt="{$lang->first_page}" width="7" height="5" /></a>
|
||||
<!--@while($page_no = $page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<span class="current">{$page_no}</span>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no,'document_srl','')}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$page_navigation->last_page,'document_srl','')}" class="goToLast"><img src="./images/{$module_info->colorset}/bottomGotoLast.gif" alt="{$lang->last_page}" width="7" height="5" /></a>
|
||||
</div>
|
||||
|
||||
<!--#include("footer.html")-->
|
||||
11
modules/blog/skins/xe_blog/message.html
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
<div>
|
||||
{$message}
|
||||
</div>
|
||||
|
||||
<!--@if(!$is_logged)-->
|
||||
<a href="{getUrl('act','dispMemberLoginForm')}">{$lang->cmd_login}</a>
|
||||
<!--@end-->
|
||||
|
||||
<!--#include("footer.html")-->
|
||||
51
modules/blog/skins/xe_blog/skin.xml
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<skin>
|
||||
<title xml:lang="ko">제로보드XE 블로그 기본 스킨</title>
|
||||
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">(주)NHN</name>
|
||||
<description xml:lang="ko">
|
||||
제로보드XE 블로그 기본 스킨입니다.
|
||||
디자인 : 서기정
|
||||
HTML/CSS : 정찬명
|
||||
</description>
|
||||
</maker>
|
||||
<colorset>
|
||||
<color name="white" src="screenshot/white.gif">
|
||||
<title xml:lang="ko">하얀색(기본)</title>
|
||||
</color>
|
||||
</colorset>
|
||||
<extra_vars>
|
||||
<var name="top_title" type="text">
|
||||
<title xml:lang="ko">상단 제목</title>
|
||||
<description xml:lang="ko">레이아웃의 상단에 표시할 제목을 입력하세요.</description>
|
||||
</var>
|
||||
<var name="logo_image" type="image" width="60" height="60">
|
||||
<title xml:lang="ko">로고이미지</title>
|
||||
<description xml:lang="ko">레이아웃의 상단에 표시될 로고이미지를 입력하세요.</description>
|
||||
</var>
|
||||
<var name="profile_image" type="image" width="60" height="60">
|
||||
<title xml:lang="ko">프로필 이미지</title>
|
||||
<description xml:lang="ko">프로필 이미지를 입력해 주세요 (가로 사이즈는 200px이 가장 보기 좋습니다)</description>
|
||||
</var>
|
||||
<var name="profile" type="textarea">
|
||||
<title xml:lang="ko">프로필</title>
|
||||
<description lang="ko">간단한 프로필을 입력해주세요</description>
|
||||
</var>
|
||||
<var name="category_name" type="text">
|
||||
<title xml:lang="ko">카테고리명</title>
|
||||
<description lang="ko">카테고리의 이름을 입력해주세요.</description>
|
||||
</var>
|
||||
<var name="display_writer" type="select">
|
||||
<title xml:lang="ko">글쓴이 표시</title>
|
||||
<description lang="ko">다수가 블로그를 함께 운영시에 글쓴이의 이름을 표시할 수 있습니다.</description>
|
||||
<default>off</default>
|
||||
<default>on</default>
|
||||
</var>
|
||||
</extra_vars>
|
||||
<menus>
|
||||
<menu name="top_menu" default="true">
|
||||
<title xml:lang="ko">상단 메뉴</title>
|
||||
<maxdepth>1</maxdepth>
|
||||
</menu>
|
||||
</menus>
|
||||
</skin>
|
||||
24
modules/blog/skins/xe_blog/trackback.html
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<!-- 엮인글 목록 -->
|
||||
|
||||
<!--@if($document->trackback_list)-->
|
||||
<ul id="trackbacks">
|
||||
|
||||
<!--@foreach($document->trackback_list as $key => $val)-->
|
||||
<li>
|
||||
<a name="trackback_{$val->trackback_srl}"></a>
|
||||
<address>
|
||||
<a href="#" onclick="winopen('{$val->url}');return false;">{htmlspecialchars($val->blog_name)}</a>
|
||||
<a href="{getUrl('act','dispBoardDeleteTrackback','trackback_srl',$val->trackback_srl)}"><img src="./images/{$module_info->colorset}/buttonDeleteX.gif" border="0" alt="delete" width="12" height="13" /></a>
|
||||
<span class="date">
|
||||
{zdate($val->regdate, "Y.m.d H:i")}
|
||||
({$val->ipaddress})
|
||||
</span>
|
||||
</address>
|
||||
<div>
|
||||
<a href="#" onclick="winopen('{$val->url}');return false;">{$val->title} - {$val->excerpt}</a>
|
||||
</div>
|
||||
</li>
|
||||
<!--@end-->
|
||||
|
||||
</ul>
|
||||
<!--@end-->
|
||||
110
modules/blog/skins/xe_blog/view_document.html
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
<!--%import("filter/vote.xml")-->
|
||||
|
||||
<!-- 현 글의 기본 정보를 담고 있는 form. 필수 -->
|
||||
<form id="fo_document_info" action="./" method="get">
|
||||
<input type="hidden" name="mid" value="{$mid}" />
|
||||
<input type="hidden" name="document_srl" value="{$document_srl}" />
|
||||
</form>
|
||||
|
||||
<!-- 글 내용 보여주기 -->
|
||||
<div class="boardRead">
|
||||
<div class="originalContent">
|
||||
<div class="readHeader">
|
||||
<div class="titleAndCategory">
|
||||
<h4>{htmlspecialchars($document->title)}</h4>
|
||||
<!--@if($module_info->use_category == "Y" && $document->category_srl)-->
|
||||
<span class="vr">|</span><span class="category">{$category_list[$document->category_srl]->title}</span>
|
||||
<!--@end-->
|
||||
</div>
|
||||
|
||||
<div class="dateAndModify">
|
||||
<span class="num">
|
||||
<strong>{zdate($document->regdate,"Y.m.d")}</strong> {zdate($document->regdate,"H:i:s")}
|
||||
</span>
|
||||
<!--@if($grant->is_admin)-->
|
||||
<span class="ipaddress">
|
||||
({$document->ipaddress})
|
||||
</span>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($document->is_granted || !$document->member_srl)-->
|
||||
<ul>
|
||||
<li><a href="{getUrl('act','dispBoardWrite','document_srl',$document->document_srl)}" class="buttonTypeB"><img src="./images/blank.gif" alt="" class="leftCap" />{$lang->cmd_modify}<img src="./images/blank.gif" alt="" class="rightCap" /></a></li>
|
||||
<li><a href="{getUrl('act','dispBoardDelete','document_srl',$document->document_srl)}" class="buttonTypeB"><img src="./images/blank.gif" alt="" class="leftCap" />{$lang->cmd_delete}<img src="./images/blank.gif" alt="" class="rightCap" /></a></li>
|
||||
</ul>
|
||||
<!--@end-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<dl class="uri">
|
||||
<dt>{$lang->document_url} :</dt>
|
||||
<dd>{getUrl('','document_srl',$document->document_srl)}</dd>
|
||||
|
||||
<!--@if($document->allow_trackback=='Y')-->
|
||||
<dt>{$lang->trackback_url} :</dt>
|
||||
<dd>{getUrl('','document_srl',$document->document_srl,'act','trackback')}</dd>
|
||||
<!--@end-->
|
||||
</dl>
|
||||
|
||||
<!--@if($module_info->display_writer == "on")-->
|
||||
<div class="userInfo">
|
||||
<div class="author member_{$document->member_srl}">{htmlspecialchars($document->nick_name)}</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<div class="readBody"><p>{$document->content}</p></div>
|
||||
|
||||
<div class="readFooter">
|
||||
<!--@if($document->tag_list)-->
|
||||
<div class="tag">
|
||||
<h5><img src="./images/{$module_info->colorset}/iconTag.gif" alt="{$lang->tag}" width="17" height="10" class="tagIcon" /></h5>
|
||||
<ul>
|
||||
<!--@for($i=0;$i<count($document->tag_list);$i++)-->
|
||||
{@ $tag = $document->tag_list[$i]; }
|
||||
<li>
|
||||
<a href="{getUrl('search_target','tag','search_keyword',urlencode($tag),'document_srl','')}">{htmlspecialchars($tag)}</a><!--@if($i<count($document->tag_list)-1)-->,<!--@end-->
|
||||
</li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($document->uploaded_count && $document->uploaded_list)-->
|
||||
<div class="fileAttached">
|
||||
<h5>{$lang->uploaded_file} : </h5>
|
||||
<ul>
|
||||
<!--@foreach($document->uploaded_list as $key => $file)-->
|
||||
<li><a href="{getUrl('')}{$file->download_url}">{$file->source_filename} ({FileHandler::filesize($file->file_size)})({number_format($file->download_count)})</a></li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
</div>
|
||||
<!--@end-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul class="replyAndTrackback">
|
||||
<!--@if($grant->write_comment&&$document->allow_comment=='Y')-->
|
||||
<li class="reply"><a href="#" onclick="doDisplayComment('{$document->document_srl}');return false;">{$lang->comment} <strong>{count($document->comment_list)}</strong></a></li>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($document->allow_trackback=='Y')-->
|
||||
<li class="trackback"><a href="#" onclick="doDisplayTrackback('{$document->document_srl}');return false;">{$lang->trackback} <strong>{count($document->trackback_list)}</strong></a></li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- 엮인글 파일 include -->
|
||||
<a name="trackback_{$document->document}"></a>
|
||||
<div id="trackback_{$document->document_srl}" style="display:none">
|
||||
<!--@if($document->allow_trackback=='Y')-->
|
||||
<!--#include("./trackback.html")-->
|
||||
<!--@end-->
|
||||
</div>
|
||||
|
||||
<!-- 댓글 파일 include -->
|
||||
<a name="comment_top_{$document->document_srl}"></a>
|
||||
<div id="comment_{$document->document_srl}" style="display:none">
|
||||
<!--@if($grant->write_comment&&$document->allow_comment=='Y')-->
|
||||
<!--#include("./comment.html")-->
|
||||
<!--@end-->
|
||||
</div>
|
||||
100
modules/blog/skins/xe_blog/write_form.html
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
<!--%import("filter/insert.xml")-->
|
||||
<!--#include("header.html")-->
|
||||
|
||||
<div class="boardWrite">
|
||||
<form action="./" method="post" onsubmit="return procFilter(this, insert)" <!--@if($grant->fileupload)-->enctype="multipart/form-data"<!--@end--> class="boardEditor" id="fo_write">
|
||||
<fieldset>
|
||||
<input type="hidden" name="mid" value="{$mid}" />
|
||||
<input type="hidden" name="content" value="{htmlspecialchars($document->content)}" />
|
||||
<input type="hidden" name="document_srl" value="{$document_srl}" />
|
||||
|
||||
<!--@if(!$is_logged)-->
|
||||
<div class="userNameAndPw">
|
||||
<label for="userName">{$lang->writer}</label>
|
||||
<input type="text" name="nick_name" value="{$document->nick_name}" class="userName inputTypeText" id="userName"/>
|
||||
|
||||
<label for="userPw">{$lang->password}</label>
|
||||
<input type="password" name="password" value="" id="userPw" class="userPw inputTypeText" />
|
||||
|
||||
<label for="emailAddress">{$lang->email_address}</label>
|
||||
<input type="text" name="email_address" value="{htmlspecialchars($document->email_address)}" id="emailAddress" class="emailAddress inputTypeText"/>
|
||||
|
||||
<label for="homePage">{$lang->homepage}</label>
|
||||
<input type="text" name="homepage" value="{htmlspecialchars($document->homepage)}" id="homePage" class="homePage inputTypeText"/>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<div class="title">
|
||||
<label for="title" class="title">{$lang->title}</label>
|
||||
|
||||
<!--@if($module_info->use_category=="Y")-->
|
||||
<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==$document->category_srl)-->selected="true"<!--@end-->>{$val->title} <!--@if($val->document_count)-->({$val->document_count})<!--@end--></option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<!--@end-->
|
||||
|
||||
<input type="text" name="title" id="title" class="inputTypeText" value="{htmlspecialchars($document->title)}" />
|
||||
</div>
|
||||
|
||||
<dl class="option">
|
||||
<dt>설정옵션</dt>
|
||||
<!--@if($grant->manager)-->
|
||||
<dd>
|
||||
<input type="checkbox" name="is_notice" value="Y" <!--@if($document->is_notice== "Y")-->checked="true"<!--@end--> id="is_notice" />
|
||||
<label for="is_notice">{$lang->notice}</label>
|
||||
</dd>
|
||||
<dd>
|
||||
<input type="checkbox" name="lock_comment" value="Y" <!--@if($document->lock_comment == "Y")-->checked="true"<!--@end--> id="lock_comment" />
|
||||
<label for="lock_comment">{$lang->lock_comment}</label>
|
||||
</dd>
|
||||
<!--@end-->
|
||||
<dd>
|
||||
<input type="checkbox" name="is_secret" value="Y" <!--@if($document->is_secret== "Y")-->checked="true"<!--@end--> id="is_secret" />
|
||||
<label for="is_secret">{$lang->secret}</label>
|
||||
</dd>
|
||||
<dd>
|
||||
<input type="checkbox" name="allow_comment" value="Y" <!--@if($document->allow_comment != "N")-->checked="true"<!--@end--> id="allow_comment" />
|
||||
<label for="allow_comment">{$lang->allow_comment}</label>
|
||||
</dd>
|
||||
<dd>
|
||||
<input type="checkbox" name="allow_trackback" value="Y" <!--@if($document->allow_trackback != "N")-->checked="true"<!--@end--> id="allow_trackback" />
|
||||
<label for="allow_trackback">{$lang->allow_trackback}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<div>{$editor}</div>
|
||||
|
||||
<div class="trackbackURI">
|
||||
<label for="trackbackURI">{$lang->cmd_send_trackback}</label>
|
||||
<input type="text" name="trackback_url" id="trackbackURI" class="inputTypeText" />
|
||||
<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>
|
||||
</div>
|
||||
|
||||
<div class="tag">
|
||||
<label for="tag">{$lang->tag}</label>
|
||||
<input type="text" name="tags" id="tag" value="{htmlspecialchars($document->tags)}" class="inputTypeText" />
|
||||
<p class="info">{$lang->about_tag}</p>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
<div class="buttonWrite">
|
||||
<!--@if($act&&$act!='dispBoardContent')-->
|
||||
<input type="button" value="{$lang->cmd_back}" onclick="location.href='{getUrl('act','')}'" />
|
||||
<!--@end-->
|
||||
<input type="submit" value="{$lang->cmd_registration}" accesskey="s" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!--#include("footer.html")-->
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
<column name="content" var="content" notnull="notnull" />
|
||||
<column name="uploaded_count" var="uploaded_count" default="0" />
|
||||
<column name="password" var="password" minlength="2" maxlength="60" />
|
||||
<column name="nick_name" var="nick_name" minlength="1" maxlength="40" notnull="notnull" />
|
||||
<column name="nick_name" var="nick_name" minlength="1" maxlength="40" />
|
||||
<column name="member_srl" var="member_srl" default="0" filter="number" />
|
||||
<column name="user_name" var="user_name" default="" />
|
||||
<column name="email_address" var="email_address" filter="email" maxlength="250" />
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@
|
|||
<div class="textAreaWrap">
|
||||
|
||||
<div id="editorInfo">
|
||||
<img src="./images/buttonClose.gif" alt="close" width="13" height="13" class="close" >
|
||||
<img src="./images/buttonClose.gif" alt="close" width="13" height="13" class="close" onclick="closeEditorInfo()">
|
||||
{$lang->about_dblclick_in_editor}
|
||||
<span id="for_ie_help_{$upload_target_srl}" style="display:none">{$lang->edit->help_use_paragrapth}</span>
|
||||
</div>
|
||||
|
|
|
|||