devdho
d6d705706c
Add ifvar attribute to query condition
2021-06-17 11:24:58 +09:00
Kijin Sung
1c47785276
Support contenteditable="false" ( fix #1710 )
2021-05-14 23:14:28 +09:00
Kijin Sung
c6b6d71214
Remove outdated comment (see #1187 )
2021-05-14 23:08:36 +09:00
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
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
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
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
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
72e7532764
Fix compatibility with PBKDF2 hashes with iteration counts that are not zero-padded
2021-03-14 00:26:15 +09:00
Kijin Sung
6b6c0eacfc
Fix SQL error when list count is 0
2021-02-26 16:25:11 +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
c5ceafc841
Fix debug disabled if first error or warning occurs before session start
2021-02-09 01:21:33 +09:00
Kijin Sung
20871055e4
Support either/both username and password for Redis #1602
2021-02-05 21:04:20 +09:00
Kijin Sung
b9cb5f429a
Use savepoints for nested transactions
...
- XE에서 사용하던 savepoint 방식을 복원
- 트랜잭션 안에서 commit이 무시되더라도 해당 사실을 알리는 로그를 남기도록 함
2021-02-04 16:39:09 +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
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
9bedd75a37
Wrap count query if there is a subquery column #1575
2021-01-24 11:00:09 +09:00
Kijin Sung
d7b9e0aa46
Change === to == because size can be a string
2021-01-22 01:10:23 +09:00
Kijin Sung
09a292440c
Also restrict the charset if a column is defined as char(1)
2021-01-22 01:05:52 +09:00
Kijin Sung
2cec4ea6b4
Clean up utf8mb4 setting in default table schema
2021-01-22 01:01:58 +09:00
Kijin Sung
f751d59708
Use latin1 charset for ASCII-only columns that need to be short for indexing
2021-01-22 00:51:47 +09:00
Kijin Sung
aefa19e850
Fix SCSS imports with relative paths not working
2021-01-21 15:45:58 +09:00
Kijin Sung
2cdf9d0e2d
Adjust loading priority of modules vs. plugins
2021-01-21 00:44:35 +09:00
Kijin Sung
6f8a252cd1
Fix smtp security=none not being recognized
2021-01-20 00:34:23 +09:00
Kijin Sung
d5160c28ce
Pass RX_REQUEST_URL directly to the Router
2021-01-19 23:28:13 +09:00
Kijin Sung
8964891387
Disable rewrite level 2 if test request fails
2021-01-19 23:18:38 +09:00
Kijin Sung
12ccb356b0
Merge pull request #1566 from mackeyhan/dbquery-patch
...
Fix 'not in' operation
2021-01-18 16:31:33 +09:00
mackeyhan
e64cbfbb9e
Fix 'not in' operation
2021-01-18 15:18:25 +09:00
Kijin Sung
f07afe9c58
Unset $this->_last_stmt before next query
2021-01-14 22:39:43 +09:00
Kijin Sung
1a89c5e0d6
Rename FCM/APNs
...
PC용 브라우저나 iOS에서도 FCM을 사용할 수 있으므로,
모바일 운영체제 명칭이 아닌 서비스 명칭을 사용하도록 변경합니다.
2021-01-14 11:37:55 +09:00
Kijin Sung
03e5909036
Add ability to configure index hint with variable
...
See #1560
2021-01-14 00:40:57 +09:00
Kijin Sung
4805a1864b
Append query ID and IP address as a /* comment */ to every query, if enabled in debug settings
2021-01-13 22:14:15 +09:00
Kijin Sung
c26325efee
Fix #1550 mark counter_site_status table as deleted
2021-01-08 23:54:50 +09:00
Kijin Sung
3bae984d08
Add ApacheBench to list of bots
2021-01-08 20:59:19 +09:00
Kijin Sung
1a204d8c52
Completely disable Debug logging if it is not enabled for the current user
...
관리자 또는 특정 IP에서만 디버그 기능을 사용하도록 설정된 경우,
그 밖의 요청에서는 어떤 에러메시지, 쿼리, 트리거 소요시간 등의 기록도
디버그 클래스에 저장하지 않도록 변경합니다.
워닝이 많이 발생하는 PHP 8.0에서는 20~30%의 성능 개선 효과가 있습니다.
2021-01-07 02:51:43 +09:00
Kijin Sung
cf1f4f3a3b
Fix incorrect handling of subquery in some SELECT DISTINCT queries
2021-01-07 01:05:32 +09:00
Kijin Sung
3f766a937c
Fix incorrect handling of auto-generated COUNT(*) queries when there are GROUP BY or DISTINCT clauses
2021-01-07 00:55:43 +09:00