(설문조사) 회원만 설문 조사 하도록
2007.09.04 18:56
0.1.2 알려진 문제
1. 사설 IP에서 다른 ID로도 설문에 응할 수 없다.
2. 비회원은 IP가 다른 PC에서 설문에 계속 응할 수 있다.
(회원 외 불특정 다수 설문조사용일 때에는 상관 없음)
(설문 조사 옵션에 회원 또는 비회원 포함 선택 폼을 추가 시켜야 함)
작업은 modules/poll 모듈에서 합니다.
poll.model.php 파일 편집
회원만 설문조사에 응할 수 있도록 합니다.
※ 이 부분은 오류 수정이 아니므로 꼭 필요시에만 수정 바랍니다.
아래 함수 내용 중 굵은 부분을 주석처리하고 그 밑에 return true; 를 삽입합니다.
$args->poll_srl = $poll_srl;
if(Context::get('is_logged')) {
$logged_info = Context::get('logged_info');
$args->member_srl = $logged_info->member_srl;
} else {
//$args->ipaddress = $_SERVER['REMOTE_ADDR'];
return true;
}
$output = executeQuery('poll.getPollLog', $args);
if($output->data->count) return true;
return false;
}
queries/getPollLog.xml 파일 편집
그 아래 줄을 삭제합니다.
(이 부분은 회원만 설문조사에 응할 수 있도록 하는 두번째 작업 입니다)
<condition operation="equal" column="ipaddress" var="ipaddress" default="ipaddress()" pipe="and" />
댓글 7
-
김동균
2007.09.06 15:54
좋은팁 감사합니다.. 이제 정상 작동하네요 ;ㅅ; -
그런데 설문조사는 어떻게 만드나요? 생성하는 곳이 없던데요?
-
위지윅 에디터에서
아이콘을 누르면 설문을 생성할 수 있습니다. -
덕분에 설문조사를 생성하였는데 왜 결과화면만 나오지요?
-
본인이 작성한 설문조사에는 본인은 투표할 수 없습니다.
회원이 투표했을 경우 ID당 한번만 투표가 가능합니다. -
xe촙5 2007.09.10 12:25
님 저 무식한 질문해도 되요?
저기... Context::get('logged_info');에서
context 클래스는 어디서 정의된 것인가요?
php를 전혀 몰라서 이게 내장함수인지... 어느 파일에서 선언된 것인지 알수가 없네요
꾸준히 소스를 훑어보고 있는데도 아직까지 발견하지 못했습니다.
이 다음에 님이 알고 계신 보드스킨에서 연결된 클래스와 함수들을 좀 소개해 주시면 안될까요
가령 예를 들어서
board_list랑
oDocument
document
이런 것들 불쑥 불쑥 튀어나오는 것을 보면 머리통이 복잡해진답니다.
그리고 module관련해서 정의된 것들도 좀 해 주세요
부탁 부탁 (__); -
XE 함수 및 변수에 대해 자세한 설명이 없어서 어려우시죠? 저도 처음에 많이 해맸어요;;ㅋㅋ
http://doc.zeroboard.com/ 여기 꼭 참고하시고요
Context는 http://doc.zeroboard.com/Context_8class_8php-source.html#l00013 여기를 참고하세요.

CMD