]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Исправление ошибки файла
authorVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 14 Oct 2025 12:11:21 +0000 (15:11 +0300)
committerVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 14 Oct 2025 12:11:21 +0000 (15:11 +0300)
erp24/api2/controllers/DataController.php
erp24/helpers/File.php
erp24/records/WriteOffsErp.php
erp24/views/write_offs_erp/_form.php

index c24156978fee7b97b5a73d40f0812a7a4371f779..475c2e3d0a6834ce9dff912eba172ffedc4f6c2a 100644 (file)
@@ -73,8 +73,8 @@ class DataController extends BaseController
 
     const OUT_DIR =
 //        __DIR__ . "/../json";
-         //   "/www/api2/json";
-        "/var/www/erp24/api2/json";
+            "/www/api2/json";
+        //"/var/www/erp24/api2/json";
 
 //          "/var/www/www-root/data/www/api.bazacvetov24.ru/data/json";
     private static function getPathJson()
index e21a859846ed1880619e31826eb9e4040b08f8f6..8c24c9505a072333c019ec49da99fcc4b83668f7 100644 (file)
@@ -114,6 +114,12 @@ class File extends FileHelper
                }
                $substr = substr($filename, 0, 2);
                $imagePath = self::filepath($filename, 'images');
+
+               // Если оригинальный файл не существует, возвращаем заглушку
+               if (!$imagePath) {
+                       return 'file_not_found';
+               }
+
         $uploadDir = \Yii::getAlias('@uploads');
         $uploadPathDir = 'uploads';
                $resizePath = $uploadPathDir . "/images/resize/{$substr}/{$w}_{$h}_{$quality}";
@@ -122,13 +128,27 @@ class File extends FileHelper
                $resizedFile = "{$resizedPath}/{$filename}";
 
         if (!file_exists($imagePath ?? '')) {
-            $filePath = self::src($filename);
-            self::ResizeImage($filePath, $w, $h, $quality);
+            try {
+                $filePath = self::src($filename);
+                self::ResizeImage($filePath, $w, $h, $quality);
+            } catch (\Exception $e) {
+                // Если не удалось обработать изображение, возвращаем заглушку
+                return 'file_processing_error';
+            }
         }
 
                self::createDirectory($resizedPath);
                if (!file_exists($resizedFile) && !empty($imagePath)) {
-                       ImageHelper::resizeImage($imagePath, $resizedFile, $w, $h, $quality);
+                       try {
+                               // Дополнительная проверка на возможность чтения файла
+                               if (!is_readable($imagePath)) {
+                                       return 'file_not_readable';
+                               }
+                               ImageHelper::resizeImage($imagePath, $resizedFile, $w, $h, $quality);
+                       } catch (\Exception $e) {
+                               // Если не удалось обработать изображение, возвращаем заглушку
+                               return 'file_processing_error';
+                       }
                }
                return $resizedUrl;
        }
index 60b07e96fa4832c944a8742a22ace5b28085e226..8d97104bbf2fe0c11a31f9b090382fb38c698203 100644 (file)
@@ -747,6 +747,11 @@ class WriteOffsErp extends \yii\db\ActiveRecord
                 $relaFileName = File::getRealName($image->image_id);
                 if (!empty($modelImage->size)) {
                     $imageThumbRow = File::getResizedImageByName($modelImage->filename, 100, 100);
+                    // Если файл не найден на сервере или возникла ошибка обработки, показываем заглушку
+                    if ($imageThumbRow === 'file_not_found' || $imageThumbRow === 'file_not_readable' || $imageThumbRow === 'file_processing_error') {
+                        $imageThumbRow = 'broken_file-error';
+                        $relaFileName = $imageThumbRow . '_' .$relaFileName;
+                    }
                 } else {
                     $imageThumbRow = 'broken_file-size_zero';
                     $relaFileName = $imageThumbRow . '_' .$relaFileName;
index 81c664689da0c8980ae4c126058081c76026b36c..c0de448535f6152a876f181f83f7c102325bd7bc 100644 (file)
@@ -64,7 +64,7 @@ foreach ($analyticsOps as $key => $value) {
         $parts = explode('_', $value, 2);
         $value = $parts[1];
     }
-    $processedAnalytics[$key] = $value;
+    $processedAnalytics[$value] = $value;
 }
 ?>