zb4_member_update.php > 그누4 변환

그누4 변환

타 게시판에서 그누보드4로 게시물을 옮겨주는 프로그램입니다.

zb4_member_update.php 정보

zb4_member_update.php

본문

<?
include_once("./_common.php");

if ($is_admin != "super")
    alert("최고관리자만 변환 가능합니다", "$g4[bbs_path]/login.php?url=".urlencode($_SERVER[PHP_SELF]));

$sql = " select * from zetyx_member_table ";
$zb_result = sql_query($sql);
$zb_count = mysql_num_rows($zb_result);
if (!$zb_count)
    alert("변환할 자료가 없습니다.");
?>
<link rel="stylesheet" href="<?=$g4[path]?>/style.css" type="text/css">
<?
$k=0;
for ($i=0; $row=sql_fetch_array($zb_result); $i++)
{
    // 제로보드와 그누보드는 권한이 반대로 되어 있습니다.
    // 제로보드는 1 이 높고 10 이 낮고
    // 그누보드는 10 이 높고 1 이 낮고
    $level = 11 - $row[level];

    // 새글쓰기 + 코멘트쓰기
    $point = 5000;  //무조건 5000을 주기로 하자.

    if ($row[birth] > 0) {
        $birth = date("Ymd", $row[birth]);
    }

    $reg_date = date("Y-m-d H:i:s", $row[reg_date]);

    // 아이콘 복사
    $icon = "";
    if (file_exists("$zb_dir/icon/private_icon/$row[no].gif"))
    {
        $icon = $row[user_id] . ".gif";
        $mb_dir = substr($row[user_id],0,2);
        @mkdir("$g4_dir/data/member/$mb_dir", 0707);
        @copy("$zb_dir/icon/private_icon/$row[no].gif", "$g4_dir/data/member/$mb_dir/$icon");
        @chmod("$g4_dir/data/member/$mb_dir/$icon", 0606);
    }

    $name = preg_replace("/\'/", "&#039;", addslashes($row[name]));
    $memo = preg_replace("/\'/", "&#039;", addslashes($row[comment]));

    $sql = " insert into $g4[member_table]
                set mb_id = '$row[user_id]',
                    mb_password = '$row[password]',
                    mb_name = '$name',
                    mb_nick = '$name',
                    mb_level = '$level',
                    mb_email = '$row[email]',
                    mb_homepage = '$row[homepage]',
                    mb_jumin = '$row[jumin]',
                    mb_memo = '$memo',
                    mb_point = '$point',
                    mb_addr1 = '$row[home_address]',
                    mb_tel = '$row[home_tel]',
                    mb_hp = '$row[handphone]',
                    mb_birth = '$birth',
                    mb_datetime = '$reg_date',
mb_1 = '$row[icq]',
mb_2 = '$row[aol]',
mb_3 = '$row[msn]',
mb_4 = '$row[job]',
mb_5 = '$row[hobby]',
mb_6 = '$row[office_address]',
mb_7 = '$row[office_tel]',
                    mb_10 = '제로에서 변형' ";
    $res = @mysql_query($sql);
    if (!$res) {
        $k++;
        echo "{$row[user_id]}님 중복<br>";
    }
    else
    {
        echo "{$row[user_id]}님 변환<br>";
        insert_point($row[user_id], $point, "제로보드 회원자료 변환");
    }
}

$num = $i - $k;

echo "<p>{$num}건 변환 완료<p><a href='./zb2g4.php'>뒤로</a>";
?>


--------------------------------------------------------------

mb_1 부터 mb_7까지 사용했습니다.
별거아니지만 만들려면.. 괜히 짜증나니까.. ^^;;

넘겨주지 않는 aol /msn / job 오피스.. 취미 등등을.. 넘겨주도록 추가했습니다.
위에 소스를 그대로 zb4_member_update에 넣으시면 됩니다.
  • 복사

댓글 전체

zb4_board_update.php의 변환기에서 \ 기호가 생기는 문제때문에 저도 고민인데.

그냥 addslash부분을 제거 해버렸습니다.

그냥 제거하기가 떨떠름 하시다면.. 똑 같은 제거지만.
function magic_quotes($var)
{
    if (get_magic_quotes_gpc() == false)
    {
        $result = addslashes($var);
    }
    else
    {
        $result = $var;
    }

    return $result;
}
하시고..
addslah 부분에..
    $subject = preg_replace("/\'/", "&#039;", magic_quotes($row[subject]));
    $memo = preg_replace("/\'/", "&#039;", magic_quotes($row[memo]));

이런식으로 함수를 치환해주는거죠.. 뭐.. 헛짓(?) 이긴하지만..
$sql = " select * from zetyx_admin_table order by name ";

zb4_board.php에서.. 뒤에 order by name을 추가 해주는게 좋습니다.
http://www.sir.co.kr/bbs/tb.php/g4_tiptech/1046 이 스크립트로 일괄 생성했을때..

보여지는게 동일하게 배열되게 하기 위해서죠.
© SIRSOFT
현재 페이지 제일 처음으로