특정레벨이상만 이름클릭해서 레이어(이름,이메일,정보보기 등) 볼 수 있게 하기. 정보
그누호환 특정레벨이상만 이름클릭해서 레이어(이름,이메일,정보보기 등) 볼 수 있게 하기.본문
안녕하세요 그누보드 수정에 재미를 붙이고 있는 넘<?>입니다.
시작한지 얼마 안되서 저도 팁을 올릴 수 있게 됨에 정말 뿌듯합니다.^^
아무리 검색해봐도 구체적인 모범 답안을 찾기가 어려울 뿐더러 레이어를 아무도 못보는 팁이나 레이어 자체에서 삭제 추가하는 방법밖에 없기에 머리 싸매고 연구해봤습니다.^^;;;;;;
이 팁은 그누보드게시판에서 비회원은 글쓴이의 정보(?)를 보지 못하게 하되 회원은 볼수 있게 하기 위한 팁입니다.
또한 레벨을 정해서 그 레벨 이상의 회원만 볼 수 있게 설정도 가능합니다.^^;;;;;;;;;;;;;;;;;;;;;;;
수정 -정확히 말하면 수정하는것은 두개뿐입니다.gblist.skin.php와 gbview.skin.php만 수정하시고 나머지는 추가되는것만 있습니다.-해야 하는 파일은 5개입니다.
1. 그누보드 디렉토리/lib/gnuboard.lib.php
2. 그누보드디렉토리/bbs/gblist.php
3. 그누보드디렉토리/bbs/gbview.php
4. 그누보드디렉토리/bbs/skin/board/게시판스킨디렉토리/gblist.skin.php
5. 그누보드디렉토리/bbs/skin/board/게시판스킨디렉토리/gbview.skin.php
이렇게 다섯가지 파일을 수정할 준비를 합니다.
먼저 gnuboard.lib.php를 수정합니다.
472부터 520줄(약간의 오차는 있을 수 있습니다.제가 약간 수정을 한 까닭에..^^)까지를 복사해서 그대로 하단에 붙여넣기 합니다.
-----------------------------------------------
// 쪽지 레이어
function gblayer($mb_id, $name='', $email='', $homepage='', $open=0)
{
global $cfg;
static $layerno = 0;
$layerno++;
$email = preg_replace("/@/", "@", $email);
$homepage = set_http($homepage);
$profile = 1;
// 3.34
// $cfg[mb_icon_only] 값에 따라 회원아이콘, 이름을 다르게 출력함
$is_icon = false;
$str = "<span onmousedown=\"gblayeraction(event, 'gblayer{$layerno}', 'visible')\" style='cursor:hand;'>";
~중략~
} else {
$str .= $name;
}
$str .= "</span>";
// 3.29
$name = preg_replace("/\"/", """, $name);
$name = preg_replace("/\'/", "", $name);
$str .= "<script language='JavaScript'>gblayer('gblayer{$layerno}', '{$mb_id}', '{$name}', '{$email}', '{$homepage}', '{$profile}', './bbs');</script>";
return $str;
}
-------------이 내용을 그대로 붙여넣기 하신후에
딱 두가지만 수정합니다.
첫번째는 붙여넣기 한 곳의 젤 첫번째 줄
function gblayer($mb_id, $name='', $email='', $homepage='', $open=0) 여기를 다음과 같이 수정합니다.
function gblayer1($mb_id, $name='', $email='', $homepage='', $open=0)
두번째는
$str = "<span onmousedown=\"gblayeraction(event, 'gblayer{$layerno}', 'visible')\" style='cursor:hand;'>"; 이부분을 주석처리합니다.
//$str = "<span onmousedown=\"gblayeraction(event, 'gblayer{$layerno}', 'visible')\" style='cursor:hand;'>"; <-이런 형태로 주석처리 하시면 됩니다.
그 후에 gblist.php를 수정합니다.
152번 줄(마찬가지 오차가 있을 수 있습니다)에 보시면
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],12,''), $row[wr_email], $row[wr_homepage]); <-이 내용이 있는데요 그대로 복사하셔서 바로 아래 붙여넣기 합니다.
붙여넣기 한 줄에 약간 수정을 합니다.
------------------------------------------
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],12,''), $row[wr_email], $row[wr_homepage]); <---원래 붙여넣기 된 줄
$list[$i][name1] = gblayer1($row[mb_id], cut_str($row[wr_name],12,''), $row[wr_email], $row[wr_homepage]); <-----name과 gblayer바로 뒤에 숫자 1을 넣었습니다.
gbview.php파일에서는 117번째 줄(마찬가지 오차가 있을 수 있습니다)을 복사하여 바로 아래 붙여넣기 한 후에 다음과 같이 수정합니다.
$name = gblayer($write[mb_id], cut_str($write[wr_name],20), $write[wr_email], $write[wr_homepage]); <-원래 줄
$name1 = gblayer1($write[mb_id], cut_str($write[wr_name],20), $write[wr_email], $write[wr_homepage]); <- 수정한 줄
자 이제 거의 다 되었습니다.
gblist.skin.php 파일에서 이름이 들어가는 부분에
<?=$list[$i][name]?> <- 이 변수가 들어가는데요 여기에 수정을 합니다.
수정후 모습
=-------------------------------------
<? if ($member[mb_level] > 1) { ?>
<?=$list[$i][name]?>
<? } else { ?>
<?=$list[$i][name1]?>
<? }?>
gbview.skin.php 도 마찬가지입니다.
<?=$name?> <- 이 변수가 들어가는 부분에
<? if ($member[mb_level] > 1) { ?>
<?=$name?>
<? } else { ?>
<?=$name1?>
<? }?>
자 여기까지입니다. 이렇게 했을 경우에 리스트와 내용보기에서 비회원은 이름이 클릭되지 않게 됩니다.
하지만 회원으로 로그인을 하게 되면 이름이 클릭되면서 글쓴이 정보가 실린 레이어가 뜨게 됩니다.^^
만약에 특정 레벨 이하의 회원도 못보게 하고 싶으시다면 gblist.skin.php와gbview.skin.php 이 두개 파일에서
<? if ($member[mb_level] > 1) { ?> 이부분에 숫자1을 원하시는 레벨보다 1낮게 입력해놓으시면 됩니다.
예를 들어 5레벨부터 볼 수 있게 하고싶다면 숫자는 4가 되겠죠..^^;;
최강 그누보드
시작한지 얼마 안되서 저도 팁을 올릴 수 있게 됨에 정말 뿌듯합니다.^^
아무리 검색해봐도 구체적인 모범 답안을 찾기가 어려울 뿐더러 레이어를 아무도 못보는 팁이나 레이어 자체에서 삭제 추가하는 방법밖에 없기에 머리 싸매고 연구해봤습니다.^^;;;;;;
이 팁은 그누보드게시판에서 비회원은 글쓴이의 정보(?)를 보지 못하게 하되 회원은 볼수 있게 하기 위한 팁입니다.
또한 레벨을 정해서 그 레벨 이상의 회원만 볼 수 있게 설정도 가능합니다.^^;;;;;;;;;;;;;;;;;;;;;;;
수정 -정확히 말하면 수정하는것은 두개뿐입니다.gblist.skin.php와 gbview.skin.php만 수정하시고 나머지는 추가되는것만 있습니다.-해야 하는 파일은 5개입니다.
1. 그누보드 디렉토리/lib/gnuboard.lib.php
2. 그누보드디렉토리/bbs/gblist.php
3. 그누보드디렉토리/bbs/gbview.php
4. 그누보드디렉토리/bbs/skin/board/게시판스킨디렉토리/gblist.skin.php
5. 그누보드디렉토리/bbs/skin/board/게시판스킨디렉토리/gbview.skin.php
이렇게 다섯가지 파일을 수정할 준비를 합니다.
먼저 gnuboard.lib.php를 수정합니다.
472부터 520줄(약간의 오차는 있을 수 있습니다.제가 약간 수정을 한 까닭에..^^)까지를 복사해서 그대로 하단에 붙여넣기 합니다.
-----------------------------------------------
// 쪽지 레이어
function gblayer($mb_id, $name='', $email='', $homepage='', $open=0)
{
global $cfg;
static $layerno = 0;
$layerno++;
$email = preg_replace("/@/", "@", $email);
$homepage = set_http($homepage);
$profile = 1;
// 3.34
// $cfg[mb_icon_only] 값에 따라 회원아이콘, 이름을 다르게 출력함
$is_icon = false;
$str = "<span onmousedown=\"gblayeraction(event, 'gblayer{$layerno}', 'visible')\" style='cursor:hand;'>";
~중략~
} else {
$str .= $name;
}
$str .= "</span>";
// 3.29
$name = preg_replace("/\"/", """, $name);
$name = preg_replace("/\'/", "", $name);
$str .= "<script language='JavaScript'>gblayer('gblayer{$layerno}', '{$mb_id}', '{$name}', '{$email}', '{$homepage}', '{$profile}', './bbs');</script>";
return $str;
}
-------------이 내용을 그대로 붙여넣기 하신후에
딱 두가지만 수정합니다.
첫번째는 붙여넣기 한 곳의 젤 첫번째 줄
function gblayer($mb_id, $name='', $email='', $homepage='', $open=0) 여기를 다음과 같이 수정합니다.
function gblayer1($mb_id, $name='', $email='', $homepage='', $open=0)
두번째는
$str = "<span onmousedown=\"gblayeraction(event, 'gblayer{$layerno}', 'visible')\" style='cursor:hand;'>"; 이부분을 주석처리합니다.
//$str = "<span onmousedown=\"gblayeraction(event, 'gblayer{$layerno}', 'visible')\" style='cursor:hand;'>"; <-이런 형태로 주석처리 하시면 됩니다.
그 후에 gblist.php를 수정합니다.
152번 줄(마찬가지 오차가 있을 수 있습니다)에 보시면
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],12,''), $row[wr_email], $row[wr_homepage]); <-이 내용이 있는데요 그대로 복사하셔서 바로 아래 붙여넣기 합니다.
붙여넣기 한 줄에 약간 수정을 합니다.
------------------------------------------
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],12,''), $row[wr_email], $row[wr_homepage]); <---원래 붙여넣기 된 줄
$list[$i][name1] = gblayer1($row[mb_id], cut_str($row[wr_name],12,''), $row[wr_email], $row[wr_homepage]); <-----name과 gblayer바로 뒤에 숫자 1을 넣었습니다.
gbview.php파일에서는 117번째 줄(마찬가지 오차가 있을 수 있습니다)을 복사하여 바로 아래 붙여넣기 한 후에 다음과 같이 수정합니다.
$name = gblayer($write[mb_id], cut_str($write[wr_name],20), $write[wr_email], $write[wr_homepage]); <-원래 줄
$name1 = gblayer1($write[mb_id], cut_str($write[wr_name],20), $write[wr_email], $write[wr_homepage]); <- 수정한 줄
자 이제 거의 다 되었습니다.
gblist.skin.php 파일에서 이름이 들어가는 부분에
<?=$list[$i][name]?> <- 이 변수가 들어가는데요 여기에 수정을 합니다.
수정후 모습
=-------------------------------------
<? if ($member[mb_level] > 1) { ?>
<?=$list[$i][name]?>
<? } else { ?>
<?=$list[$i][name1]?>
<? }?>
gbview.skin.php 도 마찬가지입니다.
<?=$name?> <- 이 변수가 들어가는 부분에
<? if ($member[mb_level] > 1) { ?>
<?=$name?>
<? } else { ?>
<?=$name1?>
<? }?>
자 여기까지입니다. 이렇게 했을 경우에 리스트와 내용보기에서 비회원은 이름이 클릭되지 않게 됩니다.
하지만 회원으로 로그인을 하게 되면 이름이 클릭되면서 글쓴이 정보가 실린 레이어가 뜨게 됩니다.^^
만약에 특정 레벨 이하의 회원도 못보게 하고 싶으시다면 gblist.skin.php와gbview.skin.php 이 두개 파일에서
<? if ($member[mb_level] > 1) { ?> 이부분에 숫자1을 원하시는 레벨보다 1낮게 입력해놓으시면 됩니다.
예를 들어 5레벨부터 볼 수 있게 하고싶다면 숫자는 4가 되겠죠..^^;;
최강 그누보드
추천
0
0
댓글 전체
좋은 팁이군요.... 감사합니다...