git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2327 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-08-12 03:59:52 +00:00
commit 8326004cb2
2773 changed files with 91485 additions and 0 deletions

View file

@ -0,0 +1,42 @@
<!-- 댓글 정보 출력 -->
<a name="comment_top_{$document->document_srl}"></a>
<!-- 댓글 출력 -->
<div class="clear">
<!-- 댓글 목록 -->
<!--@if($document->getCommentCount())-->
<!--@foreach($document->getComments() as $key => $val)-->
<a name="comment_{$key}"></a>
<div class="comment_box" style="margin-left:{$val->depth*15}px" >
<div class="fl member_{$val->member_srl}">{htmlspecialchars($val->nick_name)}</div>
<div class="fr">{zdate($val->regdate, "Y-m-d H:i:s")}</div>
<div class="comment_content">
<div class="content">{$val->content}</div>
<div class="comment_sub_info">
{$val->ipaddress}
</div>
<div class="button_area">
<a href="{getUrl('act','dispGuestbookReplyComment','comment_srl',$val->comment_srl)}" class="button"><span>{$lang->cmd_reply}</span></a>
<!--@if($val->is_granted || !$val->member_srl || $grant->is_admin)-->
<a href="{getUrl('act','dispGuestbookModifyComment','comment_srl',$val->comment_srl)}" class="button"><span>{$lang->cmd_modify}</span></a>
<a href="{getUrl('act','dispGuestbookDeleteComment','comment_srl',$val->comment_srl)}" class="button"><span>{$lang->cmd_delete}</span></a>
<!--@end-->
</div>
</div>
<div class="clear"></div>
</div>
<!--@end-->
<!--@end-->
<!-- 댓글 입력 폼 -->
<!--@if($grant->write_comment && !$document->isLocked())-->
<!--#include("./comment_form.html")-->
<!--@end-->
</div>

View file

@ -0,0 +1,79 @@
<!--%import("filter/insert_comment.xml")-->
<!--%import("js/guestbook.js")-->
<!--@if($source_comment || $comment)-->
<!--#include("header.html")-->
<!--@end-->
<!-- 만약 댓글의 답을 다는 것이라면 원문 보여줌 -->
<!--@if($source_comment)-->
<div>
<table cellspacing="0" 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:$document->document_srl}" />
<input type="hidden" name="comment_srl" value="{$comment_srl}" />
<input type="hidden" name="parent_srl" value="{$parent_srl}" />
<table width="100%">
<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" class="tRight">
<textarea class="comment_form" name="content">{strip_tags($comment->content)}</textarea>
</td>
</tr>
<tr>
<td colspan="2" class="tRight">
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
<!--@if($act&&$act!='dispGuestbookContent')-->
<span class="button"><input type="button" value="{$lang->cmd_back}" onclick="location.href='{getUrl('act','')}'" /></span>
<!--@end-->
</td>
</tr>
</table>
</form>
<!--@if($source_comment)-->
<!--#include("footer.html")-->
<!--@end-->

View file

@ -0,0 +1,28 @@
@charset "utf-8";
a { color:#555555; text-decoration:none; }
.titleBox { border:4px solid #EEEEEE; padding:.5em; margin-bottom:1em; }
.titleBox .title { font-weight:bold; }
.titleBox .memo { color:#888888; }
.info .status { float:left; overflow:hidden; }
.info .link { float:right; overflow:hidden; }
.write_form { padding:10px; margin:0px; border:3px solid #CCCCCC; margin-top:.5em; }
.write_form table { border:0; padding:0; }
.write_form td.option { text-align:right; padding:.3em; }
.document { padding:0; margin-top:1em; border:3px solid #EEEEEE; }
.document .info { background-color:#EFEFEF; padding:.5em; }
.document .subinfo { text-align:right; color:#CCCCCC;}
.document .content { padding:1em; }
.document .comment { padding:1em; }
.comment_box { border:0; padding:.5em; border-top:1px solid #EEEEEE; margin:1em 0 1em 0;}
.comment_box .comment_content { }
.comment_box .comment_content .content { margin:1em 0 2em 0;}
.comment_box .comment_content .comment_sub_info { float:left; }
.comment_box .comment_content .button_area { float:right; }
textarea.comment_form { border:1px solid #EEEEEE; width:90%;}

View 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")-->

View 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>{$oDocument->getTitleText()}</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="{$lang->cmd_delete}" />
<input type="button" value="{$lang->cmd_back}" onclick="location.href='{getUrl('act','')}'" />
</td>
</tr>
</table>
</form>
<!--#include("footer.html")-->

View file

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

View file

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

View file

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

View file

@ -0,0 +1,17 @@
<filter name="insert" module="guestbook" act="procGuestbookInsertDocument" confirm_msg_code="confirm_submit">
<form>
<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" />
</form>
<parameter />
<response callback_func="completeDocumentInserted">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="category_srl" />
</response>
</filter>

View file

@ -0,0 +1,27 @@
<filter name="insert_comment" module="guestbook" act="procGuestbookInsertComment" 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="parent_srl" target="parent_srl" />
<param name="nick_name" target="nick_name" />
<param name="password" target="password" />
<param name="email_address" target="email_address" />
<param name="homepage" target="homepage" />
<param name="content" target="content" />
</parameter>
<response callback_func="completeInsertComment">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="comment_srl" />
</response>
</filter>

View file

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

View file

@ -0,0 +1,53 @@
<!--%import("js/guestbook.js")-->
<!--%import("css/guestbook.css")-->
{$module_info->header_text}
<!-- 스킨의 제목/내용으로 내용 구성 -->
<!--@if($module_info->title || $module_info->memo)-->
<div class="titleBox">
<!--@if($module_info->title)-->
<div class="title">{$module_info->title}</div>
<!--@end-->
<!--@if($module_info->memo)-->
<div class="memo">{nl2br($module_info->memo)}</div>
<!--@end-->
</div>
<!--@end-->
<!-- 정보 -->
<div class="info">
<div class="status">
<!--@if($total_count)-->
{$lang->document_count} : {number_format($total_count)},
{$lang->page_count} : {number_format($page)} / {number_format($total_page)}
<!--@end-->
</div>
<div class="link">
<!--@if($rss_url)-->
<a href="{$rss_url}">rss</a>
<!--@end-->
<!--@if($is_logged)-->
[
<a href="{getUrl('act','dispMemberInfo')}">{$lang->cmd_view_member_info}</a> |
<a href="{getUrl('act','dispMemberLogout')}">{$lang->cmd_logout}</a>
]
<!--@else-->
[
<a href="{getUrl('act','dispMemberSignUpForm')}">{$lang->cmd_signup}</a> |
<a href="{getUrl('act','dispMemberLoginForm')}">{$lang->cmd_login}</a>
]
<!--@end-->
<!--@if($grant->is_admin)-->
<a href="{getUrl('act','dispGuestbookAdminGuestbookInfo')}">[{$lang->cmd_setup}]</a>
<a href="{getUrl('module','admin','act','dispGuestbookAdminGuestbookInfo')}" onclick="winopen(this.href);return false;">[{$lang->cmd_management}]</a>
<!--@end-->
</div>
<div class="clear"></div>
</div>

View 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")-->

View file

@ -0,0 +1,74 @@
/**
* @file modules/guestbook/js/guestbook.js
* @author zero (zero@nzeo.com)
* @brief guestbook 모듈의 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'];
alert(message);
var url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');
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;
}
// 현재 페이지 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 mid = ret_obj['mid'];
var document_srl = ret_obj['document_srl'];
var comment_srl = ret_obj['comment_srl'];
var url = "./?mid="+mid+"&document_srl="+document_srl;
//if(comment_srl) url += "#comment_"+comment_srl;
alert(message);
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;
}

View file

@ -0,0 +1,65 @@
<!--%import("filter/search.xml")-->
<!--#include("header.html")-->
<!-- 글쓰기 폼 -->
<!--@if($grant->write_document && $editor)-->
<div>
<!--#include("./write_form.html")-->
</div>
<!--@end-->
<!-- 목록 -->
<div>
<!--@foreach($document_list as $no => $document)-->
<!-- 글 내용 보여주기 -->
<div class="document">
<div class="info">
<div class="fl member_{$document->get('member_srl')}">{$document->getNickName()}</div>
<!--@if($document->isEditable())-->
<div class="fr">
<a href="{getUrl('act','dispGuestbookModify')}" class="button"><span>{$lang->cmd_modify}</span></a>
<a href="{getUrl('act','dispGuestbookDelete')}" class="button"><span>{$lang->cmd_delete}</span></a>
</div>
<!--@end-->
<div class="clear"></div>
</div>
<div class="clear content">
{$document->getContent()}
</div>
<div class="subinfo">
{$document->getRegdate('Y-m-d H:i:s')} |
{$document->get('ipaddress')}
</div>
<div class="comment">
<!-- 댓글 파일 include -->
<!--@if($grant->write_comment && $document->allowComment())-->
<!--#include("./comment.html")-->
<!--@end-->
</div>
</div>
<!--@end-->
</div>
<!-- 페이지 네비게이션 -->
<div>
<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>
<!--#include("footer.html")-->

View 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")-->

View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<skin>
<title xml:lang="ko">방명록 기본 스킨</title>
<title xml:lang="zh-CN">留言本默认皮肤</title>
<title xml:lang="jp">ゲストブックのデフォルトスキン</title>
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
<name xml:lang="ko">제로</name>
<name xml:lang="zh-CN">Zero</name>
<name xml:lang="jp">Zero</name>
<description xml:lang="ko">board모듈의 default스킨</description>
<description xml:lang="zh-CN">版面模块的默认皮肤。</description>
<description xml:lang="jp">ボードboardモジュールのデフォルトスキンです。</description>
</maker>
<colorset>
<color name="normal" src="screenshot/normal.gif">
<title xml:lang="ko">기본</title>
<title xml:lang="zh-CN">默认</title>
<title xml:lang="jp">デフォルト</title>
</color>
</colorset>
<extra_vars>
<var name="title" type="text">
<title xml:lang="ko">제목</title>
<title xml:lang="zh-CN">标题</title>
<title xml:lang="jp">タイトル</title>
<description xml:lang="ko">방명록의 제목을 적어주세요.</description>
<description xml:lang="zh-CN">请输入留言本标题。</description>
<description xml:lang="jp">ゲストブックのタイトルを入力してください。</description>
</var>
<var name="memo" type="textarea">
<title xml:lang="ko">방명록 설명</title>
<title xml:lang="zh-CN">留言本说明</title>
<title xml:lang="jp">ゲストブックの説明</title>
<description lang="ko">내용의 기본값</description>
<description lang="zh-CN">内容默认值</description>
<description lang="jp">内容のデフォルト値</description>
</var>
</extra_vars>
</skin>

View file

@ -0,0 +1,69 @@
<!--%import("filter/insert.xml")-->
<!--@if($act == 'dispGuestbookModify')-->
<!--#include("header.html")-->
<!--@end-->
<div class="write_form">
<form action="./" method="post" onsubmit="return procFilter(this, insert)">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="content" value="{$oDocument->getContentText()}" />
<input type="hidden" name="document_srl" value="{$oDocument->get('document_srl')}" />
<input type="hidden" name="allow_trackback" value="N" />
<table cellspacing="0" width="100%">
<col width="120" />
<col width="*" />
<!--@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>
<td colspan="2" class="option">
<!--@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>
</td>
</tr>
<tr>
<td colspan="2">{$editor}</td>
</tr>
</table>
<div class="tRight">
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
<span class="button"><input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('act','')}'" /></span>
</div>
</form>
</form>
<!--@if($act == 'dispGuestbookModify')-->
<!--#include("footer.html")-->
<!--@end-->