묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
친구 중복 등록되는 문제..
2013.07.12 01:43
테스트를 하던중...
아이디를 클릭하면 뜨는 팝업창에서 친구등록을 하면 계속 등록이 됩니다.
친구목록에서 보면 같은 아이디가 여러개 존재합니다..
친구등록할때부터 이사람이 친구인지 매칭하여 팝업메세지를 띄워주고 싶은데..
어떻게 수정하여야 하는지 궁금합니다...
xe/modules/communication/communication.controller.php 파일에서 439번째 줄 밑에 아래 파란색 코드 추가
--------------------------------------------------------------------------------
function procCommunicationAddFriend()
{
// Check login information
if(!Context::get('is_logged'))
{
return new Object(-1, 'msg_not_logged');
}
$logged_info = Context::get('logged_info');
$target_srl = (int) trim(Context::get('target_srl'));
if(!$target_srl)
{
return new Object(-1, 'msg_invalid_request');
}
// Variable
$args = new stdClass();
$args->friend_srl = getNextSequence();
$args->list_order = $args->friend_srl * -1;
$args->friend_group_srl = Context::get('friend_group_srl');
$args->member_srl = $logged_info->member_srl;
$args->target_srl = $target_srl;
// Check if target is already friend
$oDB = &DB::getInstance(); // db 정보 얻기
$query = $oDB->_query("SELECT friend_srl FROM xe_member_friend WHERE member_srl = '$args->member_srl' AND target_srl = '$args->target_srl'"); // 쿼리 생성
$result = $oDB->_fetch($query); // 쿼리 실행
if (count($result))
{
alertScript('Target is already friend.'); // 에러 메세지
closePopupScript(); // 팝업 닫기
return;
}
$output = executeQuery('communication.addFriend', $args);
if(!$output->toBool())
{
return $output;
}
$this->add('member_srl', $target_srl);
$this->setMessage('success_registed');
if(!in_array(Context::getRequestMethod(), array('XMLRPC', 'JSON')))
{
global $lang;
htmlHeader();
alertScript($lang->success_registed);
closePopupScript();
htmlFooter();
Context::close();
exit;
}
}
위 코드를 추가하면 친구등록을 하려는 대상이 이미 친구리스트에 있을때 아래와 같이 뜹니다.