|
@@ -401,7 +401,7 @@ class NCUtility: NSObject {
|
|
metadataSource.date = date
|
|
metadataSource.date = date
|
|
}
|
|
}
|
|
metadataSource.chunk = chunckSize != 0 && metadata.size > chunckSize
|
|
metadataSource.chunk = chunckSize != 0 && metadata.size > chunckSize
|
|
- metadataSource.e2eEncrypted = CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account, urlBase: metadata.urlBase, userId: metadata.userId)
|
|
|
|
|
|
+ metadataSource.e2eEncrypted = NCUtility.shared.isFolderEncrypted(serverUrl: metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account, urlBase: metadata.urlBase, userId: metadata.userId)
|
|
metadataSource.isExtractFile = true
|
|
metadataSource.isExtractFile = true
|
|
if let metadata = NCManageDatabase.shared.addMetadata(metadataSource) {
|
|
if let metadata = NCManageDatabase.shared.addMetadata(metadataSource) {
|
|
metadatas.append(metadata)
|
|
metadatas.append(metadata)
|
|
@@ -445,7 +445,7 @@ class NCUtility: NSObject {
|
|
var metadataReturn = metadata
|
|
var metadataReturn = metadata
|
|
if modifyMetadataForUpload {
|
|
if modifyMetadataForUpload {
|
|
metadata.chunk = chunckSize != 0 && metadata.size > chunckSize
|
|
metadata.chunk = chunckSize != 0 && metadata.size > chunckSize
|
|
- metadata.e2eEncrypted = CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account, urlBase: metadata.urlBase, userId: metadata.userId)
|
|
|
|
|
|
+ metadata.e2eEncrypted = NCUtility.shared.isFolderEncrypted(serverUrl: metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account, urlBase: metadata.urlBase, userId: metadata.userId)
|
|
metadata.isExtractFile = true
|
|
metadata.isExtractFile = true
|
|
if let metadata = NCManageDatabase.shared.addMetadata(metadata) {
|
|
if let metadata = NCManageDatabase.shared.addMetadata(metadata) {
|
|
metadataReturn = metadata
|
|
metadataReturn = metadata
|
|
@@ -574,7 +574,7 @@ class NCUtility: NSObject {
|
|
options.deliveryMode = PHImageRequestOptionsDeliveryMode.fastFormat
|
|
options.deliveryMode = PHImageRequestOptionsDeliveryMode.fastFormat
|
|
options.isNetworkAccessAllowed = true
|
|
options.isNetworkAccessAllowed = true
|
|
let chunckSize = CCUtility.getChunkSize() * 1000000
|
|
let chunckSize = CCUtility.getChunkSize() * 1000000
|
|
- let e2eEncrypted = CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account, urlBase: metadata.urlBase, userId: metadata.userId)
|
|
|
|
|
|
+ let e2eEncrypted = NCUtility.shared.isFolderEncrypted(serverUrl: metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account, urlBase: metadata.urlBase, userId: metadata.userId)
|
|
let ocId = NSUUID().uuidString
|
|
let ocId = NSUUID().uuidString
|
|
let fileName = (metadata.fileName as NSString).deletingPathExtension + ".mov"
|
|
let fileName = (metadata.fileName as NSString).deletingPathExtension + ".mov"
|
|
let fileNamePath = CCUtility.getDirectoryProviderStorageOcId(ocId, fileNameView: fileName)!
|
|
let fileNamePath = CCUtility.getDirectoryProviderStorageOcId(ocId, fileNameView: fileName)!
|
|
@@ -1049,4 +1049,26 @@ class NCUtility: NSObject {
|
|
}
|
|
}
|
|
return returnImage
|
|
return returnImage
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ func isFolderEncrypted(serverUrl: String, e2eEncrypted: Bool = false, userBase: NCUserBaseUrl) -> Bool {
|
|
|
|
+ return isFolderEncrypted(serverUrl: serverUrl, e2eEncrypted: e2eEncrypted, account: userBase.account, urlBase: userBase.urlBase, userId: userBase.userId)
|
|
|
|
+ }
|
|
|
|
+ @objc func isFolderEncrypted(serverUrl: String, e2eEncrypted: Bool = false, account:String, urlBase: String, userId: String) -> Bool {
|
|
|
|
+ if e2eEncrypted { return true }
|
|
|
|
+
|
|
|
|
+ let home = NCUtilityFileSystem.shared.getHomeServer(urlBase: urlBase, userId: userId)
|
|
|
|
+ if serverUrl == home || serverUrl == ".." { return false }
|
|
|
|
+ var serverUrl = serverUrl
|
|
|
|
+
|
|
|
|
+ var tableDirectory = NCManageDatabase.shared.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", account, serverUrl))
|
|
|
|
+ while let directory = tableDirectory, directory.serverUrl != home {
|
|
|
|
+ if directory.e2eEncrypted { return true }
|
|
|
|
+ if let path = NCUtilityFileSystem.shared.deleteLastPath(serverUrlPath: serverUrl, home: home) {
|
|
|
|
+ serverUrl = path
|
|
|
|
+ }
|
|
|
|
+ tableDirectory = NCManageDatabase.shared.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", account, serverUrl))
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
}
|
|
}
|