이름 클릭시 레이어를 관리자만 쓸 수 있도록 하려면.. > 그누3질답

그누3질답

이름 클릭시 레이어를 관리자만 쓸 수 있도록 하려면.. 정보

그누보드 이름 클릭시 레이어를 관리자만 쓸 수 있도록 하려면..

본문

자유게시판의 경우 회원가입을 하지않고 누구나 쓸 수 있도록 했는데,
이름부분 클릭시 레이어를 통해 쪽지나 메일을 보낼 수 있죠. 그런데..

회사의 경우(경쟁사가 있을때)에
자유게시판에 글을 쓴 사람들에게, 이름레이어를 통해 나타나는 메일을 통해,
타회사의 관리자가 해당 사람들에게 쓸데없는 메일을 보내게 되는 경우가 있습니다.
이러한 부분으로 악용되는 부분이 있는데,
게시판의 이름레이어의 내용을 해당 관리자만 볼 수 있도록 하려면 어떻게 해야 하나요?
한마디로 관리자 외엔 이름을 눌러도 나타나지 않도록 하려면 어떻게 해야 하죠?
---------------------------------------------------------------------
리스트화면의 이름레이어와 뷰화면의 이름레이어에 [메일]부분이 Guest에게는
보이지않고, 관리자가 로그인했을때만 레이어부분에 [메일]부분이 나타나도록
하고 싶습니다.
---------------------------------------------------------------------
답변부탁드립니다.
  • 복사

댓글 전체

if($is_admin == 'default')
{
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],12,''), $row[wr_email], $row[wr_homepage]);
}
else
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],12,''));

이렇게 적용했을때, 리스트화면에서 이름레이어에 메일부분이 표시안되는 것은 성공했습니다.
그런데, 문제는 뷰 화면에서 이름클릭시 레이어에 메일부분이 포함이 되서 나타나는데요.

적용해보라는
function gblayer1(layername, id, name, email, homepage, profile, dir)
필요한 내용만 하나 생성하시고..

------------------------------------------
위의 내용은 무슨 말씀인거죠? 이해가 잘 안가요.
bbs/skin/board/basic/gbview.skin.php

<? if ($is_admin == 'default') {
echo $link[$i][wr_email];
} else {
echo preg_replace("/([0-9]+)@([0-9]+).([0-9]+)/", "\\1.**.\\3", $link[$i][wr_email]);  // 회원이 아니라면
}?>

맞나여 모르겠다.. ^_^;;
if($is_admin == 'default')
{
    $list[$i][name] = gblayer1($row[mb_id], cut_str($row[wr_name],12,''));
}
else
    $list[$i][name] = cut_str($row[wr_name],12,'');
if($is_admin == 'default')
{
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],12,''), $row[wr_email], $row[wr_homepage]);
}
else
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],12,''));


이것두 안되면

bbs/gblayer.php 함 건들어 보세요...
58번째 줄
  function gblayer(layername, id, name, email, homepage, profile, dir)

이란을 보시면 쪽지보내기 레이어에 관련된 자료가 내용이 있습니다.

 function gblayer1(layername, id, name, email, homepage, profile, dir)
필요한 내용만 하나 생성하시고..

if($is_admin == 'default')
{
$list[$i][name] = gblayer1($row[mb_id], cut_str($row[wr_name],12,''));
}
else
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],12,''), $row[wr_email], $row[wr_homepage]);

대충 이런식으로 해보세요..
bbs\gblist.php  리스트부분만 수정하셔자요
뷰는
gbview
117번째 줄

$name = gblayer($write[mb_id], cut_str($write[wr_name],20), $write[wr_email], $write[wr_homepage]);
이부분을 수정해야죠

if($is_admin == 'default')
 $name = gblayer($write[mb_id], cut_str($write[wr_name],20), $write[wr_email], $write[wr_homepage]);
else
 $name = gblayer($write[mb_id], cut_str($write[wr_name],20));
적용해 보았더니, 리스트화면의 Name란의 이름들 자체가 모두 사라져 안보여지는데요??
리스트화면의 이름 뿐아니라, 뷰화면에서도 이름부분 선택시 레이어가 안나타나게 하려면 어떻게 하죠?
bbs\gblist.php 161란을 보시면
 $list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],12,''), $row[wr_email], $row[wr_homepage]);

이란이 있습니다.
if($is_admin == 'default')
{
$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],12,''), $row[wr_email], $row[wr_homepage]);
}

이런식으로 관리자만 가능하게 하면 될듯싶은데요
© SIRSOFT
현재 페이지 제일 처음으로