BlogAPI ( Site Open API ) - 훌륭한 글쓰기 기능 ( 버그 수정 )
한 3년 전 쯤에 만들었는데 개인적인 문제로 인해 아쉽게도 컴퓨터와 인연을 끊어야했네요.
각설하구요...
그림에서 보시다 시피, 블로그 API 를 통해 그누보드에 편집을 할 수 있게하는 기능입니다.
사실 개개의 회원들은 크게 필요없구요, 자신의 홈페이지에 글을 자주 많이 쓰는 분에게는
이 것을 사용하면 아주 유용하리라 확신합니다.
오랜만에 그누보드를 쓸일이 있어서 해 봤는데, ... 3년이라는 공백 기간이 지나도 큰 문제는 없더라구요. ^^
PS: 프로그램 소스는 사실은 간단하게 작성할 수 있는 건데 어쩌다 보니 복잡하게 되어 있네요.
PS: 참고로 이 프로그램 그누보드, 제로보드, 알지보드, 미니보드 등 여러 게시판 프로그램에 그대로 사용할 수 있습니다.
1. siteapi 디렉토리를 그누보드 루트 디렉토리에 복사를 한다.
index.php 디렉토리와 같은 위치에 있어야해요.
먼저 http://홈페이주소/siteapi/ 로 접속을 해서 혹시 에러메시지나 나오나 한번 보세요. 에러 없으면 통과
2. Window Live Writer 로 그누보드에 접속을 한다.
각 계정별 아이디와 비밀번호를 적용할 수 있나 모르겠습니다. 이전에 할 때, ...
귀찮아서 그냥 관리자로만 되도록 했는지.. 아니면 모두 관리자로 접속이 되는지...
기억이 가물 가물해서...
API 는 Meta Weblog API 를 선택하시고, endpoint (원격 게시 URL) 는 그냥 http://홈페이주소/siteapi/ 로
하면됩니다.
3. view.skin.php 를 약간 수정해 줘야하네요. 3년 전에는 그냥 소스 수정 없이 그럭 저럭 되었는데, ..
지금은 소스 수정안하면 약간 이상하게 나오네요.
첨부파일
그누4 플러그인
3,524건그누보드에는 여러가지 기능 추가가 쉽도록 제작 되었습니다. 플러그인의 저작권은 해당 플러그인 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다. 플러그인 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y
댓글 4개
상황에 따라서 적당히 소스 패치를 하면 될 것 같습니다. (이미지 클릭하면 새로운 페이지가 뜨는데, 새로운 창이 뜨도록 할려시... 시간이 걸려서...)
너무 성의 없이 프로그램 소스를 공개하는 것 같아서 죄송합니다.
그누보드 화이팅!
error_reporting(E_ALL ^ E_NOTICE); /** @2009 07 06 Turn off "Undefined variable" message n case */
siteapi_datalayer_gnuboard4.php 의1046 번째 줄을 아래와 같이 수정을 해 주세요.
$data['dataid'] = "#BBS.$name.$no";
버그를 못차아서.. 처음 부터 새로 만들다가 도저히 시간이 안되어서 그만 두었다가 다시 ... 버그 잡이 하다가...
애초에 .. 점 하나가 빠져있었다는 것을 발견하게 되었습니다.
이 것을 수정하면, ... 기존에 업데이트 한 내용을 수정할 수 있습니다.
귀찮아서 그냥 Windows Live Writer 에 맞도록 했구요, ... 나중에 범용적으로 쓸 수 있게 해 놓겟습니다. ( 다른 프로그램으로도 다 글을 쓸 수는 있어요. 다만 보여지는게 조금 틀립니다.)
<?
// 파일 출력
for ($i=0; $i<=count($view[file]); $i++) {
// 송재호
if ($view[file][$i][view]) {
if ( strpos($view[file][$i][view], "WindowsLiveWriter") ) {
$livewriter=true;
}
else echo $view[file][$i][view] . "<p>";
}
}
// 송재호
if ( $livewriter ) {
$view[content] = str_replace("onclick='image_window(this)'", "", $view[content]);
$view[content] = str_replace("style='cursor:pointer;'", "", $view[content]);
$view[content] = str_replace("name='target_resize_image[]'", "", $view[content]);
$view[content] = preg_replace("/<a[^>]*><img/", "<img", $view[content]);
}
?>