Issue 10105: Use legacy photo data field if used
authorMichael <heluecht@pirati.ca>
Thu, 1 Apr 2021 04:51:55 +0000 (04:51 +0000)
committerMichael <heluecht@pirati.ca>
Thu, 1 Apr 2021 04:51:55 +0000 (04:51 +0000)
src/Model/Attach.php
src/Model/Photo.php

index 78928f6..6182727 100644 (file)
@@ -159,8 +159,12 @@ class Attach
         */
        public static function getData($item)
        {
+               if (!empty($item['data'])) {
+                       return $item['data'];
+               }
+
                $backendClass = DI::storageManager()->getByName($item['backend-class'] ?? '');
-               if ($backendClass === null) {
+               if (empty($backendClass)) {
                        // legacy data storage in 'data' column
                        $i = self::selectFirst(['data'], ['id' => $item['id']]);
                        if ($i === false) {
@@ -275,7 +279,7 @@ class Attach
 
                        foreach($items as $item) {
                                $backend_class = DI::storageManager()->getByName($item['backend-class'] ?? '');
-                               if ($backend_class !== null) {
+                               if (!empty($backend_class)) {
                                        $fields['backend-ref'] = $backend_class->put($img->asString(), $item['backend-ref'] ?? '');
                                } else {
                                        $fields['data'] = $img->asString();
@@ -307,7 +311,7 @@ class Attach
 
                foreach($items as $item) {
                        $backend_class = DI::storageManager()->getByName($item['backend-class'] ?? '');
-                       if ($backend_class !== null) {
+                       if (!empty($backend_class)) {
                                $backend_class->delete($item['backend-ref'] ?? '');
                        }
                }
index 7e5accd..567a17d 100644 (file)
@@ -188,8 +188,12 @@ class Photo
         */
        public static function getImageDataForPhoto(array $photo)
        {
+               if (!empty($photo['data'])) {
+                       return $photo['data'];
+               }
+
                $backendClass = DI::storageManager()->getByName($photo['backend-class'] ?? '');
-               if ($backendClass === null) {
+               if (empty($backendClass)) {
                        // legacy data storage in "data" column
                        $i = self::selectFirst(['data'], ['id' => $photo['id']]);
                        if ($i === false) {
@@ -308,7 +312,7 @@ class Photo
                        $storage = DI::storage();
                }
 
-               if ($storage === null) {
+               if (empty($storage)) {
                        $data = $Image->asString();
                } else {
                        $backend_ref = $storage->put($Image->asString(), $backend_ref);
@@ -368,7 +372,7 @@ class Photo
 
                while ($photo = DBA::fetch($photos)) {
                        $backend_class = DI::storageManager()->getByName($photo['backend-class'] ?? '');
-                       if ($backend_class !== null) {
+                       if (!empty($backend_class)) {
                                if ($backend_class->delete($photo["backend-ref"] ?? '')) {
                                        // Delete the photos after they had been deleted successfully
                                        DBA::delete("photo", ['id' => $photo['id']]);
@@ -402,7 +406,7 @@ class Photo
 
                        foreach($photos as $photo) {
                                $backend_class = DI::storageManager()->getByName($photo['backend-class'] ?? '');
-                               if ($backend_class !== null) {
+                               if (!empty($backend_class)) {
                                        $fields["backend-ref"] = $backend_class->put($img->asString(), $photo['backend-ref']);
                                } else {
                                        $fields["data"] = $img->asString();