Commit graph

2873 commits

Author SHA1 Message Date
Kijin Sung
fd27ec177b Refine empty line handling without changing line numbers 2023-09-05 00:42:12 +09:00
Kijin Sung
cd8e6371c6 Preserve line numbers when compiling templates 2023-09-05 00:17:15 +09:00
Kijin Sung
c27a1d803b Fix #2176 error in unnecessary count() 2023-09-01 23:15:53 +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
e5f53429f7 Fix count() error in XMLDisplayHandler 2023-08-30 23:28:05 +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
42d09bde65 Provide a single entry point for all command-line scripts
Core example:

php index.php common.clean_empty_dirs
  -> executes common/scripts/clean_empty_dirs.php

Third-party example:

php index.php module_name.script_name
  -> executes modules/module_name/scripts/script_name.php

This should be the preferred method of executing PHP scripts included with
any third-party module, because it ensures that the working environment is
correct. For example, it will set the current working directory to Rhymix root,
check that the UID matches the usual web user, include all core libraries and
initialize the Context properly.

Over time, we will expand the command-line functionality similar to
the 'artisan' command in Laravel.
2023-08-16 23:12:25 +09:00
Kijin Sung
ed424f031e Capitalization 2023-08-16 22:45:48 +09:00
Kijin Sung
2197b0a982 Add option to control whether boards and pages are indexed by search engines, using the X-Robots-Tag header 2023-08-13 02:03:02 +09:00
Kijin Sung
48e0f55d6b Support event handlers (triggers) that are only called before/after specific action 2023-08-12 01:14:36 +09:00
Kijin Sung
3241354872 Support customizing the default (base) class and install class of a module 2023-08-11 22:09:26 +09:00
Kijin Sung
7502b7308b Support custom namespaces in ModuleHandler and related processes 2023-08-11 21:56:42 +09:00
Kijin Sung
60a3edc994 Remove session keys, and always set httpOnly 2023-07-22 19:53:51 +09:00
Kijin Sung
78ba527c78 Fix warnings in PHP 8.x 2023-07-20 21:38:16 +09:00
Kijin Sung
103f5ce884 Fix #2106 allow entering multiple lines (textarea) in extra var description 2023-07-04 23:29:23 +09:00
conory
fe724d93ef Allow an array of URL parameters in setRedirectUrl()
$this->setRedirectUrl(['module' => 'admin', 'act' => '...']);
2023-07-01 01:44:43 +09:00
Kijin Sung
7b16ee31c3 Fix backward incompatible behavior when is_skin_fix or is_mskin_fix is set 2023-06-27 00:16:29 +09:00
Kijin Sung
18b5d66605 Fix backward incompatible behavior when skin directory is a symlink 2023-06-27 00:09:56 +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
340b3aa49a Set layout and template paths in one place 2023-06-26 22:12:32 +09:00
Kijin Sung
9fbcda3e79 Fix deprecation warning in PHP 8.x 2023-06-26 14:46:19 +09:00
Kijin Sung
b6e1a4589a Fix #2131 missing translations 2023-06-22 21:55:25 +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
959503b6ec Clean up references to deprecated DB methods in other places 2023-06-19 15:24:27 +09:00
Kijin Sung
10cd76d0be Revert "Convert DB class into an alias of Rhymix\Framework\DB, instead of extending it"
This reverts commit 9d3b5924e9.
2023-06-19 01:44:53 +09:00
Kijin Sung
5ba6346bec Add security options to add X-Frame-Options and X-Content-Type-Options headers
- 보안 관련하여 널리 알려진 헤더 3종 가운데 2종을 기본 지원
- X-XSS-Protection 헤더는 IE 지원 종료로 불필요
2023-06-18 23:33:41 +09:00
Kijin Sung
e3ce2bcbcc Remove gzip support; rely on webserver instead 2023-06-18 23:05:16 +09:00
Kijin Sung
de2a9288f2 Add option to control how many seconds to wait before compiling updated template file 2023-06-18 23:01:59 +09:00
Kijin Sung
f596947d0e Add option to make pages available only on one domain
- 2021년에 next 브랜치 적용을 목표로 작업했던 것 가져옴
- modules 테이블에 domain_srl을 추가하여 특정 도메인에서만 유효하도록 설정 가능
- site_srl 변수를 사용하던 곳 중 삭제할 수 있는 곳은 모두 삭제함
2023-06-18 02:53:04 +09:00
Kijin Sung
ded3b97208 Fix race condition when template file is being uploaded 2023-06-17 00:49:24 +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
22abeb7a88 Fix fatal error if logged_info is not an object at this stage 2023-06-10 21:11:54 +09:00
Kijin Sung
7d88e532c9 Fix deprecation warning in PHP 8.2 when $output is null 2023-05-01 02:59:45 +09:00
Kijin Sung
581097a9e3 Fix deprecation warnings in PHP 8.2 2023-05-01 00:05:56 +09:00
Kijin Sung
cecc20cc8e
Merge branch 'develop' into fix-debug 2023-04-30 23:22:20 +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
bd8fe996e1 Always return an error code of -2 if an exception is thrown during module init 2023-04-30 22:16:59 +09:00
Kijin Sung
6a9902c3bb Clean up default settings and proxy URL parsing logic 2023-04-23 14:26:19 +09:00
Kijin Sung
866d704d0d Convert FileHandler::getRemoteResource() to use R\F\HTTP::request() 2023-04-23 00:19:03 +09:00
Kijin Sung
875e5d1c2c Fix #2098 create an instance of MessageMobile class instead of MessageView if user is mobile 2023-04-02 15:40:57 +09:00
Kijin Sung
87a34af69e Fix #2072 redirect to proper URL if a document with is_notice=A is requested without mid 2023-03-23 22:44:51 +09:00
dewekk
871b25c3ba 디버그 패널에서 무조건 에러 내용이 표시되는 문제 수정
- 패널, JSON 요청에서 요청/응답정보, 에러 정보 표시가 디버그 설정에 따라 표시되게 수정
2023-02-10 16:30:04 +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