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

This commit is contained in:
zero 2007-06-14 06:05:26 +00:00
parent 3f649ab32a
commit 67572cebaf
39 changed files with 543 additions and 459 deletions

View file

@ -79,27 +79,31 @@
// document 객체를 생성. 기본 데이터 구조의 경우 document모듈만 쓰면 만사 해결.. -_-;
$oDocumentModel = &getModel('document');
$oDocument = $oDocumentModel->getDocument(0, $this->grant->manager);
// document_srl이 있다면 해당 글을 구해오자
if($this->grant->list && $document_srl) {
// 글을 구함
$document = $oDocumentModel->getDocument($document_srl, $this->grant->manager, true);
$oDocument->setDocument($document_srl);
// 찾아지지 않았다면 초기화
if($document->document_srl != $document_srl) {
unset($document);
if(!$oDocument->isExists()) {
unset($document_srl);
Context::set('document_srl','',true);
} else {
// 브라우저 타이틀 설정
Context::setBrowserTitle($oDocument->getTitleText());
// 글이 찾아졌으면 댓글 권한과 허용 여부를 체크하여 댓글 에디터 세팅
} elseif($this->grant->write_comment && $document->allow_comment == 'Y' && $document->lock_comment != 'Y') {
// 브라우저 타이틀
$browser_title = $this->module_info->browser_title.' - '.$document->title;
Context::setBrowserTitle($browser_title);
// 댓글에디터 설정
if($this->grant->write_comment && $oDocument->allowComment() && !$oDocument->isLocked()) $this->setCommentEditor(0, 100);
// 조회수 증가
$oDocument->updateReadedCount();
}
Context::set('document', $document);
}
Context::set('oDocument', $oDocument);
// 댓글
$this->setCommentEditor(0, 100);
@ -167,23 +171,21 @@
// document 모듈 객체 생성
$oDocumentModel = &getModel('document');
$oDocument = $oDocumentModel->getDocument($document_srl, $this->grant->manager);
// 지정된 글이 없다면 (신규) 새로운 번호를 만든다
if($document_srl) {
$document = $oDocumentModel->getDocument($document_srl, $this->grant->manager);
if(!$document) {
unset($document_srl);
Context::set('document_srl','');
}
if(!$oDocument->isExists()) {
unset($document_srl);
Context::set('document_srl','');
}
if(!$document_srl) $document_srl = getNextSequence();
// 글을 수정하려고 할 경우 권한이 없는 경우 비밀번호 입력화면으로
if($document&&!$document->is_granted) return $this->setTemplateFile('input_password_form');
if($oDocument->isExists()&&!$oDocument->isGranted()) return $this->setTemplateFile('input_password_form');
Context::set('document_srl',$document_srl);
Context::set('document', $document);
Context::set('oDocument', $oDocument);
// 에디터 모듈의 getEditor를 호출하여 세팅
$oEditorModel = &getModel('editor');
@ -209,19 +211,16 @@
// 삭제할 문서번호를 가져온다
$document_srl = Context::get('document_srl');
// 지정된 글이 있는지 확인
if($document_srl) {
$oDocumentModel = &getModel('document');
$document = $oDocumentModel->getDocument($document_srl);
}
$oDocumentModel = &getModel('document');
$oDocument = $oDocumentModel->getDocument($document_srl, $this->grant->manager);
// 삭제하려는 글이 없으면 에러
if(!$document) return $this->dispBlogContent();
if(!$oDocument->isExists()) return $this->dispBlogContent();
// 권한이 없는 경우 비밀번호 입력화면으로
if($document&&!$document->is_granted) return $this->setTemplateFile('input_password_form');
if($oDocument->isExists()&&!$oDocument->isGranted()) return $this->setTemplateFile('input_password_form');
Context::set('document',$document);
Context::set('oDocument',$oDocument);
$this->setTemplateFile('delete_form');
}

View file

@ -1,6 +1,8 @@
<!--@if($document->comment_list)-->
<!--%import("filter/insert_comment.xml")-->
<!--@foreach($document->comment_list as $key => $val)-->
<!--@if($oDocument->getCommentCount())-->
<!--@foreach($oDocument->getComments() as $key => $val)-->
<a name="comment_{$key}"></a>
<div style="margin-left:{$val->depth*15}px" >
<table border="1" width="100%">
@ -56,6 +58,6 @@
<!--@end-->
<!-- 댓글 입력 폼 -->
<!--@if($grant->write_comment && $document->lock_comment == 'N')-->
<!--@if($grant->write_comment && !$oDocument->isLocked())-->
<!--#include("./comment_form.html")-->
<!--@end-->

View file

@ -12,7 +12,7 @@
</tr>
<tr>
<th>{$lang->title}</th>
<td>{$document->title}</td>
<td>{$oDocument->getTitleText()}</td>
</tr>
<tr>
<td colspan="2">

View file

@ -5,19 +5,19 @@
<!-- 검색된 글 목록이 있고 권한이 있을 경우 출력 -->
<!--@if($document_list && $grant->list)-->
<!--@foreach($document_list as $no => $document)-->
<!--@foreach($document_list as $no => $oDocument)-->
<!-- 검색어가 사용되었을 경우 목록형태로 출력 -->
<!--@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>
[{$oDocument->getRegdate("Y-m-d")}] <a href="#" onclick="winopen('{$oDocument->getPermanentUrl()}');return false;">{$oDocument->getTitleText()}</a>
<!-- 댓글이 있으면 댓글의 수 출력 -->
<!--@if($document->comment_count)-->({number_format($document->comment_count)})<!--@end-->
<!--@if($oDocument->getCommentCount())-->({number_format($oDocument->getCommentCount())})<!--@end-->
<!-- 엮인글이 있으면 엮인글의 수 출력 -->
<!--@if($document->trackback_count)-->({number_format($document->trackback_count)})<!--@end-->
<!--@if($oDocument->getTrackbackCount())-->({number_format($oDocument->getTrackbackCount())})<!--@end-->
</div>
<!-- 검색어가 없다면 내용을 바로 출력 -->

View file

@ -1,5 +1,5 @@
<!--@if($document->trackback_list)-->
<!--@foreach($document->trackback_list as $key => $val)-->
<!--@if($oDocument->getTrackbackCount())-->
<!--@foreach($oDocument->getTrackbacks as $key => $val)-->
<a name="trackback_{$val->trackback_srl}"></a>
<div style="margin-left:{$val->depth*15}px" >

View file

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

View file

@ -3,7 +3,7 @@
<form action="./" method="post" onsubmit="return procFilter(this, insert)" <!--@if($grant->fileupload)-->enctype="multipart/form-data"<!--@end-->>
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="content" value="{htmlspecialchars($document->content)}" />
<input type="hidden" name="content" value="{$oDocument->getContentText()}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<table border="1" width="100%">
@ -17,7 +17,7 @@
<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}</option>
<option value="{$val->category_srl}" <!--@if($category==$val->category_srl||$val->category_srl==$oDocument->get('category_srl'))-->selected="true"<!--@end-->>{$val->title} <!--@if($val->document_count)-->({$val->document_count})<!--@end--></option>
<!--@end-->
</select>
</td>
@ -26,7 +26,7 @@
<!--@if(!$is_logged)-->
<tr>
<th>{$lang->writer}</th>
<td><input type="text" name="nick_name" value="{$document->nick_name}" /></td>
<td><input type="text" name="nick_name" value="{$oDocument->getNickName()}" /></td>
</tr>
<tr>
<th>{$lang->password}</th>
@ -34,35 +34,35 @@
</tr>
<tr>
<th>{$lang->email_address}</th>
<td><input type="text" name="email_address" value="{htmlspecialchars($document->email_address)}"/></td>
<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($document->homepage)}" /></td>
<td><input type="text" name="homepage" value="{htmlspecialchars($oDocument->get('homepage'))}" /></td>
</tr>
<!--@end-->
<tr>
<th>{$lang->title}</th>
<td><input type="text" name="title" value="{htmlspecialchars($document->title)}" /></td>
<td><input type="text" name="title" value="{$oDocument->getTitleText()}" /></td>
</tr>
<tr>
<td colspan="2">
<!--@if($grant->manager)-->
<input type="checkbox" name="is_notice" value="Y" <!--@if($document->is_notice== "Y")-->checked="true"<!--@end--> id="is_notice" />
<input type="checkbox" name="is_notice" value="Y" <!--@if($oDocument->isNotice())-->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" />
<input type="checkbox" name="is_secret" value="Y" <!--@if($oDocument->isSecret())-->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" />
<input type="checkbox" name="allow_comment" value="Y" <!--@if($oDocument->allowComment())-->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" />
<input type="checkbox" name="lock_comment" value="Y" <!--@if($oDocument->isLocked())-->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" />
<input type="checkbox" name="allow_trackback" value="Y" <!--@if($oDocument->allowTrackback())-->checked="true"<!--@end--> id="allow_trackback" />
<label for="allow_trackback">{$lang->allow_trackback}</label>
</td>
</tr>
@ -87,7 +87,7 @@
<tr>
<th>{$lang->tag}</th>
<td>
<input type="text" name="tags" value="{htmlspecialchars($document->tags)}" /> <br />
<input type="text" name="tags" value="{htmlspecialchars($oDocument->get('tags'))}" /> <br />
{$lang->about_tag}
</td>
</tr>

View file

@ -1,9 +1,9 @@
<!--%import("filter/insert_comment.xml")-->
<!--@if($document->comment_list)-->
<!--@if($oDocument->getCommentCount())-->
<ul id="reply">
<!--@foreach($document->comment_list as $key => $val)-->
<!--@foreach($oDocument->getComments() as $key => $val)-->
<li <!--@if($val->depth)-->class="reply"<!--@end-->>
<!--@if($val->depth)-->
@ -53,6 +53,6 @@
<!--@end-->
<!-- 댓글 입력 폼 -->
<!--@if($grant->write_comment && $document->lock_comment == 'N')-->
<!--@if($grant->write_comment && !$oDocument->isLocked())-->
<!--#include("./comment_form.html")-->
<!--@end-->

View file

@ -12,7 +12,7 @@
</tr>
<tr>
<th>{$lang->title}</th>
<td>{$document->title}</td>
<td>{$oDocument->getTitleText()}</td>
</tr>
<tr>
<td colspan="2">

View file

@ -5,19 +5,19 @@
<!-- 검색된 글 목록이 있고 권한이 있을 경우 출력 -->
<!--@if($document_list && $grant->list)-->
<!--@foreach($document_list as $no => $document)-->
<!--@foreach($document_list as $no => $oDocument)-->
<!-- 검색어가 사용되었을 경우 목록형태로 출력 -->
<!--@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>
[{$oDocument->getRegdate("Y-m-d")}] <a href="#" onclick="winopen('{$oDocument->getPermanentUrl()}');return false;">{$oDocument->getTitleText()}</a>
<!-- 댓글이 있으면 댓글의 수 출력 -->
<!--@if($document->comment_count)-->({number_format($document->comment_count)})<!--@end-->
<!--@if($oDocument->getCommentCount())-->({number_format($oDocument->getCommentCount())})<!--@end-->
<!-- 엮인글이 있으면 엮인글의 수 출력 -->
<!--@if($document->trackback_count)-->({number_format($document->trackback_count)})<!--@end-->
<!--@if($oDocument->getTrackbackCount())-->({number_format($oDocument->getTrackbackCount())})<!--@end-->
</div>
<!-- 검색어가 없다면 내용을 바로 출력 -->

View file

@ -1,9 +1,9 @@
<!-- 엮인글 목록 -->
<!--@if($document->trackback_list)-->
<!--@if($oDocument->getTrackbackCount())-->
<ul id="trackbacks">
<!--@foreach($document->trackback_list as $key => $val)-->
<!--@foreach($oDocument->getTrackbacks as $key => $val)-->
<li>
<a name="trackback_{$val->trackback_srl}"></a>
<address>

View file

@ -1,36 +1,28 @@
<!--%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>
<h4>{$oDocument->getTitleText()}</h4>
<!--@if($oDocument->get('category_srl'))-->
<span class="vr">|</span><span class="category">{$category_list[$oDocument->get('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")}
<strong>{$oDocument->getRegdate('Y.m.d')}</strong> {$oDocument->getRegdate('H:i:s')}
</span>
<!--@if($grant->is_admin)-->
<span class="ipaddress">
({$document->ipaddress})
({$oDocument->get('ipaddress')})
</span>
<!--@end-->
<!--@if($document->is_granted || !$document->member_srl)-->
<!--@if($oDocument->isEditable())-->
<ul>
<li><a href="{getUrl('act','dispBlogWrite','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','dispBlogDelete','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>
<li><a href="{getUrl('act','dispBlogWrite','document_srl',$oDocument->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','dispBlogDelete','document_srl',$oDocument->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>
@ -38,42 +30,44 @@
<dl class="uri">
<dt>{$lang->document_url} :</dt>
<dd>{getUrl('','document_srl',$document->document_srl)}</dd>
<dd>{$oDocument->getPermanentUrl()}</dd>
<!--@if($document->allow_trackback=='Y')-->
<!--@if($oDocument->allowTrackback())-->
<dt>{$lang->trackback_url} :</dt>
<dd>{getUrl('','document_srl',$document->document_srl,'act','trackback')}</dd>
<dd>{$oDocument->getTrackbackUrl()}</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 class="author member_{$oDocument->get('member_srl')}">{$oDocument->getNickName()}</div>
</div>
<!--@end-->
<div class="readBody">{$document->content}</div>
<div class="readBody">{$oDocument->getContent()}</div>
<div class="readFooter">
<!--@if($document->tag_list)-->
{@ $tag_list = $oDocument->get('tag_list') }
<!--@if(count($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]; }
<!--@for($i=0;$i<count($tag_list);$i++)-->
{@ $tag = $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-->
<a href="{getUrl('search_target','tag','search_keyword',urlencode($tag),'document_srl','')}">{htmlspecialchars($tag)}</a><!--@if($i<count($tag_list)-1)-->,<!--@end-->
</li>
<!--@end-->
</ul>
</div>
<!--@end-->
<!--@if($document->uploaded_count && $document->uploaded_list)-->
<!--@if($oDocument->hasUploadedFiles())-->
<div class="fileAttached">
<h5>{$lang->uploaded_file} : </h5>
<ul>
<!--@foreach($document->uploaded_list as $key => $file)-->
{@ $uploaded_list = $oDocument->getUploadedFiles() }
<!--@foreach($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>
@ -83,25 +77,25 @@
</div>
<ul class="replyAndTrackback">
<!--@if($grant->write_comment&&$document->allow_comment=='Y')-->
<li class="reply"><a href="#trackback_{$document->document_srl}">{$lang->comment} <strong>{count($document->comment_list)}</strong></a></li>
<!--@if($grant->write_comment && $oDocument->allowComment()) -->
<li class="reply"><a href="#trackback_{$oDocument->document_srl}">{$lang->comment} <strong>{$oDocument->getCommentCount()}</strong></a></li>
<!--@end-->
<!--@if($document->allow_trackback=='Y')-->
<li class="trackback"><a href="#comment_top_{$document->document_srl}">{$lang->trackback} <strong>{count($document->trackback_list)}</strong></a></li>
<!--@if($oDocument->allowTrackback())-->
<li class="trackback"><a href="#comment_top_{$oDocument->document_srl}">{$lang->trackback} <strong>{$oDocument->getTrackbackCount()}</strong></a></li>
<!--@end-->
</ul>
</div>
<!-- 엮인글 파일 include -->
<a name="trackback_{$document->document_srl}"></a>
<!--@if($document->allow_trackback=='Y')-->
<a name="trackback_{$oDocument->document_srl}"></a>
<!--@if($oDocument->allowTrackback())-->
<!--#include("./trackback.html")-->
<!--@end-->
<!-- 댓글 파일 include -->
<a name="comment_top_{$document->document_srl}"></a>
<!--@if($grant->write_comment&&$document->allow_comment=='Y')-->
{@ $document_srl = $document->document_srl; }
<a name="comment_top_{$oDocument->document_srl}"></a>
<!--@if($grant->write_comment && $oDocument->allowComment())-->
{@ $document_srl = $oDocument->document_srl; }
<!--#include("./comment.html")-->
<!--@end-->

View file

@ -5,62 +5,62 @@
<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="content" value="{$oDocument->getContentText()}" />
<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"/>
<input type="text" name="nick_name" value="{$oDocument->getNickName()}" 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"/>
<input type="text" name="email_address" value="{htmlspecialchars($oDocument->get('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"/>
<input type="text" name="homepage" value="{htmlspecialchars($oDocument->get('homepage'))}" id="homePage" class="homePage inputTypeText"/>
</div>
<!--@end-->
<div class="title">
<label for="title" class="title">{$lang->title}</label>
<!--@if($category_list)-->
<!--@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>
<option value="{$val->category_srl}" <!--@if($category==$val->category_srl||$val->category_srl==$oDocument->get('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)}" />
<input type="text" name="title" id="title" class="inputTypeText" value="{$oDocument->getTitleText()}" />
</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" />
<input type="checkbox" name="is_notice" value="Y" <!--@if($oDocument->isNotice())-->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" />
<input type="checkbox" name="lock_comment" value="Y" <!--@if($oDocument->isLocked())-->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" />
<input type="checkbox" name="is_secret" value="Y" <!--@if($oDocument->isSecret())-->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" />
<input type="checkbox" name="allow_comment" value="Y" <!--@if($oDocument->allowComment())-->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" />
<input type="checkbox" name="allow_trackback" value="Y" <!--@if($oDocument->allowTrackback())-->checked="true"<!--@end--> id="allow_trackback" />
<label for="allow_trackback">{$lang->allow_trackback}</label>
</dd>
</dl>
@ -83,7 +83,7 @@
<div class="tag">
<label for="tag">{$lang->tag}</label>
<input type="text" name="tags" id="tag" value="{htmlspecialchars($document->tags)}" class="inputTypeText" />
<input type="text" name="tags" id="tag" value="{htmlspecialchars($oDocument->get('tags'))}" class="inputTypeText" />
<p class="info">{$lang->about_tag}</p>
</div>

View file

@ -220,8 +220,8 @@
// 목록이 있으면 게시글을 가져옴
if(count($flag_list)) $document_srl_list = array_keys($flag_list);
if(is_array($document_srl_list) && count($document_srl_list)) {
$oDocumentModeul = &getModel('document');
$document_list = $oDocumentModeul->getDocuments($document_srl_list, $this->grant->is_admin);
$oDocumentModel = &getModel('document');
$document_list = $oDocumentModel->getDocuments($document_srl_list, $this->grant->is_admin);
Context::set('document_list', $document_list);
}

View file

@ -51,31 +51,31 @@
// document 객체를 생성. 기본 데이터 구조의 경우 document모듈만 쓰면 만사 해결.. -_-;
$oDocumentModel = &getModel('document');
// document_srl이 있다면 해당 글을 구해오자
// 선택된 문서 표시를 위한 객체 생성
$oDocument = $oDocumentModel->getDocument(0, $this->grant->manager);
// document_srl이 있다면 해당 글을 구해와서 $oDocument로 세팅
if($this->grant->view && $document_srl) {
// 글을 구함
$document = $oDocumentModel->getDocument($document_srl, $this->grant->manager, true);
$oDocument->setDocument($document_srl);
if($this->grant->manager) $oDocument->setGrant();
// 찾아지지 않았다면 초기화
if($document->document_srl != $document_srl) {
unset($document);
unset($document_srl);
if(!$oDocument->isExists()) {
Context::set('document_srl','',true);
} else {
// 브라우저 타이틀 설정
Context::setBrowserTitle($oDocument->getTitleText());
// 글이 찾아졌으면 댓글 권한과 허용 여부를 체크하여 댓글 에디터 세팅
} elseif($this->grant->write_comment && $document->allow_comment == 'Y' && $document->lock_comment != 'Y') {
// 브라우저 타이틀
$browser_title = $this->module_info->browser_title.' - '.$document->title;
Context::setBrowserTitle($browser_title);
// 댓글
$this->setCommentEditor(0, 100);
// 조회수 증가
$oDocument->updateReadedCount();
}
Context::set('document', $document);
}
Context::set('oDocument', $oDocument);
// 댓글에디터 설정
$this->setCommentEditor(0, 100);
// 만약 document_srl은 있는데 page가 없다면 글만 호출된 경우 page를 구해서 세팅해주자..
if($document_srl && !$page) {
@ -93,7 +93,6 @@
$args->search_target = Context::get('search_target'); ///< 검색 대상 (title, contents...)
$args->search_keyword = Context::get('search_keyword'); ///< 검색어
if($this->module_info->use_category=='Y') $args->category_srl = Context::get('category'); ///< 카테고리 사용시 선택된 카테고리
$args->sort_index = Context::get('sort_index');
$args->order_type = Context::get('order_type');
@ -135,22 +134,18 @@
// document 모듈 객체 생성
$oDocumentModel = &getModel('document');
// 지정된 글이 없다면 (신규) 새로운 번호를 만든다
if($document_srl) {
$document = $oDocumentModel->getDocument($document_srl, $this->grant->manager);
if(!$document) {
unset($document_srl);
Context::set('document_srl','');
}
}
$oDocument = $oDocumentModel->getDocument(0, $this->grant->manager);
$oDocument->setDocument($document_srl);
if(!$oDocument->isExists()) Context::set('document_srl','');
if(!$document_srl) $document_srl = getNextSequence();
// 글을 수정하려고 할 경우 권한이 없는 경우 비밀번호 입력화면으로
if($document&&!$document->is_granted) return $this->setTemplateFile('input_password_form');
if($oDocument->isExists()&&!$oDocument->isGranted()) return $this->setTemplateFile('input_password_form');
Context::set('document_srl',$document_srl);
Context::set('document', $document);
Context::set('oDocument', $oDocument);
// 에디터 모듈의 getEditor를 호출하여 세팅
$oEditorModel = &getModel('editor');

View file

@ -1,16 +1,16 @@
<!-- 댓글 정보 출력 -->
<a name="comment_top_{$document_srl}"></a>
<div>
{$lang->comment} : {count($document->comment_list)}
{$lang->comment} : {$oDocument->getCommentCount()}
</div>
<!-- 댓글 출력 -->
<div>
<!-- 댓글 목록 -->
<!--@if($document->comment_list)-->
<!--@if($oDocument->getCommentCount())-->
<!--@foreach($document->comment_list as $key => $val)-->
<!--@foreach($oDocument->getComments() as $key => $val)-->
<a name="comment_{$key}"></a>
<div style="margin-left:{$val->depth*15}px" >
<table border="1" width="100%">
@ -68,7 +68,7 @@
<!-- 댓글 입력 폼 -->
<!--@if($grant->write_comment && $document->lock_comment == 'N')-->
<!--@if($grant->write_comment && !$oDocument->isLocked())-->
<!--#include("./comment_form.html")-->
<!--@end-->

View file

@ -12,7 +12,7 @@
</tr>
<tr>
<th>{$lang->title}</th>
<td>{$document->title}</td>
<td>{$oDocument->getTitleText()}</td>
</tr>
<tr>
<td colspan="2">

View file

@ -2,7 +2,7 @@
<!--#include("header.html")-->
<!-- 게시물 내용 include -->
<!--@if($document && $grant->view)-->
<!--@if($oDocument->isExists() && $grant->view)-->
<!--#include("./view_document.html")-->
<!--@end-->
@ -32,48 +32,44 @@
<th>{$lang->date}</th>
</tr>
<!--@foreach($document_list as $no => $val)-->
<!--@foreach($document_list as $no => $document)-->
<tr>
<td>{$no}</td>
<!--@if($category_list)-->
<td>{$category_list[$val->category_srl]->title}</td>
<td>{$category_list[$document->get('category_srl')]->title}</td>
<!--@end-->
<td>
<!--@if($grant->is_admin)-->
<input type="checkbox" value="{$val->document_srl}" onclick="doAddCart('{$mid}',this)" <!--@if($check_list[$val->document_srl])-->checked="true"<!--@end--> />
<!--@end-->
<!--@if($module_info->subject_cut_size>0)-->
{@ $val->title = cut_str($val->title,$module_info->subject_cut_size)}
<input type="checkbox" value="{$document->document_srl}" onclick="doAddCart('{$mid}',this)" <!--@if($check_list[$document->document_srl])-->checked="true"<!--@end--> />
<!--@end-->
<!--@if($grant->view)-->
<!-- 검색중일 경우는 새창으로 -->
<!--@if($search_target && $search_keyword)-->
<a href="#" onclick="winopen('{getUrl('','document_srl',$val->document_srl)}','viewDocument');return false;">{htmlspecialchars($val->title)}</a>
<a href="#" onclick="winopen('{getUrl('','document_srl',$document->document_srl)}','viewDocument');return false;">{$document->getTitleText($module_info->subject_cut_size)}</a>
<!-- 검색을 하지 않을 시에는 현재창으로 -->
<!--@else-->
<a href="{getUrl('','document_srl',$val->document_srl)}">{htmlspecialchars($val->title)}</a>
<a href="{getUrl('','document_srl',$document->document_srl)}">{$document->getTitleText($module_info->subject_cut_size)}</a>
<!--@end-->
<!--@else-->
{htmlspecialchars($val->title)}
{$document->getTitleText($module_info->subject_cut_size)}
<!--@end-->
<!--@if($val->comment_count>0)-->
[<a href="{getUrl('document_srl',$val->document_srl)}#comment">{$val->comment_count}</a>]
<!--@if($document->getCommentCount())-->
[<a href="{getUrl('document_srl',$document->document_srl)}#comment">{$document->getCommentCount()}</a>]
<!--@end-->
<!--@if($val->trackback_count>0)-->
[<a href="{getUrl('document_srl',$val->document_srl)}#trackback">{$val->trackback_count}</a>]
<!--@if($document->trackback_count>0)-->
[<a href="{getUrl('document_srl',$document->document_srl)}#trackback">{$document->getTrackbackCount()}</a>]
<!--@end-->
</td>
<td><div class="member_{$val->member_srl}">{$val->nick_name}</div></td>
<td>{$val->readed_count}</td>
<td>{$val->voted_count}</td>
<td>{zdate($val->regdate,"Y-m-d")}</td>
<td><div class="member_{$document->get('member_srl')}">{$document->getNickName()}</div></td>
<td>{$document->get('readed_count')}</td>
<td>{$document->get('voted_count')}</td>
<td>{$document->getRegdate("Y-m-d")}</td>
</tr>
<!--@end-->
</table>

View file

@ -1,12 +1,12 @@
<!-- 엮인글 정보 출력 -->
<div>
{$lang->trackback} : {count($document->trackback_list)}
{$lang->trackback} : {$oDocument->getTrackbackCount()}
</div>
<!-- 엮인글 목록 -->
<!--@if($document->trackback_list)-->
<!--@if($oDocument->getTrackbackCount())-->
<div>
<!--@foreach($document->trackback_list as $key => $val)-->
<!--@foreach($oDocument->getTrackbacks as $key => $val)-->
<a name="trackback_{$val->trackback_srl}"></a>
<div style="margin-left:{$val->depth*15}px" >

View file

@ -3,7 +3,7 @@
<!-- 현 글의 기본 정보를 담고 있는 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}" />
<input type="hidden" name="document_srl" value="{$oDocument->document_srl}" />
</form>
<!-- 글 내용 보여주기 -->
@ -12,72 +12,69 @@
<col width="120" />
<col width="*" />
<!--@if($category_list && $document->category_srl)-->
<!--@if($category_list && $oDocument->document->category_srl)-->
<tr>
<th>{$lang->category}</th>
<td>{$category_list[$document->category_srl]->title}</td>
<td>{$category_list[$oDocument->get('category_srl')]->title}</td>
</tr>
<!--@end-->
<tr>
<th>{$lang->title}</th>
<td>{htmlspecialchars($document->title)}</td>
<td>{$oDocument->getTitleText()}</td>
</tr>
<!--@if($document->homepage)-->
<tr>
<th>{$lang->homepage}</th>
<td><a href="{$document->homepage}" onclick="winopen('{$document->homepage}'); return false;">{htmlspecialchars($document->homepage)}</a></td>
</tr>
<!--@end-->
<tr>
<th>{$lang->date}</th>
<td>{zdate($document->regdate,"Y-m-d H:i:s")}</td>
<td>{$oDocument->getRegdate('Y-m-d H:i:s')}</td>
</tr>
<tr>
<th>{$lang->writer}</th>
<td><div class="member_{$document->member_srl}">{htmlspecialchars($document->nick_name)}</div></td>
<td><div class="member_{$oDocument->get('member_srl')}">{$oDocument->getNickName()}</div></td>
</tr>
<tr>
<th>{$lang->readed_count}</th>
<td>{$document->readed_count}</td>
<td>{$oDocument->get('readed_count')}</td>
</tr>
<tr>
<th>{$lang->voted_count}</th>
<td>{$document->voted_count}</td>
<td>{$oDocument->get('voted_count')}</td>
</tr>
<tr>
<th>{$lang->content}</th>
<td height="100" valign="top">{$document->content}</td>
<td height="100" valign="top">{$oDocument->getContent()}</td>
</tr>
<tr>
<th>{$lang->document_url}</th>
<td>{getUrl('','document_srl',$document->document_srl)}</td>
<td>{$oDocument->getPermanentUrl()}</td>
</tr>
<!--@if($document->allow_trackback=='Y')-->
<!--@if($oDocument->allowTrackback())-->
<tr>
<th>{$lang->trackback_url}</th>
<td>{getUrl('','document_srl',$document->document_srl,'act','trackback')}</td>
<td>{$oDocument->getTrackbackUrl()}</td>
</tr>
<!--@end-->
<!--@if($document->tag_list)-->
{@ $tag_list = $oDocument->get('tag_list') }
<!--@if(count($tag_list))-->
<tr>
<th>{$lang->tag}</th>
<td>
<!--@foreach($document->tag_list as $val)-->
<a href="{getUrl('search_target','tag','search_keyword',urlencode($val),'document_srl','')}">{htmlspecialchars($val)}</a>
<!--@for($i=0;$i<count($tag_list);$i++)-->
{@ $tag = $tag_list[$i]; }
<a href="{getUrl('search_target','tag','search_keyword',urlencode($tag),'document_srl','')}">{htmlspecialchars($tag)}</a><!--@if($i<count($tag_list)-1)-->,<!--@end-->
<!--@end-->
</td>
</tr>
<!--@end-->
<!--@if($document->uploaded_count && $document->uploaded_list)-->
<!--@if($oDocument->hasUploadedFiles())-->
<tr>
<th>{$lang->uploaded_file}</th>
<td>
<!--@foreach($document->uploaded_list as $key => $file)-->
<div><a href="{$file->download_url}">{$file->source_filename} ({FileHandler::filesize($file->file_size)})</a> ({number_format($file->download_count)})</div>
{@ $uploaded_list = $oDocument->getUploadedFiles() }
<!--@foreach($uploaded_list as $key => $file)-->
<span><a href="{$file->download_url}">{$file->source_filename} ({FileHandler::filesize($file->file_size)})</a> ({number_format($file->download_count)})</span>
<!--@end-->
</td>
</tr>
@ -85,19 +82,19 @@
<tr>
<th>ipaddress</th>
<td>{$document->ipaddress}</td>
<td>{$oDocument->get('ipaddress')}</td>
</tr>
<tr>
<td colspan="2">
<!--@if($document->allow_comment=='Y')-->
<!--@if($oDocument->allowComment())-->
{$lang->allow_comment}
<!--@end-->
<!--@if($document->lock_comment=='Y')-->
<!--@if($oDocument->isLocked())-->
{$lang->lock_comment}
<!--@end-->
<!--@if($document->allow_trackback=='Y')-->
<!--@if($oDocument->allowTrackback())-->
{$lang->allow_trackback}
<!--@end-->
</td>
@ -110,7 +107,7 @@
<a href="{getUrl('document_srl','')}">[{$lang->cmd_list}]</a>
<a href="#" onclick="doVote();return false;">[{$lang->cmd_vote}]</a>
<!--@if($document->is_granted || !$document->member_srl)-->
<!--@if($oDocument->isEditable())-->
<a href="{getUrl('act','dispBoardWrite')}">[{$lang->cmd_modify}]</a>
<a href="{getUrl('act','dispBoardDelete')}">[{$lang->cmd_delete}]</a>
<!--@end-->
@ -118,13 +115,13 @@
<!-- 엮인글 파일 include -->
<!--@if($document->allow_trackback=='Y')-->
<!--@if($oDocument->allowTrackback())-->
<a name="trackback"></a>
<!--#include("./trackback.html")-->
<!--@end-->
<!-- 댓글 파일 include -->
<!--@if($grant->write_comment&&$document->allow_comment=='Y')-->
<!--@if($grant->write_comment && $oDocument->allowComment())-->
<a name="comment"></a>
<!--#include("./comment.html")-->
<!--@end-->

View file

@ -3,7 +3,7 @@
<form action="./" method="post" onsubmit="return procFilter(this, insert)" <!--@if($grant->fileupload)-->enctype="multipart/form-data"<!--@end-->>
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="content" value="{htmlspecialchars($document->content)}" />
<input type="hidden" name="content" value="{$oDocument->getContentText()}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<table border="1" width="100%">
@ -17,7 +17,7 @@
<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>
<option value="{$val->category_srl}" <!--@if($category==$val->category_srl||$val->category_srl==$oDocument->get('category_srl'))-->selected="true"<!--@end-->>{$val->title} <!--@if($val->document_count)-->({$val->document_count})<!--@end--></option>
<!--@end-->
</select>
</td>
@ -26,7 +26,7 @@
<!--@if(!$is_logged)-->
<tr>
<th>{$lang->writer}</th>
<td><input type="text" name="nick_name" value="{$document->nick_name}" /></td>
<td><input type="text" name="nick_name" value="{$oDocument->getNickName()}" /></td>
</tr>
<tr>
<th>{$lang->password}</th>
@ -34,35 +34,35 @@
</tr>
<tr>
<th>{$lang->email_address}</th>
<td><input type="text" name="email_address" value="{htmlspecialchars($document->email_address)}"/></td>
<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($document->homepage)}" /></td>
<td><input type="text" name="homepage" value="{htmlspecialchars($oDocument->get('homepage'))}" /></td>
</tr>
<!--@end-->
<tr>
<th>{$lang->title}</th>
<td><input type="text" name="title" value="{htmlspecialchars($document->title)}" /></td>
<td><input type="text" name="title" value="{$oDocument->getTitleText()}" /></td>
</tr>
<tr>
<td colspan="2">
<!--@if($grant->manager)-->
<input type="checkbox" name="is_notice" value="Y" <!--@if($document->is_notice== "Y")-->checked="true"<!--@end--> id="is_notice" />
<input type="checkbox" name="is_notice" value="Y" <!--@if($oDocument->isNotice())-->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" />
<input type="checkbox" name="is_secret" value="Y" <!--@if($oDocument->isSecret())-->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" />
<input type="checkbox" name="allow_comment" value="Y" <!--@if($oDocument->allowComment())-->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" />
<input type="checkbox" name="lock_comment" value="Y" <!--@if($oDocument->isLocked())-->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" />
<input type="checkbox" name="allow_trackback" value="Y" <!--@if($oDocument->allowTrackback())-->checked="true"<!--@end--> id="allow_trackback" />
<label for="allow_trackback">{$lang->allow_trackback}</label>
</td>
</tr>
@ -87,7 +87,7 @@
<tr>
<th>{$lang->tag}</th>
<td>
<input type="text" name="tags" value="{htmlspecialchars($document->tags)}" /> <br />
<input type="text" name="tags" value="{htmlspecialchars($oDocument->get('tags'))}" /> <br />
{$lang->about_tag}
</td>
</tr>

View file

@ -1,7 +1,7 @@
<!--@if($document->comment_list)-->
<!--@if($oDocument->getCommentCount())-->
<ul id="reply">
<!--@foreach($document->comment_list as $key => $val)-->
<!--@foreach($oDocument->getComments() as $key => $val)-->
<li <!--@if($val->depth)-->class="reply"<!--@end-->>
<!--@if($val->depth)-->
@ -51,6 +51,6 @@
<!--@end-->
<!-- 댓글 입력 폼 -->
<!--@if($grant->write_comment && $document->lock_comment == 'N')-->
<!--@if($grant->write_comment && !$oDocument->isLocked())-->
<!--#include("./comment_form.html")-->
<!--@end-->

View file

@ -12,7 +12,7 @@
</tr>
<tr>
<th>{$lang->title}</th>
<td>{$document->title}</td>
<td>{$oDocument->getTitleText()}</td>
</tr>
<tr>
<td colspan="2">

View file

@ -5,7 +5,7 @@
<!--#include("header.html")-->
<!-- 선택된 게시물이 있고 권한이 있으면 내용 출력 -->
<!--@if($document && $grant->view)-->
<!--@if($oDocument->isExists() && $grant->view)-->
<!--#include("./view_document.html")-->
<!--@end-->
@ -56,9 +56,9 @@
</tr>
<!--@end-->
<!--@foreach($document_list as $no => $val)-->
<!--@foreach($document_list as $no => $document)-->
<!--@if($val->is_notice=="Y")-->
<!--@if($document->isNotice())-->
<tr class="notice">
<td class="num">{$lang->notice}</td>
@ -71,40 +71,36 @@
<!--@end-->
<!--@if($module_info->use_category == "Y")-->
<td class="category">{$category_list[$val->category_srl]->title}</td>
<td class="category">{$category_list[$document->get('category_srl')]->title}</td>
<!--@end-->
<td class="title">
<!--@if($grant->is_admin)-->
<input type="checkbox" value="{$val->document_srl}" onclick="doAddCart('{$mid}',this)" <!--@if($check_list[$val->document_srl])-->checked="true"<!--@end--> />
<!--@end-->
<!--@if($module_info->subject_cut_size>0)-->
{@ $val->title = cut_str($val->title,$module_info->subject_cut_size)}
<input type="checkbox" value="{$document->document_srl}" onclick="doAddCart('{$mid}',this)" <!--@if($check_list[$document->document_srl])-->checked="true"<!--@end--> />
<!--@end-->
<!--@if($grant->view)-->
<!--@if($search_target && $search_keyword)-->
<a href="#" onclick="winopen('{getUrl('','document_srl',$val->document_srl)}','viewDocument');return false;">{htmlspecialchars($val->title)}</a>
<a href="#" onclick="winopen('{getUrl('','document_srl',$document->document_srl)}','viewDocument');return false;">{$document->getTitleText($module_info->subject_cut_size)}</a>
<!--@else-->
<a href="{getUrl('','document_srl',$val->document_srl)}">{htmlspecialchars($val->title)}</a>
<a href="{getUrl('','document_srl',$document->document_srl)}">{$document->getTitleText($module_info->subject_cut_size)}</a>
<!--@end-->
<!--@else-->
{htmlspecialchars($val->title)}
{$document->getTitleText($module_info->subject_cut_size)}
<!--@end-->
<!--@if($val->comment_count>0)-->
<span class="replyAndTrackback" title="Replies"><img src="./images/{$module_info->colorset}/iconReply.gif" alt="" width="12" height="12" class="icon" /> <strong>{$val->comment_count}</strong></span>
<!--@if($document->getCommentCount())-->
<span class="replyAndTrackback" title="Replies"><img src="./images/{$module_info->colorset}/iconReply.gif" alt="" width="12" height="12" class="icon" /> <strong>{$document->getCommentCount()}</strong></span>
<!--@end-->
<!--@if($val->trackback_count>0)-->
<span class="replyAndTrackback" title="Trackbacks"><img src="./images/{$module_info->colorset}/iconTrackback.gif" alt="" width="12" height="13" class="trackback icon" /> <strong>{$val->trackback_count}</strong></span>
<!--@if($document->getTrackbackCount())-->
<span class="replyAndTrackback" title="Trackbacks"><img src="./images/{$module_info->colorset}/iconTrackback.gif" alt="" width="12" height="13" class="trackback icon" /> <strong>{$document->getTrackbackCount()}</strong></span>
<!--@end-->
</td>
<td class="author"><div class="member_{$val->member_srl}">{$val->nick_name}</div></td>
<td class="reading">{$val->readed_count}</td>
<td class="recommend">{$val->voted_count}</td>
<td class="date">{zdate($val->regdate,"Y-m-d")}</td>
<td class="author"><div class="member_{$document->get('member_srl')}">{$document->getNickName()}</div></td>
<td class="reading">{$document->get('readed_count')}</td>
<td class="recommend">{$document->get('voted_count')}</td>
<td class="date">{$document->getRegdate('Y-m-d')}</td>
</tr>
<!--@end-->
</tbody>

View file

@ -1,9 +1,9 @@
<!-- 엮인글 목록 -->
<!--@if($document->trackback_list)-->
<!--@if($oDocument->getTrackbackCount())-->
<ul id="trackbacks">
<!--@foreach($document->trackback_list as $key => $val)-->
<!--@foreach($oDocument->getTrackbacks as $key => $val)-->
<li>
<a name="trackback_{$val->trackback_srl}"></a>
<address>

View file

@ -3,7 +3,7 @@
<!-- 현 글의 기본 정보를 담고 있는 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}" />
<input type="hidden" name="document_srl" value="{$oDocument->document_srl}" />
</form>
<!-- 글 내용 보여주기 -->
@ -11,40 +11,41 @@
<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>
<h4>{$oDocument->getTitleText()}</h4>
<!--@if($module_info->use_category == "Y" && $oDocument->get('category_srl'))-->
<span class="vr">|</span><span class="category">{$category_list[$oDocument->get('category_srl')]->title}</span>
<!--@end-->
</div>
<div class="dateAndModify">
<span class="num">
{$lang->readed_count}:
<strong>{$document->readed_count}</strong>
<strong>{$oDocument->get('readed_count')}</strong>
,
</span>
<!--@if($document->voted_count>0)-->
<!--@if($oDocument->get('voted_count')>0)-->
<span class="num">
{$lang->voted_count}:
<strong>{$document->voted_count}</strong>
<strong>{$oDocument->get('voted_count')}</strong>
,
</span>
<!--@end-->
<span class="num">
<strong>{zdate($document->regdate,"Y.m.d")}</strong> {zdate($document->regdate,"H:i:s")}
<strong>{$oDocument->getRegdate('Y.m.d')}</strong> {$oDocument->getRegdate('H:i:s')}
</span>
<!--@if($grant->is_admin)-->
<span class="ipaddress">
({$document->ipaddress})
({$oDocument->get('ipaddress')})
</span>
<!--@end-->
<!--@if($document->is_granted || !$document->member_srl)-->
<!--@if($oDocument->isEditable())-->
<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>
<li><a href="{getUrl('act','dispBoardWrite','document_srl',$oDocument->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',$oDocument->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>
@ -52,40 +53,42 @@
<dl class="uri">
<dt>{$lang->document_url} :</dt>
<dd>{getUrl('','document_srl',$document->document_srl)}</dd>
<dd>{$oDocument->getPermanentUrl()}</dd>
<!--@if($document->allow_trackback=='Y')-->
<!--@if($oDocument->allowTrackback())-->
<dt>{$lang->trackback_url} :</dt>
<dd>{getUrl('','document_srl',$document->document_srl,'act','trackback')}</dd>
<dd>{$oDocument->getTrackbackUrl()}</dd>
<!--@end-->
</dl>
<div class="userInfo">
<div class="author member_{$document->member_srl}">{htmlspecialchars($document->nick_name)}</div>
<div class="author member_{$oDocument->get('member_srl')}">{$oDocument->getNickName()}</div>
</div>
<div class="readBody">{$document->content}</div>
<div class="readBody">{$oDocument->getContent()}</div>
<div class="readFooter">
<!--@if($document->tag_list)-->
{@ $tag_list = $oDocument->get('tag_list') }
<!--@if(count($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]; }
<!--@for($i=0;$i<count($tag_list);$i++)-->
{@ $tag = $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-->
<a href="{getUrl('search_target','tag','search_keyword',urlencode($tag),'document_srl','')}">{htmlspecialchars($tag)}</a><!--@if($i<count($tag_list)-1)-->,<!--@end-->
</li>
<!--@end-->
</ul>
</div>
<!--@end-->
<!--@if($document->uploaded_count && $document->uploaded_list)-->
<!--@if($oDocument->hasUploadedFiles())-->
<div class="fileAttached">
<h5>{$lang->uploaded_file} : </h5>
<ul>
<!--@foreach($document->uploaded_list as $key => $file)-->
{@ $uploaded_list = $oDocument->getUploadedFiles() }
<!--@foreach($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>
@ -95,12 +98,12 @@
</div>
<ul class="replyAndTrackback">
<!--@if($grant->write_comment&&$document->allow_comment=='Y')-->
<li class="reply"><a href="#comment">{$lang->comment} <strong>{count($document->comment_list)}</strong></a></li>
<!--@if($grant->write_comment && $oDocument->allowComment()) -->
<li class="reply"><a href="#comment">{$lang->comment} <strong>{$oDocument->getCommentcount()}</strong></a></li>
<!--@end-->
<!--@if($document->allow_trackback=='Y')-->
<li class="trackback"><a href="#trackback">{$lang->trackback} <strong>{count($document->trackback_list)}</strong></a></li>
<!--@if($oDocument->allowTrackback())-->
<li class="trackback"><a href="#trackback">{$lang->trackback} <strong>{$oDocument->getTrackbackCount()}</strong></a></li>
<!--@end-->
<li class="button">
@ -111,13 +114,13 @@
</div>
<!-- 엮인글 파일 include -->
<!--@if($document->allow_trackback=='Y')-->
<!--@if($oDocument->allowTrackback())-->
<a name="trackback"></a>
<!--#include("./trackback.html")-->
<!--@end-->
<!-- 댓글 파일 include -->
<!--@if($grant->write_comment&&$document->allow_comment=='Y')-->
<!--@if($grant->write_comment && $oDocument->allowComment())-->
<a name="comment"></a>
<!--#include("./comment.html")-->
<!--@end-->

View file

@ -5,22 +5,22 @@
<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="content" value="{$oDocument->getContentText()}" />
<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"/>
<input type="text" name="nick_name" value="{$oDocument->getNickName()}" 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"/>
<input type="text" name="email_address" value="{htmlspecialchars($oDocument->get('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"/>
<input type="text" name="homepage" value="{htmlspecialchars($oDocument->get('homepage'))}" id="homePage" class="homePage inputTypeText"/>
</div>
<!--@end-->
@ -31,36 +31,36 @@
<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>
<option value="{$val->category_srl}" <!--@if($category==$val->category_srl||$val->category_srl==$oDocument->get('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)}" />
<input type="text" name="title" id="title" class="inputTypeText" value="{$oDocument->getTitleText()}" />
</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" />
<input type="checkbox" name="is_notice" value="Y" <!--@if($oDocument->isNotice())-->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" />
<input type="checkbox" name="lock_comment" value="Y" <!--@if($oDocument->isLocked())-->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" />
<input type="checkbox" name="is_secret" value="Y" <!--@if($oDocument->isSecret())-->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" />
<input type="checkbox" name="allow_comment" value="Y" <!--@if($oDocument->allowComment())-->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" />
<input type="checkbox" name="allow_trackback" value="Y" <!--@if($oDocument->allowTrackback())-->checked="true"<!--@end--> id="allow_trackback" />
<label for="allow_trackback">{$lang->allow_trackback}</label>
</dd>
</dl>
@ -83,7 +83,7 @@
<div class="tag">
<label for="tag">{$lang->tag}</label>
<input type="text" name="tags" id="tag" value="{htmlspecialchars($document->tags)}" class="inputTypeText" />
<input type="text" name="tags" id="tag" value="{htmlspecialchars($oDocument->get('tags'))}" class="inputTypeText" />
<p class="info">{$lang->about_tag}</p>
</div>

View file

@ -5,6 +5,8 @@
* @brief document 모듈의 high 클래스
**/
require_once('./modules/document/document.item.php');
class document extends ModuleObject {
// 공지사항용 값

View file

@ -227,11 +227,11 @@
$oDocumentModel = &getModel('document');
// 기존 문서가 있는지 확인
$document = $oDocumentModel->getDocument($document_srl, $is_admin);
if($document->document_srl != $document_srl) return new Object(-1, 'msg_invalid_document');
$oDocument = $oDocumentModel->getDocument($document_srl, $is_admin);
if(!$oDocument->isExists() || $oDocument->document_srl != $document_srl) return new Object(-1, 'msg_invalid_document');
// 권한이 있는지 확인
if(!$document->is_granted&&!$is_admin) return new Object(-1, 'msg_not_permitted');
if(!$oDocument->isGranted()) return new Object(-1, 'msg_not_permitted');
// 글 삭제
$args->document_srl = $document_srl;
@ -260,7 +260,7 @@
}
// 카테고리가 있으면 카테고리 정보 변경
if($document->category_srl) $this->updateCategoryCount($document->category_srl);
if($document->category_srl) $this->updateCategoryCount($oDocument->get('category_srl'));
// commit
$oDB->commit();
@ -271,8 +271,10 @@
/**
* @brief 해당 document의 조회수 증가
**/
function updateReadedCount($document) {
$document_srl = $document->document_srl;
function updateReadedCount($oDocument) {
$document_srl = $oDocument->document_srl;
$member_srl = $oDocument->get('member_srl');
$logged_info = Context::get('logged_info');
// session에 정보로 조회수를 증가하였다고 생각하면 패스
if($_SESSION['readed_document'][$document_srl]) return false;
@ -284,21 +286,18 @@
}
// document의 작성자가 회원일때 조사
if($document->member_srl) {
// member model 객체 생성
$oMemberModel = &getModel('member');
$member_srl = $oMemberModel->getLoggedMemberSrl();
if($member_srl) {
// 글쓴이와 현재 로그인 사용자의 정보가 일치하면 읽었다고 생각하고 세션 등록후 패스
if($member_srl && $member_srl == $document->member_srl) {
if($member_srl && $logged_info->member_srl == $member_srl) {
$_SESSION['readed_document'][$document_srl] = true;
return false;
}
}
// 로그인 사용자이면 member_srl, 비회원이면 ipaddress로 판단
if($member_srl) {
$args->member_srl = $member_srl;
if($logged_info->member_srl) {
$args->member_srl = $logged_info->member_srl;
} else {
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
}

View file

@ -0,0 +1,183 @@
<?php
/**
* @class documentItem
* @author zero (zero@nzeo.com)
* @brief document 객체
**/
class documentItem extends Object {
var $document_srl = 0;
function documentItem($document_srl = 0) {
$this->document_srl = $document_srl;
$this->_loadFromDB();
}
function setDocument($document_srl) {
$this->document_srl = $document_srl;
$this->_loadFromDB();
}
function _loadFromDB() {
if(!$this->document_srl) return;
$args->document_srl = $this->document_srl;
$output = executeQuery('document.getDocument', $args);
$this->setAttribute($output->data);
}
function setAttribute($attribute) {
if(!$attribute->document_srl) return;
$this->document_srl = $attribute->document_srl;
$this->adds($attribute);
// 태그 정리
if($this->get('tags')) {
$tags = explode(',',$this->get('tags'));
$tag_count = count($tags);
for($i=0;$i<$tag_count;$i++) if(trim($tags[$i])) $tag_list[] = trim($tags[$i]);
$this->add('tag_list', $tag_list);
}
}
function isExists() {
return $this->document_srl ? true : false;
}
function isGranted() {
if($_SESSION['own_attribute'][$this->document_srl]) return true;
if(!Context::get('is_logged')) return false;
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y') return true;
if($this->get('member_srl') && $this->get('member_srl') == $logged_info->member_srl) return true;
return false;
}
function setGrant() {
$_SESSION['own_attribute'][$this->document_srl] = true;
}
function allowComment() {
return $this->get('allow_comment') == 'Y' ? true : false;
}
function allowTrackback() {
return $this->get('allow_trackback') == 'Y' ? true : false;
}
function isLocked() {
return $this->get('lock_comment') == 'Y' ? true : false;
}
function isEditable() {
if($this->isGranted() || !$this->get('member_srl')) return true;
return false;
}
function isSecret() {
return $this->get('is_secret') == 'Y' ? true : false;
}
function isNotice() {
return $this->get('is_notice') == 'Y' ? true : false;
}
function getUserID() {
return htmlspecialchars($this->get('user_id'));
}
function getUserName() {
return htmlspecialchars($this->get('user_name'));
}
function getNickName() {
return htmlspecialchars($this->get('nick_name'));
}
function getTitleText($cut_size = 0) {
return htmlspecialchars($this->getTitle());
}
function getTitle($cut_size = 0) {
if($this->isSecret() && !$this->isGranted()) return Context::getLang('msg_is_secret');
if($cut_size) return cut_str($this->get('title'), $cut_size);
return $this->get('title');
}
function getContentText() {
if($this->isSecret() && !$this->isGranted()) return Context::getLang('msg_is_secret');
return htmlspecialchars($this->get('content'));
}
function getContent() {
if($this->isSecret() && !$this->isGranted()) return Context::getLang('msg_is_secret');
return sprintf('<!--BeforeDocument(%d,%d)-->%s<!--AfterDocument(%d,%d)-->', $this->document_srl, $this->get('member_srl'), $this->get('content'), $this->document_srl, $this->get('member_srl'));
}
function getRegdate($format = 'Y.m.d H:i:s') {
return zdate($this->get('regdate'), $format);
}
function getPermanentUrl() {
return getUrl('','document_srl',$this->document_srl);
}
function getTrackbackUrl() {
return getUrl('','document_srl',$this->document_srl,'act','trackback');
}
function updateReadedCount() {
$oDocumentController = &getController('document');
if($oDocumentController->updateReadedCount($this)) {
$readed_count = $this->get('readed_count');
$readed_count++;
$this->add('readed_count', $readed_count);
}
}
function getCommentCount() {
return $this->get('comment_count');
}
function getComments() {
if(!$this->allowComment() || !$this->get('comment_count')) return;
$oCommentModel = &getModel('comment');
return $oCommentModel->getCommentList($this->document_srl, $is_admin);
}
function getTrackbackCount() {
return $this->get('trackback_count');
}
function getTrackbacks() {
if(!$this->allowTrackback() || !$this->get('trackback_count')) return;
$oTrackbackModel = &getModel('trackback');
return $oTrackbackModel->getTrackbackList($this->document_srl, $is_admin);
}
function hasUploadedFiles() {
return $this->get('uploaded_count')? true : false;
}
function getUploadedFiles() {
if(!$this->get('uploaded_count')) return;
$oFileModel = &getModel('file');
$file_list = $oFileModel->getFiles($this->document_srl, $is_admin);
return $file_list;
}
}
?>

View file

@ -23,71 +23,17 @@
/**
* @brief 문서 가져오기
**/
function getDocument($document_srl, $is_admin=false, $get_extra_info=false) {
// DB에서 가져옴
$args->document_srl = $document_srl;
$output = executeQuery('document.getDocument', $args);
$document = $output->data;
if(!$document) return;
function getDocument($document_srl, $is_admin = false) {
$oDocument = new documentItem($document_srl);
if($is_admin) $oDocument->setGrant();
// 이 문서에 대한 권한이 있는지 확인
if($this->isGranted($document->document_srl) || $is_admin) {
$document->is_granted = true;
} elseif($document->member_srl) {
$oMemberModel = &getModel('member');
$member_srl = $oMemberModel->getLoggedMemberSrl();
if($member_srl && $member_srl ==$document->member_srl) $document->is_granted = true;
}
// 비밀글이고 권한이 없을 경우 제목과 내용을 숨김
if($document->is_secret=='Y' && !$document->is_granted) {
$document->title = $document->content = Context::getLang('msg_is_secret');
}
// 확장 정보(코멘트나 기타 등등) 플래그가 false이면 기본 문서 정보만 return
if(!$get_extra_info) return $document;
// document controller 객체 생성
$oDocumentController = &getController('document');
// 조회수 업데이트
if($buff = $oDocumentController->updateReadedCount($document)) $document->readed_count++;
// 댓글 가져오기
if($document->comment_count && $document->allow_comment == 'Y') {
$oCommentModel = &getModel('comment');
$document->comment_list = $oCommentModel->getCommentList($document_srl, $is_admin);
}
// 트랙백 가져오기
if($document->trackback_count && $document->allow_trackback == 'Y') {
$oTrackbackModel = &getModel('trackback');
$document->trackback_list = $oTrackbackModel->getTrackbackList($document_srl, $is_admin);
}
// 첨부파일 가져오기
if($document->uploaded_count) {
$oFileModel = &getModel('file');
$file_list = $oFileModel->getFiles($document_srl, $is_admin);
$document->uploaded_list = $file_list;
}
// 태그 정리
if($document->tags) {
$tag_list = explode(',',$document->tags);
$tag_count = count($tag_list);
for($i=0;$i<$tag_count;$i++) if(trim($tag_list[$i])) $document->tag_list[] = trim($tag_list[$i]);
}
$document->content = sprintf('<!--BeforeDocument(%d,%d)-->%s<!--AfterDocument(%d,%d)-->', $document_srl, $document->member_srl, $document->content, $document_srl, $document->member_srl);
return $document;
}
return $oDocument;
}
/**
* @brief 여러개의 문서들을 가져옴 (페이징 아님)
**/
function getDocuments($document_srl_list, $is_admin=false) {
function getDocuments($document_srl_list, $is_admin = false) {
if(is_array($document_srl_list)) $document_srls = implode(',',$document_srl_list);
// DB에서 가져옴
@ -97,21 +43,17 @@
if(!$document_list) return;
if(!is_array($document_list)) $document_list = array($document_list);
// 권한 체크
$oMemberModel = &getModel('member');
$member_srl = $oMemberModel->getLoggedMemberSrl();
$document_count = count($document_list);
for($i=0;$i<$document_count;$i++) {
$document = $document_list[$i];
$is_granted = false;
$document_srl = $attribute->document_srl;
$attribute = $document_list[$i];
if($this->isGranted($document->document_srl) || $is_admin) {
$is_granted = true;
} elseif($member_srl && $member_srl == $document->member_srl) {
$is_granted = true;
}
$document_list[$i]->is_granted = $is_granted;
$oDocument = null;
$oDocument = new documentItem();
$oDocument->setAttribute($attribute);
if($is_admin) $oDocument->setGrant();
$document_list[$document_srl] = $oDocument;
}
return $document_list;
}
@ -119,9 +61,9 @@
/**
* @brief module_srl값을 가지는 문서의 목록을 가져옴
**/
function getDocumentList($obj, $get_extra_info = false) {
if(!in_array($obj->sort_index, array('list_order','regdate','update_order','readed_count','voted_count'))) $obj->sort_index = 'list_order'; ///< 소팅 값
function getDocumentList($obj) {
// 정렬 대상과 순서 체크
if(!in_array($obj->sort_index, array('list_order','regdate','update_order','readed_count','voted_count'))) $obj->sort_index = 'list_order';
if(!in_array($obj->order_type, array('desc','asc'))) $obj->order_type = 'asc';
// module_srl 대신 mid가 넘어왔을 경우는 직접 module_srl을 구해줌
@ -135,8 +77,8 @@
if(is_array($obj->module_srl)) $args->module_srl = implode(',', $obj->module_srl);
else $args->module_srl = $obj->module_srl;
// 변수 체크
$args->category_srl = $obj->category_srl?$obj->category_srl:'';
$args->sort_index = $obj->sort_index;
$args->order_type = $obj->order_type;
$args->page = $obj->page?$obj->page:1;
@ -232,55 +174,15 @@
// 결과가 없거나 오류 발생시 그냥 return
if(!$output->toBool()||!count($output->data)) return $output;
// 권한 체크
$oMemberModel = &getModel('member');
$member_srl = $oMemberModel->getLoggedMemberSrl();
foreach($output->data as $key => $attribute) {
$document_srl = $attribute->document_srl;
// document controller 객체 생성
$oDocumentController = &getController('document');
$oDocument = null;
$oDocument = new documentItem();
$oDocument->setAttribute($attribute);
if($is_admin) $oDocument->setGrant();
foreach($output->data as $key => $document) {
// 권한 부여
$is_granted = false;
if($this->isGranted($document->document_srl)) $is_granted = true;
elseif($member_srl && $member_srl == $document->member_srl) $is_granted = true;
$document->is_granted = $is_granted;
$document_srl = $document->document_srl;
if($get_extra_info) {
// 댓글 가져오기
if($document->comment_count && $document->allow_comment == 'Y') {
$oCommentModel = &getModel('comment');
$document->comment_list = $oCommentModel->getCommentList($document_srl, $is_admin);
}
// 트랙백 가져오기
if($document->trackback_count && $document->allow_trackback == 'Y') {
$oTrackbackModel = &getModel('trackback');
$document->trackback_list = $oTrackbackModel->getTrackbackList($document_srl, $is_admin);
}
// 첨부파일 가져오기
if($document->uploaded_count) {
$oFileModel = &getModel('file');
$file_list = $oFileModel->getFiles($document_srl, $is_admin);
$document->uploaded_list = $file_list;
}
// 태그 정리
if($document->tags) {
$tag_list = explode(',',$document->tags);
$tag_count = count($tag_list);
for($i=0;$i<$tag_count;$i++) if(trim($tag_list[$i])) $document->tag_list[] = trim($tag_list[$i]);
}
}
$document->content = sprintf('<!--BeforeDocument(%d,%d)-->%s<!--AfterDocument(%d,%d)-->', $document_srl, $document->member_srl, $document->content, $document_srl, $document->member_srl);
$output->data[$key] = $document;
$output->data[$key] = $oDocument;
}
return $output;

View file

@ -24,26 +24,26 @@
<th>{$lang->date}</th>
</tr>
<!--@foreach($document_list as $no => $val)-->
<!--@foreach($document_list as $no => $oDocument)-->
<tr>
<td>{$no}</td>
<td><input type="checkbox" name="cart" value="{$val->document_srl}" /></td>
<td><a href="#" onclick="window.open('./?mid={$module_list[$val->module_srl]->mid}');return false">{htmlspecialchars($module_list[$val->module_srl]->browser_title)}</a></td>
<td><input type="checkbox" name="cart" value="{$oDocument->document_srl}" /></td>
<td><a href="#" onclick="window.open('./?mid={$module_list[$oDocument->get('module_srl')]->mid}');return false">{htmlspecialchars($module_list[$oDocument->get('module_srl')]->browser_title)}</a></td>
<td>
<a href="#" onclick="window.open('./?document_srl={$val->document_srl}');return false">{htmlspecialchars($val->title)}</a>
<a href="#" onclick="window.open('./?document_srl={$oDocument->document_srl}');return false">{$oDocument->getTitleText()}</a>
<!--@if($val->comment_count>0)-->
[{$val->comment_count}]
<!--@if($oDocument->getCommentCount())-->
[{$oDocument->getCommentCount()}]
<!--@end-->
<!--@if($val->trackback_count>0)-->
[{$val->trackback_count}]
<!--@if($oDocument->getTrackbackCount())-->
[{$oDocument->getTrackbackCount()}]
<!--@end-->
</td>
<td><div class="member_{$val->member_srl}">{htmlspecialchars($val->user_name)}</div></td>
<td>{$val->readed_count}</td>
<td>{$val->voted_count}</td>
<td>{zdate($val->regdate,"Y-m-d")}</td>
<td><div class="member_{$oDocument->get('member_srl')}">{$oDocument->getUserName()}</div></td>
<td>{$oDocument->get('readed_count')}</td>
<td>{$oDocument->get('voted_count')}</td>
<td>{$oDocument->getRegdate("Y-m-d")}</td>
</tr>
<!--@end-->