Kijin Sung
f416b7c8a4
Add option to skip serialization when saving PHP data to file
2021-06-20 22:01:37 +09:00
Kijin Sung
254634479c
Fix #1721 add some safeguards when saving system config file
2021-06-19 19:54:30 +09:00
Kijin Sung
4ac0a6bf66
Use RX_WINDOWS constant in core and file module
2020-02-14 16:16:33 +09:00
conory
482985aa4a
윈도우에서 실행파일을 체크하지 못하는 문제 수정
...
https://xetown.com/questions/1333742
2020-02-07 21:45:11 +09:00
conory
c10e4c082b
open_basedir로 제한되어 있는 경우 ffmpeg 기능을 사용할 수 없는 문제 수정
2019-10-10 18:44:45 +09:00
conory
77122a32b2
is_command() 대체
2019-10-09 23:28:23 +09:00
Kijin Sung
805a7324cc
Storage::getContentType() 메소드를 MIME 클래스로 이동함
2019-10-09 15:20:19 +09:00
conory
16e44d44c7
움직이지 않는 gif도 mp4로 변환되는 문제 수정
...
FFmpeg 사용 불가 안내 메시지 추가
추후에 활용하기 위한 type, width, height, duration 컬럼 추가
업로드시 이미지, 오디오, 동영상 파일의 확장자가 잘못된 경우 올바른 확장자를 덧붙이는 기능 추가
2019-10-01 22:50:38 +09:00
Kijin Sung
7b9fe8f7f2
Revert "Fix var_export() not working for stdClass in PHP < 7.3"
...
This reverts commit 3f7f802585 .
2018-12-13 18:59:27 +09:00
Kijin Sung
3f7f802585
Fix var_export() not working for stdClass in PHP < 7.3
2018-12-13 15:22:11 +09:00
Kijin Sung
4533dacd4b
Add Storage::getLock() for exclusive access to a named lock
...
여러 프로세스를 동시에 실행할 경우 1개만 작동하도록
lock을 관리하는 기능을 코어 프레임워크에서 제공하도록 한다.
두 개 이상의 프로세스에서 동일한 이름의 lock을 요청할 경우
먼저 요청한 프로세스는 true, 나머지 프로세스들은 false를 받게 된다.
lock을 갖고 있던 프로세스가 종료되면 다시 요청할 수 있다.
예를 들어 크론탭에서 1분마다 실행하는 CLI 스크립트가 있는데
간혹 1분 이상 소요된다면 2개가 동시에 실행될 수도 있다.
이 때 lock을 받지 못한 쪽을 종료하면 동시 실행을 방지할 수 있다.
2018-05-30 21:04:30 +09:00
Kijin Sung
0023a9cc1a
Cache opcache status to reduce function_exists() calls
2017-12-09 01:40:04 +09:00
Kijin Sung
4257edf7fa
Implement saving favicon, mobicon, and default image for domain
2017-03-12 22:55:57 +09:00
Kijin Sung
30cdf63b77
Refactor Storage::recommendUmask() into Storage::getServerUID()
2017-01-26 21:29:01 +09:00
Kijin Sung
5f83192e5d
Remove slashes before trying to delete empty directories
2017-01-26 18:30:09 +09:00
Kijin Sung
3dc736817d
Add Storage::deleteEmptyDirectory() to recursively clear empty directories
2017-01-26 18:01:27 +09:00
Kijin Sung
c71b90b2d6
Fix error when writing an empty file
2016-07-18 21:34:53 +09:00
Kijin Sung
55547c56e4
Do not use safe_overwrite if target directory is not writable
2016-07-11 11:14:00 +09:00
Kijin Sung
63b6ac9e37
Set the default umask automatically upon install
2016-07-03 21:48:09 +09:00
Kijin Sung
f0e6b818af
Add method to recommend the best umask for the current server environment
2016-07-03 21:42:47 +09:00
Kijin Sung
480e27b55d
Apply permissions before moving temp file into place
2016-07-03 21:25:05 +09:00
Kijin Sung
ce878bcaf6
Merge branch 'develop' into pr/umask
2016-07-03 21:21:17 +09:00
Kijin Sung
a15095dd00
Use umask consistently
2016-07-03 20:46:22 +09:00
Kijin Sung
ce594eece7
Throw user warnings when a file operation fails dangerously
2016-07-03 17:30:46 +09:00
Kijin Sung
8f3a9db69a
Call clearstatcache() after write operations
2016-06-23 17:29:32 +09:00
Kijin Sung
30106b7fc4
Use atomic rename to safely overwrite frequently accessed files
2016-06-23 00:00:48 +09:00
Kijin Sung
df22d9e69e
Fix permissions when manually copying an uploaded file
2016-05-08 15:07:17 +09:00
Kijin Sung
568151b5ee
Add comments to cache files
2016-04-17 14:41:18 +09:00
Kijin Sung
36bc83680f
Add streaming options to Storage::read() and Storage::write()
2016-03-20 19:53:50 +09:00
Kijin Sung
4fa3bf8cfb
Add readPHPData() and writePHPData() to Storage class
2016-03-20 19:22:59 +09:00
Kijin Sung
eb1c6e33e6
Improve dotfile handling in Storage::readDirectory() on HHVM
2016-03-20 09:54:10 +09:00
Kijin Sung
f718b5a3e4
Add Storage class and unit tests
2016-03-18 18:11:57 +09:00
Kijin Sung
139e11df13
Also clean relative paths in cleanPath()
2016-03-15 14:14:50 +09:00