Fixed broken file_write() function (#737)

This commit is contained in:
Roman Kelesidis 2023-05-29 16:57:46 +07:00 committed by GitHub
commit efe793e699
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -211,20 +211,18 @@ function bb_log($msg, $file_name, $return_path = false)
function file_write($str, $file, $max_size = LOG_MAX_SIZE, $lock = true, $replace_content = false)
{
$bytes_written = false;
clearstatcache();
if ($max_size && file_exists($file) && filesize($file) >= $max_size) {
$old_name = $file;
$ext = '';
if (preg_match('#^(.+)(\.[^\\\/]+)$#', $file, $matches)) {
[$old_name, $ext] = $matches;
}
$new_name = $old_name . '_[old]_' . date('Y-m-d_H-i-s_') . getmypid() . $ext;
if (($max_size && file_exists($file) && is_file($file)) && filesize($file) >= $max_size) {
$file_parts = pathinfo($file);
$new_name = ($file_parts['filename'] . '_[old]_' . date('Y-m-d_H-i-s_') . getmypid() . '.' . $file_parts['extension']);
clearstatcache();
if (!file_exists($new_name)) {
if (!file_exists($new_name) && !is_file($new_name)) {
rename($file, $new_name);
}
}
if (!file_exists($file) && $dir_created = bb_mkdir(dirname($file))) {
clearstatcache();
if (!file_exists($file) && !is_file($file) && bb_mkdir(dirname($file))) {
$fp = fopen($file, 'ab+');
}
if (isset($fp)) {