Commit graph

693 commits

Author SHA1 Message Date
Kijin Sung
4e6591af13 Fix most links pointing to default domain even when unregistered domain action is set to "display" 2025-09-05 18:03:54 +09:00
Kijin Sung
007ea76774 Fix type hints 2025-06-03 23:00:52 +09:00
Kijin Sung
0e5797882f Support passing a single array to Context::gets() 2025-06-03 15:27:21 +09:00
Kijin Sung
202c0172b3 Adjust types and visibility settings of some methods 2025-06-03 15:24:18 +09:00
Kijin Sung
e54c50e39f Support custom delimiter in Context::addBrowserTitle() and Context::prependBrowserTitle() 2025-06-03 12:14:33 +09:00
Kijin Sung
464985b1ef Disable external entity loading unconditionally #2556 2025-05-22 22:58:28 +09:00
Kijin Sung
3c0048d4ba Apply FilenameFilter::clean() to all uploaded files, even if not passed to procFileUpload() #2556 2025-05-22 22:22:08 +09:00
Kijin Sung
5ccd4f68d9 Use FrontEndFileHandler as a singleton 2025-03-27 10:46:09 +09:00
Kijin Sung
609e16fd62 Don't allow arrays in mid, vid, act, module parameters 2025-03-08 14:49:32 +09:00
Kijin Sung
7fce9fcc39 Fix fatal error when "lang" URL parameter is given on an external page 2025-03-08 14:07:44 +09:00
Kijin Sung
5656189a19 Fix warnings in PHP 8.x 2025-03-01 16:33:06 +09:00
Kijin Sung
7d8c09750b Add option to prepend header/footer to existing content 2025-02-17 20:09:51 +09:00
Kijin Sung
bf0093b56a Move most meta tags above the <title> to below it #2419 2024-10-27 22:50:02 +09:00
Kijin Sung
18fb48e457 Automatically remove extra hyphens in SEO title 2024-10-07 21:08:47 +09:00
Kijin Sung
3041d315b0 Fix missing array keys if files are uploaded as a two-dimensional array 2024-09-23 19:05:40 +09:00
Kijin Sung
2963d0b92c Fix #2351 redirect to default URL if lock screen is accessed using an unregistered domain 2024-05-27 01:49:09 +09:00
Kijin Sung
4c47793828 Add Context::redirect() method 2024-05-27 01:47:29 +09:00
Kijin Sung
b951d50841 Add Context::addLink() and Context::getLinks() to register HTML header content such as <link rel="preconnect"> 2024-05-05 16:29:56 +09:00
Kijin Sung
6e72186d1f Remove unnecessary realpath() in old class files #2310 2024-04-30 23:03:57 +09:00
Kijin Sung
7149bc28dd Add proper phpdoc for Context::setCacheControl() 2024-03-24 23:08:42 +09:00
Kijin Sung
ff41a14237 Add Context::setCorsPolicy() method #2287 2024-03-24 23:07:21 +09:00
Kijin Sung
eb5dd18659 Support more HTTP methods #2287 2024-03-24 22:57:07 +09:00
Kijin Sung
424242ff74 Add option to force the language for a domain 2024-01-31 11:02:37 +09:00
Kijin Sung
6e2bab02cc Be more permissive about null values passed to lang() and Context::getLang() 2023-12-18 21:19:33 +09:00
Kijin Sung
d79c2f5140 Fix #2202 undefined properties if domain settings are not saved 2023-10-31 11:50:00 +09:00
Kijin Sung
a602779fc2 General cleanup of Context vars 2023-10-31 11:36:20 +09:00
Kijin Sung
a196706d7f Add Request class and make Router::parseUrl() return an instance of it 2023-10-29 23:32:49 +09:00
Kijin Sung
ce0313acc5 Mark old Context methods as deprecated 2023-10-27 00:48:36 +09:00
Kijin Sung
80e50d41f5 Change default Cookie path to "/" for compatibility with JS function setCookie() 2023-10-24 23:17:01 +09:00
Kijin Sung
5005a09f06 Add Rhymix\Framework\Cookie class with sane defaults 2023-10-24 22:37:27 +09:00
Kijin Sung
57d7821bcc Fix deprecated function call and potential type error in XMLRPC request parser 2023-10-03 16:16:06 +09:00
Kijin Sung
a1c6f7a902 Fix potential type errors in Context class 2023-10-03 15:22:04 +09:00
Kijin Sung
c8638d2548 Change cache-busting query string format from ?YYYYMMDDHHMMSS to ?t=UnixTime
- 날짜, 유닉스 타임스탬프, 16진수(CKEditor) 등 여러 가지 포맷을 혼용하고 있던
  캐시 방지용 쿼리스트링의 형태를 "유닉스 타임스탬프"로 통일
- 표준 시간대 처리 등 은근히 많은 자원을 소모하는 date() 함수를 사용하지 않음
- t=를 붙여서 정상적인 쿼리스트링 구조가 나오도록 하여, 웹방화벽이나 CDN
  등에서 문제를 일으킬 가능성을 줄임
- 덤으로, 길이도 2바이트씩 짧아짐
2023-09-12 23:15:26 +09:00
Kijin Sung
15648d10d1 Fix #2167 allow removing no-store and must-revalidate from Cache-Control headers 2023-08-31 02:19:18 +09:00
Kijin Sung
56fbccda7c Always disable session.cache_limiter before starting session 2023-08-30 01:48:29 +09:00
Kijin Sung
ec36839303 Add options in module.xml to disable session and Cache-Control headers for individual actions 2023-08-30 01:45:37 +09:00
Kijin Sung
3722c49750 Send cache control headers if session.cache_limiter is turned off in php.ini 2023-08-30 00:46:23 +09:00
Kijin Sung
295ac7e61e Remove redundant Cache-Control directives 2023-08-30 00:28:29 +09:00
Kijin Sung
06e736178b Support sending all _rx_* POST fields as HTTP headers instead
하위호환성, 부가기능 등을 위한 _rx_* POST 필드가 점점 많아짐에 따라
모두 헤더로 대체할 수 있도록 지원하고, 앞으로 점점 헤더로 바꿀 예정

CSRF 토큰은 예전부터 X-CSRF-Token 헤더를 지원했음
2023-08-27 23:32:31 +09:00
Kijin Sung
78ba527c78 Fix warnings in PHP 8.x 2023-07-20 21:38:16 +09:00
Kijin Sung
fa198a2984 Add option to fix double-escaping of user lang code 2023-06-26 22:25:08 +09:00
Kijin Sung
9fbcda3e79 Fix deprecation warning in PHP 8.x 2023-06-26 14:46:19 +09:00
Kijin Sung
ff647d6701 Fix #2123 support nested arrays when getUrl() is used with array syntax 2023-06-20 21:12:56 +09:00
Kijin Sung
e02c5a04d3 Fix Context::getRequestUri() returning null when used in CLI context 2023-06-16 15:35:18 +09:00
Kijin Sung
180ed429cf Fix deprecation error in PHP 8.x when path or domain is null in setcookie() 2023-06-16 15:34:48 +09:00
Kijin Sung
4c9488e94d Minor adjustments to convertEncoding() to remove errors
https://xetown.com/questions/1759076
2023-04-30 23:12:21 +09:00
Kijin Sung
9815102b38 Mark Context::convertEncodingStr() and related methods as deprecated
https://xetown.com/questions/1759076
2023-04-30 22:58:45 +09:00
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
c07efe7905 Fix deprecation notices in PHP 8.2 #2064 2023-01-16 21:24:59 +09:00