diff --git a/ActiveSync/SOGoActiveSyncDispatcher.m b/ActiveSync/SOGoActiveSyncDispatcher.m index 5601e3f66..dd192f1be 100644 --- a/ActiveSync/SOGoActiveSyncDispatcher.m +++ b/ActiveSync/SOGoActiveSyncDispatcher.m @@ -568,20 +568,17 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - (void) processGetItemEstimate: (id ) theDocumentElement inResponse: (WOResponse *) theResponse { - EOQualifier *notDeletedQualifier, *sinceDateQualifier; NSString *collectionId, *realCollectionId; - EOAndQualifier *qualifier; - NSCalendarDate *filter; id currentCollection; NSMutableString *s; - NSArray *uids; NSData *d; SOGoMicrosoftActiveSyncFolderType folderType; - int status; + int status, count; s = [NSMutableString string]; status = 1; + count = 0; collectionId = [[(id)[theDocumentElement getElementsByTagName: @"CollectionId"] lastObject] textValue]; realCollectionId = [collectionId realCollectionIdWithFolderType: &folderType]; @@ -594,29 +591,41 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // * SORT 124576 124577 124579 124578 // . OK Completed (4 msgs in 0.000 secs) // - filter = [NSCalendarDate dateFromFilterType: [[(id)[theDocumentElement getElementsByTagName: @"FilterType"] lastObject] textValue]]; - - notDeletedQualifier = [EOQualifier qualifierWithQualifierFormat: - @"(not (flags = %@))", - @"deleted"]; - sinceDateQualifier = [EOQualifier qualifierWithQualifierFormat: - @"(DATE >= %@)", filter]; - - qualifier = [[EOAndQualifier alloc] initWithQualifiers: notDeletedQualifier, sinceDateQualifier, - nil]; - AUTORELEASE(qualifier); - - uids = [currentCollection fetchUIDsMatchingQualifier: qualifier - sortOrdering: @"REVERSE ARRIVAL" - threaded: NO]; - - + if (folderType == ActiveSyncMailFolder) + { + EOQualifier *notDeletedQualifier, *sinceDateQualifier; + EOAndQualifier *qualifier; + NSCalendarDate *filter; + NSArray *uids; + + filter = [NSCalendarDate dateFromFilterType: [[(id)[theDocumentElement getElementsByTagName: @"FilterType"] lastObject] textValue]]; + + notDeletedQualifier = [EOQualifier qualifierWithQualifierFormat: + @"(not (flags = %@))", + @"deleted"]; + sinceDateQualifier = [EOQualifier qualifierWithQualifierFormat: + @"(DATE >= %@)", filter]; + + qualifier = [[EOAndQualifier alloc] initWithQualifiers: notDeletedQualifier, sinceDateQualifier, + nil]; + AUTORELEASE(qualifier); + + uids = [currentCollection fetchUIDsMatchingQualifier: qualifier + sortOrdering: @"REVERSE ARRIVAL" + threaded: NO]; + count = [uids count]; + } + else + { + count = [[currentCollection toOneRelationshipKeys] count]; + } + [s appendString: @""]; [s appendString: @""]; [s appendFormat: @"%d", status]; [s appendFormat: @"%@", collectionId]; - [s appendFormat: @"%d", [uids count]]; + [s appendFormat: @"%d", count]; [s appendString: @""];