Commit graph

140 commits

Author SHA1 Message Date
Kijin Sung
dfa1e93c79 Remove unnecessary header and footer from class files
- 아래에 이미 author 언급이 있으므로 중복되는 저작권 표기는 제거
- 클래스 하단에 불필요한 end of file 표시 제거 (파일 하나에 클래스 하나씩이므로
  파일이 중간에 끊겼다면 클래스가 닫히지 않아 쉽게 알 수 있음)
2023-01-30 23:52:23 +09:00
Kijin Sung
c881e73c1d Remove trailing whitespace in legacy class files 2023-01-17 21:07:55 +09:00
Kijin Sung
e97f44826d Add ModuleObject->copyResponseFrom() 2022-12-28 02:14:47 +09:00
Kijin Sung
b1b25cac40 Fix #95 #626 #853 #1278 display login form if board action is not permitted and the user is not logged in 2022-12-19 20:41:36 +09:00
Kijin Sung
0fafb1cf6b #2025 좀더 근본적인 해결: 모듈 autoload시 lang파일 자동 로딩하도록 변경 2022-12-15 22:52:00 +09:00
Kijin Sung
e4e252c1b4 Add more detailed ERR_* error codes to common error messages
가장 많이 발생하는 '잘못된 요청입니다', '보안정책상 허용되지 않습니다'
오류에 좀더 구체적인 ERR_* 코드를 추가하여 디버깅 편의 개선
2022-10-13 00:23:20 +09:00
Kijin Sung
7e82d37cfa Fix PHP warnings due to unitiated variables #1866 thanks to @Erictoby 2022-02-04 01:41:56 +09:00
Kijin Sung
70cfe24cdd Use $this->user instead of $logged_info more consistently #1866 2022-02-04 01:19:30 +09:00
Kijin Sung
093fa43e37 Fix incorrect variable reference 2021-11-02 20:58:20 +09:00
Kijin Sung
8e4bfdc1a7 모듈 아래에 네임스페이스를 넣을 경우 module_path, module 변수가 잘못 세팅되는 문제 수정 2021-04-12 16:58:59 +09:00
Kijin Sung
bc7f8a73c3 ModuleObject::getInstance() 주석의 반환타입을 static으로 바꾸어 에디터가 제대로 인식하도록 개선 2021-04-10 16:18:53 +09:00
Kijin Sung
70d88bc026 Fix #1521 error in PHP 8.0 if API class doesn't exist 2020-12-25 23:12:01 +09:00
Kijin Sung
8c161bc28d Various fixes to improve PHP 8.0 compatibility
- XmlParser 클래스가 PHP 내장 클래스가 되어버려서 XeXmlParser로 변경
- 함수나 파라미터의 형태가 맞지 않아서 치명적인 오류 나는 곳 수정
- undefined 변수 및 배열 키 다수 수정 (치명적인 오류는 아님)
- 계속 수정중...
2020-10-31 00:25:26 +09:00
Kijin Sung
438386f3dc Fix #1430 path conversion error in Windows 2020-10-19 13:36:14 +09:00
Kijin Sung
99f36f56a6 Change unnecessary ModuleModel instance method calls to static calls in ModuleObject 2020-06-18 21:08:16 +09:00
Kijin Sung
5fa72f8629 Add 404 error handler and update permission data structure 2020-06-18 14:13:23 +09:00
Kijin Sung
052930a6d4 Replace some usages of getModel(), getController(), etc. with getInstance() 2020-05-18 21:45:44 +09:00
Kijin Sung
abedfbb55c Implement getInstance() for module classes 2020-05-18 21:20:38 +09:00
Kijin Sung
fda343afd1 Set $this->user only once 2020-05-18 20:41:57 +09:00
Kijin Sung
564563f56c Clean up constructors and other method signatures 2020-05-18 20:37:16 +09:00
Kijin Sung
339fd234a5 Show where an Exception was thrown or error object was returned
- 관리자에게만 표시함
  - 오류 화면을 표시하는 방식에 따라서는 표시되지 않을 수 있음
  - 코어 내부에서 발생하는 오류는 표시되지 않을 수 있음
  - message 모듈 스킨에 의존함
2020-03-19 00:58:30 +09:00
conory
0a97a0de53 모듈 기본 스킨을 셋팅하는 코드 정리
init()에서 setTemplatePath(...)하는 모듈에서 사이트 기본 스킨을 사용할 경우 '/USE_DEFAULT/' 그대로 유지되어 템플릿 경로 오류가 발생하는 문제 수정
불필요한 코드 제거
2019-01-11 11:13:48 +09:00
Kijin Sung
7d318c3122 Fix #1100 member skin being overwritten by mid defaults 2018-10-11 20:27:28 +09:00
Kijin Sung
11858c0b13 Fix #985 improve responsive skin support
- 모바일에서 반응형 스킨 사용을 기본값으로 지정한 경우
  - 사이트 디자인 설정 화면에서 /USE_RESPONSIVE/가 노출되는 문제 수정
  - 신규 생성한 게시판에서 모바일 스킨을 찾지 못하는 문제 수정

- 게시판 모듈에서 스킨 처리하는 루틴을 ModuleObject로 이관하여
  모든 모듈에서 혜택을 볼 수 있도록 함

- 반응형 스킨이 기본값으로 지정된 경우, 아무 것도 지정되지 않은 경우,
  기본값으로 지정된 스킨이 삭제된 경우 등 다양한 상황에 대처

- TODO: 회원 모듈, 커뮤니케이션 모듈 등에서 자체 스킨을 들여오는 방식 재검토
2018-10-10 23:07:48 +09:00
Kijin Sung
10c8d11785 Add FeatureDisabled and SecurityViolation exception classes 2018-09-06 10:00:47 +09:00
Kijin Sung
5b7ce90a3d Also catch exceptions in init() method of module instances 2018-09-06 00:19:27 +09:00
Kijin Sung
f6fa7493f6 Catch Rhymix\Framework\Exception in module act and triggers 2018-08-26 23:46:13 +09:00
conory
9e59a6d839 페이지 편집 페이지에서 '모듈 설정 화면' 설정과는 상관없이 무조건 사용자 레이아웃 적용
레이아웃마다 너비가 모두 다르므로 관리자 레이아웃 적용시 정확도가 엄청 떨어짐
2018-08-14 15:20:00 +09:00
Kijin Sung
6f447df66c Add option to view module config screen in admin layout
모듈 설정 화면을 관리자 레이아웃으로 보는 기능을 옵션으로 만들어 복원함
최근 수정된 관리자 레이아웃 디자인을 여기에도 적용
2018-08-14 12:41:30 +09:00
Kijin Sung
4ca3bdccc6 Display module settings in own layout
Partially revert 8d718c0
2018-08-14 11:11:58 +09:00
conory
8d718c0ae8 mid=board&act=dispBoardAdminBoardInfo등 모듈 관리자페이지에서 디자인이 깨지는 문제 수정 2018-08-08 11:56:46 +09:00
Kijin Sung
038621d1a0 Fix recursion when initializing memberModel 2018-01-13 14:33:00 +09:00
Kijin Sung
c0007767ad Fix recursion when initializing memberModel 2018-01-13 14:26:18 +09:00
Kijin Sung
9a87376e35 Always get $this->user directly from Rhymix\Framework\Session
서드파티 자료가 Context->get('logged_info')에 stdClass를 넣는 경우
$this->user->isAdmin() 등의 메소드를 사용할 수 없게 되는 문제 수정
2018-01-13 14:13:53 +09:00
Kijin Sung
1a81fd43f3 Convert Object class to BaseObject in core classes 2017-11-27 22:34:28 +09:00
Kijin Sung
9a83e71bff Allow adding error message and sprintf() variables using setError()
xpressengine/xe-core#2181 적용시 에러 반환 문법을 단순화하기 위한 조치

기존 방식: return new Object(-1, '에러메시지');
XE 제안 방식: return class_exists('BaseObject') ? new BaseObject(-1, '에러메시지') : new Object('에러메시지');
라이믹스 방식: return $this->setError('에러메시지');

기존의 setError() 메소드가 에러 코드만 받을 수 있어서 호환성 보장에 도움이 안 되므로
에러 코드와 에러 메시지를 동시에 넣을 수 있도록 개선하고,
에러 코드를 넣지 않고 에러 메시지만 지정해도 자동으로 -1 에러 코드가 들어가도록 하였음.
(첫 번째 인자가 정수인지 아닌지에 따라 판단함.)

setError(), setMessage(), setMessageType() 등 기존에 무의미한 반환값을 가지던 메소스들 모두
$this를 반환하도록 함으로써 액션이나 트리거 등의 반환값으로 유효하도록 하고,
원할 경우 method chaining까지 사용할 수 있음.

또한 에러메시지에 변수를 넣어야 할 경우
return new Object(-1, sprintf(Context::getLang('error_msg'), $var1, $var2));
이렇게 복잡해지는 문제도 해결하기 위해
setError()에 추가로 넣은 인자는 모두 자동으로 sprintf() 처리를 거치도록 함.
예: return $this->setError('error_msg', $var1, $var2);

즉, 아래와 같은 호출 형태가 모두 유효함.

  - $this->setError(-1);
  - $this->setError(-1, 'error_msg');
  - $this->setError(-1, 'error_msg', $var1, $var2);
  - $this->setError('error_msg');
  - $this->setError('error_msg', $var1, $var2);

단, 이 커밋 이후 신규 작성하는 코어 클래스나 서드파티 자료에서만 사용할 수 있음.
기존 버전과의 호환성을 유지하기를 원하는 서드파티 자료는 XE에서 제안한 삼항식을 사용해야 함.
2017-11-27 16:33:33 +09:00
Kijin Sung
02d73f3905 Fix incorrect fallback to site default skin 2017-07-01 21:52:36 +09:00
Kijin Sung
7904304dc3 Support /USE_RESPONSIVE/ as a valid mobile skin option 2017-07-01 20:25:41 +09:00
conory
8f26b925cf 접근 권한이 걸려 있을 경우 로그인 및 회원 가입이 안되는 문제 수정
https://www.xetown.com/qna/574534
2017-04-26 16:11:43 +09:00
conory
ddc7d31661 코드 정리 2017-04-10 14:58:31 +09:00
conory
3298946a5e 잘못된 동작 수정 2017-04-08 22:41:01 +09:00
conory
5ad0ee91a5 *-managers 정규식 구체화 2017-04-08 20:12:17 +09:00
conory
1d4437135c 승인 권한 (grant) 구분자 변경 2017-04-08 18:10:30 +09:00
conory
f224a4aea0 <action>에 퍼미션 속성 추가
승인 권한 (grant)도 퍼미션 체크를 할 수 있도록 추가
2017-04-07 14:55:33 +09:00
conory
5bdd0091ec 모듈이름 정규식으로 개선 2017-03-29 16:25:05 +09:00
conory
74d1b221d9 특정 모듈의 매니저를 지정할 수 있도록 개선 2017-03-29 15:33:44 +09:00
conory
cd2760c4f5 check_var 속성 기본값 제거
'all-managers', 'same-managers'  퍼미션 타입 추가
코드 정리
2017-03-29 12:54:27 +09:00
conory
da36bc5633 srl 공백 처리 2017-03-21 21:22:59 +09:00
conory
e03d8e7333 관리자 페이지는 root를 기본 퍼미션으로... 2017-03-21 17:49:06 +09:00
conory
a6d45dedae type module 오류 수정 2017-03-20 00:08:34 +09:00