|
@@ -325,7 +325,7 @@
|
|
|
|
|
|
if (upload && taskStatus == k_taskStatusCancel) {
|
|
|
|
|
|
- [[NCManageDatabase sharedInstance] deleteMetadata:[NSPredicate predicateWithFormat:@"(session CONTAINS 'upload')"]];
|
|
|
+ [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"(session CONTAINS 'upload')"]];
|
|
|
|
|
|
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
|
|
[CCUtility removeAllFileID_UPLOAD_ActiveUser:activeUser activeUrl:activeUrl];
|
|
@@ -704,7 +704,23 @@
|
|
|
// DATA
|
|
|
if ([CCUtility isCryptoString:fileName] || [CCUtility isFileNotCryptated:fileName]) {
|
|
|
|
|
|
- [CCCoreData downloadFile:metadata directoryUser:_directoryUser activeAccount:_activeAccount];
|
|
|
+ BOOL error = false;
|
|
|
+
|
|
|
+ // if encrypted, rewrite
|
|
|
+ if (metadata.cryptated == YES)
|
|
|
+ if ([[CCCrypto sharedManager] decrypt:metadata.fileID fileNameDecrypted:metadata.fileID fileNamePrint:metadata.fileNamePrint password:[[CCCrypto sharedManager] getKeyPasscode:metadata.uuid] directoryUser:_directoryUser] == 0)
|
|
|
+ error = true;
|
|
|
+
|
|
|
+ if (!error) {
|
|
|
+
|
|
|
+ [[NCManageDatabase sharedInstance] addLocalFileWithMetadata:metadata];
|
|
|
+
|
|
|
+ if ([metadata.typeFile isEqualToString: k_metadataTypeFile_image])
|
|
|
+ [CCExifGeo setExifLocalTableEtag:metadata directoryUser:_directoryUser activeAccount:_activeAccount];
|
|
|
+
|
|
|
+ // Icon
|
|
|
+ [CCGraphics createNewImageFrom:metadata.fileID directoryUser:_directoryUser fileNameTo:metadata.fileID fileNamePrint:metadata.fileNamePrint size:@"m" imageForUpload:NO typeFile:metadata.typeFile writePreview:YES optimizedFileName:[CCUtility getOptimizedPhoto]];
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if ([[self getDelegate:fileID] respondsToSelector:@selector(downloadFileSuccess:serverUrl:selector:selectorPost:)])
|
|
@@ -877,7 +893,7 @@
|
|
|
|
|
|
[CCUtility moveFileAtPath:[NSTemporaryDirectory() stringByAppendingString:fileName] toPath:[NSString stringWithFormat:@"%@/%@", _directoryUser, fileName]];
|
|
|
|
|
|
- [CCUtility insertInformationPlist:metadata directoryUser:_directoryUser];
|
|
|
+ metadata = [CCUtility insertInformationPlist:metadata directoryUser:_directoryUser];
|
|
|
|
|
|
metadata.date = [NSDate new];
|
|
|
metadata.fileID = uploadID;
|
|
@@ -907,7 +923,7 @@
|
|
|
fileNameCrypto = fileName; // file Name Crypto
|
|
|
fileName = fileNameTemplate; // file Name Print
|
|
|
|
|
|
- [CCUtility insertInformationPlist:metadata directoryUser:_directoryUser];
|
|
|
+ metadata = [CCUtility insertInformationPlist:metadata directoryUser:_directoryUser];
|
|
|
|
|
|
metadata.date = [NSDate new];
|
|
|
metadata.fileID = uploadID;
|
|
@@ -1005,12 +1021,21 @@
|
|
|
UIAlertAction *overwriteAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"_overwrite_", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
|
|
|
|
|
|
// -- remove record --
|
|
|
- //tableMetadata *metadataDelete = [CCCoreData getMetadataWithPreficate:[NSPredicate predicateWithFormat:@"(account == %@) AND (fileName == %@) AND (directoryID == %@)", _activeAccount, [fileNameCrypto stringByAppendingString:@".plist"], directoryID] context:nil];
|
|
|
|
|
|
- tableMetadata *metadataDelete = [[NCManageDatabase sharedInstance] getMetadataWithPreficate:[NSPredicate predicateWithFormat:@"(account == %@) AND (fileName == %@) AND (directoryID == %@)", _activeAccount, [fileNameCrypto stringByAppendingString:@".plist"], directoryID]];
|
|
|
+ tableMetadata *metadataDelete = [[NCManageDatabase sharedInstance] getMetadataWithPreficate:[NSPredicate predicateWithFormat:@"account = %@ AND fileName = %@ AND directoryID = %@", _activeAccount, [fileNameCrypto stringByAppendingString:@".plist"], directoryID]];
|
|
|
|
|
|
+ [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@", _directoryUser, metadataDelete.fileID] error:nil];
|
|
|
+ [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@.ico", _directoryUser, metadataDelete.fileID] error:nil];
|
|
|
|
|
|
- [CCCoreData deleteFile:metadataDelete serverUrl:serverUrl directoryUser:_directoryUser activeAccount:_activeAccount];
|
|
|
+ if (metadataDelete.directory && serverUrl) {
|
|
|
+
|
|
|
+ NSString *dirForDelete = [CCUtility stringAppendServerUrl:serverUrl addFileName:metadataDelete.fileNameData];
|
|
|
+
|
|
|
+ [[NCManageDatabase sharedInstance] deleteDirectoryAndSubDirectoryWithServerUrl:dirForDelete];
|
|
|
+ }
|
|
|
+
|
|
|
+ [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID = %@", metadataDelete.fileID]];
|
|
|
+ [[NCManageDatabase sharedInstance] deleteLocalFileWithPredicate:[NSPredicate predicateWithFormat:@"fileID = %@", metadataDelete.fileID]];
|
|
|
|
|
|
#ifndef EXTENSION
|
|
|
[CCGraphics createNewImageFrom:fileName directoryUser:_directoryUser fileNameTo:uploadID fileNamePrint:fileName size:@"m" imageForUpload:YES typeFile:metadata.typeFile writePreview:YES optimizedFileName:NO];
|
|
@@ -1099,13 +1124,21 @@
|
|
|
UIAlertAction *overwriteAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"_overwrite_", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
|
|
|
|
|
|
// -- remove record --
|
|
|
- //tableMetadata *metadataDelete = [CCCoreData getMetadataWithPreficate:[NSPredicate predicateWithFormat:@"(account == %@) AND (fileName == %@) AND (directoryID == %@)", _activeAccount, fileName, directoryID] context:nil];
|
|
|
+ tableMetadata *metadataDelete = [[NCManageDatabase sharedInstance] getMetadataWithPreficate:[NSPredicate predicateWithFormat:@"account = %@ AND fileName = %@ AND directoryID = %@", _activeAccount, fileName, directoryID]];
|
|
|
|
|
|
- tableMetadata *metadataDelete = [[NCManageDatabase sharedInstance] getMetadataWithPreficate:[NSPredicate predicateWithFormat:@"(account == %@) AND (fileName == %@) AND (directoryID == %@)", _activeAccount, fileName, directoryID]];
|
|
|
+ [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@", _directoryUser, metadataDelete.fileID] error:nil];
|
|
|
+ [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@.ico", _directoryUser, metadataDelete.fileID] error:nil];
|
|
|
|
|
|
+ if (metadataDelete.directory && serverUrl) {
|
|
|
+
|
|
|
+ NSString *dirForDelete = [CCUtility stringAppendServerUrl:serverUrl addFileName:metadataDelete.fileNameData];
|
|
|
+
|
|
|
+ [[NCManageDatabase sharedInstance] deleteDirectoryAndSubDirectoryWithServerUrl:dirForDelete];
|
|
|
+ }
|
|
|
|
|
|
- [CCCoreData deleteFile:metadataDelete serverUrl:serverUrl directoryUser:_directoryUser activeAccount:_activeAccount];
|
|
|
-
|
|
|
+ [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID = %@", metadataDelete.fileID]];
|
|
|
+ [[NCManageDatabase sharedInstance] deleteLocalFileWithPredicate:[NSPredicate predicateWithFormat:@"fileID = %@", metadataDelete.fileID]];
|
|
|
+
|
|
|
// -- Go to Upload --
|
|
|
[CCGraphics createNewImageFrom:metadata.fileNamePrint directoryUser:_directoryUser fileNameTo:metadata.fileID fileNamePrint:metadata.fileNamePrint size:@"m" imageForUpload:YES typeFile:metadata.typeFile writePreview:YES optimizedFileName:NO];
|
|
|
|
|
@@ -1230,7 +1263,7 @@
|
|
|
if ([[self getDelegate:sessionID] respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
|
|
|
[[self getDelegate:sessionID] uploadFileFailure:nil fileID:sessionID serverUrl:serverUrl selector:selector message:NSLocalizedString(@"_file_not_present_", nil) errorCode:404];
|
|
|
|
|
|
- [[NCManageDatabase sharedInstance] deleteMetadata:[NSPredicate predicateWithFormat:@"(sessionID == %@) AND (account == %@)", sessionID, _activeAccount]];
|
|
|
+ [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"(sessionID == %@) AND (account == %@)", sessionID, _activeAccount]];
|
|
|
|
|
|
});
|
|
|
|
|
@@ -1381,7 +1414,7 @@
|
|
|
metadata.sessionTaskIdentifier = k_taskIdentifierDone;
|
|
|
|
|
|
[[NCManageDatabase sharedInstance] addMetadata:metadata activeUrl:_activeUrl];
|
|
|
- [[NCManageDatabase sharedInstance] deleteMetadata:[NSPredicate predicateWithFormat:@"fileID = %@", sessionID]];
|
|
|
+ [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID = %@", sessionID]];
|
|
|
}
|
|
|
|
|
|
// CRYPTO
|