장점 많은 알리미
텍스트큐브가 가진 장점 중 하나는 바로 다른 블로그에 댓글을 단 뒤 다시 댓글이 달리면 바로 확인할 수 있는 "댓글 알리미 서비스"이다. 이 기능은 모든 블로그 도구에 표준적인 방법이 도입됐으면 하는 기능이기도 하다. 그런데 얼마 전 부터 "댓글 알리미 기능이 동작하지 않는다"는 보고가 있었다. 당시 티스토리로 트랙백이 가지 않아 이 문제를 해결하는 글을 올렸는데 알리미 역시 같은 문제로 생각했다.
장점 많은 알리미
텍스트큐브가 가진 장점 중 하나는 바로 다른 블로그에 댓글을 단 뒤 다시 댓글이 달리면 바로 확인할 수 있는 댓글 알리미 서비스이다. 이 기능은 모든 블로그 도구에 표준적인 방법이 도입됐으면 하는 기능[1]이기도 하다. 그런데 얼마 전 부터 "댓글 알리미 기능이 동작하지 않는다"는 보고가 있었다. 당시 티스토리로 트랙백이 가지 않아 이 문제를 해결하는 글을 올렸는데 알리미 역시 같은 문제로 생각했다.
희한한 문제
따라서 이 문제에 대한 해결책 역시 이미 제시한 것과 마찬가지다. 그러나 PHP 코드를 모르는 사람은 해결하는 방법을 알아도 실제 파일을 찾아 패치하는 것은 힘들기 때문에 오늘은 티스토리의 알리미 문제를 해결하는 패치를 올리도록 하겠다. 같은 문제이기 때문에 해결하는 방법도 거의 비슷하고 소스도 거의 비슷하다.
- 좋아하는 편집기(예: Editplus)로
library/model/blog.comment.php
라는 파일을 연다. 이 파일의 가장 끝 부분에 다음 함수를 추가한다.
function commentTistory ($query, $host, $port=80, $timeout=10) { $socket = fsockopen($host, $port, $errno, $errstr, 10); fwrite($socket, "$query\r\n"); $res=fread($socket, 10240); fclose($socket); return $res; }
함수를 보면 알 수 있지만 희한한 티스토리 트랙백 문제 해결 및 패치에서 사용한
trackbackTistory
을 호환을 위해 이름만commentTistory
로 바꾼 것이다.notifyComment 함수에서
if (strpos($parentComments['homepage'], "http://") === false) { ... } else { ... }
문 바로 아래에 다음 내용을 추가한다.$request = @parse_url($homepage); $tistory_host=$request['host']; $tistory_port=$request['port']; $tistory_path='/'; $query="GET ".불tistory_path." HTTP/1.1\r\nHost: ".불tistory_host."\r\nConnection: Close\r\n\r\n"; $res=commentTistory($query, $tistory_host); if(preg_match("/Location: ([^\r\n]*)\r\n/is", $res, $match)) { $query="GET ".불match[1]." HTTP/1.1\r\nHost: ".불tistory_host."\r\nConnection: Close\r\n\r\n"; $res=commentTistory($query, $tistory_host); }
내용을 보면 알 수 있지만 희한한 티스토리 트랙백 문제 해결 및 패치와 마찬가지로 실제 코멘트 핑을 보내기 전에 세션 코드가 붙은 URL을 먼저 요청함으로서 댓글 알리미가 정상적으로 동작하도록 한 것에 불과하다.
알리미가 보낸 댓글
블로그에 단 댓글과 알리미가 보낸 댓글을 보면 알 수 있지만 패치하기 전에 단 "와 이런 글을 쓰노?"라는 댓글은 티스토리의 댓글 알리미가 나타나지 않지만 그 뒤에 올린 "잘 되나요?"(블로그 주소(https://offree.com/))라는 글과 "진짜로 잘될까요?"(블로그 주소(https://offree.net/))라는 글은 티스토리 알리미에 나타나는 것을 알 수 있다.
- 전자우편으로 알려 주기도 하고 다른 서비스를 이용하면 댓글을 추적하는 것도 가능하지만 역시 불편하다. 따라서 이 기능도 트랙백처럼 표준화됐으면 하는 생각이다. ↩
Trackback
Trackback Address :: https://offree.net/trackback/2276
Comments
-
흑익 2009/02/02 16:53
이거 패치는 조금 뒤에 해야겠습니다.
요즘 컴퓨터 킬 시간도 별로 안나는군요.[....]
P.S 파이어폭스 충돌문제는 포맷하니 해결되었습니다.
고장난 사람 머리도 포맷할 수 있으면 좋겠군요.[....] -
-
其仁 2009/02/02 17:42
오홋, 정말 공감가는 흑익님의 댓글이네요. '고장난 사람 머리도 포맷할 수 있으면 좋겠군요.[....]', 제 가슴에 만땅으로 와닿습니다.
그리고 언제나 좋은 patch 정보를 올려주시는 도아님께도 감사드립니다. -
-
-
-
TISTORY 2009/02/06 19:05
트랙백/BlogAPI/RSS수집 등, 티스토리측으로 호출을 보내는 기능들이 정상적으로 제공되지 않았습니다. 원인을 파악하여 현재는 수정하였습니다. 이렇게 다른 해결 방법을 제시해주신점 감사드려요~~ 문제점을 파악하고 처리하는데 시간이 오래 걸린점 죄송스럽게 생각합니다.
감사합니다.
Facebook