DXCMS v10.0.0 패치 노트
릴리즈 버전: v10.0.0
기준 버전: v9.9.0
작성일: 2026-09-21
1. 게시판 JS 분리 (board_js_patch)
대상 파일
assets/js/dx-board-view.jsassets/js/dx-board-list.jsassets/js/dx-board-write.jsthemes/default/board/basic/view.phpthemes/default/board/basic/list.phpthemes/default/board/basic/write.phpboards/skins/gallery/view.phpboards/skins/gallery/list.php
변경 내용
- 각 스킨(view/list/write)에 인라인으로 포함되어 있던 JS를 외부 파일로 분리
dxFetch, LightBox, OG카드, 삭제 모달 등 공통 함수를dx-board-view.js로 통합dxToggleSearch,dxToggleAdmMenu,dxBulkDelete등을dx-board-list.js로 통합dxWriteAlert등을dx-board-write.js로 통합
2. 뷰 페이지 페이지네이션 vp → page 변경 (vp_patch, vp-re-patch)
대상 파일
themes/default/board/basic/view.phpboards/skins/gallery/view.php
변경 내용
- 뷰 페이지 하단 목록 페이지네이션 URL 파라미터
vp=→page=변경 - 하위 호환:
$_GET['vp']폴백 유지 - 페이지네이션 base URL을
view/{id}?→list?로 변경 (목록 페이지 기반) $_ltPaginationParam = 'page'적용
3. 갤러리/베이직 뷰 최종 패치 (view_final_patch)
대상 파일
assets/js/dx-board-view.jsthemes/default/board/basic/view.phpboards/skins/gallery/view.php
변경 내용
- LightBox HTML(
div#dx-lb-ov)을script src앞에 배치 (DOM 존재 보장) dx-cmt-del-modalHTML 추가gallery/style.css추가 로드- JS 분리 + LB HTML 삽입 최종 확정
4. 다크모드 CSS 외부 파일화 (darkmode_patch, darkmode_css_patch)
대상 파일
assets/dx-dark.css← 신규assets/js/dx-darkmode-engine.jsextend/top/01_darkmode_early.phpextend/bottom/02_darkmode_engine.php
변경 내용
injectSiteCss(),injectAdminCss()동적<style>생성 제거- 사이트+관리자 다크모드 CSS를
assets/dx-dark.css정적 파일로 분리 injectDarkLink()추가 — 다크모드 ON/OFF 시<link>태그 추가/제거 방식으로 교체scanAll(),processEl()인라인 style 주입 함수 제거 (693줄 → 119줄)01_darkmode_early.php인라인<style>블록 제거 — 다크모드일 때만<link>동적 삽입themes/default/layout/_head.php에서body.darkCSS 변수 블록 제거 (dx-dark.css로 이동)
5. 소켓 플러그인 CSS/JS 정리 (socket_patch, socket_css_patch, socket_js_patch, reply_fix_patch)
대상 파일
plugins/dx-socket/plugin.phpplugins/dx-socket/chats/default/chat.phpplugins/dx-socket/chats/bubble/chat.phpassets/js/dx-socket-core.js
변경 내용
- 채팅 스킨 CSS를
chat.php직접 출력 →plugin.php의dx_head훅으로 이동 dx-socket-core.js:dxLog,dxLogToServer함수 및 호출 제거 (1150줄 → 1105줄)- 답글 소켓 실시간 반영 버그 수정 (
socket-core.js.php)
6. DxCache 에러 로그 제거 (dxcache_patch)
대상 파일
core/DxCache.php
변경 내용
file_get_contents()전에file_exists()선체크 추가@file_get_contents()적용 — PHP error_log에 캐시 파일 없음 에러 기록 제거
7. N 배지 버그 수정 (badge_fix)
대상 파일
themes/default/layout/_init.phpthemes/default/layout/_main.php
변경 내용
- slug 중복 카테고리(
DX개발이야기,ADAY모두 slug=dx) 오배지 수정 _dxCatNewBadge()— slug 체크 시category이름도 동시 체크board_key단독키 +board_key|category복합키 모두 세팅_main.php— 부모 카테고리 N 배지에서 자식 카테고리($_subs) 체크 제거
8. 검색 기능 개선 (search_fix)
대상 파일
core/search/handler.php
변경 내용
ft_min_word_len(기본값 4) 미만 키워드는 FULLTEXT 대신 LIKE 검색으로 폴백- "흥청" 등 2~3글자 한국어 검색 정상 동작
ft_min_word_len값은 1시간 캐시로 조회 (DB 부하 최소화)- MySQL 5.6 ~ 최신 버전 모두 호환
9. 회원관리 대시보드 + 로그인 로그 (members_patch)
대상 파일
admin/index.phpadmin/members/index.phpcore/auth/Auth.phpinstall/schema.sqlinstall/migrate.php
변경 내용
- 관리자 사이드메뉴
회원 목록→회원 관리로 변경 - 회원관리 서브메뉴 8개 탭 구조 추가
- 회원 현황(대시보드) / 회원 목록 / 가입 관리 / 회원 그룹 / 권한 관리 / 활동 관리 / 제재 관리 / 탈퇴 관리
- 대시보드: 통계 카드 4개 + 최근 7일 가입 추이 바 차트 + 8개 메뉴 카드
- 활동 관리 탭: 로그인/로그아웃/실패 기록 조회 (검색, 필터, 페이지네이션)
dx_login_logs테이블 신설 (신규 설치 schema.sql + 마이그레이션)Auth.php— 로그인 성공/실패/로그아웃 시dx_login_logs자동 기록
10. 소셜 로그인 이메일 인증 연동 (social_email_patch, social_email_fix)
대상 파일
core/DxSocialAuth.phpcore/auth/_social_common.phpcore/auth/_social_notice.phpcore/auth/email-verify.php
변경 내용
- 소셜 로그인으로 신규 가입 시
use_email_verify설정 적용 use_email_verify = OFF→ 기존과 동일 (바로 가입+로그인)use_email_verify = ON→ 소셜 정보를 세션에 임시 저장 + 인증 메일 발송 + 인증 페이지 안내- 기존 회원 소셜 로그인은 인증 없이 바로 로그인
_social_notice.php— 이메일 인증 필요 시 인증 코드 입력 폼 표시 (6자리, Enter 지원)email-verify.php— 인증 완료 후dx_social_pending세션으로 소셜 회원 직접 가입+로그인
11. 홈 CSS 개선 (home_css_patch)
대상 파일
themes/default/page/home.phpthemes/default/layout/css/home.css
변경 내용
- 홈 페이지 CSS 외부 파일 분리
12. 마이페이지 개선 (mypage_patch)
대상 파일
assets/js/dx-mypage.jsassets/js/dx-mypage-memo.jsthemes/default/auth/mypage/profile.phpthemes/default/auth/mypage/memo.phpthemes/default/auth/mypage/_foot.php
변경 내용
- 마이페이지 JS 외부 파일 분리
- 쪽지 JS 외부 파일 분리
13. 게시판 고정글 관리자 기능 (boards_sticky_patch)
대상 파일
admin/boards/index.php
변경 내용
- 게시판 관리자에서 고정글(sticky) 설정 기능 추가
14. 다운로드 버그 수정 (dx-download-patch)
대상 파일
core/api/download.php
변경 내용
- 파일 다운로드 처리 버그 수정
변경 파일 전체 목록
| 파일 | 패치 |
|---|---|
assets/dx-dark.css |
신규 |
assets/js/dx-board-view.js |
JS 분리 |
assets/js/dx-board-list.js |
JS 분리 |
assets/js/dx-board-write.js |
JS 분리 |
assets/js/dx-darkmode-engine.js |
693줄→119줄 |
assets/js/dx-socket-core.js |
1150줄→1105줄 |
assets/js/dx-mypage.js |
JS 분리 |
assets/js/dx-mypage-memo.js |
JS 분리 |
themes/default/board/basic/view.php |
JS분리+vp→page |
themes/default/board/basic/list.php |
JS 분리 |
themes/default/board/basic/write.php |
JS 분리 |
themes/default/layout/_head.php |
body.dark 제거 |
themes/default/layout/_init.php |
N배지 버그 수정 |
themes/default/layout/_main.php |
N배지 버그 수정 |
themes/default/page/home.php |
CSS 분리 |
themes/default/layout/css/home.css |
신규 |
themes/default/auth/mypage/profile.php |
JS 분리 |
themes/default/auth/mypage/memo.php |
JS 분리 |
themes/default/auth/mypage/_foot.php |
JS 분리 |
boards/skins/gallery/view.php |
JS분리+vp→page |
boards/skins/gallery/list.php |
JS 분리 |
plugins/dx-socket/plugin.php |
CSS head로 이동 |
plugins/dx-socket/chats/default/chat.php |
CSS link 제거 |
plugins/dx-socket/chats/bubble/chat.php |
CSS link 제거 |
extend/top/01_darkmode_early.php |
인라인CSS 제거 |
extend/bottom/02_darkmode_engine.php |
CSS link 로드 |
core/DxCache.php |
에러로그 제거 |
core/DxSocialAuth.php |
이메일인증 연동 |
core/auth/Auth.php |
로그인 로그 기록 |
core/auth/_social_common.php |
need_verify 처리 |
core/auth/_social_notice.php |
인증 코드 입력폼 |
core/auth/email-verify.php |
소셜 가입 완료 |
core/api/download.php |
버그 수정 |
core/search/handler.php |
LIKE 폴백 추가 |
admin/index.php |
회원관리 메뉴명 |
admin/members/index.php |
대시보드+서브메뉴 |
admin/boards/index.php |
고정글 기능 |
install/schema.sql |
login_logs 추가 |
install/migrate.php |
v9.0.0 블록 추가 |
DXCMS — Copyright (C) 2026 designonex [디자인원엑스]
License: GNU Lesser General Public License v3.0 (LGPL-3.0)
더 작업을 할지 결정을 해야합니다. 좀 더 생각해보고 배포하도록 하겠습니다.
아무래도 확장 플러그인을 개발하고 배포해야 하는데....
아직 결정을 하지 못했습니다. ㅠㅠ