Dmusic V2.6 beta ( moamusic 2.6 컨버팅) : 올릴깔 말까 하다가 올립니다.
아직 자료가 많지 않은 것같아...
자료삼아 보시라고 올립니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
# 🎵 DMUSIC v2.6
DXCMS 기반 유튜브 스트리밍 음악 플레이어
그누보드5 플러그인 `moamusic`을 DXCMS Direct 방식 독립 프로그램으로 재작성
---
## 📋 시스템 요구사항
- DXCMS (최신 버전 권장)
- PHP 5.6 이상 (PHP 7.x / 8.x 권장)
- MySQL 5.6 이상
- DXCMS가 설치된 서버
---
## 🚀 설치 방법
### 1단계 - 파일 업로드
DXCMS 루트 디렉토리 아래에 `/dmusic/` 폴더로 업로드합니다.
```
/your-site-root/
├── dx_load.php ← DXCMS 루트 (이 파일이 있어야 함)
├── index.php
└── dmusic/ ← 이 폴더 업로드
├── index.php
├── install.php
└── ...
```
### 2단계 - DB 테이블 생성 (최초 설치)
브라우저에서 접속:
```
https://사이트주소/dmusic/install.php
```
11개 테이블이 자동으로 생성됩니다.
### 3단계 - 설치 파일 삭제 또는 접근 제한
```
# 삭제 권장
rm /dmusic/install.php
```
또는 `.htaccess`로 접근 차단:
```apache
<Files "install.php">
Order deny,allow
Deny from all
</Files>
```
---
## 🔄 업데이트 방법 (기존 설치 → v2.6)
### 1단계 - 파일 덮어쓰기
기존 `/dmusic/` 폴더에 새 파일을 업로드합니다.
### 2단계 - DB 마이그레이션 실행
브라우저에서 **관리자 로그인 후** 접속:
```
https://사이트주소/dmusic/install_update.php
```
### 3단계 - 업데이트 파일 삭제
```
rm /dmusic/install_update.php
```
---
## 📁 파일 구조
```
dmusic/
├── index.php # 메인 홈 (TOP10, 최신곡, 최신앨범)
├── track.php # 곡 목록 / 상세
├── album.php # 앨범 목록 / 상세
├── artist.php # 아티스트 목록 / 상세
├── chart.php # 차트
├── search.php # 검색
├── mypage.php # 마이뮤직 (로그인 필요)
├── artist_studio.php # 아티스트 스튜디오 (곡/앨범 업로드)
├── install.php # 최초 설치 (이후 삭제)
├── install_update.php # 업데이트 마이그레이션 (이후 삭제)
├── dmusic.config.php # 상수 정의
├── dmusic.boot.php # 부트스트랩 (dx_load.php 연결)
├── adm/
│ ├── dashboard.php # 관리자 대시보드
│ ├── approve.php # 콘텐츠 승인/반려
│ ├── track_edit.php # 곡 관리
│ ├── album_edit.php # 앨범 관리
│ └── artist_edit.php # 아티스트 관리
├── api/
│ └── ajax.php # Ajax API (재생/좋아요/플레이리스트)
├── lib/
│ └── dmusic.lib.php # 핵심 라이브러리
├── skin/
│ ├── header.skin.php # 헤더
│ └── footer.skin.php # 하단 플레이어 바
└── assets/
└── css/
├── dmusic.css # 메인 CSS
└── admin.css # 관리자 CSS
```
---
## 🗄️ DB 테이블 목록 (prefix: dx_dmusic_)
| 테이블 | 설명 |
|--------|------|
| `dx_dmusic_genre` | 장르 |
| `dx_dmusic_artist` | 아티스트 |
| `dx_dmusic_album` | 앨범 |
| `dx_dmusic_track` | 곡 |
| `dx_dmusic_playlist` | 플레이리스트 |
| `dx_dmusic_playlist_track` | 플레이리스트-곡 연결 |
| `dx_dmusic_play_log` | 재생 로그 |
| `dx_dmusic_like` | 좋아요 |
| `dx_dmusic_comment` | 댓글 |
| `dx_dmusic_recent` | 최근 재생 |
| `dx_dmusic_chart` | 차트 스냅샷 |
---
## 🔐 DXCMS 회원연동 방식
그누보드5의 `$is_member`, `$member['mb_id']` 방식 대신 DXCMS 방식 사용:
```php
// 로그인 확인
dx_is_login()
// 회원 정보
$auth = Auth::getInstance();
$user = $auth->user();
$user_id = $user['id']; // DXCMS user_id (VARCHAR(30), BIGINT 밀리초 타임스탬프)
// 관리자 확인
dx_is_admin()
```
> ⚠️ DXCMS의 `user_id`는 밀리초 타임스탬프 문자열입니다. `(int)` 캐스팅하지 마세요.
---
## ⚙️ 주요 기능
### 사용자
- 🎵 유튜브 기반 음악 재생 (하단 플레이어 바)
- 📊 실시간 차트 (일/주/월간)
- ❤️ 좋아요 / 플레이리스트
- 🕐 최근 재생 기록
- 🔍 곡/아티스트/앨범 검색
### 아티스트 스튜디오
- 🎤 아티스트 프로필 등록
- 🎵 곡 업로드 (유튜브 URL 연동)
- 💿 앨범 등록
- 관리자 승인 후 공개
### 관리자
- 📊 대시보드 (통계, 장르관리, 차트 갱신)
- ✅ 콘텐츠 승인/반려 관리
- 🎵 곡/앨범/아티스트 편집·삭제
---
## 📝 변경 이력
### v2.6 (현재)
- 그누보드5 플러그인에서 DXCMS Direct 방식 독립 프로그램으로 전환
- DXCMS 회원연동 (Auth::getInstance() 방식)
- PDO Database::getInstance() 방식 DB 처리
- 아티스트 스튜디오 기능 추가
- 관리자 승인 시스템 추가
---
## 📞 지원
- DXCMS 공식 사이트: https://designonex.com
- DXCMS 매뉴얼: https://designonex.com/dxcms-manual
Dmusic V2.6 beta ( moamusic 2.6 컨버팅) : 올릴깔 말까 하다가 올립니다.
모아비즈