메뉴 건너뛰기

XE : Xpress Engine


XE에 대한 생각! XE에 대한 공감! - XE를 사용하는 다른 사람들과 의견을 나눌 수 있는 곳입니다. 많은 의견 공유로 더 좋은 XE를 만들어 주세요.


XE 사용팁

이와 비슷한 내용의 글을 이미 Simulz님께서 올린 적이 있습니다. 하지만, 현재 1.0.3 버전과는 차이가 있어서 다시 내용을 정리해서 올립니다.

참고로 이 글은 제 블로그에 올렸던 글을 수정해서 올립니다.


제로보드XE의 설문조사 모듈은 기본적으로 로그인하지 않은 상태에서도 설문에 참여할 수 있기 때문에 때로는 이것이 문제가 될 수도 있습니다. 그래서 로그인하지 않은 사용자는 설문조사에 참여할 수 없도록 하기 위해 조금 손을 봐줄 필요가 있습니다.

우선 modules/poll/poll.model.php 파일에 있는 isPolled() 함수를 수정합니다.

modules/poll/poll.model.php
        function isPolled($poll_srl) {
            $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'];
            }
            $output = executeQuery('poll.getPollLog'+
 '+
 ', $args);
            if($output->data->count) return true;
            return false;
        }

이렇게 되어 있는 함수를

modules/poll/poll.model.php
        function isPolled($poll_srl) {
            $args->poll_srl = $poll_srl;

            if(Context::get('is_logged')) {
                $logged_info = Context::get('logged_info');
                $args->member_srl = $logged_info->member_srl;
            }
            $args->ipaddress = $_SERVER['+
 'REMOTE_ADDR'];

            $output = executeQuery('poll.getPollLog', $args);
            if($output->data->count) return true;
            return false;
        }

와 같이 25, 26, 27번째 줄을 수정합니다. 이 함수를 수정하는 것은 실제로 로그인하지 않은 사용자가 설문조사에 참여하지 못하도록 하는 것과는 큰 관계는 없지만, 이렇게 함으로 중복 투표를 막을 수 있기 때문에 수정하는 것입니다.

그런 다음, 같은 파일의 getPollHtml() 함수를 수정합니다.

modules/poll/poll.model.php
            if($poll->stop_date > date("Ymd")) {
                if($this->isPolled($poll_srl)) $tpl_file = "result";
                else $tpl_file = "form";
            } else {
                $tpl_file = "result";
            }

이렇게 되어 있는 부분을

modules/poll/poll.model.php
            if($poll->stop_date > date("Ymd")) {
                if($this->isPolled($poll_srl) or !Context::get('is_logged')) $tpl_file = "result";
                else $tpl_file = "form";
            } else {
                $tpl_file = "result";
            }

이와 같이 수정해줍니다.

이제 로그인하지 않은 사용자의 경우 설문조사 화면에서 결과 화면을 보여줌으로 결과적으로 로그인하지 않으면 설문조사에 참여할 수 없게 됩니다.

단, 이렇게 수정을 하면 모든 설문조사에 참여하고자할 때는 로그인을 해야합니다. 따라서, 경우에 따라 로그인하지 않은 사용자가 설문조사에 참여하도록 하기 위해서는 이렇게 수정해서는 안됩니다.

각각의 설문조사에서 로그인 사용자만 참여 가능하도록 설정하기 위해서는 DB 테이블 등을 수정해줘야 하기 때문에 현재로서는 별로 권하고 싶지 않습니다.

번호 제목 글쓴이 날짜 조회 수
공지 질문은 묻고 답하기로~ TSCMD 2012.02.03 366
234 게시물목록의 조회수 등의 글씨(폰트), 폰트 크기, 색깔 변경 [1] [레벨:3]winter548 2008.05.17 5649
233 1.0.3 오토링크(autolink) 디자인 수정본 [6] file [레벨:2]위드파트너 2008.05.18 6112
232 홈페이지에 닉네임 대신 실명으로 뜨게 만들기 [5] file [레벨:7]findwind 2008.05.19 6171
231 본문과 댓글 입력의 기본 폰트. 크기 한번에 변경하기... [3] [레벨:3]winter548 2008.05.19 6084
230 회원 관리 리스트에 생일/이메일 추가하기 [4] file [레벨:11]老姜君 2008.05.19 4892
229 보안로그인 사용시 기본포트가 아닐 경우 [2] [레벨:2]bluemind69 2008.05.20 5868
228 글 쓸 때 자동으로 비밀 글 체크하기(''비고수''님의 팁) [1] [레벨:15]띵야 2008.05.20 6921
227 버튼 글씨체 바꾸기.... [2] [레벨:3]winter548 2008.05.20 5897
226 태그 위젯으로 생성된 태그 리스트에서 한글태그 검색이 안될때 해결법 [3] [레벨:1]봄대리 2008.05.21 4832
225 배경음악 넣기(ZBXE를 기본폴더에 설치한 경우) [4] [레벨:30]백성찬 2008.05.26 5470
224 IE6 한글도메인에 ZBXE 때문에 속 썩이시는 분 [1] [레벨:2]햇살과수원 2008.05.26 5445
» 설문조사에서 로그인하지 않은 사용자는 투표하지 못하도록 수정하기 [3] CMmooo 2008.05.29 6464
222 제로보드와 플래시 게시판 연동해서 사용하기 [5] [레벨:1]Park Ki-tae 2008.05.30 7619
221 제로보드4 스타일 이전글/다음글 구현하기 (라르게덴님 팁 재탕) [12] file [레벨:11]老姜君 2008.05.30 6058
220 본문글 하단 목록 옵션 처리하기 [4] file [레벨:11]老姜君 2008.05.31 5357
219 회원 가입시 admin이 가입 승인이후 동작시키도록 변경!! [1] [레벨:3]dhseo 2008.06.02 5305
218 레이아웃에 스크립트를 이용한 화면을 띄우고 싶은 경우 [3] [레벨:3]dhseo 2008.06.03 5983
217 1.0.3버전 외부 페이지 쿼리 스트링 붙일때 주의 하세요. [레벨:1]그라미 2008.06.03 5080
216 일정 기간이 지난 글에 코멘트 등록 제한 [3] file [레벨:11]老姜君 2008.06.03 5778
215 링크 사이트 제작을 위한 어드바이스 - Planning 1 - [7] file [레벨:6]Hammer 2008.06.04 1004