This commit is contained in:
F4ilji
2026-03-23 10:50:31 +05:00
parent b1c4f7b054
commit 1256adba98
89 changed files with 3587 additions and 10419 deletions
@@ -29,8 +29,15 @@ class ProcessMixedFilesController extends Controller
$result = $this->processMixedFilesAction->run($files);
// Формируем сообщение со статистикой сжатия
$compressionMessage = '';
if (isset($result['compressionStats']) && $result['compressionStats']['compressed'] > 0) {
$compressionMessage = ' Изображения сжаты: ' . $result['compressionStats']['compressed'] . '/' . $result['compressionStats']['total'] .
' (экономия ' . $this->formatFileSize($result['compressionStats']['saved_bytes']) . ')';
}
return back()->with([
'success' => 'Файлы успешно загружены! Новость создана: ' . $result['post']->title,
'success' => 'Файлы успешно загружены! Новость создана: ' . $result['post']->title . $compressionMessage,
'extracted_text' => $result['newsData'],
'created_post' => [
...$result['post']->toArray(),
@@ -45,6 +52,20 @@ class ProcessMixedFilesController extends Controller
}
}
/**
* Форматирует размер файла
*/
private function formatFileSize(int $bytes): string
{
$units = ['б', 'КиБ', 'МиБ', 'ГиБ'];
$bytes = max($bytes, 0);
$pow = floor(($bytes ? log($bytes) : 0) / log(1024));
$pow = min($pow, count($units) - 1);
$bytes /= (1 << (10 * $pow));
return round($bytes, 2) . ' ' . $units[$pow];
}
/**
* Собирает все файлы из request
*/