Commit graph

2396 commits

Author SHA1 Message Date
Kijin Sung
86214cb0fa Return a more descriptive error when query result class is not found 2021-04-26 15:45:31 +09:00
Kijin Sung
32621dd34e Return a more descriptive error when module class is not found 2021-04-26 15:42:30 +09:00
Kijin Sung
ce5dc45326 Allow class name to be specified when executing queries
PDO에는 결과를 어떤 클래스로 받아올지 선택하는 기능이 있는데 (기본값 stdClass)
executeQuery()로 쿼리를 실행할 때도 이 기능을 활용할 수 있도록 개선합니다.
stdClass를 받아와서 속성들을 추출한 후 documentItem에 도로 집어넣는 등
비효율적인 부분을 추후 개선하는 데 도움이 될 것으로 예상합니다.
2021-04-25 13:18:47 +09:00
Kijin Sung
76f3376670 Add getStatus() and getStatusText() methods to document and comment for easy management 2021-04-20 22:38:42 +09:00
Kijin Sung
741a714abd Set standalone attribute to 'auto' if new class syntax is used in module.xml
- 새로 추가된 클래스 문법 사용시 standalone 속성 기본값은 true가 아닌 auto로 지정

- standalone 속성의 의미는 아래와 같음
  - true: 항상 접근 허용 (기존 방식으로 선언한 액션의 기본값)
  - false: mid가 소속 모듈과 일치하거나, admin 모듈인 경우에만 접근 허용
  - auto: module 또는 mid가 소속 모듈과 일치하거나, admin 모듈인 경우에만 접근 허용
    (즉, false와 비슷하지만 exec_json 함수 등에서 module+act로 호출하는 경우에는
    mid가 없더라도 module만 일치하면 호출할 수 있도록 허용하여 개발 편의를 높임)

- 단, global_route 속성이 있는 경우 standalone 속성 기본값은 true임
  (전역 짧은주소는 mid 없이 호출될 수밖에 없으므로)
2021-04-20 21:45:21 +09:00
Kijin Sung
a6ace52c9e Version 2.0.10 2021-04-13 00:36:28 +09:00
Kijin Sung
73695ccdd2 For backward compatibility, allow both GET and POST if an action does not specify method 2021-04-12 22:21:58 +09:00
Kijin Sung
62d9befb0d Support custom classes in module.xml 2021-04-12 21:03:03 +09:00
YJSoft
6f99db6953
Update Cloudflare IP range list
Apr 8, 2021:
104.16.0.0/12 removed from ips-v4
104.16.0.0/13 added to ips-v4
104.24.0.0/14 added to ips-v4
2021-04-09 13:01:12 +09:00
Kijin Sung
f0085f816e Version 2.0.9 2021-03-31 21:30:21 +09:00
Kijin Sung
4bf232569c Fix #1663 add meta tag for author 2021-03-31 21:01:07 +09:00
Kijin Sung
532e172d41 Fix #1658 show error message if debug is enabled for current user 2021-03-18 00:27:15 +09:00
Kijin Sung
1003f0ea49 Fix #1642 Fix #1647 보완
주의: 여기서 Context가 아닌 Session을 참조하면 무한루프에 빠지면서 memory_limit을 초과할 수 있음
2021-03-17 23:54:18 +09:00
Kijin Sung
fef8b10ce6 Fix #1642 Fix #1647 distinguish not-logged-in state before session start and after session start 2021-03-17 23:40:29 +09:00
Kijin Sung
a107ef1b90 Fix #1662 missing color scheme class on <body> when cookie exists 2021-03-17 23:01:43 +09:00
Kijin Sung
a64b91f72d Change default unregistered domain action to 'display' 2021-03-14 15:49:33 +09:00
Kijin Sung
72e7532764 Fix compatibility with PBKDF2 hashes with iteration counts that are not zero-padded 2021-03-14 00:26:15 +09:00
Kijin Sung
77b522249d Simplify autoloader logic 2021-03-08 16:51:39 +09:00
Kijin Sung
be1fbc9d65 Version 2.0.8 2021-02-28 11:16:47 +09:00
Kijin Sung
6b6c0eacfc Fix SQL error when list count is 0 2021-02-26 16:25:11 +09:00
Kijin Sung
91b03795dc Fix rx_ajax not working when a form contains file uploads 2021-02-24 11:02:29 +09:00
Kijin Sung
459fe2d959 Fix #1630 short URL for file download conflicts with other nginx directives
다운로드 짧은주소는 /files/download/123/456/filename.jpg 와 같은 형태를 띠므로
nginx에서 특정 확장자에 캐싱 헤더 추가 등의 설정을 걸어놓은 경우
해당 설정이 짧은주소보다 먼저 적용되어 짧은주소에서 404 오류가 나는 문제 해결.
2021-02-23 20:40:00 +09:00
Kijin Sung
e423cba24d Use Origin header before Referer to check CSRF
OWASP에서는 Referer 헤더보다 Origin 헤더를 먼저 체크하는 것을 권장합니다.
Referer가 비어 있는 경우에도 Origin 헤더에는 유용한 정보가 들어 있을 수 있기 때문입니다.

https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html
2021-02-23 16:51:46 +09:00
Kijin Sung
f4758b7570 Fix #1610 memory leak in initial debug status check 2021-02-10 00:27:04 +09:00
Kijin Sung
9b714acb55 Show memory usage in debug panel 2021-02-09 23:52:35 +09:00
Kijin Sung
6b7486e74f Add 'ifvar' attribute to most query elements
XML 쿼리에서 'ifvar' 속성을 사용하여, 특정 변수가 있을 때만 유효한 테이블이나
컬럼, 인덱스 힌트 등을 지정할 수 있도록 합니다. 어떤 변수를 넣는지에 따라
<condition> 뿐 아니라 <table>, <column>, <index_hint? 등의 적용 여부도
XML 쿼리 수정 없이 자유롭게 컨트롤할 수 있게 됩니다.
2021-02-09 21:58:07 +09:00
Kijin Sung
1289776c97 Remove debug data from previous request (causes memory overage in PHP 8.0) 2021-02-09 19:33:47 +09:00
Kijin Sung
c5ceafc841 Fix debug disabled if first error or warning occurs before session start 2021-02-09 01:21:33 +09:00
Kijin Sung
0f33fa6539 Version 2.0.7 2021-02-05 21:37:44 +09:00
Kijin Sung
20871055e4 Support either/both username and password for Redis #1602 2021-02-05 21:04:20 +09:00
Kijin Sung
9160b867aa Fix incorrect relative URLs in other JS libraries #1601 2021-02-05 11:50:13 +09:00
Kijin Sung
5c0c4a3f76 Fix #1601 relative path in ui.colorpicker 2021-02-05 11:45:01 +09:00
Kijin Sung
20e9009b9b Add more items to reserved word list 2021-02-04 23:40:33 +09:00
Kijin Sung
a4ab4f4b03 Fix misleading error message 2021-02-04 21:09:23 +09:00
Kijin Sung
b9cb5f429a Use savepoints for nested transactions
- XE에서 사용하던 savepoint 방식을 복원
- 트랜잭션 안에서 commit이 무시되더라도 해당 사실을 알리는 로그를 남기도록 함
2021-02-04 16:39:09 +09:00
Kijin Sung
ca5d90fd07 Make rx_ajax forms more customizable 2021-02-02 16:04:53 +09:00
Kijin Sung
9dc8476f5d Set $output->data to NULL if query returns no rows 2021-01-31 01:43:07 +09:00
Kijin Sung
800f323b9c Fix count error when searching by extra_vars
https://xetown.com/questions/1519425
2021-01-31 01:34:56 +09:00
Kijin Sung
6b0ef1f468 Fix #1589 remove unnecessary build directory 2021-01-30 21:23:30 +09:00
Kijin Sung
f35692ffcf Version 2.0.6 2021-01-29 23:27:59 +09:00
Kijin Sung
957be16a25 Replace all wildcard columns with '1' in count-only subquery #1575 2021-01-29 14:40:28 +09:00
Kijin Sung
334b1cc277 Fix remainder of unit test warnings in PHP 8.0 2021-01-29 00:36:24 +09:00
Kijin Sung
e368cb2f2a Fix warnings in Debug class when config is empty 2021-01-28 23:34:15 +09:00
Kijin Sung
8e56fe5912 Fix warning in PHP 8.0 during unit tests 2021-01-28 23:04:27 +09:00
Kijin Sung
ebe28cd884 Fix warning in debug class if config doesn't exist 2021-01-28 22:46:52 +09:00
Kijin Sung
60465fb2db Fix various warnings in PHP 8.0 2021-01-28 22:32:56 +09:00
Kijin Sung
f46b41f437 Update unit tests for latest codeception 2021-01-28 21:53:44 +09:00
Kijin Sung
1ec6e1ec7a Change blacklist to 2-dimensional array
관리 편의를 위해 블랙리스트를 자료 종류별로 구분합니다.
단, 기존과 같이 Context::isBlacklistedPlugin()을 호출하면
자료 종류 구분 없이 블랙리스트 여부를 알려줍니다.
2021-01-24 11:39:42 +09:00
Kijin Sung
6b32bc6789 Fix #1573 add trackback module to blacklist 2021-01-24 11:03:06 +09:00
Kijin Sung
9bedd75a37 Wrap count query if there is a subquery column #1575 2021-01-24 11:00:09 +09:00