본문 바로가기

PHP

XE 회원정보 특정 항목만 보여주며 출력하기.

XE에서는 기본으로 공개/비공개 할 수 있는 기능이 없습니다.

그러기에 직접 PHP을 수정해서 표시를 제한해줘야합니다.


저의 경우 본인과 관리자외 다른사람이 이메일과 아이디를 조회할 수 없도록 작성하겠습니다..



일단 불안정한 방법이지만 조금은 신뢰가 가는 방법을 택했습니다.



modules/member/skins/스킨이름/member_info.html 를 수정하기로합니다.


스킨마다 다를 수 잇긴합니다만.. 저는 sketchbook5 원월모듈 스킨을 사용중입니다.



회원목록에서 기본필드(*)을 표시해주는 구간을 아래와 같이 수정하시면 됩니다.



<!--@if((!($memberInfo[member_srl] == $logged_info->member_srl || $logged_info->is_admin == 'Y') && $formInfo->name == 'user_id') || (!($memberInfo[member_srl] == $logged_info->member_srl || $logged_info->is_admin == 'Y') && $formInfo->name == 'email_address'))-->

{@$value = '비공개'}

<!--@else-->

{@$value = $memberInfo[$formInfo->name]}

<!--@end-->



$memberInfo[member_srl] == $logged_info->member_srl 는 현재 로그인한 회원과 조회하려는 회원의 번호가 같는지 확인입니다.

$logged_info->is_admin == 'Y' 는 현재 로그인한 회원이 관리자인지 확인합니다.

$formInfo->name == 'user_id' 는 현재 읽어드리려는 기본필드중에 항목이 유저 ID인지 확인합니다.

$formInfo->name == 'email_address') 이것 또한 기본필드중 항목이 이메일주소인지 확인합니다.


이렇게 확인한 후 ,  자신의정보가 아니거나 관리자가 아니며 유저 id가 표시될때에는 비공개로 표시 그렇지 않을때에는 올바른값 표시.

이메일도 같은 방법으로 자신의정보가 아니거나 관리자가 아니며 이메일이 표시될때에는 비공개로 표시 그렇지 않을때에는 올바른값 표시.