# 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 실시간 엔진