Textcube XMLRPC를 이용하여 Tistory에 글쓰기

MetaWeblog API를 이용해서 플러그인 하나를 만들려고 생각중.
다행히도 Textcube에 XMLRPC와 HTTPRequest가 구현되어있어 이를 이용했다.

[PHP Code]
include_once ("./lib/Eolin.PHP.Core.php");
include_once ("./lib/Eolin.PHP.XMLRPC.php");
include_once ("./lib/Eolin.PHP.HTTPRequest.php");

$rpc = new XMLRPC();
$rpc->url = "[BlogAPI URL]";

$blogid = "[Blogid]";
$username = "[username]";
$password = "[password]";
$post = array(
    'title' => "Hello Blog",
    'categories' => "",
    'description' => "Hello Blog",
);
$publish = false;

$rpc->async = true;
print $rpc->call('metaWeblog.newPost', $blogid, $username, $password, $post, $publish);

Posted by 망고

08 20, 2008 00:28 08 20, 2008 00:28
,
Response
No Trackback , No Comment
RSS :
http://www.shimminkyu.com/tc/rss/response/861

오늘은 어제에 이어 센터라고 불리는 관리자 화면에서 플러그인이 출력되도록 하는 부분을 손봤다. 손봤다기보다는 관리자 화면 쪽에 스킨 메커니즘을 대충 살펴보고 가상치환자를 포기하기로 결정. 관리자 화면은 스킨이 아직 모듈화되지 않은 모양. 플러그인 외의 코드를 수정하는 것은 리스크가 큰일이라고 판단하고 플러그인에서 관리자화면용과 사이드바용을 따로 출력해주기로 결정.

1. 사이드바일때는
    가상 치환자를 이용하여 head 태그 제일 아래에 자바스크립트를 넣고
    사이드바가 위치하는 곳에는 html 마크업을 뿌려줌

2. 센터 대쉬보드일때는
    플러그인의 위치에 자바스크립트와 html 마크업을 함께 뿌려줌

그리고 어제 style 작업한 것 중에 li 태그의 border-bottom값이 깨지는 현상이 있어 height값을 없애버림. 시원시원하게 나오기는 하지만 이거 너무 넓잖아 ㅡㅜ
MG_BeNice_v0.7.zip

BeNICE with Google Calendar v0.7


업데이트 예정
- 잘 안쓰는 아카이브용 달력에다가 일정을 표시하는 방법을 생각중
- 페이징을 현재는 prev, next 달랑 표시했는데 숫자로 표시해줄까 생각중
- 캐시를 써볼까 말까 생각중 (구글 캘린더가 갱신되는 것을 텍스트큐브 캐쉬가 알 방법이 ㅡㅡ;;;)
- 아무 먼 미래에 구글 캘린더에 일정을 원격 입력,수정,삭제할 수 있는 페이지를 만들어볼까 생각중. 음... 자바스크립이라...

Posted by 망고

08 1, 2008 01:49 08 1, 2008 01:49
, ,
Response
No Trackback , a comment
RSS :
http://www.shimminkyu.com/tc/rss/response/849

텍스트큐브 알라딘 검색 플러그인

태터툴즈에서 텍스트큐브로 업그레이드하고 나서 기존에 사용하던 알라딘 책 검색 플러그인이 먹통이 되어버렸다. 최신 플러그인 게시판에도 꽤 오랫동안 업데이트가 되지 않기에 코드를 뜯어보게 되었는데... ㅡㅡ;
의외로 간단한 수정으로 동작할 것 같아서 그냥 고쳐 쓰기로 했다.

문제는 텍스트큐브가 에디터 모듈을 플러그인으로 떼어내면서 기존에 태터툴즈에서 에디터에 태그를 입력하기 위해 사용하던 TTCommand라는 함수가 없어진 것.
(script/editor.js 에는 코드가 남아있으나 사용되고 있지 않은 듯하다.)

음.. 그럼 대체된 함수를 찾아서 이름만 바꿔주면 되는 것이렸다.
웹에디터가 용접되어있던 부분이 모듈화되어 떨어져 나가면서 오히려 코드 찾아보기가 쉬워진 느낌이다.

plugins/FM_Modern/editor.js 화일을 보면
TTModernEditor.prototype.command 라는 이름의 무려 500라인에 달하는 자바스크립트가 있다. 이름만 봐도 TTCommand의 업글버전 같다.

소스를 수정해보자 DevPark 님이 만드신 AladdinSearch 플러그인 1.1버전을 기준으로 한다.

index.php의 20라인을 보면 다음과 같다.

TTCommand(\"Raw\", decodeURIComponent(str), \"  \");


textarea 태그에 str값을 URI Decode해서 쌩(RAW)으로 입력하라는 의미다.

이 코드를 새로운 함수로 다음과 같이 수정한다.

editor.command(\"Raw\", decodeURIComponent(str), \"  \");


저장하고 테스트해보니 잘 동작하는 것 같다. 영 간단해서 찜찜하긴 하지만 오늘의 교훈은 TTCommand가 editor.command로 수정됐다는 것. 그러므로 TTCommand함수를 사용하는 예전 플러그인들(주석추가 등등)은 같은 방식으로 수정 가능하다는 것.

태터 플러그인 게시판에는 개발자분이 직접 업데이트를 하는 것이 좋을 것 같아서 블로그에 글을 남겨드렸다. (이러면서 혹시 모를 버그 수정 문의를 피해가는 치사한 플레이 ㅡㅡ;;)

Posted by 망고

09 8, 2007 19:16 09 8, 2007 19:16
, ,
Response
No Trackback , No Comment
RSS :
http://www.shimminkyu.com/tc/rss/response/606


Recent Photo

recent photo from http://mangolog.tistory.com/ from Mango PhotoLog

Stay Foolish, Stay Hungry.

- 망고

Authors

  1. 망고

Schedule

«  »
with Google Calendar API

Site Stats

Total hits:
189847
Today:
87
Yesterday:
234

Link