Changeset 5610
- Timestamp:
- 03/20/08 22:33:32 (10 months ago)
- Location:
- trunk
- Files:
-
- 7 modified
-
doc/changes_ko (modified) (1 diff)
-
interface/owner/entry/comment/index.php (modified) (9 diffs)
-
interface/owner/entry/notify/index.php (modified) (2 diffs)
-
interface/owner/entry/trackback/index.php (modified) (3 diffs)
-
language/ko.php (modified) (1 diff)
-
lib/model/blog.comment.php (modified) (2 diffs)
-
lib/piece/owner/contentMenu.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/changes_ko
r5566 r5610 1 1 * 이 문서는 변경사항을 모두 포함하고 있지 않을 수 있습니다. 자세한 변경사항 열람을 위해서는 텍스트큐브 개발 사이트 (http://dev.textcube.org) 의 해당 버전의 로드맵과 티켓들을 확인해 주시기 바랍니다. 2 2 * 버그 로그는 일반적으로 이전 버전에서 발생했으나 해결된 부분을 포함하며, 이번 버전을 만드는 과정에서 발생하는 버그는 기록하지 않습니다. 3 4 == v1.6.2 개발 관련 노트 == 5 === 추가된 점 === 6 * 관리자 : 보낸 트랙백 목록 지원 (#874) 7 * 관리자 : 관리자 화면의 글-댓글 목록에서 댓글에 대한 댓글쓰기 지원 (#873) 8 9 === 변경된 점 === 10 * 블로그 : 태그 구름에서의 태그 출력도 숫자 출력 모드에서는 숫자로 링크가 만들어짐 (#863) 11 * 블로그 : 댓글 알리미를 통하여 전달되는 댓글의 경우 255자 글자 제한 해제. (#887) 12 * 관리자 : 카테고리 선택후 출력되는 목록에서 글을 선택하여 수정한 후 저장한 경우에도 원래 보던 목록으로 이동함 (#885) 13 14 === 버그 수정 === 15 * 에디터 : 글 주소 저장시 임시로 만들어지는 퍼머링크인 TCDraftPost가 가끔 갱신되지 않는 문제 수정 (#872) 16 * 블로그 : OpenID 위임 설정시 스킨에 반영되지 않는 문제 수정 (#875) 17 * 블로그 : 카테고리의 비공개/공개 속성을 전환 후 RSS가 갱신되지 않는 문제 수정 (#884) 18 * 블로그 : OpenID 로그인 시 서버 설정에 따라 하얀 화면이 나오는 문제 수정 (#886) 19 * 관리자 : refererKeyword 플러그인을 통한 스팸이 가능한 문제 수정 (#889) 20 21 3 22 == v1.6.1 개발 관련 노트 == 4 5 23 === 추가된 점 === 6 24 * 블로그 : 댓글에 댓글을 다는 경우 뿐 아니라 일반적인 댓글을 다는 경우에도 중복 댓글이 달리지 않도록 함 (#798) -
trunk/interface/owner/entry/comment/index.php
r5588 r5610 12 12 if (isset($_GET['search'])) $_POST['search'] = $_GET['search']; 13 13 if (isset($_GET['withSearch'])) $_POST['withSearch'] = $_GET['withSearch']; 14 if (isset($_GET['status'])) $_POST['status'] = $_GET['status']; 14 15 15 16 $IV = array( … … 25 26 'perPage' => array('int', 1, 'mandatory' => false), 26 27 'search' => array('string', 'default' => ''), 27 'withSearch' => array(array('on'), 'mandatory' => false) 28 'withSearch' => array(array('on'), 'mandatory' => false), 29 'status' => array('string', 'mandatory' => false) 28 30 ) 29 31 ); … … 44 46 setBlogSetting('rowsPerPage', $_POST['perPage']); 45 47 } 46 list($comments, $paging) = getCommentsWithPagingForOwner($blogid, $categoryId, $name, $ip, $search, $suri['page'], $perPage); 48 49 $tabsClass = array(); 50 if (isset($_POST['status'])) { 51 if($_POST['status']=='comment') { 52 $tabsClass['comment'] = true; 53 $visibilityText = _t('댓글'); 54 } else if($_POST['status']=='guestbook') { 55 $tabsClass['guestbook'] = true; 56 $visibilityText = _t('방명록'); 57 } 58 } else { 59 $tabsClass['comment'] = true; 60 $visibilityText = _t('댓글'); 61 } 62 if($tabsClass['comment'] == true) { 63 list($comments, $paging) = getCommentsWithPagingForOwner($blogid, $categoryId, $name, $ip, $search, $suri['page'], $perPage); 64 } else { 65 list($comments, $paging) = getGuestbookWithPagingForOwner($blogid, $name, $ip, $search, $suri['page'], $perPage); 66 } 47 67 require ROOT . '/lib/piece/owner/header.php'; 48 68 require ROOT . '/lib/piece/owner/contentMenu.php'; … … 162 182 <div id="part-post-comment" class="part"> 163 183 <h2 class="caption"> 164 <span class="main-text"><?php echo _t('등록된 댓글 목록입니다');?></span>184 <span class="main-text"><?php echo (isset($tabsClass['guestbook']) ? _t('등록된 방명록 목록입니다') : _t('등록된 댓글 목록입니다'));?></span> 165 185 <?php 166 186 if (strlen($name) > 0 || strlen($ip) > 0) { … … 179 199 ?> 180 200 </h2> 181 201 <ul id="communication-tabs-box" class="tabs-box"> 202 <!-- TODO : $tab['postfix'] 버그 --> 203 <li<?php echo isset($tabsClass['comment']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/comment?page=1<?php echo $tab['postfix'];?>&status=comment"><?php echo _t('댓글');?></a></li> 204 <li<?php echo isset($tabsClass['guestbook']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/comment?page=1<?php echo $tab['postfix'];?>&status=guestbook"><?php echo _t('방명록');?></a></li> 205 <li<?php echo isset($tabsClass['notify']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/notify"><?php echo _t('댓글 알리미');?></a></li> 206 <li<?php echo isset($tabsClass['received']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/trackback?page=1<?php echo $tab['postfix'];?>&status=received"><?php echo _t('걸린 글');?></a></li> 207 <li<?php echo isset($tabsClass['sent']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/trackback?page=1<?php echo $tab['postfix'];?>&status=sent"><?php echo _t('건 글');?></a></li> 208 </ul> 209 <?php 210 if(isset($tabsClass['comment'])) { 211 ?> 182 212 <form id="category-form" class="category-box" method="post" action="<?php echo $blogURL;?>/owner/entry/comment"> 183 213 <div class="section"> … … 201 231 </div> 202 232 </form> 203 233 <?php 234 } 235 ?> 204 236 <form id="list-form" method="post" action="<?php echo $blogURL;?>/owner/entry/comment"> 205 237 <?php … … 272 304 } 273 305 ?> 274 <a href="?name=<?php echo urlencode(escapeJSInAttribute($comment['name'])) ;?>" title="<?php echo _t('이 이름으로 등록된 댓글 목록을 보여줍니다.');?>"><?php echo htmlspecialchars($comment['name']);?></a>306 <a href="?name=<?php echo urlencode(escapeJSInAttribute($comment['name'])).'&status='.(isset($tabsClass['guestbook']) ? 'guestbook' : 'comment');?>" title="<?php echo (isset($tabsClass['guestbook']) ? _t('이 이름으로 등록된 방명록을 보여줍니다.') : _t('이 이름으로 등록된 댓글 목록을 보여줍니다.'));?>"><?php echo htmlspecialchars($comment['name']);?></a> 275 307 </td> 276 308 <td class="content"> 277 309 <?php 278 echo '<a class="entryURL" href="'.$blogURL.'/'.$comment['entry'].'#comment'.$comment['id'].'" title="'._t('댓글이 작성된 포스트로 직접 이동합니다.').'">'; 310 if(isset($tabsClass['guestbook'])) { 311 echo '<a class="entryURL" href="'.$blogURL.'/guestbook/'.$comment['id'].'#guestbook'.$comment['id'].'" title="'._t('방명록으로 직접 이동합니다.').'">'; 312 } else { 313 echo '<a class="entryURL" href="'.$blogURL.'/'.$comment['entry'].'#comment'.$comment['id'].'" title="'._t('댓글이 작성된 포스트로 직접 이동합니다.').'">'; 314 } 279 315 echo '<span class="entry-title">'. htmlspecialchars($comment['title']) .'</span>'; 280 316 … … 283 319 } 284 320 285 echo empty($comment['parent']) ? '' : '<span class="explain">' . _f('%1 님의 댓글에 대한 댓글',$comment['parentName']) . '</span>';321 echo empty($comment['parent']) ? '' : '<span class="explain">' . (isset($tabsClass['guestbook']) ? _f('%1 님의 방명록에 대한 댓글',$comment['parentName']) : _f('%1 님의 댓글에 대한 댓글',$comment['parentName'])) . '</span>'; 286 322 echo "</a>"; 287 323 ?> … … 289 325 <?php echo htmlspecialchars($comment['comment']);?> 290 326 <?php 291 if(empty($comment['parent'])) echo '<span class="reply"><a href="#" onclick="commentComment('.$comment['id'].');return false;">'. _t('이 댓글에 댓글을 씁니다.').'</a></span>';327 if(empty($comment['parent'])) echo '<span class="reply"><a href="#" onclick="commentComment('.$comment['id'].');return false;">'.(isset($tabsClass['guestbook']) ? _t('이 방명록에 답글을 씁니다') : _t('이 댓글에 댓글을 씁니다.')).'</a></span>'; 292 328 ?> 293 329 </td> -
trunk/interface/owner/entry/notify/index.php
r5285 r5610 37 37 setBlogSetting('rowsPerPage', $_POST['perPage']); 38 38 } 39 40 $tabsClass = array(); 41 $tabsClass['notify'] = true; 42 $visibilityText = _t('댓글 알리미'); 43 39 44 list($comments, $paging) = getCommentsNotifiedWithPagingForOwner($blogid, '', $name, '', $search, $suri['page'], $perPage); 40 45 require ROOT . '/lib/piece/owner/header.php'; … … 153 158 ?> 154 159 </h2> 155 160 <ul id="communication-tabs-box" class="tabs-box"> 161 <!-- TODO : $tab['postfix'] 버그 --> 162 <li<?php echo isset($tabsClass['comment']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/comment?page=1<?php echo $tab['postfix'];?>&status=comment"><?php echo _t('댓글');?></a></li> 163 <li<?php echo isset($tabsClass['guestbook']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/comment?page=1<?php echo $tab['postfix'];?>&status=guestbook"><?php echo _t('방명록');?></a></li> 164 <li<?php echo isset($tabsClass['notify']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/notify"><?php echo _t('댓글 알리미');?></a></li> 165 <li<?php echo isset($tabsClass['received']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/trackback?page=1<?php echo $tab['postfix'];?>&status=received"><?php echo _t('걸린 글');?></a></li> 166 <li<?php echo isset($tabsClass['sent']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/trackback?page=1<?php echo $tab['postfix'];?>&status=sent"><?php echo _t('건 글');?></a></li> 167 </ul> 168 169 156 170 <div class="main-explain-box"> 157 171 <p class="explain"><?php echo _t('다른 사람의 블로그에 단 댓글에 대한 댓글이 등록되면 알려줍니다. 알리미가 동작하기 위해서는 댓글 작성시 홈페이지 기입란에 자신의 블로그 주소를 입력하셔야 합니다.');?></p> -
trunk/interface/owner/entry/trackback/index.php
r5587 r5610 57 57 $visibilityText = _t('걸린 글'); 58 58 } 59 59 60 if($tabsClass['received'] == true) { 60 61 list($trackbacks, $paging) = getTrackbacksWithPagingForOwner($blogid, $categoryId, $site, $ip, $search, $suri['page'], $perPage); … … 217 218 <div id="part-post-trackback" class="part"> 218 219 <h2 class="caption"> 219 <span class="main-text"><?php echo _t('걸린글 목록입니다');?></span>220 <span class="main-text"><?php echo (isset($tabsClass['received']) ? _t('걸린글 목록입니다') : _t('건 글 목록입니다'));?></span> 220 221 <?php 221 222 if (strlen($site) > 0 || strlen($ip) > 0) { … … 234 235 ?> 235 236 </h2> 236 <ul id=" entry-tabs-box" class="tabs-box">237 <ul id="communication-tabs-box" class="tabs-box"> 237 238 <!-- TODO : $tab['postfix'] 버그 --> 239 <li<?php echo isset($tabsClass['comment']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/comment?page=1<?php echo $tab['postfix'];?>&status=comment"><?php echo _t('댓글');?></a></li> 240 <li<?php echo isset($tabsClass['guestbook']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/comment?page=1<?php echo $tab['postfix'];?>&status=guestbook"><?php echo _t('방명록');?></a></li> 241 <li<?php echo isset($tabsClass['notify']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/notify"><?php echo _t('댓글 알리미');?></a></li> 238 242 <li<?php echo isset($tabsClass['received']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/trackback?page=1<?php echo $tab['postfix'];?>&status=received"><?php echo _t('걸린 글');?></a></li> 239 243 <li<?php echo isset($tabsClass['sent']) ? ' class="selected"' : NULL;?>><a href="<?php echo $blogURL;?>/owner/entry/trackback?page=1<?php echo $tab['postfix'];?>&status=sent"><?php echo _t('건 글');?></a></li> -
trunk/language/ko.php
r5566 r5610 251 251 //$__text['갱신'] = ''; 252 252 //$__text['거부'] = ''; 253 $__text['건 글'] = '보낸 트랙백'; 254 $__text['걸린 글'] = '받은 트랙백'; 255 $__text['건 글 목록입니다'] = '보낸 트랙백 목록입니다'; 253 256 //$__text['걸린 글 데이터를 교정하고 있습니다.'] = ''; 254 257 //$__text['걸린 글 보기'] = ''; 255 258 //$__text['걸린 글이 없습니다'] = ''; 256 //$__text['걸린글 목록입니다'] = '';259 $__text['걸린글 목록입니다'] = '받은 트랙백 목록입니다'; 257 260 //$__text['걸린글 테이블에 광고 및 스팸 분류를 위한 휴지통 필드를 추가합니다.'] = ''; 258 261 //$__text['걸린글 테이블의 미사용 필드를 삭제합니다.'] = ''; -
trunk/lib/model/blog.comment.php
r5604 r5610 49 49 } 50 50 51 function getCommentsWithPagingForOwner($blogid, $category, $name, $ip, $search, $page, $count ) {51 function getCommentsWithPagingForOwner($blogid, $category, $name, $ip, $search, $page, $count, $isGuestbook = false) { 52 52 global $database; 53 53 … … 66 66 } else 67 67 $sql .= ' AND e.category >= 0'; 68 if (!empty($name)) { 69 $sql .= ' AND c.name = \'' . POD::escapeString($name) . '\''; 70 $postfix .= '&name=' . rawurlencode($name); 71 } 72 if (!empty($ip)) { 73 $sql .= ' AND c.ip = \'' . POD::escapeString($ip) . '\''; 74 $postfix .= '&ip=' . rawurlencode($ip); 75 } 76 if (!empty($search)) { 77 $search = escapeSearchString($search); 78 $sql .= " AND (c.name LIKE '%$search%' OR c.homepage LIKE '%$search%' OR c.comment LIKE '%$search%')"; 79 $postfix .= '&search=' . rawurlencode($search); 80 } 81 82 $sql .= ' ORDER BY c.written DESC'; 83 list($comments, $paging) = fetchWithPaging($sql, $page, $count); 84 if (strlen($postfix) > 0) { 85 $postfix .= '&withSearch=on'; 86 $paging['postfix'] .= $postfix; 87 } 88 89 return array($comments, $paging); 90 } 91 92 function getGuestbookWithPagingForOwner($blogid, $name, $ip, $search, $page, $count) { 93 global $database; 94 95 $postfix = ''; 96 97 $sql = "SELECT c.*, c2.name parentName 98 FROM {$database['prefix']}Comments c 99 LEFT JOIN {$database['prefix']}Comments c2 ON c.parent = c2.id AND c.blogid = c2.blogid 100 WHERE c.blogid = $blogid AND c.entry = 0 AND c.isFiltered = 0"; 68 101 if (!empty($name)) { 69 102 $sql .= ' AND c.name = \'' . POD::escapeString($name) . '\''; -
trunk/lib/piece/owner/contentMenu.php
r5493 r5610 23 23 array('menu'=>'post','title'=>_t('글쓰기'),'link'=>'/owner/entry/post'), 24 24 array('menu'=>'entry','title'=>_t('글 목록'),'link'=>'/owner/entry'), 25 array('menu'=>'comment','title'=>_t('댓글'),'link'=>'/owner/entry/comment'), 26 array('menu'=>'notify','title'=>_t('댓글 알리미'),'link'=>'/owner/entry/notify'), 27 array('menu'=>'trackback','title'=>_t('걸린글'),'link'=>'/owner/entry/trackback'), 25 array('menu'=>'comment','title'=>_t('소통 기록'),'link'=>'/owner/entry/comment'), 28 26 array('menu'=>'category','title'=>_t('분류 관리'),'link'=>'/owner/entry/category'), 29 27 array('menu'=>'trash','title'=>_t('휴지통'),'link'=>'/owner/entry/trash') … … 136 134 else if (isset($_GET['category'])) $currentCategory = $_GET['category']; 137 135 else $currentCategory = null; 136 if(in_array($blogMenu['contentMenu'],array('notify','trackback'))) 137 $blogMenu['contentMenu'] = 'comment'; 138 138 139 foreach($blogContentMenuItem as $contentMenuItem) { 139 140 $PostIdStr = null;
