0e549cad46
Original PHP source rsync'd from production server (slot-ss.com) on 2026-04-27. Excluded from import: - data/editor (74GB user uploads), data/file (8.5GB attachments) - data/member_image, vendor/, db100up/, caches/sessions/logs/tmp Includes: - 11,636 files, ~206MB source code (gnuboard5 v5.6.6, Eyoom builder, YoungCart 4) - 28 plugins (bacara, chatbot, cron, swiunApi, sns, sms5, ...) - Active theme: eb4_maga_005 (Eyoom magazine layout) - Local Docker dev stack (PHP 7.4 + Apache + Redis + MariaDB) under docker/ - PostgreSQL migration setup (pgloader configs) under db/ - Architecture/migration docs under docs/ Single non-source patch: src/config.php now reads G5_DOMAIN_OVERRIDE env var so the local Docker stack can serve at http://localhost:8088 without touching the production constant. Falls back to https://slot-ss.com when unset.
87 lines
5.4 KiB
Markdown
87 lines
5.4 KiB
Markdown
# Source Code Inventory — slot-ss.com
|
|
|
|
원본 서버: `103.31.14.207:/var/www/slot-ss.com`
|
|
로컬 사본: `/Users/chpark/slot/src/` (206MB, 11,652개 파일)
|
|
사용자 업로드(`data/editor` 74GB, `data/file` 8.5GB), `vendor/`, `db100up/`, 캐시/세션/로그는 제외
|
|
|
|
## 0. 베이스 스택
|
|
- **그누보드5 v5.6.6** + **이윰빌더(Eyoom)** + **영카트(YoungCart) v5.4.5.5.1**
|
|
- PHP + MariaDB 10.5.25, Apache mod_rewrite
|
|
- 한글 슬롯/카지노 커뮤니티 (게시판 + 쇼핑몰 + 게임 + 챗봇)
|
|
|
|
## 1. 진입점
|
|
|
|
| 파일 | 역할 |
|
|
|------|------|
|
|
| `index.php` | 메인 디스패처. 활성 테마의 `index.php`를 include, 없으면 모바일/기본으로 폴백. 게시판(free, qa, notice, gallery) 최신글 표시 |
|
|
| `config.php` | 도메인, 경로(G5_PATH, G5_SHOP_PATH 등), 테마 선택, charset |
|
|
| `common.php` | ~900줄 부트스트랩. DB 함수, 세션/인증, SQL/XSS 필터, GB5/Eyoom 초기화 |
|
|
| `_common.php` | common.php include + 커뮤니티/쇼핑 활성화 체크 |
|
|
| `head.php` / `tail.sub.php` | 테마별 헤더/푸터 디스패치 |
|
|
| `version.php` | GB5 v5.6.6, YC4 v5.4.5.5.1 |
|
|
|
|
## 2. 라우팅 (`.htaccess`, mod_rewrite)
|
|
- `^shop/brand-([0-9a-z]+)$` → `shop/brand.php?br_cd=$1`
|
|
- `^shop/list-([0-9a-z]+)$` → `shop/list.php?ca_id=$1`
|
|
- `^shop/([0-9a-zA-Z_\-]+)$` → `shop/item.php?it_id=$1`
|
|
- `^group/([0-9a-zA-Z_]+)$` → `bbs/group.php?gr_id=$1`
|
|
- `^page/([0-9a-zA-Z_]+)$` → `page/?pid=$1`
|
|
- `^mypage/([0-9a-zA-Z_]+)$` → `mypage/?t=$1`
|
|
- `^content/([0-9a-zA-Z_]+)$` → `bbs/content.php?co_id=$1`
|
|
- `^([0-9a-zA-Z_]+)$` → `bbs/board.php?bo_table=$1`
|
|
- `^([0-9a-zA-Z_]+)/([0-9]+)$` → 게시판 + 글번호
|
|
|
|
## 3. 디렉토리 맵
|
|
|
|
| 디렉토리 | 크기 | 설명 |
|
|
|----------|------|------|
|
|
| `adm/` | 40M | 관리자: 인증, 게시판/쇼핑/회원/포인트 관리, betting_list, roulette/lottery 어드민 |
|
|
| `bbs/` | 2.6M | 게시판 코어: 글/댓글/Q&A. 12개 랭크 모듈, blacklist inspection, 바카라 프레임 |
|
|
| `shop/` | 3.8M | 쇼핑몰: 상품, 장바구니, 주문, 이니시스 결제 |
|
|
| `eyoom/` | 2.0M | Eyoom 빌더 코어 (CMS 템플릿 시스템). class/, core/, lib/, theme/ |
|
|
| `theme/` | 70M | **활성: eb4_maga_005** (매거진 레이아웃), 폴백: basic, eb4_basic |
|
|
| `plugin/` | 22M | 28개 플러그인 (아래 §6) |
|
|
| `lib/` | 5.7M | 코어 라이브러리: cache, hook, redis, sphinx, lottery, parsing 등 |
|
|
| `skin/` | 1.5M | 게시판/쇼핑 레거시 그누보드 스킨 |
|
|
| `mobile/` | 2.1M | 모바일 전용 템플릿 |
|
|
| `lottery/` | 104K | 복권 게임 (`index.php`, `bok.php`) |
|
|
| `roulette/` | 896K | 룰렛 게임 (`index.php`, 휠 이미지) |
|
|
| `extend/` | 116K | 확장 훅, SMS/OTP/소셜 설정 |
|
|
| `data/` | 45M | 런타임: 설정 캐시, eyoom 설정 (`eyoom.config.php`, `eyoom.eb4_maga_005.config.php`) |
|
|
| `mypage/` | 52K | 회원 마이페이지 |
|
|
| `page/` | 16K | CMS 정적 페이지 |
|
|
| `app/`, `public/` | 작음 | jwt_helper.php 토큰 처리 |
|
|
|
|
## 4. Eyoom 테마 시스템
|
|
- 활성 테마: **`theme/eb4_maga_005/`**
|
|
- 구조: `head.html.php`, `index.html.php`, `tail.html.php`, `side.html.php`, `skin/`(보드/숍 스킨), `shop/`, `page/`, `plugins/`, `css/`, `js/`, `image/`, `emoticon/`, `meta_config.php`, `seo.map.php`
|
|
- 폴백: `theme/basic/`, `theme/eb4_basic/`
|
|
|
|
## 5. 슬롯/카지노 커스텀 기능
|
|
|
|
| 기능 | 위치 |
|
|
|------|------|
|
|
| **바카라** | `plugin/bacara/` (betting, get_game_result, get_betting_list, get_game_data), `bbs/bacara.php`, `bbs/bacararank.php`, `css/bacara*.css` |
|
|
| **룰렛** | `roulette/index.php`, `adm/roulette/` (roulettelist, rouletteform, rewardlist 등) |
|
|
| **복권** | `lottery/index.php`, `lottery/bok.php`, `lib/lottery.lib.php`, `adm/roulette/lotterywinninglist.php` |
|
|
| **Swiun 슬롯 API** | `plugin/swiunApi/` (trans_point, game, get_betlist) — 외부 슬롯사 포인트 브릿지 |
|
|
| **게임 포인트/랭크** | `plugin/cron/auto.{slot,bacara,marilyn,...}rankup.php` (27개), `fake_game_points.php` |
|
|
| **블랙리스트 검수** | `bbs/inspection.php`, `bbs/inspection.list.update.php`, `bbs/inspection.update.php`, `adm/eyoom_admin/core/board/blacklist_search.php` |
|
|
| **베팅 관리자** | `adm/betting_list.php`, `adm/betting_list_update.php` |
|
|
|
|
## 6. 플러그인 (28개)
|
|
PHPMailer, ask-otp, **bacara**, browscap, **chatbot**(api_proxy/feedback), cron(42 파일, 27개 랭크업 작업), debugbar, editor, games, htmlpurifier, inicert, jqplot, jquery-ui, kcaptcha, kcpcert, lgxpay, notifier, **okname**(KO 본인인증), recaptcha/recaptcha_inv, **roulette**, slack, **sms5**(Aligo), **sns**(Naver/Kakao/Facebook 로그인), sns_share, social, **swiunApi**, syndi(Naver)
|
|
|
|
## 7. 프론트엔드 라이브러리
|
|
- `js/`: jQuery 1.12.4 + 1.8.3 + migrate-1.4.1, swiper, owlcarousel, remodal, tooltipster, font-awesome, jqplot, modernizr, html5.js, md5.js, common.js, shop.js, certify.js, autosave.js
|
|
- `css/`: default, mobile, default_shop, mobile_shop, bacara/bacara-button/bacara-frame, slotindex
|
|
|
|
## 8. 마이그레이션 난이도
|
|
**높음**. 다음을 재구현해야 함:
|
|
1. 28개 플러그인 + 훅 시스템 → Next.js 미들웨어/라우트 핸들러
|
|
2. Eyoom 테마/레이아웃 시스템 → Next.js 컴포넌트 라이브러리 + 헤드리스 CMS 패턴
|
|
3. Swiun 슬롯 API 브릿지 → Node.js API 프록시
|
|
4. 27개 게임 랭크 cron → Node.js 스케줄러 (BullMQ 등)
|
|
5. GB5 + Eyoom 이중 인증 → Next.js 통합 auth (NextAuth.js)
|
|
6. 바카라/룰렛 게임 → WebSocket 실시간 엔진
|