2005년 8월 3일 수요일

트랙백 표시하기 addon(v050803)


기존에 zestar님이 공개하셨던것과 다른점은 코멘트박스에 보이는것이 아니라 옆의 그림처럼 게시물 하단에 트랙백 주소를 표기를 하는것입니다.


원래는 플러그인 형태로 만들어서 블로그 디자인과 별개의 것을 만들고 싶었는데 $data[no]예약어가 gobal 변수로 설정이 되지 않는 관계로 어쩔수 없이 addon형태로 만들었답니다.


설정 자체가 조금 복잡할수 있으므로 php를 조금이라도 아시는 분 위주로 사용해주셨으면 합니다.


1단계] addon 파일 올리기


먼저 첨부 파일을 다운받아  addon 폴더의 index3.php 파일을 열어 $_blogdir예약어를 자신의 설정에 맞게 수정해주신다음 ftp를 이용하여 addon 폴더에 복사해주세요,,



 $_blogdir="/free/home/yumemiru/html/blog/"; // 자신의 블로그 절대 경로



 2단계] index.php 파일 수정


조그 폴더의 index.php 파일을 열어 아래의 함수를 삽입해줍니다.(주황색 부분)



 function replace_category_section($section) {

global $cat4replace_category_section;

  return str_replace('<$BlogItemCategory$>',$cat4replace_category_section,$section[1]);


}


function file_read($article_trackback) {

$es_fo=@fopen($article_trackback,"r");

$data_trackback=@fread($es_fo, filesize($article_trackback));

@fclose($es_fo);

return $data_trackback;

}




if(empty($HTTP_GET_VARS['page'])) {



강풍님의 키워드 addon을 설치하셨다면 그밑 부분에 트랙백 addon을 include하시면 됩니다.



  $text.="<BR>".nl2br(preg_replace_callback("/(http|mms)(:[a-z0-9\_\-\.\/\~\@\?\=\;\&\#\-\ ]+\.)(wma|mp3|asf|avi|wmv|tm\$)/i",'Check_if_Media',$m[2]));


  }


// 강풍님의 키워드

include($_zogdir."addon/gp_code/gp_code.php");


include($_zogdir."addon/ym_trackback/index3.php");


  $Pattern = "/\[img\:(.+?)\.(jpg|gif)\,align\=([a-z]){0,}\,width\=([0-9]+)\,height\=([0-9]+)\,vspace\=([0-9]+)\,hspace\=([0-9]+)\,border\=([0-9]+)\]/i";



3단계 ] sendtb.php 파일 수정


조그 폴더의 sendtb.php 파일을 수정(주황색 부분) 하여 트랙백 기록을 하도록 합니다.



if($setup[grant_write]>=$member[level]&&!$is_admin)  {

_error("권한이 없습니다. 로그인하고 사용하세요","window.close");

}


//  트랙백 표시하기 - 추가 함수 시작

function file_read($article_trackback) {

$es_fo=@fopen($article_trackback,"r");

$data_trackback=@fread($es_fo, filesize($article_trackback));

@fclose($es_fo);

return $data_trackback;

}


function file_write($article_trackback,$data_trackback) {

$es_fo=fopen($article_trackback,"w");

fwrite($es_fo,$data_trackback);

fclose($es_fo);

}


//  트랙백 표시하기 - 추가 함수 끝.


if($action=="write"){


    $submit_url =   $trackback;

 

    $vars['title']=$_POST['subject'];

    $vars['url']=$zboardView."?&no=$no";

    $vars['excerpt']=$_POST['memo'];

    $vars['blog_name']=($_SESSION['zog_logged_nickname'.$id])? $_SESSION   ['zog_logged_nickname'.$id]:$site_name;

   

// 트랙백 표시하기 시작  by 유메미루


if (is_dir($_zogdir."/webmsg/")){

          $trackback_url=file_read($_zogdir."/webmsg/data0-".$no.".cgi",$trackbackurl);

          if($trackbackurl) $trackbackurl=$trackback_url."||".$trackbackurl;

          file_write($_zogdir."/webmsg/data0-".$no.".cgi",$trackbackurl);

}

// 트랙백 표시하기 끝  by 유메미루


if(sendtb($submit_url,$vars)){ _error("전송 성공","window.close"); }



이상으로 모든 설정이 끝났습니다.


모든 트랙백 기록은 webmsg폴더에 data0-게시물번호.cgi 형태로 남게됩니다. 추후에도 이용이 가능하다는 의미죠,

댓글 없음:

댓글 쓰기