로또 당첨번호 & 번호 자동생성 플러그인 (lotto)

호환 가능 버전 그누보드5 5.5.x ~ 5.6.x (독립 PHP 엔트리, 코어 파일 수정 없음)
테스트한 버전 5.6.32
판매가격 400,000원

로또 당첨번호 & 번호 자동생성 플러그인 (lotto)

나눔로또 당첨번호를 자동으로 수집해 보여주고, 회원/비회원이 원하는 게임 수만큼 무작위 번호를 생성할 수 있는 플러그인입니다. 관리자가 "생성 개수"별로 필요 포인트를 자유롭게 설정할 수 있어(무료 상품도 가능) 포인트 소진 콘텐츠로도 활용할 수 있습니다. 별도의 DB 테이블 없이 data/ 폴더의 JSON/CSV 파일에 데이터를 저장하므로 설치와 이전이 간단합니다. bbs/ 하위가 아닌 plugin/lotto/ 독립 진입점이라 코어 파일을 전혀 수정하지 않습니다.

주요 기능

  • 나눔로또 최신 당첨번호 + 지난 회차 50건 목록 자동 수집·표시(최소 10분 간격 캐시, 매 요청마다 외부 서버로 나가지 않음)
  • 관리자가 설정한 "생성 개수" 상품 중 선택해 무작위 번호 생성 — 상품별 필요 포인트를 0(무료)부터 자유롭게 설정 가능, 비회원도 무료 상품은 이용 가능
  • 포인트가 필요한 상품은 로그인 + 보유 포인트 확인 후 자동 차감(그누보드 포인트 시스템 연동)
  • 로그인 회원 전용 "내가 구입한 번호" 페이지 — 생성일시/게임수/사용 포인트/번호를 이력으로 확인
  • 관리자 팝업(생성 개수/포인트 상품 관리) — 상품 추가·수정·삭제를 화면에서 바로 처리
  • 관리자 팝업(생성 현황) — 지금까지 생성된 모든 번호를 최신 당첨번호 기준 등수(1~5등/낙첨)까지 함께 확인

구성 파일

  • plugin/lotto/index.php — 당첨번호 결과 화면(싱글 페이지)
  • plugin/lotto/random.php — 번호 자동생성 화면(싱글 페이지)
  • plugin/lotto/generate.php — 번호 생성 처리 AJAX 엔드포인트(포인트 차감 포함)
  • plugin/lotto/mypage.php — 내가 구입(생성)한 번호 목록, 로그인 회원 전용
  • plugin/lotto/admin.php — 관리자 팝업: 생성 개수/포인트 상품 관리, 최고관리자 전용
  • plugin/lotto/admin.save.php — 상품 목록 저장 AJAX 엔드포인트, 최고관리자 전용
  • plugin/lotto/status.php — 관리자 팝업: 생성 현황 및 당첨 등수 확인, 최고관리자 전용
  • plugin/lotto/admin.layout.php — 관리자 팝업 2개(admin.php/status.php) 공용 레이아웃
  • plugin/lotto/lotto.common.php — 상품/구매이력 저장·조회, 번호 생성, 등수 판정 등 공통 로직
  • plugin/lotto/lotto.crawler.php — 동행복권 공개 API 기반 당첨번호 수집 로직
  • plugin/lotto/cron_update.php — CLI 전용, 서버 crontab에 등록해 당첨번호를 주기적으로 갱신(선택 사항)
  • plugin/lotto/css/style.css, plugin/lotto/css/admin.css — 화면 스타일
  • plugin/lotto/js/lotto.js, plugin/lotto/js/admin.js — 번호 생성/관리자 팝업 스크립트
  • plugin/lotto/data/.htaccess — 데이터 폴더 직접 접근 차단(Require all denied). 상품/구매이력/당첨번호 캐시 파일은 최초 실행 시 이 폴더 안에 자동 생성됩니다.

설치 방법

  1. 첨부된 zip을 그누보드 루트에 압축 해제합니다(내부 경로가 plugin/lotto/로 그대로 들어갑니다).
  2. plugin/lotto/data/ 폴더에 웹서버 쓰기 권한을 부여합니다(707). 상품/구매이력/당첨번호 캐시 파일이 이 폴더에 자동 생성·갱신됩니다.
  3. 메뉴관리 등에서 원하는 메뉴를 /plugin/lotto/index.php(당첨번호), /plugin/lotto/random.php(번호 자동생성)로 연결합니다.
  4. 최고관리자로 random.php 접속 후 우측 상단 톱니바퀴(⚙) 아이콘을 클릭하면 생성 개수/필요 포인트 상품을 설정할 수 있습니다. 최초 접속 시 "1게임 무료" 상품이 자동으로 만들어집니다.
  5. (선택) 매주 추첨 직후 당첨번호를 자동 갱신하려면 서버 crontab에 plugin/lotto/cron_update.php를 등록합니다(파일 상단 주석에 예시 명령이 포함되어 있습니다). 등록하지 않아도 페이지 접속 시 10분 간격으로 자동 갱신되므로 필수는 아닙니다.

※ 당첨번호는 동행복권 홈페이지가 공개한 데이터를 주기적으로 수집해 보여주는 것이며, 번호 생성 기능은 완전한 무작위 추첨으로 당첨을 보장하지 않습니다.

업데이트 내역

  • 2026-07-24 — 최신 당첨번호 카드 아래에 등수별(1~5등) 당첨결과 표를 추가했습니다. 등위별 총 당첨금, 당첨게임 수, 1게임당 당첨금, 당첨기준, 비고(1등 당첨게임의 자동/수동/반자동 게임 수)를 확인할 수 있습니다. 동행복권 결과 페이지(/lt645/result)가 실제로 쓰는 /lt645/selectPstLt645InfoNew.do API 응답에 당첨금 정보가 이미 포함돼 있어, 별도 API 호출 없이 기존 크롤러(lotto.crawler.php)에서 함께 수집하도록 확장했습니다(data/lottoRes.csv 저장 컬럼 확장, 옛 형식 캐시 파일과도 호환).
  • 2026-07-24 — 라이선스 안내 섹션을 추가했습니다(당첨번호 데이터 출처, 수집 스크립트 라이선스, 그누보드5(LGPL 2.1) 실행환경 의존성 고지). 아울러 lotto.crawler.php 상단 주석에 있던 참고 블로그 글 출처 표기를 정리했습니다 — 현재 크롤러는 해당 글이 쓰던 구엔드포인트가 아닌 완전히 다른 신규 엔드포인트를 독자적으로 재구현해 사용 중이라 출처 표기 의무가 없다고 판단했습니다.

라이선스

  • 당첨번호 데이터 — 동행복권(나눔로또) 홈페이지가 공개한 당첨정보를 주기적으로 수집해 보여주는 것이며, 동행복권이 공식 제공하는 API가 아닌 비공식 수집입니다. 당첨번호 자체는 저작권 보호 대상이 아닌 사실 정보이며, 본 플러그인은 동행복권과 무관합니다.
  • 당첨번호 수집 스크립트(lotto.crawler.php) — 자체 개발한 코드로 외부 오픈소스 코드를 포함하지 않으며, 별도의 오픈소스 라이선스가 적용되지 않습니다. 플러그인 전체와 동일하게 배포자가 지정한 라이선스를 따릅니다.
  • 실행환경 의존성 — 그누보드5(㈜에스아이알소프트, LGPL 2.1) 위에서 동작합니다. common.php만 불러와 세션/DB/포인트 시스템을 이용할 뿐 그누보드5 코어 파일을 수정하거나 포함하지 않습니다.

첨부파일

댓글목록

등록된 댓글이 없습니다.

전체 9