태터툴즈 절대 주소 패치
절대주소 패치
얼마 전 태터툴즈들 1.1.2로 판올림하면서 블로그의 환경 설정대로 모든 주소가 숫자가 아닌 제목으로 표시될 수 있도록
blog/entry/index.php
파일을 패치했다. 이렇게 패치한 이유는 블로그 설정에서 숫자 대신 문자를 사용하도록 설정하면 모든 주소가 제목으로 표시되어야 하는데 접근하는 주소만 제목으로 표시되고 내부 주소는 여전히 숫자로 표시되기 때문이었다. 숫자로 표시한 주소가 문자로 표시한 주소보다는 간단하며, URL 인코딩에 의해 글자가 깨지는 것처럼 보이지 않기 때문에 더 유리할 것 같지만 검색 엔진으로 검색할 때는 의미없는 숫자 보다는 문자가 더 잘 검색되기 때문이다.
절대주소 패치
이렇게 패치하는 방법은 간단하다. 일단 FTP를 지원하는 편집기(예: [EditPlus])로 /blog/index.php
파일을 열고 가장 마지막의 print $view
를 주석으로 처리한 뒤 다음처럼 세 줄을 추가하면된다.
//print $view; if(ereg('MSIE 6',$_SERVER['HTTP_USER_AGENT'])) $slogan=iconv('UTF-8', 'EUC-KR', $entries[0]['slogan']); else $slogan=$entries[0]['slogan']; header("Location:".불blogURL."/entry/".불slogan); ?>
절대 주소
나는 얼마 전부터 절대 주소를 표시하는 방법을 숫자가 아닌 문자로 하고 있다.
공통 패치
블로그의 환경 설정에 따라 모든 링크를 숫자 또는 문자로 표시하려면 상당히 많은 파일을 패치해야 한다. 그러나 패치하는 방법은 모두 같으며 패치해야 하는 파일은 다음과 같다.
**패치할 파일** blog/archive/index.php blog/archive/item.php blog/category/index.php blog/entry/index.php blog/guestbook/index.php blog/location/index.php blog/notice/index.php blog/notice/item.php blog/page/index.php blog/page/item.php blog/search/index.php blog/tag/index.php
최근글
변경전 **getRecentEntries 함수** $result=DBQuery::query("SELECT e.id, e.title, e.comments FROM {$database['prefix']}Entries e LEFT JOIN {$database['prefix']}Categories c ON e.owner = c.owner AND e.category = c.id WHERE e.owner = $owner AND e.draft = 0 $visibility AND e.category >= 0 ORDER BY published DESC LIMIT {$skinSetting['entriesOnRecent']}"); **getRecentEntriesView 함수** global $blogURL,$skinSetting; dress('rctps_rep_link',"$blogURL/{$entry['id']}",$view); 변경후 **getRecentEntries 함수** $result=DBQuery::query("SELECT e.id, e.title, e.comments, e.slogan FROM {$database['prefix']}Entries e LEFT JOIN {$database['prefix']}Categories c ON e.owner = c.owner AND e.category = c.id WHERE e.owner = $owner AND e.draft = 0 $visibility AND e.category >= 0 ORDER BY published DESC LIMIT {$skinSetting['entriesOnRecent']}"); **getRecentEntriesView 함수** global $blogURL,$skinSetting,$blog; $subURL=$blog['useSlogan']?"entry/{$entry['slogan']}":"{$entry['id']}"; dress('rctps_rep_link',"$blogURL/$subURL",$view);
댓글
변경전 **getRecentComments 함수** $sql=doesHaveOwnership()?"SELECT * FROM {$database['prefix']}Comments WHERE owner = $owner".($isGuestbook!=false?" AND entry=0":" AND entry>0")." AND isFiltered = 0 ORDER BY written DESC LIMIT ".($count!=false?$count:$skinSetting['commentsOnRecent']): "SELECT r.* FROM {$database['prefix']}Comments r LEFT JOIN {$database['prefix']}Entries e ON r.owner = e.owner AND r.entry = e.id LEFT JOIN {$database['prefix']}Categories c ON e.owner = c.owner AND e.category = c.id WHERE r.owner = $owner AND e.draft = 0 AND e.visibility >= 2 AND (c.visibility > 1 OR e.category = 0) ".($isGuestbook!=false?" AND r.entry = 0":" AND r.entry > 0")." AND isFiltered = 0 ORDER BY r.written DESC LIMIT ".($count!=false?$count:$skinSetting['commentsOnRecent']); **getRecentCommentsView 함수** global $blogURL,$skinSetting; dress('rctrp_rep_link',"$blogURL/{$comment['entry']}#comment{$comment['id']}",$view); 변경후 **getRecentComments 함수** $sql=doesHaveOwnership()?"SELECT r.*, e.slogan FROM {$database['prefix']}Comments r, {$database['prefix']}Entries e WHERE r.owner = $owner".($isGuestbook!=false?" AND r.entry=0":" AND r.entry>0")."AND r.isFiltered = 0 AND r.entry = e.id ORDER BY r.written DESC LIMIT ".($count!=false?$count:$skinSetting['commentsOnRecent']): "SELECT r.*, e.slogan FROM {$database['prefix']}Comments r LEFT JOIN {$database['prefix']}Entries e ON r.owner = e.owner AND r.entry = e.id LEFT JOIN {$database['prefix']}Categories c ON e.owner = c.owner AND e.category = c.id WHERE r.owner = $owner AND e.draft = 0 AND e.visibility >= 2 AND (c.visibility > 1 OR e.category = 0) ".($isGuestbook!=false?" AND r.entry = 0":" AND r.entry > 0")." AND isFiltered = 0 ORDER BY r.written DESC LIMIT ".($count!=false?$count:$skinSetting['commentsOnRecent']); **getRecentCommentsView 함수** global $blogURL,$skinSetting,$blog; $subURL=$blog['useSlogan']?"entry/{$comment['slogan']}":"{$comment['entry']}"; dress('rctrp_rep_link',"$blogURL/$subURL#comment{$comment['id']}",$view);
걸린글
변경전 **getRecentTrackbacks 함수** $sql=doesHaveOwnership()?"SELECT * FROM {$database['prefix']}Trackbacks WHERE owner = $owner AND isFiltered = 0 ORDER BY written DESC LIMIT ".($count!=false?$count:$skinSetting['trackbacksOnRecent']): "SELECT t.* FROM {$database['prefix']}Trackbacks t LEFT JOIN {$database['prefix']}Entries e ON t.owner = e.owner AND t.entry = e.id LEFT JOIN {$database['prefix']}Categories c ON e.owner = c.owner AND e.category = c.id WHERE t.owner = $owner AND e.draft = 0 AND e.visibility >= 2 AND (c.visibility > 1 OR e.category = 0) AND t.isFiltered = 0 ORDER BY t.written DESC LIMIT ".($count=false?$count:$skinSetting['trackbacksOnRecent']); **getRecentTrackbacksView 함수** dress('rcttb_rep_link',"$blogURL/{$trackback['entry']}#trackback{$trackback['id']}",$view); 변경후 **getRecentTrackbacks 함수** $sql=doesHaveOwnership()?"SELECT t.*, e.slogan FROM {$database['prefix']}Trackbacks t, {$database['prefix']}Entries e WHERE t.owner = $owner AND t.isFiltered = 0 AND t.entry = e.id ORDER BY t.written DESC LIMIT ".($count!=false?$count:$skinSetting['trackbacksOnRecent']): "SELECT t.*, e.slogan FROM {$database['prefix']}Trackbacks t LEFT JOIN {$database['prefix']}Entries e ON t.owner = e.owner AND t.entry = e.id LEFT JOIN {$database['prefix']}Categories c ON e.owner = c.owner AND e.category = c.id WHERE t.owner = $owner AND e.draft = 0 AND e.visibility >= 2 AND (c.visibility > 1 OR e.category = 0) AND t.isFiltered = 0 ORDER BY t.written DESC LIMIT ".($count=false?$count:$skinSetting['trackbacksOnRecent']); **getRecentTrackbacksView 함수** global $blogURL,$skinSetting,$blog; $subURL=$blog['useSlogan']?"entry/{$trackback['slogan']}":"{$trackback['entry']}"; dress('rcttb_rep_link',"$blogURL/$subURL#trackback{$trackback['id']}",$view);
blog/search/index.php
blog/search/index.php
파일은 검색한 결과를 보여주는 파일로서 글을 검색한 글 목록와 댓글 목록을 표시해준다. 문제는 글 목록은 정상적으로 문자로 표시되는데 댓글 목록은 문자가 아니라 숫자로 표시된다. 따라서 댓글 목록 역시 블로그 설정에 따라 숫자 또는 문자로 표시하고 싶다면 다음처럼 패치하면 된다.
변경전 dress('rplist_rep_regdate',fireEvent('ViewCommentListDate', Timestamp::format3($item['written'])),$itemView); dress('rplist_rep_link',"$blogURL/{$item['entry']}#comment{$item['id']}",$itemView); 변경후 $subURL=$blog['useSlogan']?"entry/{$item['slogan']}":"{$item['entry']}"; dress('rplist_rep_regdate',fireEvent('ViewCommentListDate', Timestamp::format3($item['written'])),$itemView); dress('rplist_rep_link',"$blogURL/$subURL#comment{$item['id']}",$itemView);
지난 번과 마찬가지로 프로그램에 대한 지식이 전혀 없어 소스를 패치할 수 없는 사람은 다음 링크에서 내려받아 사용하기 바란다.
한 가지 주의할 것은 이 패치는 태터툴즈 1.1.2.1에만 사용할 수 있다.
관련 글타래- 표현하지 못하는 지식은 지식이 아니다. 어제 마신 술 덕에 조금 일찍 잠이 깼다. 시간을 확인해보니... 새창
- 태터툴즈 1.1.2 Animato로 판올림 및 엔트리 패치 태터툴즈 1.1.2 Animator가 배포됐다. 그러나 태... 새창
- 태터툴즈 1.1.1에서 가장 마음에 드는 부분 며칠 전 결국 태터툴즈 1.1.1이 배포됐다. 이번 판에서... 새창
- 태터툴즈 패치: 목록 한 쪽당 글 수 블로그 판올림 완료라는 글에서 알 수 있듯이 태터툴즈 ... 새창
- 태터 플러그인: WikiLink 버그 수정 및 판올림 위키 플러그인의 아이콘을 만들어 주실 분을 찾습... 새창