[미완성본]게시판글 블로그로 퍼가기 > 팁

[미완성본]게시판글 블로그로 퍼가기 정보

[미완성본]게시판글 블로그로 퍼가기

본문

초보의 테스트한 팁이기에 설명이 부족해도 양해를 부탁드립니다.
 
전체적인 제어 및 중복 체크등의 루틴은 적용되지 않았습니다.
이는 사용하시고자 하시는 분의 노력으로 남겨 둡니다.
 
게시판 보기에서 자신의 브로그가 동일한 게정내에 있을경우(?) 내 블로그로 퍼가는 기능입니다.
 
우선 그누보드 게시판 스킨의 view.skin.php에 내 블로그가 있는지 체크하는 루틴이 들어가야 합니다.
 
1. 기본으로 배포되는 gblog.config.php가 불려져야 하고
 스킨에서
 
<? $blog_chk = sql_fetch("select * from $gb4[blog_table] where mb_id='$member[mb_id]'");
if ($blog_chk['id']) { //내 블로그가 있다면
echo "<a href='$board_skin_path/pum_blog.php?blog_id=$blog_chk[id]&bo_table=$bo_table&wr_id=$wr_id'><font color=#6F76C0><b>퍼가기($blog_chk[id])</b></font></a>";
} ?>
 
2. 해당 스킨에 _common.php로 업합니다.
  경로등은 본인 환경에 맞추세요....
 
<?
$g4_path = "../../.."; // common.php 의 상대 경로
include_once("$g4_path/common.php");
include_once("$g4[path]/lib/blog.lib.php");
include_once("$g4[path]/gblog.config.php");
?>
 
3. 아래 내용을 해당 스킨에 위 1번에서 정의한 화일로 업 합니다.
 
<?
include_once('./_common.php');
$blog_chk = sql_fetch("select * from $gb4[blog_table] where mb_id='$member[mb_id]'");
if( $blog_chk['mb_id'] != $member['mb_id'] )
    alert('자신의 블로그에만 펌 할 수 있습니다.');
// 원본글 정보를 가져온다.
$r = sql_fetch("select * from {$write_table} where wr_id='{$wr_id}'");
  
    if( $secret == 0 )
        $count_field = 'secret_count';
    else
        $count_field = 'post_count';
    $content = addslashes($r['wr_content']);
    // 글을 등록한다.
    $sql = "insert into
                {$gb4['post_table']}
            set
                blog_id         = '{$blog_chk['id']}'
                ,category_id    = '{$category_id}'
                ,division_id    = '{$division_id}'
                ,title          = '{$r['wr_subject']}'
                ,content        = '{$content}'
                ,trackback_url  = '{$r['trackback_url']}'
                ,post_date      = '{$r['wr_datetime']}'
                ,secret         = '1'
                ,use_comment    = '1'
                ,use_trackback  = '1'
                ,use_rss        = '1'
                ,real_date      = '{$g4['time_ymdhis']}'";
    sql_query($sql);
    // 방금 등록한 글 고유 번호를 센타깐다.
    $id = mysql_insert_id();
    // 해당 분류의 글 카운트를 증가시킨돠.
    if( $category_id )
        sql_query("update {$gb4['category_table']} set {$count_field} = {$count_field} + 1 where id = '{$category_id}'");
    // 태그를 붙인다.
    //tag_add($id, $tag);

    // 해당 블로그 정보 테이블에 글 갯수 증가 및 마지막 업데이트 시간을 현재로 변경한다.
    $sql = "update
                {$gb4['blog_table']}
            set
                {$count_field} = {$count_field} + 1
                ,last_update = '{$g4['time_ymdhis']}'
            where
                mb_id='{$member['mb_id']}'";
    sql_query($sql);
    // 월별 글 갯수를 증가시킨다.
    $monthly = substr($post_date,0,7);
    $res = sql_fetch("select * from {$gb4['monthly_table']} where blog_id='{$current['id']}' and monthly='$monthly'");
    if( empty($res) )
        sql_query("insert {$gb4['monthly_table']} set blog_id='{$current['id']}', monthly='{$monthly}', {$count_field}=1");
    else
        sql_query("update {$gb4['monthly_table']} set {$count_field} = {$count_field} + 1 where blog_id='{$current['id']}' and monthly='{$monthly}'");
    // 업로드 파일
    //sql_query("update {$gb4['file_table']} set post_id='{$id}' where blog_id='{$current['id']}' and post_id='0'");
$result = sql_query(" select * from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no asc ");
for ($i=0; $i<$r = sql_fetch_array($result); $i++)
{
            $sql = " insert into {$gb4['file_table']}
                    set blog_id = '{$blog_chk['id']}',
                        post_id = '{$id}',
                        file_num = '{$r['bf_no']}',
                        file_size = '{$r['bf_filesize']}',
                        save_name = '{$r['bf_file']}',
                        real_name = '{$r['bf_source']}',
                        file_datetime = '{$r['bf_datetime']}'";
            sql_query($sql);
           
            $dest_file = "{$g4[path]}/data/blog/file/{$blog_chk[mb_id]}/{$r[bf_file]}";
            @copy("{$g4[path]}/data/file/{$bo_table}/{$r[bf_file]}", $dest_file) ;
            @chmod($dest_file, 0606);
}

    goto_url( get_post_url($id) );

?>
 
 
 
이제 시험해 보시면 됩니다.
 
이 기능을 사용하시려면 gblog.config.php를 head.php에서 인클루드 하시면 편할듯 한 개인 생각입니다.
 
 
 
**** 제홈 자유게시판에서 테스트 하실수 있도록 잠시 플그램을 수정해 놓았습니다.
 
자유게시판에서 퍼가기를 할경우 블로그로 글과 첨부이미지가 가는지 정도만 확인해 보시고
 
나머지 부분은 서두에서처럼 사용하고자 하시는 분의 몫으로 응용하십시오.
  • 복사

댓글 전체

켁~~~!

링크를 삭제하려고 수정하려니 안된다네....ㅠ.ㅠ

링크가셔도 테스트 안됩니다...
링크가셔도 테스트 안됩니다...
링크가셔도 테스트 안됩니다...
링크가셔도 테스트 안됩니다...
링크가셔도 테스트 안됩니다...
소스가 너무 허접한것 같아서 링크를 지우려 했더니

댓글 하나 달랑 붙었다고 수정 안된다자나요....ㅠ.ㅠ

그래서 그냥 놓고 링크에서만 소스 수정을....ㅠ.ㅠ
현재 상기 팁아닌 팁의 내용이 진화하여

댓글도 작성시간에 근거하여 댓글의 댓글까지 달린 순서에 의해 펌하기 기능(블로그로 펌했을시는 시간이 아닌 매달린 순서에 의해 댓글로 복사)까지 진전이 있었으나

이 팁에 대해 업그레이드 계획은 없습니다.

http://myway.my5yes.com/k_01/blog/167
죄송합니다.
관리자모드에서 해당 게시판을 통째로 블로그로 복사하는 기능까지 완료되었으나 위에 언급한 것처럼
위 팁에 대한 업그레이드 계획이나 해당 팁에 대한 추가 공개는 계획이 없습니다.

또한 그 누구도 제게 공개를 요구(?)할 권한은 없습니다.

기본배포되는 것이 아니기에 또한 위 기능은 기본 기능이 아니기에 더군다나 공개하지 않으려 합니다.

그누보드나 지블로그나 현재 배포되는 형태로 굴러가는데는 문제가 없습니다. 사용자 환경이나 사용자의 기능추가/확장은
각 사용자의 몫이겠지요.

기본배포본의 버그가 아닌 사용자요구(?)에 의한 것은 각 개인의 버그라 합니다...^^

거듭 죄송하다는 말씀 드립니다..

아래는 위 팁의 업그레이드된 것의 화면 캡쳐부분입니다.

http://myway.my5yes.com/k_01/bbs/board.php?bo_table=fr_board&wr_id=61
© SIRSOFT
현재 페이지 제일 처음으로