(수정) outlogin 함수의 충돌현상 > 그누4 플러그인

그누4 플러그인

그누보드에는 여러가지 기능 추가가 쉽도록 제작 되었습니다.
플러그인의 저작권은 해당 플러그인 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다.
플러그인 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y

(수정) outlogin 함수의 충돌현상 정보

(수정) outlogin 함수의 충돌현상

본문

해맑은하늘님께서 알려주신 사항 입니다.

그누보드 4의 /lib/outlogin.lib.php의 outlogin 함수와 클럽의 /club/club.lib.php의 outlogin 함수가 충돌.
이것이외에 다른 club.lib.php의 다른 함수들이 그누보드의 함수와 충돌하는 것 같지는 않습니다. ㅠ..ㅠ
혹시 충돌현상을 보시면 알려주시기 바랍니다.
함수충돌의 오류는 이렇게 나옵니다. Fatal error: Cannot redeclare outlogin() in ...

/club/club.lib.php의 330라인의 외부로그인 함수를 아래와 같이 cb_outlogin으로 변경 합니다.
그누보드 원본과 같도록 (일부분만 제외하고) 수정을 하였습니다. outlogin skin의 이름과
outlogin.skin.php와 outlogout.skin.php에서 outlogin.skin.2.php, outlogin.skin.1.php로 수정했어요.

// 외부로그인
function cb_outlogin($skin_dir="default")
{
    global $config, $member, $g4, $urlencode, $is_admin, $nc, $cb, $cm;

    $nick  = cut_str($member['mb_nick'], $config[cf_cut_name]);
    $point = number_format($member['mb_point']);

    $cb_outlogin_skin = "$nc[cb_path]/skin/outlogin/$skin_dir";

    // 읽지 않은 쪽지가 있다면
    if ($member[mb_id]) {
        $sql = " select count(*) as cnt from {$g4['memo_table']} where me_recv_mb_id = '{$member['mb_id']}' and me_read_datetime = '0000-00-00 00:00:00' ";
        $row = sql_fetch($sql);
        $memo_not_read = $row['cnt'];

        $is_auth = false;
        $sql = " select count(*) as cnt from $g4[auth_table] where mb_id = '$member[mb_id]' ";
        $row = sql_fetch($sql);
        if ($row['cnt'])
            $is_auth = true;
    }

    ob_start();
    if ($member['mb_id'])
        include_once "$cb_outlogin_skin/outlogin.skin.2.php";
    else // 로그인 전이라면
        include_once "$cb_outlogin_skin/outlogout.skin.1.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}

/club/skin/outlogin.php 디렉토리에서 outlogin.skin.php 파일을 outlogin.skin.2.php로
outlogout.skin.php 파일을 outlogin.skin.1.php로 변경 합니다. 이것은 위에서 언급했듯이
그누보드 4와 일관성을 가지게 하기 위한 것 입니다.

/club/club_index.php의 50라인을 수정 합니다.

          <?=cb_outlogin($nc[nf_outlogin_skin]);?>

/club/club_main.php의 72라인을 수정 합니다.

            <?=cb_outlogin($nc[nf_outlogin_skin]);?>

/club/club_manager.php의 55라인을 수정 합니다.

            <?=cb_outlogin($nc[nf_outlogin_skin]);?>

원본과 클럽이 같은 아웃로그인을 쓸 수도 있지만 다르게 가는게 맞는거 같고... 아웃로그인 스킨의 다름을
원본의 아웃로그인을 수정하는 것보다는... 클럽을 수정하는게 더 맞는거 같아서 수정을 하는 것 입니다.
추천
0

댓글 전체

전체 3,524 |RSS
그누4 플러그인 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT