1 & 2. 다단계 계층형 답글 게시판 로직 완벽 적용
- 답글 전용 필드 구조화 (
PostModel.php): 게시물을 최초 등록하거나 답글로 달 때,parent_id,group_id,reply_depth,reply_order를 계산하여 저장하도록createPost모델 로직을 대대적으로 개편했습니다.- 새 글 작성이면
group_id는 자기 자신의id값으로 설정됩니다. - 답글 작성 시, 부모 글의
group_id를 상속받고reply_order와reply_depth에 따라 다단계로 인덱싱되며, 동일 깊이 내 순서 정렬(Order Update)도 함께 처리합니다.
- 새 글 작성이면
- 답글 목록 정렬 기준 수정 (
PostModel.php): 최근 게시물 목록을 불러올 때 기본 정렬 기준인latest에서 단순 역순이 아닌group_id DESC,reply_order ASC로 정렬하도록 리스트 출력 방식을 수정했습니다. 이로써 대댓글이 다단계로 적절한 위치에 표출됩니다. - 들여쓰기 및 아이콘 출력 (
list.php): 게시판 목록 화면 템플릿에서도$post['reply_depth']깊이 값에 비례해 마진(Margin) 간격을 주고<i class="fas fa-reply fa-rotate-180"></i>답글 아이콘이 표출되도록 반영했습니다. - 원본 글 미리보기 (
unified_write.php): 답글을 작성하는 화면에서 폼 상단에[원본 글]의 컨텐츠를 보여줘, 기존 내용을 보면서 편하게 답글을 달 수 있도록 HTML 구조를 개선했습니다.
3. 라우팅 최적화 및 구조 정리
- 불필요한 데드 코드 삭제 (
board/index.php):Router안에서 절대 도달할 수 없었던 수십 줄의 글쓰기(write) 및 수정(edit) 프로세스 잔여 코드를 삭제하여 라우터의 가독성을 크게 개선했습니다. 기존 컨트롤러와 중복된 처리를 완전히 걷어냈습니다.
4. 인라인 코드 최소화 (클린 소스코드 적용)
- 외부 CSS 통합 로드 로직 구현:
UnifiedWriteController내부에서 거대하게 출력되던 인라인 태그<style> ... </style>를 찾아내고, 이 블록을 별도의 정적 파일인/assets/css/unified-write.css파일로 새로 추출했습니다. - 클린 HTML 뷰 (
unified_write.php):echo getUnifiedWriteFormCSS()함수 부분을 제거하고 깔끔한<link rel="stylesheet">방식으로 전환하여 브라우저의 소스보기 등을 했을 때 훨씬 깔끔하게 떨어지도록 설계했습니다.
5. 환경설정에 개인정보 필터링(PII) 탭 메뉴 활성화
- 설정 탭 네비게이션 확장 (
admin/pages/site_settings.php): 최고관리자가 관리하는 사이트 기본 설정 화면 우측 끝에 [개인정보 필터링] 탭(<i class="fas fa-user-shield"></i>)을 추가했습니다. - PII 제어 옵션 폼: 해당 탭 메뉴 내부에 주민등록번호, 연락처, 이메일, 신용카드 등의 체크박스와 '마스킹 처리' 또는 '차단 방식'을 선택할 수 있는 폼 컨트롤 뷰를 구현하고, DB 저장 프로세스 레이어(
save_piiswitch-case)를 통합했습니다.
답글 구조가 완벽한 쓰레드형(Threaded) 방식으로 고도화되었고, 모든 기능이 백엔드 단에 정상 연동되었습니다.

댓글 (0)
댓글 쓰기