텍스트큐브 1.7.7의 유용한 패치

텍스트큐브 패치

텍스트큐브 1.7.7은 베타판 부터 사용했기 때문에 정식판이 나오자 바로 판올림했다. 3월 5일에 올라왔기 때문에 3월 6일에 판올림 한 것 같다. 텍스트큐브를 판올림하면 가장 먼저하는 일이 패치이다. 예전에는 절대 주소와 압축 전송 플러그인 때문에 상당히 많은 파일을 패치했다. 그러나 텍스트큐브가 판올림되면서 패치가 대부분 반영됐기 때문에 요즘은 몇가지 패치만 한다.

목차

  • 텍스트큐브 패치
    1. rewrite.php
    2. language/ko.php
    3. language/ko.php, interface/login/index.php
    4. plugins/zTransferGZip/index.xml
    5. library/piece/blog/list.php
    6. components/Textcube.Model.Statistics.php
    7. library/model/blog.comment.php
    8. library/model/blog.comment.php, library/piece/blog/commentList.php
  • 각주

텍스트큐브 패치

텍스트큐브 1.7.7은 베타판 부터 사용했기 때문에 정식판이 나오자 바로 판올림했다. 3월 5일에 올라왔기 때문에 3월 6일에 판올림 한 것 같다. 를 판올림하면 가장 먼저하는 일이 패치이다. 예전에는 절대 주소압축 전송 플러그인 때문에 상당히 많은 파일을 패치했다. 그러나 가 판올림되면서 패치가 대부분 반영됐기 때문에 요즘은 몇가지 패치만 한다.

1.7.7판을 받은 뒤 바로 한 패치 내역은 텍스트큐브 1.7.7 RC1으로 판올림에 적어 두었다. 그리고 1.7.7 정식판이기 때문에 추가로 다음과 같은 기능을 패치했다.

  1. rewrite.php
    이 패치를 한 자세한 이유는 나중에 다른 글로 설명하겠다. 보통 블로그의 주소로는 offree.net을 사용한다. 그러나 구글을 비롯한 여러 검색엔진에 doa.offree.net, forum.offree.net등의 주소가 등록되어 있기 때문에 주소를 통합하는 차원에서 한 패치다.

    패치하는 방법은 간단하다. rewrite.php을 좋아하는 편집기로 열고 7번째 줄에 다음 내용을 추가했다. 물론 여기서 offree.net은 자신의 블로그 주소로 바꿔야 한다. 이렇게 하면 어떤 주소로 접속하던 네임서버의 A레코드에 등록되지 않은 주소는 모두 offree.net으로 전환[1]된다.

    7: if($_SERVER['HTTP_HOST'] != 'offree.net') header("Location: https://offree.net".불_SERVER['REQUEST_URI']);
    
  2. language/ko.php
    패치라고 하기는 조금 힘들다. "비공개로 바꿉니다"라는 문구를 "비공개"로 바꿨다. 이외에 몇가지 문구를 추가로 바꿨다. 바꾸는 방법은 텍스트 큐브 판올림 및 패치에서 찾을 수 있다.

  3. language/ko.php, interface/login/index.php
    태터툴즈 후유증에서 설명한 것처럼 '태터계열'의 블로그 도구를 사용하는 사람은 습과적으로 Q를 누르는 때가 많다. 그리고 아무 생각없이 로그인을 하다가 로그인이 되지 않는 이유를 궁금해 할 때도 있다[2]. 그래서한 패치가 로그인 페이지에 로고를 추가하는 텍스트큐브: 로그인 페이지에 로고 추가하기이다. 이번에는 로고를 추가하는 것이 귀찮아 메시지만 추가했다.

  4. plugins/zTransferGZip/index.xml
    텍스트큐브 설명을 보면 1.7.7에는 "'FeedOBStart', 'FeedOBEnd' 이벤트가 추가됐다"고 한다. 확인해 보니 피드 압축 전송을 위해 새롭게 추가된 이벤트였다. 따라서 압축 전송 플러그인도 이에 따라 수정했다. 수정하는 방법은 아주 간단하다. 압축 전송 플러그인(zTransferGZip)의 'index.xml' 파일을 열고 'BINDING' 태그 사이에 다음 두줄을 추가하면 된다.

    <listener event="FeedOBStart">GZipStart</listener> 
    <listener event="FeedOBEnd">GZipEnd</listener> 
    
  5. library/piece/blog/list.php
    블로그에서 태그는 얼마나 중요할까?에서 설명한 것처럼 태그 목록에는 바로 아래에 페이지 이동 막대가 표시되지 않는다. 따라서 태그 목록에 이어 페이지 이동 막대를 출력할 수 있도록 패치했다. 더 자세한 내용은 블로그에서 태그는 얼마나 중요할까?를 보기 바란다.

  6. components/Textcube.Model.Statistics.php
    에서는 참조 URL을 이용한 검색어 통계를 제공한다. 기본적으로 1500개 참조 URL을 사용하기 때문에 하루 방문자수가 많은 사이트는 하루 분량의 검색어 통계도 되지 못한다. 따라서 나는 이 값을 1'5000으로 바꿔 사용해 왔다. 더 자세한 내용은 텍스트 큐브 판올림 및 패치의 통계 데이타 패치를 참조하기 바란다.

  7. library/model/blog.comment.php
    언제 부터인지 모르겠지만 댓글을 검색해 보면 댓글이 날짜순으로 정렬되지 않고 순서없이 출력됐다. 아마 내 기억으로는 1.7.7부터인 것 같은데 이 부분에 대한 패치를 했다. 패치하는 방법은 아주 간다하다. 좋아하는 편집기로 'library/model/blog.comment.php'을 연 뒤 351행의 끝에 " order by c.written"를 추가하면 된다.

    // 변경전
    351: and (c.comment like '%$search%' OR c.name like '%$search%')")) {
    
    // 변경후
    351: and (c.comment like '%$search%' OR c.name like '%$search%') order by c.written")) {
    
  8. library/model/blog.comment.php, library/piece/blog/commentList.php
    평상시는 아니지만 가끔 방명록을 검색해야 하는 때도 발생한다. 는 본문, 댓글, 트랙백은 검색해 주지만 방명록은 검색해 주지 않는다. 이 문제 때문에 방명록도 검색할 수 있도록 패치했다. 패치하는 방법은 다음과 같다.

    • library/model/blog.comment.php
      좋아하는 편집기로 'library/model/blog.comment.php' 파일을 연 뒤 356행에 다음 내용을 추가한다. 즉 if문 바로 아래쪽에 추가하면 된다.

      if ($result = POD::queryAll("SELECT id, entry, parent, name, comment, written
      FROM {$database['prefix']}Comments
      WHERE entry = 0
          AND blogid = $blogid $authorized
          and isFiltered = 0
          and (comment like '%$search%' OR name like '%$search%') order by written")) {
      foreach ($result as $comment)
          array_push($list['items'], $comment);
      }
      
    • library/piece/blog/commentList.php
      좋아하는 편집기로 'library/piece/blog/commentList.php' 파일을 연 뒤 11행을 다음처럼 바꾸면 된다.

      // 변경전
      11: dress('rplist_rep_link', "$blogURL/".($blog['useSloganOnPost'] ? "entry/".URL::encode($item['slogan'],$service['useEncodedURL']) : $item['entry'])."#comment{$item['id']}", $itemView);
      
        // 변경후
      11: if($item['entry']!=0) dress('rplist_rep_link', "$blogURL/".($blog['useSloganOnPost'] ? "entry/".URL::encode($item['slogan'],$service['useEncodedURL']) : $item['entry'])."#comment{$item['id']}", $itemView);
      12: else dress('rplist_rep_link', "$blogURL/guestbook/".불item['id']."#guestbook{$item['id']}", $itemView);
      

      위의 댓글 정렬 패치와 함께 패치했다면 그림처럼 마지막 '댓글 뒤에 방명록을 검색한 결과'가 표시[3]된다.

매번 판올림을 하고 무엇을 패치했는지 왜 올리는가 싶다. 그러나 이 작업을 해주지 않으면 다음 번 판올림할 때는 무엇을 패치했는지 몰라 헷갈릴 때가 많다. 또 이 덕에 엉뚱한 실수를 할 때도 종종있다. 따라서 보관차원에서 올리는 글이다.

기억은 유한하다.

관련 글타래


  1. 보통은 네임서버 A레코드로 등록되지 않은 주소로 접속하면 접속되지 않아야 정상이다. 그런데 카페24의 설정 때문인지 A레코드에 등록되지 않은 주소로도 모두 접속된다. 
  2. 내가 자주 그런다. 그래서 관리용 스킨을 바꿔 사용하는 분도 있다. 
  3. 조선일보 홈덱스에 대한 글을 남긴 분이 무한님인 것 같아 찾아봤다. 그러나 방명록 검색 기능은 제공하지 않기 때문에 찾는 것이 상당히 힘들었다. "엎어진 김에 쉬어 간다"고 마침 생각난 김에 방명록까지 검색할 수 있도록 패치했다. 
글쓴이
author image
운영체제의 모든 것을 운영하고 있는 IT 블로거. IT 블로거라는 이름은 현재 시국때문에 시사 블로거로 바뀐 상태다. 그러나 나는 아직도 시사와 사회에 관심이 많은 IT 블로거일 뿐이다. 컴퓨터, 운영체제, 시사, 가족, 여행, 맛집, 리뷰등과 살면서 느끼는 소소한 일상이 블로그의 주제이다. 왼쪽의 아이콘은 둘째 딸 다예가 그린 내 모습이다.
2009/03/13 13:36 2009/03/13 13:36
오늘의 글
인기있는 글
조회수 많은 글 | 베오베
댓글 많은 글 | 베오베

Trackback

Trackback Address :: https://offree.net/trackback/2383

Facebook

Comments

  1. Zasfe 2009/03/13 13:48

    갈아탈 준비중인데 일단 주말을 노려봅니다.

    좋은정보 감사합니다.

    perm. |  mod/del. reply.
  2. 리키니쥬스 2009/03/13 14:03

    흠...html은 뭐가 뭔지 하나도 모르겠군요. ㅎ 그냥 정보습득차원에서 잘 읽고 갑니다~

    perm. |  mod/del. reply.
    • 도아 2009/03/13 14:04

      HTML이 아니라 PHP이기 때문에 일반인은 알기 힘듭니다.

  3. 아후라 2009/03/13 15:13

    관리자만 볼 수 있는 댓글입니다.

    perm. |  mod/del. reply.
  4. 공상플러스 2009/03/13 15:57

    역시 도아님이 이러시는 걸 보면 저는 점점 더 PHP와 MySQL에 관심을 가지게 됩니다..^^

    perm. |  mod/del. reply.
    • 도아 2009/03/13 16:11

      꽤 쉽게 배울 수 있는 언어가 PHP입니다.

  5. 최면 2009/03/13 16:10

    또 수정해야하는 군요 -0-;;
    1.8 에서는 좀 더 완벽해지겠지요? ㅠ.ㅜ

    perm. |  mod/del. reply.
    • 도아 2009/03/13 16:11

      예... 관심있는 부분만 패치하면 됩니다.

  6. 아후라 2009/03/14 00:55

    저도 이제 슬슬 판올림을 해도 되겠군요.

    처음 (설치형) 블로그를 하면서 여러가지 툴을 검토하다가 최종 텍스트큐브를 선택한 것도 도아님의 블로그의 "텍스트큐브의 패치"에 대한 글들 때문이었습니다.
    (이제는 심지어 블로그 스킨까지도 같은 것으로 쓰게 되었습니다. ^^)

    또 매번 버전업 될 때마다 패치에 대한 글을 올려주시니 판올림을 할 때 자신감이 생기는 군요.

    개인적으로 감사를 드립니다. (다음 버전 때도 기대. 흐. ^^)

    perm. |  mod/del. reply.
    • 도아 2009/03/14 03:57

      이 작업은 남을 위한 작업이라기 보다는 저를 위한 작업입니다. 다음 번 판올림할 때 헛갈리지 않으려면 미리 해주어야 하거든요. 아무튼 1.7.7로 판올림은 권장합니다. 구글맵외에 크롬과의 호환성등 바꿀 만한 이유는 충분합니다.

  7. 바람아래에서 2009/03/14 03:29

    저도 텍스트 큐브로 이사를 하고 싶지만.
    아직 적당한 호스팅을 찾지 못하고 있는상태..
    (싫은 트래픽용량과 지금가지의 데이터 용량을 생각하면 ㅠ.ㅠ)
    그래서 티스토리에 또다시 시작하는 2nd라는 블로그를 만들어 다시
    시작하는 중이랍니다..
    ㅋㅋ

    perm. |  mod/del. reply.
    • 도아 2009/03/14 03:59

      하루 전송량이 얼마인지 모르겠습니다. Codex.kr이라는 무료 호스팅에서 월 30G를 줍니다. 다른 곳과는 달리 전송량을 월로 계산하기 때문에 하루, 이틀 전송량이 몰려도 닫히지 않습니다. 방문자 수가 많지 않다면 한번 고려해 보는 것도 괜찮을 것 같습니다.

    • 바람아래에서 2009/03/14 07:36

      codex 라면 이미 호스팅을 가지고 있지만....
      저의 도메인이 baramare.com
      인데.
      이 도메인의 하위도메인으로 블로그들을 운영하는지라.
      이곳에선 지원을 안하더라구요.

    • 도아 2009/03/14 08:13

      지원하는 것으로 알고 있습니다. 사이트 관리자에서 하위 도메인을 등록하고, DNS 서버에 하위 도메인을 추가하면 됩니다.

  8. 아후라 2009/03/17 00:26

    드디어 저도 판올림을 마쳤습니다.
    이 글과 이전에 쓰셨던 패치/판올림의 글을 읽고 많은 참고를 하였습니다.
    ( 아직 하루 방문객이 20~30명도 안되는 터라 트래픽도 남아돌고..해서
    패치한 것은 크게 없지만 추후 방문객이 늘어나면서 패치할 것이 더 생기겠죠 ^^ )

    감사드려요.

    perm. |  mod/del. reply.
    • 도아 2009/03/17 07:56

      메타사이트 가입하고 꾸준히 글을 올리다 보면 방문자 수는 쉽게 증가합니다. 그리고 다른 사이트를 다니면서 댓글을 달아 주는 것도 괜찮은 방법입니다.

(옵션: 없으면 생략)

글을 올릴 때 [b], [i], [url], [img]와 같은 BBCode를 사용할 수 있습니다.