





1. 플러그인 개요
| 항목 | 내용 |
| 플러그인 ID | dx-fortune |
| 플러그인명 | DX Fortune (오늘의 운세 뽑기) |
| 버전 | 1.0.0 |
| 제작사 | DesignOneX |
| PHP 호환 | PHP 5.6 이상 |
| 필수 의존 | DXCMS, DxPoint (포인트 시스템) |
DX Fortune은 DXCMS 기반 사이트에서 회원이 매일 오늘의 운세 카드를 뽑아 확인할 수 있는 플러그인입니다. 총 190개(종합·사랑·금전·건강·직장학업·특별운 카테고리별 30개+)의 전문 운세 카드가 내장되어 있으며, 뽑기 후 전체 카드 목록도 카테고리별로 열람할 수 있습니다. 관리자가 카드를 직접 추가·수정·삭제할 수 있어 운영에 유연성을 제공합니다.
2. 주요 기능
2.1 회원 기능
• 카드 뒤집기 애니메이션으로 결과 확인
• 뽑은 카드: 제목, 내용, 오늘의 조언, 행운의 색/숫자/방향 표시
• 뽑기 후 전체 운세 카드 목록 열람 (카테고리 탭 필터링)
• 참여 포인트 지급 (관리자 설정 시)
• 최근 7일 뽑기 기록 확인
• 이미 뽑은 경우 재접속 시 오늘 결과 자동 표시
• 포인트 부족 또는 게임 비활성화 시 자동 안내
2.2 관리자 기능
• 서비스 제목 및 부제목 설정
• 하루 뽑기 제한 횟수 설정 (0 = 무제한)
• 참여 보상 포인트 설정 (0 = 없음)
• 운세 카드 추가 / 수정 / 삭제 / 활성화 토글
• 기본 190개 카드로 초기화
• 전체 게임 통계 (총 뽑기 수, 오늘 뽑기 수, 인기 카드 TOP 10)
• 회원별 뽑기 기록 조회
• 전체 로그 조회 및 삭제
• 개별 회원 오늘 뽑기 초기화
• 전체 회원 오늘 뽑기 초기화
3. 설치 방법
3.1 파일 업로드
2. 아래 두 경로에 파일을 업로드합니다.
| 업로드 경로 | 내용 |
| plugins/dx-fortune/ | 플러그인 본체 |
| extend/top/00_fortune_router.php | 프론트 URL 라우터 파일 |
ℹ️ extend/top/ 폴더가 없으면 직접 생성하세요.
3.2 플러그인 활성화
2. DX Fortune 플러그인을 찾아 [활성화] 버튼을 클릭합니다.
3. 활성화 시 DB 테이블 2개와 기본 카드 190개가 자동 생성됩니다.
| 생성되는 테이블 | 설명 |
| fortune_settings | 게임 설정 값 저장 |
| fortune_cards | 운세 카드 데이터 |
| fortune_logs | 회원별 뽑기 로그 |
3.3 설치 확인
ℹ️ 프론트 접속 URL: https://사이트주소/fortune
4. 관리자 기본 설정
4.1 설정 항목
| 설정 키 | 설명 |
| title | 프론트 페이지에 표시되는 서비스 제목 (기본값: 오늘의 운세) |
| subtitle | 제목 아래 표시되는 부제목 (기본값: 오늘 하루의 운세를 뽑아보세요) |
| is_active | 1 = 게임 켜짐, 0 = 게임 꺼짐 (기본값: 1) |
| daily_limit | 하루 최대 뽑기 횟수, 0 입력 시 무제한 (기본값: 1) |
| reward_point | 뽑기 참여 시 지급되는 포인트, 0이면 미지급 (기본값: 0) |
⚠️ daily_limit을 1로 설정하면 하루에 1번만 뽑을 수 있습니다. 0으로 설정하면 제한이 없습니다.
5. 운세 카드 관리
5.1 카드 구성 항목
| 항목 | 설명 |
| 카테고리 (category) | 종합(general) / 사랑(love) / 금전(money) / 건강(health) / 직장학업(work) / 특별운(special) |
| 제목 (title) | 카드 대표 제목 (예: 대길, 인연의 실, 활력 충전) |
| 등급 (grade) | legendary / rare / uncommon / normal — 별 색상과 라벨로 표시 |
| 내용 (content) | 카드의 본문 운세 해석 텍스트 |
| 오늘의 조언 (advice) | 간결한 실천 조언 |
| 행운의 색 (lucky_color) | 오늘 행운을 주는 색상 |
| 행운의 숫자 (lucky_num) | 오늘 행운을 주는 숫자 |
| 행운의 방향 (lucky_dir) | 오늘 행운을 주는 방향 |
| 배경색 (color) | 카드 배경 HEX 색상 코드 |
| 아이콘 (icon) | 카드 대표 이모지 |
| 가중치 (prob_weight) | 높을수록 더 자주 뽑힘 (상대적 확률) |
| 활성화 (is_active) | 1 = 뽑기 풀에 포함, 0 = 제외 |
5.2 등급 안내
| 등급 | 라벨 | 특징 |
| legendary | 전설 | 매우 드물게 뽑히는 최고 등급 (가중치 2~3 권장) |
| rare | 희귀 | 드물게 뽑히는 좋은 등급 (가중치 4~10 권장) |
| uncommon | 고급 | 보통보다 좋은 등급 (가중치 10~15 권장) |
| normal | 일반 | 가장 자주 뽑히는 기본 등급 (가중치 15~25 권장) |
5.3 기본 카드 수량
| 카테고리 | 카드 수 |
| 🌟 종합운 (general) | 35개 |
| 💕 사랑운 (love) | 31개 |
| 💰 금전운 (money) | 31개 |
| 💪 건강운 (health) | 31개 |
| 📈 직장/학업운 (work) | 31개 |
| 🎊 특별운 (special) | 31개 |
| 합계 | 190개 |
5.4 카드 추가
5.5 카드 수정 / 삭제
⚠️ 삭제된 카드는 복구할 수 없습니다. 삭제 전 반드시 확인하세요.
5.6 기본값으로 초기화
⚠️ 초기화 시 직접 추가하거나 수정한 카드 포함 전체 카드가 삭제됩니다. 신중히 사용하세요.
6. 관리자 대시보드
6.1 통계 탭
• 오늘 뽑기 수 (당일 기준)
• 인기 카드 TOP 10 (가장 많이 뽑힌 카드 순위)
6.2 회원 탭
• 회원별 총 뽑기 수 및 마지막 뽑기 일시
• 회원 이름 클릭 → 해당 회원의 전체 뽑기 로그 조회
• 개별 회원 [오늘 뽑기 초기화] 버튼 — 해당 회원의 오늘 로그 삭제
6.3 카드 탭
• 카드 추가 / 수정 / 삭제
• 기본값으로 초기화
6.4 로그 탭
• 날짜 · 회원 · 카드명 · 카테고리 확인
• [오늘 전체 초기화] 버튼 — 오늘 전체 회원 뽑기 로그 삭제 (모든 회원이 오늘 다시 뽑기 가능)
• [로그 전체 삭제] 버튼 — 전체 로그 삭제 (복구 불가)
6.5 설정 탭
7. 프론트 게임 화면 흐름
7.1 접속 URL
ℹ️ 로그인한 회원만 접속할 수 있습니다. 비로그인 시 로그인 페이지로 자동 이동합니다.
7.2 뽑기 전
• 참여 보상 포인트가 설정된 경우 배지로 안내
• 카드 뒷면 + 🔮 오늘의 운세 뽑기 버튼 표시
• 카드 또는 버튼 클릭으로 뽑기 시작
7.3 뽑기 과정
2. 서버에서 가중치 기반 랜덤으로 카드 선택
3. 카드 뒤집기 애니메이션 (약 1.2초)
4. 결과 카드 표시 (등급, 카테고리, 제목, 내용, 조언)
5. 행운의 색 / 숫자 / 방향 표시
6. 보상 포인트 지급 (설정된 경우)
7. 전체 운세 카드 목록 펼쳐짐
7.4 뽑기 후 — 전체 카드 목록
• 카테고리 탭 (전체 / 종합 / 사랑 / 금전 / 건강 / 직장학업 / 특별운)
• 탭 클릭 시 해당 카테고리 카드만 필터링 (페이지 이동 없이 즉시 반영)
• 각 카드에 내용, 조언, 행운 정보 모두 표시
7.5 재접속 시
7.6 게임 불가 조건
| 조건 | 결과 |
| is_active = 0 | 서비스 비활성화 안내 표시, 버튼 비활성화 |
| daily_limit 초과 | 오늘 이미 뽑았습니다 안내, 버튼 비활성화 |
8. 뽑기 확률 안내
운세 카드는 각 카드의 prob_weight(가중치) 값을 기반으로 랜덤 선택됩니다.ℹ️ 당첨 확률(%) = 해당 카드의 prob_weight ÷ 전체 활성 카드 prob_weight 합계 × 100
| 등급 | 권장 가중치 | 대략적 확률 (190개 기준) |
| legendary (전설) | 2~3 | 0.3% ~ 0.5% |
| rare (희귀) | 4~10 | 0.7% ~ 1.7% |
| uncommon (고급) | 10~15 | 1.7% ~ 2.5% |
| normal (일반) | 15~25 | 2.5% ~ 4.2% |
9. 파일 구조
| 파일/폴더 | 설명 |
| plugin.php | 플러그인 진입점, 훅 등록, AJAX 처리, 사이드바 메뉴 |
| manifest.php | 플러그인 메타 정보 |
| core/install.php | DB 설치, 설정·카드 헬퍼 함수, 기본 카드 190개 데이터 |
| admin/index.php | 관리자 페이지 (통계/회원/카드/로그/설정 탭) |
| admin/layout.php | 관리자 레이아웃 헤더 |
| admin/layout_end.php | 관리자 레이아웃 푸터 |
| admin/partials/log_table.php | 뽑기 로그 테이블 컴포넌트 |
| views/index.php | 프론트 운세 뽑기 화면 |
| extend/top/00_fortune_router.php | 프론트 URL 라우터 (/fortune) |
10. 데이터베이스 구조
10.1 fortune_settings
| 컬럼 | 설명 |
| skey | 설정 키 (title, subtitle, is_active, daily_limit, reward_point) |
| svalue | 설정 값 |
10.2 fortune_cards
| 컬럼 | 설명 |
| id | 자동 증가 PK |
| category | 카테고리 (general/love/money/health/work/special) |
| title | 카드 제목 |
| grade | 등급 (legendary/rare/uncommon/normal) |
| content | 운세 본문 |
| advice | 오늘의 조언 |
| lucky_color | 행운의 색 |
| lucky_num | 행운의 숫자 |
| lucky_dir | 행운의 방향 |
| color | 카드 배경 HEX 색상 |
| icon | 카드 이모지 |
| prob_weight | 뽑힘 가중치 (높을수록 자주 뽑힘) |
| is_active | 활성화 여부 (1=활성, 0=비활성) |
10.3 fortune_logs
| 컬럼 | 설명 |
| id | 자동 증가 PK |
| member_id | 회원 ID |
| card_id | 뽑힌 카드 ID |
| card_title | 뽑힌 카드 제목 (텍스트 보존) |
| created_at | 뽑기 일시 |
11. 뽑기 초기화 기능
11.1 개별 회원 초기화
해당 회원의 오늘 날짜 뽑기 로그가 삭제되어 해당 회원만 오늘 다시 뽑기가 가능해집니다.
11.2 전체 회원 초기화
오늘 날짜의 전체 뽑기 로그가 삭제되어 모든 회원이 오늘 다시 뽑기가 가능해집니다.
⚠️ 초기화된 로그는 복구할 수 없습니다. 신중히 사용하세요.
12. 트러블슈팅
| 증상 | 해결 방법 |
| 게임 페이지 404 오류 | extend/top/00_fortune_router.php 파일이 올바른 위치에 있는지 확인 |
| 포인트가 지급되지 않음 | DxPoint 클래스 설치 여부 및 reward_point 설정값 확인 |
| DB 오류 발생 | 플러그인 비활성화 후 재활성화하여 테이블 재생성 |
| 카드가 뽑히지 않음 | 활성화된 카드가 최소 1개 이상 있는지 확인 |
| 관리자 메뉴가 없음 | 플러그인 활성화 여부 및 plugin.php 훅 확인 |
| 기본 카드로 되돌리기 | 관리자 → 카드 탭 → [기본값으로 초기화] 클릭 |
| 뽑기 후 카드 목록이 안 보임 | 브라우저 JavaScript 오류 확인 (F12 콘솔) |
| 이미 뽑은 회원 다시 뽑기 허용 | 관리자 → 회원 탭에서 해당 회원 [오늘 뽑기 초기화] |
13. 라이선스
| 항목 | 내용 |
| 재배포·판매 | ❌ 금지 (원천 소스 90% 이상 수정 시 재배포 및 판매 가능) |
| 플러그인 원천 시스템 | DesignOneX 소유 |
| 상업적 사용 | ✅ 상업적 제작에만 허용, 학습용 |
| 학습용 라이선스 | 디자인원엑스 라이선스 |
⚠️ 플러그인 코어(plugin.php, core/, admin/) 자체의 재배포 및 판매는 금지됩니다.
본 플러그인은 디자인원엑스 라이선스를 따릅니다. 상업적 제작 목적으로만 사용 가능하며, 원천 소스의 90% 미만 수정본의 재배포 및 판매는 엄격히 금지됩니다. 플러그인의 저작권 및 소유권은 DesignOneX에 귀속됩니다.