라이믹스 2.0 버전대의 버그 수정 및 기능 개선 패치입니다.
PHP 7.0 ~7.1을 지원하는 마지막 버전입니다. 2023년 1월 이후 릴리즈되는 버전은 PHP 7.2 이상에서만 사용할 수 있으며, PHP 7.4 이상을 권장합니다. 구 버전에서는 일부 기능을 사용할 수 없는 정도가 아니라, 전혀 작동하지 않게 될 예정이니 주의하시기 바랍니다.
PHP 7.0-7.1에서 정상 작동하던 모듈, 애드온, 위젯 등이 PHP 7.2 이상에서 오류를 일으킨다면 new Object를 new BaseObject로 변경해야 할 가능성이 높으니 참고하세요. 2017년 XE 1.9에서 변경된 사항이므로 대다수의 자료는 이미 수정되었거나, 수정 방법이 커뮤니티에 알려져 있을 것입니다.
개선점
- 게시판, 게시물 등을 열람할 권한이 없는 경우 로그인한 사용자와 로그인하지 않은 사용자를 구분하여 적절한 에러메시지를 표시하고, PC와 모바일 모두 일관성있게 message 모듈과 연동하며, 로그인하지 않은 사용자에게는 로그인 폼을 표시하도록 개선 (#95, #626, #853, #1278, #1907)
- 세로모드로 찍은 프로필 사진 자동 회전 기능 추가 (#1136, #1230)
- 저장함으로 이동한 쪽지를 받은 쪽지함으로 다시 이동할 수 있도록 버튼 추가 (기본 스킨 한정) (#1877)
- 스팸필터에서 각각의 규칙을 비회원에게만 적용(회원 예외처리)하거나 HTML을 포함하여 필터링하는 옵션 추가 (#1882)
- 디버그 패널에서 쿼리의 콜 스택을 모두 볼 수 있는 옵션 추가 (#1944)
- 댓글 신고 취소 기능 추가 @dewekk (#2010)
- 페이지 모듈에 소속된 문서의 짧은주소를 방문하는 경우, 페이지 주소로 리다이렉트 처리 (#2019)
- 파일 목록에서 다운로드 갯수 이하로 검색하거나 다운로드 수, 용량 등으로 정렬할 수 있도록 지원 (#2022, #2047)
- 댓글을 불러오는 대부분의 메소드에서 status를 지정할 수 있도록 지원 (#2035)
- CKEditor 간단 도구상자에 취소선(Strike) 추가 (#2037)
- 스크랩 취소시 트리거 제공 (#2038)
- PageHandler를 iterator로 사용할 수 있도록 지원 @nemo9l (#2039)
- 회원 메뉴의 언어코드를 치환하는 시점을 늦추어 서드파티 자료가 끼어들 수 있도록 지원 (#2041)
- 쉼표(,) 외에도 해시(#) 문자와 공백으로 태그를 구분할 수 있는 옵션 추가
- 통합검색 화면에 로봇 접근을 금지하는 옵션 추가
- 서드파티 자료에서 특정 문서의 스크랩 횟수, 특정 회원의 스크랩 횟수를 구할 수 있도록 지원
- config.js를 통해 CKEditor 설정을 커스터마이징할 때, CKEDITOR.toolbarMode 변수를 통해 도구상자 모드를 파악할 수 있도록 지원
- 디버그 정보를 JSON으로 볼 때 쿼리명, 소요시간, 에러메시지 등 자주 찾는 정보를 먼저 배치하여 편의 개선
- 모듈 설정을 분할 저장할 수 있도록 insertModuleSectionConfig(), getModuleSectionConfig() 등의 메소드 제공
- XML 쿼리에서 정렬 방식을 변수로 넘기지 않은 경우 기본값을 별도 지정할 수 있도록 order_default 속성 제공
- PHP 7.x에서 str_contains(), str_starts_with(), str_ends_with() 함수를 사용할 수 있도록 polyfill 제공
버그 수정
- 구 버전의 DB를 utf8mb4로 변환한 경우 lang 테이블의 name 컬럼에 인덱스가 생성되지 않는 문제 수정 (#2009)
- 게시물 신고 후 새로고침되지 않는 문제 수정 @dewekk (#2010)
- 에디터 컴포넌트, 검색창 등에서 다국어 파일이 로딩되지 않는 문제 수정 (#2011, #2012, #2020)
- 일반적이지 않은 status를 가진 글이 공지 목록에 포함되는 문제 수정 (#2024)
- 회원가입 설정 화면에서 변경 가능한 필드 이름에 다국어가 적용되지 않는 문제 수정 @dewekk (#2025, #1839)
- 한줄입력 형식의 확장변수에 0을 입력하면 수정 폼에서 빈 칸으로 나오는 문제 수정 (#2046)
- 전화번호로 로그인하는 기능 사용시, 전화번호에 하이픈을 포함하여 입력하면 로그인되지 않는 문제 수정
- DB 접속 실패시 일부 PHP 버전에서 에러메시지에 민감한 정보가 포함되어 나오는 문제 수정
- 일부 특이한 쿼리 실행시 PHP 8.x에서 발생하는 워닝 수정
- 존재하지 않는 프로필 사진, 이미지 마크 등의 경로를 삭제하려고 시도하여 일부 서버 환경에서 오류를 일으키는 문제 수정
- 특정한 상황에서 회원이 어느 그룹에도 속하지 않게 될 경우 그룹 추가/삭제의 무한루프에 빠지는 문제 수정
- 본문에 삽입한 <table>의 글꼴이 본문 글꼴 설정을 따르지 않고 12px로 고정되는 문제 수정
- 관리자 화면에서 파일을 삭제한 후, 검색 또는 정렬 조건이 초기화되는 문제 수정
정리
- 알림센터에서 사용하는 일부 컬럼의 크기 변경을 기존 사이트 업데이트시에도 적용하도록 변경 (#1906)
- 일관성없이 사용하던 "로그인"의 영어 번역을 "login"으로 통일 (#2013, #2014, #2015, #2016, #2017, #2018)
- 다음 우편번호 API 주소를 최신 권장사항에 맞게 변경 @nemo9l (#2040)
- 분류(카테고리)와 관련된 안내 문구에 오해의 소지가 없도록 개선 (#2048)
- 오타 수정 @nginx-x (#2050)
- ModuleController->insertModule() 호출시 누락된 필드의 기본값 처리 개선
- CommentModel::getComment() 메소드로 댓글을 불러올 때 불필요한 false 파라미터를 여러 개 추가하는 코드 정리
- 문서 신고 취소 과정의 지저분한 코드 정리
- 관리자 화면에서 IE8 이하 사용에 대한 경고를 제거하고, PHP 7.1 이하 사용에 대한 경고로 대체
https://rhymix.org/news/348