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.
5.4 KiB
5.4 KiB
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.jscss/: default, mobile, default_shop, mobile_shop, bacara/bacara-button/bacara-frame, slotindex
8. 마이그레이션 난이도
높음. 다음을 재구현해야 함:
- 28개 플러그인 + 훅 시스템 → Next.js 미들웨어/라우트 핸들러
- Eyoom 테마/레이아웃 시스템 → Next.js 컴포넌트 라이브러리 + 헤드리스 CMS 패턴
- Swiun 슬롯 API 브릿지 → Node.js API 프록시
- 27개 게임 랭크 cron → Node.js 스케줄러 (BullMQ 등)
- GB5 + Eyoom 이중 인증 → Next.js 통합 auth (NextAuth.js)
- 바카라/룰렛 게임 → WebSocket 실시간 엔진