|
@@ -1578,6 +1578,13 @@
|
|
|
NSNumber *isImagemeterEnabledNumber = (NSNumber*)[imagemeterDic valueForKey:@"enabled"];
|
|
|
capabilities.isImagemeterEnabled = isImagemeterEnabledNumber.boolValue;
|
|
|
}
|
|
|
+
|
|
|
+ //Fulltextsearch
|
|
|
+ NSDictionary *fulltextsearchDic = [capabilitiesDict valueForKey:@"fulltextsearch"];
|
|
|
+ if (fulltextsearchDic) {
|
|
|
+ NSNumber *isFulltextsearchEnabledNumber = (NSNumber*)[fulltextsearchDic valueForKey:@"remote"];
|
|
|
+ capabilities.isFulltextsearchEnabled = isFulltextsearchEnabledNumber.boolValue;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
successRequest(response, capabilities, request.redirectedServer);
|
|
@@ -3105,6 +3112,85 @@
|
|
|
}];
|
|
|
}
|
|
|
|
|
|
+#pragma mark - Fulltextsearch
|
|
|
+
|
|
|
+- (void)fullTextSearch:(NSString *)serverPath providers:(NSString *)providers text:(NSString *)text page:(NSInteger)page options:(NSString *)options size:(NSInteger)size onCommunication:(OCCommunication *)sharedOCComunication successRequest:(void(^)(NSHTTPURLResponse *response, NSArray *items, NSString *redirectedServer))successRequest failureRequest:(void(^)(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer)) failureRequest {
|
|
|
+
|
|
|
+ serverPath = [serverPath stringByAppendingString:k_url_fulltextsearch];
|
|
|
+ //serverPath = [
|
|
|
+ serverPath = [serverPath stringByAppendingString:@"?format=json"];
|
|
|
+
|
|
|
+ OCWebDAVClient *request = [[OCWebDAVClient alloc] init];
|
|
|
+ request = [self getRequestWithCredentials:request];
|
|
|
+
|
|
|
+ [request geTemplatesRichdocuments:serverPath onCommunication:sharedOCComunication success:^(NSHTTPURLResponse *operation, id response) {
|
|
|
+
|
|
|
+ NSData *responseData = (NSData*) response;
|
|
|
+
|
|
|
+ //Parse
|
|
|
+ NSError *error;
|
|
|
+ NSDictionary *jsongParsed = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableContainers error:&error];
|
|
|
+ NSLog(@"[LOG] Link richdocuments : %@",jsongParsed);
|
|
|
+
|
|
|
+ if (jsongParsed && jsongParsed.allKeys > 0) {
|
|
|
+
|
|
|
+ NSMutableArray *list = [NSMutableArray new];
|
|
|
+
|
|
|
+ NSDictionary *ocs = [jsongParsed valueForKey:@"ocs"];
|
|
|
+ NSDictionary *meta = [ocs valueForKey:@"meta"];
|
|
|
+ NSDictionary *data = [ocs valueForKey:@"data"];
|
|
|
+
|
|
|
+ NSInteger statusCode = [[meta valueForKey:@"statuscode"] integerValue];
|
|
|
+
|
|
|
+ if (statusCode == kOCUserProfileAPISuccessful) {
|
|
|
+
|
|
|
+ for (NSDictionary *dicDatas in data) {
|
|
|
+
|
|
|
+ NCRichDocumentTemplate *template = [NCRichDocumentTemplate new];
|
|
|
+
|
|
|
+ if ([dicDatas valueForKey:@"id"] && ![[dicDatas valueForKey:@"id"] isEqual:[NSNull null]])
|
|
|
+ template.templateID = [[dicDatas valueForKey:@"id"] integerValue];
|
|
|
+
|
|
|
+ if ([dicDatas valueForKey:@"delete"] && ![[dicDatas valueForKey:@"delete"] isKindOfClass:[NSNull class]])
|
|
|
+ template.delete = [dicDatas valueForKey:@"delete"];
|
|
|
+
|
|
|
+ if ([dicDatas valueForKey:@"extension"] && ![[dicDatas valueForKey:@"extension"] isKindOfClass:[NSNull class]])
|
|
|
+ template.extension = [dicDatas valueForKey:@"extension"];
|
|
|
+
|
|
|
+ if ([dicDatas valueForKey:@"name"] && ![[dicDatas valueForKey:@"name"] isKindOfClass:[NSNull class]])
|
|
|
+ template.name = [dicDatas valueForKey:@"name"];
|
|
|
+
|
|
|
+ if ([dicDatas valueForKey:@"preview"] && ![[dicDatas valueForKey:@"preview"] isKindOfClass:[NSNull class]])
|
|
|
+ template.preview = [dicDatas valueForKey:@"preview"];
|
|
|
+
|
|
|
+ if ([dicDatas valueForKey:@"type"] && ![[dicDatas valueForKey:@"type"] isKindOfClass:[NSNull class]])
|
|
|
+ template.type = [dicDatas valueForKey:@"type"];
|
|
|
+
|
|
|
+ [list addObject:template];
|
|
|
+ }
|
|
|
+
|
|
|
+ successRequest(response, list, request.redirectedServer);
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
+ NSString *message = (NSString *)[meta objectForKey:@"message"];
|
|
|
+ if ([message isKindOfClass:[NSNull class]]) {
|
|
|
+ message = NSLocalizedString(@"_server_response_error_", nil);
|
|
|
+ }
|
|
|
+ failureRequest(response, [UtilsFramework getErrorWithCode:statusCode andCustomMessageFromTheServer:message], request.redirectedServer);
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ failureRequest(response, [UtilsFramework getErrorWithCode:k_CCErrorWebdavResponseError andCustomMessageFromTheServer:NSLocalizedString(@"_server_response_error_", nil)], request.redirectedServer);
|
|
|
+ }
|
|
|
+
|
|
|
+ } failure:^(NSHTTPURLResponse *response, NSData *responseData, NSError *error) {
|
|
|
+
|
|
|
+ //Return error
|
|
|
+ failureRequest(response, error, request.redirectedServer);
|
|
|
+ }];
|
|
|
+}
|
|
|
+
|
|
|
#pragma mark - Third Parts
|
|
|
|
|
|
- (void)getHCUserProfile:(NSString *)serverPath onCommunication:(OCCommunication *)sharedOCCommunication successRequest:(void(^)(NSHTTPURLResponse *response, OCUserProfile *userProfile, NSString *redirectedServer)) successRequest failureRequest:(void(^)(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer)) failureRequest
|