Commit graph

2727 commits

Author SHA1 Message Date
Kijin Sung
e60ffb4e8d Add option to control partial page rendering (layout drop)
XE 시절부터 layout=none 또는 isLayoutDrop=1 파라미터로 레이아웃이 없는
부분적인 페이지 렌더링을 허용하는 기능이 있었습니다. 관리자 화면에서
팝업이나 iframe을 표시하는 용도로도 사용하고, AJAX로 페이지 일부 내용만
새로고침할 때 불필요한 데이터를 주고받지 않도록 하는 데도 유용합니다.

그러나 사이트에 따라서는 레이아웃을 적용하지 않을 경우 민감한 정보가
노출되는 등의 부작용이 발생할 수도 있으므로, 이 기능을 사용하지 않도록
선택하는 옵션을 제공합니다.
2023-09-12 00:33:54 +09:00
Kijin Sung
7bba7732d7 Display relative path in "Template not found" error message 2023-09-09 01:39:07 +09:00
Kijin Sung
a50041007d Remove UTF-8 BOM and CRLF in templates when compiling them 2023-09-05 01:05:53 +09:00
Kijin Sung
7a62550c30 Fix incorrect handling of newline in TemplateHandler 2023-09-05 00:56:17 +09:00
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