사이트 내 전체검색
그누보드
검색목록
[팁] 그누보드 - bit.ly 단축경로를 자동으로 만들어서 넣어주기 (아빠불당님)
로빈아빠
https://cmd.kr/gnu/244 URL이 복사되었습니다.

본문

트위터의 사용이 늘어나면서, 그누보드로 작성된 게시글을 트위터에서 참조할 필요가 있습니다.
트위터에서는 140자의 제한이 있기 때문에, 짧게 주소를 바꿔야 하고, 그런 목적으로 많은 분들이
bit.ly를 사용하고 있는데, bit.ly는 api를 통해서 쉽게 사이트들이 짧은 주소를 만들 수 있게 하고 있어요.
 
bit.ly api가 json이라서, php 5.2 이상의 버젼을 쓰거나 별도의 json 프로그램을 설치해야 하고,
더욱 심각한 문제는 많은 서버들이 file_get_contents, fsock 같은 함수를 막아버리고 있는 것 입니다.
 
그래서, jQuery의 getJSON과 ajax를 써서 처리하는 방법을 고민하게 되었고,
지블로그에서 성공했기에 해당 팁을 그누4에도 적용하게 되었습니다.
 
1. config.php를 수정해서 bitly 관련 설정을 추가 합니다.
// bit.ly 단축을 위한 api 설정
$g4['bitly_id'] = "bit.ly id";
$g4['bitly_key'] = "api key";
$g4['use_bitly'] = 1; // 사용할꺼면 1, 아니면 0
 
2. 첨부파일(g4_bitly_update.php)을 bbs 디렉토리에 업로드 합니다.
   db에 필드가 없으면 자동으로 추가하기 때문에 게시판 테이블의 추가수정 필요없어요.
 
3. 첨부파일(b4.common.js)를 js 디렉토리에 업로드하고,
    head.sub.php에서 읽어들에게 수정 합니다.
    common.js를 읽는 거 밑에 넣으면 됩니다.
 
    아니면, b4.common.js의 마지막에 있는 get_bitly_g4 함수를 js/common.js에 넣던가 하심 되요.
 
<script type="text/javascript" src="<?=$g4['path']?>/js/b4.common.js"></script>
 
4. 원하는 view.skin.php에 아래처럼 코드를 추가 합니다 (스타일은 알아서 수정하세요)
 
        <? if ($g4[use_bitly]) { ?>
            <? if ($view[bitly_url]) { ?>
            &nbsp;bitly : <span id="bitly_url" class=bitly style="font:normal 11px 돋움; color:#BABABA;"><a href=<?=$view[bitly_url]?> target=new><?=$view[bitly_url]?></a></span>
            <? } else { ?>
            &nbsp;bitly : <span id="bitly_url" class=bitly style="font:normal 11px 돋움; color:#BABABA;"></span>
            <?}?>
        <?}?>
<? if ($g4[use_bitly] && !$view[bitly_url]) { ?>
        <script language=javascript>
        // encode 된 것을 넘겨주면, 알아서 decode해서 결과를 return 해준다.
        // encode 하기 전의 url이 있어야 결과를 꺼낼 수 있기 때문에, 결국 2개를 넘겨준다.
        // 왜? java script에서는 urlencode, urldecode가 없으니까. ㅎㅎ
        // 글쿠 이거는 마지막에 해야 한다. 왜??? 그래야 정보를 html page에 업데이트 하쥐~!
        get_bitly_g4('#bitly_url', '<?=$bo_table?>', '<?=$wr_id?>');
        </script>
<? } ?>
 
 
bit.ly 단축주소. 나름 유용 합니다.

댓글목록

등록된 댓글이 없습니다.

그누보드
65 (2/2P)

Search

Copyright © Cmd 명령어 18.119.28.213