From 8e534918672c2ccf3614623b8bd368d18318f453 Mon Sep 17 00:00:00 2001
From: zotlabs <mike@macgirvin.com>
Date: Tue, 14 Nov 2017 17:39:33 -0800
Subject: sort out a few more large image upload issues

---
 Zotlabs/Storage/Browser.php   |  2 --
 Zotlabs/Storage/Directory.php | 11 +++++++++++
 Zotlabs/Storage/File.php      | 11 +++++++++++
 3 files changed, 22 insertions(+), 2 deletions(-)

(limited to 'Zotlabs')

diff --git a/Zotlabs/Storage/Browser.php b/Zotlabs/Storage/Browser.php
index 77201f387..b5440aacf 100644
--- a/Zotlabs/Storage/Browser.php
+++ b/Zotlabs/Storage/Browser.php
@@ -210,8 +210,6 @@ class Browser extends DAV\Browser\Plugin {
 				}
 			}
 
-
-
 			$attachIcon = ""; // "<a href=\"attach/".$attachHash."\" title=\"".$displayName."\"><i class=\"fa fa-arrow-circle-o-down\"></i></a>";
 
 			// put the array for this file together
diff --git a/Zotlabs/Storage/Directory.php b/Zotlabs/Storage/Directory.php
index 0ed7a3c68..27df3569f 100644
--- a/Zotlabs/Storage/Directory.php
+++ b/Zotlabs/Storage/Directory.php
@@ -299,6 +299,17 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
 			$is_photo = 1;
 		}
 
+		// If we know it's a photo, over-ride the type in case the source system could not determine what it was
+
+		if($is_photo) {
+			q("update attach set filetype = '%s' where hash = '%s' and uid = %d",
+				dbesc($gis['mime']),
+				dbesc($hash),
+				intval($c[0]['channel_id'])
+			);
+		}
+
+
 		// updates entry with filesize and timestamp
 		$d = q("UPDATE attach SET filesize = '%s', os_path = '%s', display_path = '%s', is_photo = %d, edited = '%s' WHERE hash = '%s' AND uid = %d",
 			dbesc($size),
diff --git a/Zotlabs/Storage/File.php b/Zotlabs/Storage/File.php
index 947a9fde3..8bf9997ed 100644
--- a/Zotlabs/Storage/File.php
+++ b/Zotlabs/Storage/File.php
@@ -168,6 +168,17 @@ class File extends DAV\Node implements DAV\IFile {
 				if(($gis) && ($gis[2] === IMAGETYPE_GIF || $gis[2] === IMAGETYPE_JPEG || $gis[2] === IMAGETYPE_PNG)) {
 					$is_photo = 1;
 				}
+
+				// If we know it's a photo, over-ride the type in case the source system could not determine what it was
+
+				if($is_photo) {
+					q("update attach set filetype = '%s' where hash = '%s' and uid = %d",
+						dbesc($gis['mime']),
+						dbesc($this->data['hash']),
+						intval($this->data['uid'])
+					);
+				}
+
 			}
 			else {
 				// this shouldn't happen any more
-- 
cgit v1.2.3