(수정) 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]);?>
원본과 클럽이 같은 아웃로그인을 쓸 수도 있지만 다르게 가는게 맞는거 같고... 아웃로그인 스킨의 다름을
원본의 아웃로그인을 수정하는 것보다는... 클럽을 수정하는게 더 맞는거 같아서 수정을 하는 것 입니다.
그누보드 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
0
댓글 전체