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

This commit is contained in:
zero 2007-03-02 12:39:23 +00:00
parent 186770e81b
commit d9510170e5
30 changed files with 1060 additions and 2 deletions

View file

@ -305,6 +305,21 @@
$this->setTemplateFile('delete_trackback_form'); $this->setTemplateFile('delete_trackback_form');
} }
/**
* @brief 회원가입폼
**/
function dispSignUpForm() {
// 이미 로그인되어 있으면 메인 컨텐츠 노출
if(Context::get('is_logged')) return $this->dispContent();
// member view 객체 생성후 dispSignUpForm method호출후 템플릿 가로챔
$oMemberView = &getView('member');
$oMemberView->dispSignUpForm();
$this->setTemplatePath($oMemberView->getTemplatePath());
$this->setTemplateFile($oMemberView->getTemplateFile());
}
/** /**
* @brief 로그인 출력 * @brief 로그인 출력
**/ **/

View file

@ -34,6 +34,7 @@
<action name="dispModifyComment" type="view" /> <action name="dispModifyComment" type="view" />
<action name="dispDeleteComment" type="view" /> <action name="dispDeleteComment" type="view" />
<action name="dispDeleteTrackback" type="view" /> <action name="dispDeleteTrackback" type="view" />
<action name="dispSignUpForm" type="view" />
<action name="dispLogin" type="view" /> <action name="dispLogin" type="view" />
<action name="dispLogout" type="view" /> <action name="dispLogout" type="view" />
<action name="dispMessage" type="view" /> <action name="dispMessage" type="view" />

View file

@ -16,10 +16,15 @@
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{@getUrl('act','')}'" /> <input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('act','')}'" />
<input type="submit" value="{$lang->cmd_login}" /> <input type="submit" value="{$lang->cmd_login}" />
</td> </td>
</tr> </tr>
<tr>
<td colspan="2">
<a href="#" onclick="location.href='{getUrl('act','dispSignUpForm')}'">{$lang->cmd_signup}</a>
</td>
</tr>
</table> </table>
</form> </form>

View file

@ -36,6 +36,26 @@
return true; return true;
} }
/**
* @brief 회원 가입 출력
**/
function dispSignUpForm() {
// 추가 가입폼 목록을 받음
$oMemberModel = &getModel('member');
$extend_form_list = $oMemberModel->getJoinFormlist();
if($extend_form_list) {
foreach($extend_form_list as $srl => $item) {
$column_name = $item->column_name;
$value = $this->member_info->{$column_name};
$extend_form_list[$srl]->value = $this->member_info->{$column_name};
}
Context::set('extend_form_list', $extend_form_list);
}
// 템플릿 파일 지정
$this->setTemplateFile('insert_member');
}
/** /**
* @brief 회원 목록 출력 * @brief 회원 목록 출력
**/ **/
@ -136,7 +156,7 @@
// 멤버모델 객체 생성 // 멤버모델 객체 생성
$oMemberModel = &getModel('member'); $oMemberModel = &getModel('member');
// 사용금지 목록 가져오기 // 추가로 설정한 가입 항목 가져오기
$form_list = $oMemberModel->getJoinFormList(); $form_list = $oMemberModel->getJoinFormList();
Context::set('form_list', $form_list); Context::set('form_list', $form_list);

View file

@ -0,0 +1,55 @@
<!--#include("header.html")-->
<!-- 댓글 정보 출력 -->
<div>
{$lang->comment} : {count($document->comment_list)}
</div>
<!-- 댓글 출력 -->
<div>
<!-- 댓글 목록 -->
<!--@if($document->comment_list)-->
<!--@foreach($document->comment_list as $key => $val)-->
<a name="comment_{$key}"></a>
<div style="margin-left:{$val->depth*15}px" >
<table>
<col width="120" />
<col width="*" />
<tr>
<th>{$lang->date}</th>
<td>{zdate($val->regdate, "Y-m-d H:i:s")}</td>
</tr>
<tr>
<th>{$lang->user_name}</th>
<td>{$val->user_name}</td>
</tr>
<tr>
<th>{$lang->content}</th>
<td height="100" valign="top">{nl2br($val->content)}</td>
</tr>
<tr>
<th>ipaddress</th>
<td>{$val->ipaddress}</td>
</tr>
<tr>
<td colspan="2">
<a href="{getUrl('act','dispReplyComment','comment_srl',$val->comment_srl)}">[{$lang->cmd_reply}]</a>
<!--@if($val->is_granted)-->
<a href="{getUrl('act','dispModifyComment','comment_srl',$val->comment_srl)}">[{$lang->cmd_modify}]</a>
<a href="{getUrl('act','dispDeleteComment','comment_srl',$val->comment_srl)}">[{$lang->cmd_delete}]</a>
<!--@end-->
</td>
</tr>
</table>
</div>
<!--@end-->
<!--@end-->
<!-- 댓글 입력 폼 -->
<!--@if($grant->write_comment && $document->lock_comment == 'N')-->
<!--#include("./comment_form.html")-->
<!--@end-->
</div>

View file

@ -0,0 +1,70 @@
<!--%import("filter/insert_comment.xml")-->
<!--#include("header.html")-->
<!-- 만약 댓글의 답을 다는 것이라면 원문 보여줌 -->
<!--@if($source_comment)-->
<div>
<table>
<col width="120" />
<col width="*" />
<tr>
<th>{$lang->date}</th>
<td>{$source_comment->regdate}</td>
</tr>
<tr>
<th>{$lang->user_name}</th>
<td>{$source_comment->user_name}</td>
</tr>
<tr>
<th>{$lang->content}</th>
<td height="100" valign="top">{nl2br($source_comment->content)}</td>
</tr>
</table>
</div>
<!--@end-->
<!-- 글쓰기 폼 -->
<form action="./" method="get" onsubmit="return procFilter(this, insert_comment)">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$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}" />
<table width="100%">
<col width="120" />
<col width="*" />
<!--@if(!$is_logged)-->
<tr>
<th>{$lang->user_name}</th>
<td><input type="text" name="user_name" value="{$comment->user_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="{$comment->email_address}"/></td>
</tr>
<tr>
<th>{$lang->homepage}</th>
<td><input type="text" name="homepage" value="{$comment->homepage}" /></td>
</tr>
<!--@end-->
<tr>
<th>{$lang->content}</th>
<td><!--#include("$editor_path/editor.html")--></td>
</tr>
<tr>
<td colspan="2">
<!--@if($act&&$act!='dispContent')-->
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{@getUrl('act','')}'" />
<!--@end-->
<input type="submit" value="{$lang->cmd_registration}" accesskey="s" />
</td>
</tr>
</table>
</form>

View file

@ -0,0 +1,22 @@
<!--%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>

View file

@ -0,0 +1,25 @@
<!--%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>

View file

@ -0,0 +1,22 @@
<!--%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>

View file

@ -0,0 +1,18 @@
<filter name="delete_comment" module="board" act="procDeleteComment">
<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="board" act="procDeleteDocument">
<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,18 @@
<filter name="delete_trackback" module="board" act="procDeleteTrackback">
<form>
<node target="trackback_srl" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="page" target="page" />
<param name="document_srl" target="document_srl" />
<param name="trackback_srl" target="trackback_srl" />
</parameter>
<response callback_func="completeDeleteTrackback">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="page" />
</response>
</filter>

View file

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

View file

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

View file

@ -0,0 +1,28 @@
<filter name="insert_comment" module="board" act="procInsertComment" confirm_msg_code="confirm_submit">
<form>
<node target="document_srl" required="true" />
<node target="user_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="user_name" target="user_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,16 @@
<filter name="login" module="board" act="procLogin">
<form>
<node target="user_id" required="true" filter="user_id"/>
<node target="password" required="true" />
</form>
<parameter>
<param name="user_id" target="user_id" />
<param name="password" target="password" />
<param name="mid" target="mid" />
<param name="act" target="act" />
</parameter>
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -0,0 +1,9 @@
<filter name="logout" module="board" act="procLogout">
<form>
<node target="mid" required="true" />
</form>
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -0,0 +1,15 @@
<filter name="search" module="board">
<form>
<node target="search_target" required="true" />
<node target="search_keyword" minlegnth="2" maxlength="40" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="search_target" target="search_target" />
<param name="search_keyword" target="search_keyword" />
</parameter>
<response callback_func="completeSearch">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -0,0 +1,13 @@
<filter name="vote" module="board" act="procVoteDocument" confirm_msg_code="confirm_vote">
<form>
<node target="document_srl" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="document_srl" target="document_srl" />
</parameter>
<response callback_func="completeVote">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -0,0 +1 @@
<!--%import("js/board.js")-->

View file

@ -0,0 +1,25 @@
<!--%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>

View file

@ -0,0 +1,105 @@
/**
* @file : modules/board/js/board.js
* @author : zero <zero@nzeo.com>
* @desc : board 모듈의 javascript
**/
/* 글쓰기 작성후 */
function completeDocumentInserted(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var mid = ret_obj['mid'];
var document_srl = ret_obj['document_srl'];
var category_srl = ret_obj['category_srl'];
alert(message);
url = "./?mid="+mid+"&document_srl="+document_srl;
if(category_srl) url += '&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();
}
/* 추천, 추천은 별도의 폼입력이 필요 없어 직접 필터 사용 */
function doVote() {
var fo_obj = document.getElementById('fo_document_info');
procFilter(fo_obj, vote);
}
function completeVote(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
alert(message);
location.href = location.href;
}
// 현재 페이지 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;
}
/* 트랙백 삭제 */
function completeDeleteTrackback(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var mid = ret_obj['mid'];
var document_srl = ret_obj['document_srl'];
var page = ret_obj['page'];
var url = "./?mid="+mid+'&document_srl='+document_srl;
if(page) url += "&page="+page;
alert(message);
location.href = url;
}
/* 카테고리 이동 */
function doChangeCategory(sel_obj, url) {
var category_srl = sel_obj.options[sel_obj.selectedIndex].value;
if(!category_srl) location.href=url;
else location.href=url+'&category='+category_srl;
}

View file

@ -0,0 +1,137 @@
<!--%import("filter/search.xml")-->
<!--#include("header.html")-->
{$module_info->header_text}
<!-- 게시판 제목/ 설명 -->
<!--@if($module_info->title || $module_info->desc)-->
<div>
<table>
<tr>
<td>{$module_info->title}</td>
</tr>
<!--@if($module_info->desc)-->
<tr>
<td>{nl2br($module_info->desc)}</td>
</tr>
<!--@end-->
</table>
</div>
<!--@end-->
<!-- 게시판 정보 -->
<div>
{$lang->document_count} : {number_format($total_count)},
{$lang->page_count} : {number_format($page)} / {number_format($total_page)}
<!--@if($grant->view)-->
<a href="{getUrl('act','dispRss')}">rss</a>
<!--@end-->
<!--@if($is_logged)-->
<a href="{getUrl('act','dispLogout')}">[{$lang->cmd_logout}]</a>
<!--@else-->
<a href="{getUrl('act','dispLogin')}">[{$lang->cmd_login}]</a>
<!--@end-->
<!--@if($logged_info->is_admin=='Y')-->
<a href="{getUrl('module','admin','mo','board','act','dispAdminBoardInfo','module_srl',$module_srl,'mid','')}" target="_blank">[{$lang->cmd_management}]</a>
<!--@end-->
</div>
<!-- 게시물 내용 include -->
<!--@if($document && $grant->view)-->
<!--#include("./view_document.html")-->
<!--@end-->
<!-- 목록 -->
<div>
<table>
<tr>
<th>{$lang->no}</th>
<!--@if($category_list)-->
<th>
<form action="./" method="get">
<select name="category" onchange="doChangeCategory(this, '{getUrl('category','')}')" >
<option value="">{$lang->category}</option>
<!--@foreach($category_list as $val)-->
<option value="{$val->category_srl}" <!--@if($category==$val->category_srl)-->selected="true"<!--@end-->>{$val->title} <!--@if($val->document_count)-->({$val->document_count})<!--@end--></option>
<!--@end-->
</select>
</form>
</th>
<!--@end-->
<th>{$lang->title}</th>
<th>{$lang->user_name}</th>
<th>{$lang->readed_count}</th>
<th>{$lang->voted_count}</th>
<th>{$lang->date}</th>
</tr>
<!--@foreach($document_list as $no => $val)-->
<tr>
<td>{$no}</td>
<!--@if($category_list)-->
<td>{$category_list[$val->category_srl]->title}</td>
<!--@end-->
<td>
<!--@if($grant->view)-->
<a href="{getUrl('document_srl',$val->document_srl)}">{$val->title}</a>
<!--@else-->
{$val->title}
<!--@end-->
<!--@if($val->comment_count>0)-->
[{$val->comment_count}]
<!--@end-->
<!--@if($val->trackback_count>0)-->
[{$val->trackback_count}]
<!--@end-->
</td>
<td>{$val->user_name}</td>
<td>{$val->readed_count}</td>
<td>{$val->voted_count}</td>
<td>{zdate($val->regdate,"Y-m-d")}</td>
</tr>
<!--@end-->
</table>
</div>
<!-- 버튼 -->
<div>
<!--@if($grant->write_document)-->
<a href="{getUrl('act','dispWrite','document_srl','')}">[{$lang->cmd_write}]</a>
<!--@end-->
</div>
<!--@if($grant->view)-->
<!-- 검색 -->
<div>
<form action="./" method="get" onsubmit="return procFilter(this, search)">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="category" value="{$category}" />
<select name="search_target">
<!--@foreach($search_option as $key => $val)-->
<option value="{$key}" <!--@if($search_target==$key)-->selected="true"<!--@end-->>{$val}</option>
<!--@end-->
</select>
<input type="text" name="search_keyword" value="{htmlspecialchars($search_keyword)}" />
<input type="submit" value="{$lang->cmd_search}" />
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('search_target','','search_keyword','','page','1','document_srl','')}'"/>
</form>
</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>
<!--@end-->
{$module_info->footer_text}

View file

@ -0,0 +1,30 @@
<!--%import("filter/login.xml")-->
<!--#include("header.html")-->
<form action="./" method="get" onsubmit="return procFilter(this, login)">
<input type="hidden" name="mid" value="{$mid}" />
<table>
<col width="120" />
<col width="*" />
<tr>
<th>{$lang->user_id}</th>
<td><input type="text" name="user_id" /></td>
</tr>
<tr>
<th>{$lang->password}</th>
<td><input type="password" name="password" value="" /></td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('act','')}'" />
<input type="submit" value="{$lang->cmd_login}" />
</td>
</tr>
<tr>
<td colspan="2">
<a href="#" onclick="location.href='{getUrl('act','dispSignUpForm')}'">{$lang->cmd_signup}</a>
</td>
</tr>
</table>
</form>

View file

@ -0,0 +1,21 @@
<!--%import("filter/logout.xml")-->
<!--#include("header.html")-->
<form action="./" method="get" onsubmit="return procFilter(this, logout)">
<input type="hidden" name="mid" value="{$mid}" />
<table>
<tr>
<th>{$lang->cmd_logout}</th>
</tr>
<tr>
<td>{$lang->confirm_logout}</td>
</tr>
<tr>
<td>
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{@getUrl('act','')}'" />
<input type="submit" value="{$lang->cmd_logout}" />
</td>
</tr>
</table>
</form>

View file

@ -0,0 +1,4 @@
<div>{$message}</div>
<!--@if(!$is_logged)-->
<a href="{getUrl('act','dispLogin')}">{$lang->cmd_login}</a>
<!--@end-->

View file

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<skin>
<title xml:lang="ko">게시판 기본 스킨</title>
<title xml:lang="en">BBS default skin</title>
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
<name xml:lang="ko">제로</name>
<name xml:lang="en">zero</name>
<description xml:lang="ko">board모듈의 default스킨</description>
<description xml:lang="en">default skin of the board module</description>
</maker>
<colorset>
<color name="normal" src="screenshot/normal.gif">
<title xml:lang="ko">기본</title>
<title xml:lang="en">normal</title>
</color>
<color name="deep" src="screenshot/blue.gif">
<title xml:lang="ko">이상한거</title>
<title xml:lang="en">deep</title>
</color>
</colorset>
<extra_vars>
<var name="title" type="text">
<title xml:lang="ko">제목</title>
<title xml:lang="en">title</title>
<description xml:lang="ko">그냥 테스트용입니다</description>
<description xml:lang="en">just for test..</description>
</var>
<var name="title2" type="text">
<title xml:lang="ko">제목 2</title>
<title xml:lang="en">title 2</title>
<default>haha</default>
</var>
<var name="memo" type="textarea">
<title xml:lang="ko">내용</title>
<title xml:lang="en">memo</title>
<default lang="ko">내용의 기본값</default>
<default lang="en">default value of memo</default>
</var>
<var name="select" type="select">
<title xml:lang="ko">선택1</title>
<title xml:lang="en">select 1</title>
<default>1</default>
<default>2</default>
<default>3</default>
<default>4</default>
<default>5</default>
</var>
<var name="checkbox" type="checkbox">
<title xml:lang="ko">다중선택</title>
<title xml:lang="en">multi select</title>
<default>a</default>
<default>b</default>
<default>c</default>
</var>
<var name="radio" type="radio">
<title xml:lang="ko">하나선택</title>
<title xml:lang="en">one select</title>
<default>A</default>
<default>B</default>
<default>C</default>
</var>
<var name="logo_image" type="image" width="60" height="60">
<title xml:lang="ko">로고이미지</title>
<title xml:lang="en">logo image</title>
</var>
</extra_vars>
<skin>

View file

@ -0,0 +1,50 @@
<!--#include("header.html")-->
<!-- 엮인글 정보 출력 -->
<div>
{$lang->trackback} : {count($document->trackback_list)}
</div>
<!-- 엮인글 출력 -->
<div>
<!-- 엮인글 목록 -->
<!--@if($document->trackback_list)-->
<!--@foreach($document->trackback_list as $key => $val)-->
<a name="trackback_{$key}"></a>
<div style="margin-left:{$val->depth*15}px" >
<table>
<col width="120" />
<col width="*" />
<tr>
<th>{$lang->title}</th>
<td>{$val->title}</td>
</tr>
<tr>
<th>{$lang->date}</th>
<td>{zdate($val->regdate, "Y-m-d H:i:s")}</td>
</tr>
<tr>
<th>{$lang->blog_name}</th>
<td><a href="{$val->url}">{$val->blog_name}</a></td>
</tr>
<tr>
<th>{$lang->excerpt}</th>
<td height="100" valign="top">{nl2br($val->excerpt)}</td>
</tr>
<tr>
<th>ipaddress</th>
<td>{$val->ipaddress}</td>
</tr>
<tr>
<td colspan="2">
<a href="{getUrl('act','dispDeleteTrackback','trackback_srl',$val->trackback_srl)}">[{$lang->cmd_delete}]</a>
</td>
</tr>
</table>
</div>
<!--@end-->
<!--@end-->
</div>

View file

@ -0,0 +1,109 @@
<!--%import("filter/vote.xml")-->
<!--#include("header.html")-->
<!-- 현 글의 기본 정보를 담고 있는 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>
<table width="100%" style="table-layout:fixed">
<col width="120" />
<col width="*" />
<!--@if($category_list && $document->category_srl)-->
<tr>
<th>{$lang->category}</th>
<td>{$category_list[$document->category_srl]->title}</td>
</tr>
<!--@end-->
<tr>
<th>{$lang->title}</th>
<td>{$document->title}</td>
</tr>
<tr>
<th>{$lang->date}</th>
<td>{zdate($document->regdate,"Y-m-d H:i:s")}</td>
</tr>
<tr>
<th>{$lang->user_name}</th>
<td>{$document->user_name}</td>
</tr>
<tr>
<th>{$lang->readed_count}</th>
<td>{$document->readed_count}</td>
</tr>
<tr>
<th>{$lang->voted_count}</th>
<td>{$document->voted_count}</td>
</tr>
<tr>
<th>{$lang->content}</th>
<td height="100" valign="top">{$document->content}</td>
</tr>
<tr>
<td colspan="2">
{$lang->document_url} : {getUrl()}?document_srl={$document->document_srl}
<!--@if($document->allow_trackback=='Y')-->
<br />
{$lang->trackback_url} : {getUrl()}trackback.php?document_srl={$document->document_srl}
<!--@end-->
</td>
</tr>
<!--@if($document->tags)-->
<tr>
<th>{$lang->tag}</th>
<td>{$document->tags}</td>
</tr>
<!--@end-->
<!--@if($document->uploaded_count && $document->uploaded_list)-->
<tr>
<td>{$lang->uploaded_file}</td>
<td>
<!--@foreach($document->uploaded_list as $key => $file)-->
<div><a href="./?mid={$mid}&amp;act=procDownloadFile&amp;file_srl={$file->file_srl}&amp;sid={$file->sid}&amp;document_srl={$file->document_srl}">{$file->source_filename} ({FileHandler::filesize($file->file_size)})</a> ({number_format($file->download_count)})</div>
<!--@end-->
</td>
</tr>
<!--@end-->
<tr>
<th>ipaddress</th>
<td>{$document->ipaddress}</td>
</tr>
<tr>
<td colspan="2">
<!--@if($document->allow_comment=='Y')-->
{$lang->allow_comment}
<!--@end-->
<!--@if($document->lock_comment=='Y')-->
{$lang->lock_comment}
<!--@end-->
<!--@if($document->allow_trackback=='Y')-->
{$lang->allow_trackback}
<!--@end-->
</td>
</tr>
</table>
</div>
<!-- 관련 링크 -->
<div>
<a href="{getUrl('document_srl','')}">[{$lang->cmd_list}]</a>
<a href="#" onclick="doVote();return false;">[{$lang->cmd_vote}]</a>
<!--@if($document->is_granted)-->
<a href="{getUrl('act','dispWrite')}">[{$lang->cmd_modify}]</a>
<a href="{getUrl('act','dispDelete')}">[{$lang->cmd_delete}]</a>
<!--@end-->
</div>
<!-- 엮인글 파일 include -->
<!--@if($document->allow_trackback=='Y')-->
<!--#include("./trackback.html")-->
<!--@end-->
<!-- 댓글 파일 include -->
<!--@if($grant->write_comment&&$document->allow_comment=='Y')-->
<!--#include("./comment.html")-->
<!--@end-->

View file

@ -0,0 +1,107 @@
<!--%import("filter/insert.xml")-->
<!--#include("header.html")-->
<form action="./" method="post" onsubmit="return procFilter(this, insert)" <!--@if($grant->fileupload)-->enctype="multipart/form-data"<!--@end-->>
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="act" value="procUploadFile" />
<input type="hidden" name="content" value="{htmlspecialchars($document->content)}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<table width="100%">
<col width="120" />
<col width="*" />
<!--@if($category_list)-->
<tr>
<th>{$lang->category}</th>
<td>
<select name="category_srl" >
<option value="">{$lang->category}</option>
<!--@foreach($category_list as $val)-->
<option value="{$val->category_srl}" <!--@if($category==$val->category_srl||$val->category_srl==$document->category_srl)-->selected="true"<!--@end-->>{$val->title} <!--@if($val->document_count)-->({$val->document_count})<!--@end--></option>
<!--@end-->
</select>
</td>
<!--@end-->
<!--@if(!$is_logged)-->
<tr>
<th>{$lang->user_name}</th>
<td><input type="text" name="user_name" value="{$document->user_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="{$document->email_address}"/></td>
</tr>
<tr>
<th>{$lang->homepage}</th>
<td><input type="text" name="homepage" value="{$document->homepage}" /></td>
</tr>
<!--@end-->
<tr>
<th>{$lang->title}</th>
<td><input type="text" name="title" value="{$document->title}" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<!--@if($grant->manager)-->
<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>
<!--@end-->
<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>
<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>
<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>
<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>
</td>
</tr>
<tr>
<th>{$lang->content}</th>
<td>
<!--#include("$editor_path/editor.html")-->
<!--@if($grant->fileupload)-->
<!--#include("$editor_path/editor_uploader.html")-->
<!--@end-->
</td>
</tr>
<tr>
<th>{$lang->cmd_send_trackback}</th>
<td>
<input type="text" name="trackback_url" />
<select name="trackback_charset">
<option value='UTF-8'>UTF-8</option>
<option value='EUC-KR'>EUC-KR</option>
<option value='EUC-JP'>EUC-JP</option>
<option value='SHIFT_JIS'>SHIFT_JIS</option>
<option value='EUC-CN'>EUC-CN</option>
<option value='HZ'>HZ</option>
<option value='BIG5'>BIG5</option>
</select>
</td>
</tr>
<tr>
<th>{$lang->tag}</th>
<td>
<input type="text" name="tags" value="{htmlspecialchars($document->tags)}" /> <br />
{$lang->about_tag}
</td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{@getUrl('act','')}'" />
<input type="submit" value="{$lang->cmd_registration}" accesskey="s" />
</td>
</tr>
</table>
</form>