웹마스터 팁
최고관리자 이외에는 ''회원정보보기''를 막기
2008.07.10 21:56
그런 경우에 아래의 팁을 활용하세요... ^^;;
http://trac.zeroboard.com/trac/changeset/2531
위 주소에 보니 비회원일 경우 안 보이게 설정을 했던데,
modules/member/member.model.php 파일의 49째줄부터(1.0.4버전 기준)
// 회원 정보 보기 (비회원일 경우 볼 수 없도록 수정)
if($logged_info->member_srl) {
$url = getUrl('','mid',$mid,'act','dispMemberInfo','member_srl',$member_srl);
$icon_path = './modules/member/tpl/images/icon_view_info.gif';
$oMemberController->addMemberPopupMenu($url,'cmd_view_member_info',$icon_path,'self');
}
위 구문 중에서 진하게 표시된 부분 때문에 그렇게 동작하는 듯 합니다.
즉, 멤버일 경우에만 보이도록 만든 것이죠...
여기서
if($logged_info->member_srl)
부분을
if($logged_info->is_admin == 'Y')
로 변경하고,
modules/member/member.view.php 파일의
// 비회원일 경우 정보 열람 중지
if(!$logged_info->member_srl) return $this->stop('msg_not_permitted');
부분도
if(!$logged_info->is_admin == 'Y') return $this->stop('msg_not_permitted');
위와 같이 변경하시면 됩니다.
위처럼 변경하시면 오로지 최고관리자만 다른 회원의 닉네임부분에 클릭을 하면 '회원정보보기' 항목이 출력이 됩니다.
댓글 13
-
비나무
2008.07.10 21:59
피랜세이님의 질문( http://www.zeroboard.com/zbxe_qna/17035090 ) 때문에 나름대로 찾아본 방법입니다.. ^^ -
비나무
2008.07.10 23:04
혹시 회원정보보기는 로그인한 회원에게 보이게 하고 소속 그룹과 최초가입일 등 특정부분만 최고관리자나 자신에게만 보이게 만들고 싶으시면,
modules\member\skins\default\member_info.html
파일의 70번째줄
<!--@if($member_info->member_srl == $logged_info->member_srl || $logged_info->is_admin == 'Y' )-->
<tr>
<th scope="row">{$lang->last_login}</th>
<td>{zdate($member_info->last_login,"Y-m-d H:i")}</td>
</tr>
<!--@end-->
를 참고하셔서 감추고 싶은 부분을
<!--@if($member_info->member_srl == $logged_info->member_srl || $logged_info->is_admin == 'Y' )-->
와
<!--@end-->
로 둘러싸시면 됩니다.. ^^ -
팔공산
2008.07.11 11:38
비나무님께 질문하나 드립니다.
혹시 멤버 그룹별로 권한을 주는 방법은 없는지요.
if(!$logged_info->group_srl(2)) return $this->stop('msg_not_permitted');
이런식으로 해보니 작동을 안하는 군요. -
비나무
2008.07.11 13:08
저도 그게 궁금하네요... ^^;;
트랙을 살펴보고 힌트를 찾아봐야겠네요...
아니면, 고수분들이 알려주시거나... 하하!
저도 대부분 트랙을 통해서 힌트를 얻는 편이라...
웹프로그램 쪽은 잼병이거든요. *^^* -
띵야
2008.07.18 00:13
정식 버전에 적용되기 전에 아쉬운 대로 유용하게 쓰겠습니다.
추천드립니다. ^^ -
해리
2008.07.21 11:01
비나무님이 말씀해주신데로 했는데 Warning: Cannot modify header information - headers already sent by (output started at /home3/mirae2251/www/zbxe/modules/member/member.model.php:1) in /home3/mirae2251/www/zbxe/classes/display/DisplayHandler.class.php on line 211 이런 문구가 계속 뜨네요... 해결방법이 없을까요?;;; -
띵야
2008.09.21 20:17
글 쓰신 지가 많이 지났네요...^^ 저런 에러 문구의 대부분은 인코딩 언어를 잘못 선택해서 생기는 것 같습니다.
저장하실 때 인코딩 언어를 ANSI로 한번 바꿔 보시지요...^^ -
trymoney
2010.01.18 21:10
Warning: Cannot modify header information - headers already sent by (output started at /home/01/playboys41/www/xe/modules/member/member.model.php:718) in /home/01/playboys41/www/xe/classes/display/DisplayHandler.class.php on line 138
저도 이런 문구가 뜹니다 도와주십시요
-
쥬시클
2010.04.09 23:18
비나무님//
감추고 싶은 부분을
<!--@if($member_info->member_srl == $logged_info->member_srl || $logged_info->is_admin == 'Y' )-->
와
<!--@end-->
로 둘러싸시면 됩니다.. ^^라고 하셨는데 ..
정회원이상만 보게 하려면
어떻게 수정하면 되나요 ?
-
둘리마미
2011.05.17 21:16
적용잘했습니다.~ 감사합니다. -
히로458
2011.09.19 09:11
정말 감사합니다!!! 무사히 잘 적용했어요!!ㅎㅎ -
카이네드
2011.10.13 14:15
이런 사소한것 하나까지 코어에서 옵션으로 두면 참 좋을텐데 말이죠 ㅠ-ㅠ
-
엘라이어
2011.11.15 23:47
팁을 적용해서 잘 쓰고 있습니다!
하지만 한가지 문제가, 이 팁을 적용하면 회원관리를 포함한 모든 게시판의 권한 설정에서 '그룹'이 뜨지를 않네요;
처음에는 무엇이 문제인지 몰랐는데 수정했던 파일을 원파일로 대체하니까 그룹이 보이고, 파일을 재수정하면 그룹이 안보입니다.
그거 외에는 좋은 팁입니다ㅠㅠ