RX/XE 팁
XE FAQ 는 제가 XE공홈 '묻고 답하기'에 답변한 내용들 중 일부를 정리한 내용입니다. (대부분이 제가 한 답변이죠)
XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠
제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠
제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
sejin7940
조회:4680 2012.05.16 05:47
출처 | sejin7940 |
---|
'손님'이 쓴 글에 대해 '회원'이 추천한 경우
xe_document_voted_log 에 member_srl 값이 안 남고 ipaddress 가 남는 버그가 존재합니다.
이 추천내역을 이용해서 어떤 기능을 만들려할때는 문제가 발생함.
원인은...
modules/document/document.controller.php 에서
function updateVotedCount 함수에서..
// Create a member model object
$oMemberModel = &getModel('member');
$member_srl = $oMemberModel->getLoggedMemberSrl();
이 부분이
if($oDocument->get('member_srl')) {
안에 들어있는것이 원인이다.
즉, 회원이 쓴 글에 대해서만, 로그인한 사람의 member_srl 을 알아내는 구조로 되어있기에
손님이 쓴 글에 대해서는 로그인한 회원 정보를 안 알아내게 되어있다보니
뒤에 $member_srl 이 없다고 인식되어 IP 값이 저장되는 현상이 발생하는 것이다.
물론 자기가 로그아웃 하고 쓴 글에 대해 로그인하고 추천할 경우를 대비하기 위함일 수도 있으나
이는 바로 위에서 Pass if the author's IP address is as same as visitor's. 부분을 통해서 보완이 된다고 본다.
수정방법은..
// Check if document's author is a member.
if($oDocument->get('member_srl')) {
// Create a member model object
$oMemberModel = &getModel('member');
$member_srl = $oMemberModel->getLoggedMemberSrl();
부분을
// Create a member model object
$oMemberModel = &getModel('member');
$member_srl = $oMemberModel->getLoggedMemberSrl();
// Check if document's author is a member.
if($oDocument->get('member_srl')) {
이렇게 바꿔야 한다고 봅니다.
xe_document_voted_log 에 member_srl 값이 안 남고 ipaddress 가 남는 버그가 존재합니다.
이 추천내역을 이용해서 어떤 기능을 만들려할때는 문제가 발생함.
원인은...
modules/document/document.controller.php 에서
function updateVotedCount 함수에서..
// Create a member model object
$oMemberModel = &getModel('member');
$member_srl = $oMemberModel->getLoggedMemberSrl();
이 부분이
if($oDocument->get('member_srl')) {
안에 들어있는것이 원인이다.
즉, 회원이 쓴 글에 대해서만, 로그인한 사람의 member_srl 을 알아내는 구조로 되어있기에
손님이 쓴 글에 대해서는 로그인한 회원 정보를 안 알아내게 되어있다보니
뒤에 $member_srl 이 없다고 인식되어 IP 값이 저장되는 현상이 발생하는 것이다.
물론 자기가 로그아웃 하고 쓴 글에 대해 로그인하고 추천할 경우를 대비하기 위함일 수도 있으나
이는 바로 위에서 Pass if the author's IP address is as same as visitor's. 부분을 통해서 보완이 된다고 본다.
수정방법은..
// Check if document's author is a member.
if($oDocument->get('member_srl')) {
// Create a member model object
$oMemberModel = &getModel('member');
$member_srl = $oMemberModel->getLoggedMemberSrl();
부분을
// Create a member model object
$oMemberModel = &getModel('member');
$member_srl = $oMemberModel->getLoggedMemberSrl();
// Check if document's author is a member.
if($oDocument->get('member_srl')) {
이렇게 바꿔야 한다고 봅니다.