https://web.archive.org/web/20161102025311/http://www.xeschool.com/xe/xenote_useful_variable_logged_info
XE에 접근하면 XE는 항상 방문자의 로그인 여부를 우선 먼저 확인하게 된다. 이때 사용하는 변수가 $is_logged 와 $logged_info 이다.
Context.class.php 파일 137라인을 참고해 보면 member 모듈의 member.controller.php 파일의 메서드(해야 할 일)를 참고하여 방문자가 로그인했는지, 로그인했다면 세션과 쿠키로 저장하고 변수 $is_logged에는 TRUE 를, $logged_info에는 회원의 기본정보를 찾아 배열 형식으로 담아 주게 된다.
방문자가 로그인 했다면 $is_logged = 'true' 가 된다.
변수 $is_logged의 활용
$is_logged는 레이아웃에서나 또는 게시판 스킨 등에서 무척 다양하게 활용할 수 있다. 예를 들어, 방문자가 로그인 했다면 보여줄 내용과 그렇지 않을때 보여줄 내용을 다르게 설정할 수도 있고 로그인 위젯에서는 로그인 폼과 회원정보 폼을 각각 다르게 출력할 수도 있다. $is_logged는 XE의 가장 기초적인 변수명이다. XE 템플릿 문법에서는 다음과 같이 사용하도록 한다.
<!--@if($is_logged)-->
당신은 로그인하신 회원입니다. // 로그인 회원에게 보여줄 내용
<!--@else-->
당신은 로그인하지 않으셨습니다. //비로그인 회원에게 보여줄 내용
<!--@end-->
결과값 : 당신은 로그인하지 않으셨습니다.
XE의 새로운 템플릿(신문법) 문법으로 사용하면 다음과 같다.
<p cond="$is_logged">당신은 로그인하신 회원입니다.</p>
<p cond="!$is_logged">당신은 로그인하지 않으셨습니다.</p>
결과값 :
당신은 로그인하지 않으셨습니다.
이 변수는 XE 전반에 걸쳐 매우 자주 사용되는 유용한 변수이다. / [스마트 로그인] 참고
$is_logged가 TRUE이면 XE는 변수 $logged_info 에 회원정보를 담는다. $logged_info에는 어떤 내용이 들어있을까?
{print_r($logged_info)}의 결과값 :
stdClass Object (
[member_srl] => 4 // $logged_info->member_srl 회원 고유번호
[user_id] => // $logged_info->user_id 아이디
[email_address] => // $logged_info->email_address 이메일 주소
[password] => // $logged_info->password 비밀번호
[email_id] => // $logged_info->email_id 이메일 아이디
[email_host] => // $logged_info->email_host 이메일 호스트
[user_name] => // $logged_info->user_name 이름
[nick_name] => // $logged_info->nick_name 닉네임
[find_account_question] => 0 XE 공홈에서 사용하는 듯...질문찾기?
[find_account_answer] => XE 공홈에서 사용하는 듯...답변찾기?
[homepage] => // $logged_info->homepage 홈페이지
[blog] => //$logged_info->blog 블로그
[birthday] => // $logged_info->birthday 생년월일 (YYYYMMDD)
[allow_mailing] => N // $logged_info->allow_mailing 메일링 가입
[allow_message] => Y // $logged_info->allow_message 쪽지 수신 허용
[denied] => N // $logged_info->denied 사용중지
[limit_date] => // $logged_info->limit_date 제한일
[regdate] => // $logged_info->regdate 회원가입일자
[last_login] => // $logged_info->last_login 최종 로그인 일자
[change_password_date] => // $logged_info->change_password_date 비밀번호 변경일자
[is_admin] => Y // $logged_info->is_admin 관리자 확인
[description] => // $logged_info->description 설명
[list_order] => // $logged_info->list_order ???
[profile_image] => // $logged_info->profile_image 프로필 이미지
[image_name] => // $logged_info->image_name 이름 이미지 경로
[image_mark] => // $logged_info->image_mark 그룹 이미지 경로
[signature] => // $logged_info->signature 서명
[group_list] => Array ( [1] => 준회원 ) // $logged_info->group_list 소속 그룹 목록
[is_openid] => // $logged_info->is_openid 오픈아이디
[menu_list] => Array (
[dispMemberInfo] => 회원 정보 보기
[dispMemberScrappedDocument] => 스크랩 보기
[dispMemberSavedDocument] => 저장함 보기
[dispMemberOwnDocument] => 작성 글 보기
[dispCommunicationFriend] => 친구 보기
[dispCommunicationMessages] => 쪽지함 보기
)
[is_site_admin] => // $logged_info->is_site_admin 가상 사이트 관리자 확인
)
$logged_info에 접근하기
회원정보는 배열로 담겨져 있다. 따라서 각각의 요소에 접근하려면 $logged_info->속성이름 으로 접근해야 한다.