From d089c4046ffac8124874c504491db9d1f15ae650 Mon Sep 17 00:00:00 2001 From: Hivert Quentin Date: Thu, 3 Sep 2026 14:42:51 +0200 Subject: [PATCH] fix(UI): use legitimate sorting value --- UI/Contacts/UIxContactsListActions.m | 8 +++++++- UI/MailerUI/UIxMailListActions.m | 7 ++++++- UI/Scheduler/UIxCalListingActions.m | 9 ++++++++- UI/Scheduler/UIxCalMainView.m | 9 +++++++++ 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/UI/Contacts/UIxContactsListActions.m b/UI/Contacts/UIxContactsListActions.m index ab796774e..0c30f48ad 100644 --- a/UI/Contacts/UIxContactsListActions.m +++ b/UI/Contacts/UIxContactsListActions.m @@ -115,12 +115,18 @@ { NSMutableDictionary *contactSettings; NSString *ascending, *sort; + NSArray *sortValues; SOGoUserSettings *us; sort = [[self requestData] objectForKey: @"sort"]; ascending = [[self requestData] objectForKey: @"asc"]; - if ([sort length]) + //Check value of sorting + sortValues = [NSArray arrayWithObjects: @"c_cn", @"c_sn", + @"c_givenname", @"c_mail", @"c_screenname", @"c_o", @"c_telephonenumber", nil]; + + + if ([sort length] && [sortValues containsObject:sort]) { sort = [self sortKey]; us = [[context activeUser] userSettings]; diff --git a/UI/MailerUI/UIxMailListActions.m b/UI/MailerUI/UIxMailListActions.m index 71390f172..22252b093 100644 --- a/UI/MailerUI/UIxMailListActions.m +++ b/UI/MailerUI/UIxMailListActions.m @@ -408,6 +408,7 @@ NSString *sort, *module; NSMutableDictionary *moduleSettings; NSDictionary *urlParams, *sortingAttributes; + NSArray *sortValues; SOGoUser *activeUser; SOGoUserSettings *us; BOOL asc, dry; @@ -424,7 +425,11 @@ us = [activeUser userSettings]; moduleSettings = [us objectForKey: module]; - if ([sort length]) + //Check sort value + sortValues = [NSArray arrayWithObjects: @"subject", @"from", + @"date", @"size", @"arrival", nil]; + + if ([sort length] && [sortValues containsObject:sort]) { if ([sort isEqualToString: [self defaultSortKey]] && !asc) { diff --git a/UI/Scheduler/UIxCalListingActions.m b/UI/Scheduler/UIxCalListingActions.m index 62a60750b..1df6c4481 100644 --- a/UI/Scheduler/UIxCalListingActions.m +++ b/UI/Scheduler/UIxCalListingActions.m @@ -786,12 +786,19 @@ static NSArray *tasksFields = nil; - (void) saveSortValue: (NSString *) submodule { NSString *sort, *ascending; + NSArray *sortValues; SOGoUserSettings *us; NSMutableDictionary *calendarSettings; sort = [[context request] formValueForKey: @"sort"]; ascending = [[context request] formValueForKey: @"asc"]; - if ([sort length]) + + //Check value of sorting + sortValues = [NSArray arrayWithObjects: @"title", @"location", + @"calendarName", @"start", @"priority", @"category", @"status", @"end", nil]; + + + if ([sort length] && [sortValues containsObject:sort]) { us = [[context activeUser] userSettings]; calendarSettings = [us objectForKey: @"Calendar"]; diff --git a/UI/Scheduler/UIxCalMainView.m b/UI/Scheduler/UIxCalMainView.m index dc792c1b2..35dd14ae1 100644 --- a/UI/Scheduler/UIxCalMainView.m +++ b/UI/Scheduler/UIxCalMainView.m @@ -254,6 +254,7 @@ { WORequest *request; NSDictionary *params; + NSArray *listValues; NSString *selectedList; [self _setupContext]; @@ -261,6 +262,14 @@ params = [[request contentAsString] objectFromJSONString]; selectedList = [params objectForKey: @"list"]; + + //Check value + listValues = [NSArray arrayWithObjects: @"eventsListView", @"tasksListView", nil]; + if([selectedList length] && ![listValues containsObject:selectedList]) + { + selectedList = @"eventsListView"; + } + [moduleSettings setObject: selectedList forKey: @"SelectedList"]; [us synchronize];