From 7f7e3cb06a6b8789a1cd1667fb62418fad02aac1 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Tue, 10 Jun 2014 14:48:25 -0400 Subject: [PATCH] Fix folder name of new subscriptions Fixes #2801 --- NEWS | 1 + UI/MainUI/SOGoUserHomePage.m | 8 ++--- .../UIxContactsUserFolders.js | 29 ++++++------------- 3 files changed, 13 insertions(+), 25 deletions(-) diff --git a/NEWS b/NEWS index 7af43b7c2..fb1aa4abe 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,7 @@ Enhancements Bug fixes - better handling of empty "Flag" messages over ActiveSync (#2806) - fixed Chinese charset handling (#2809) + - fixed folder name (calendars and contacts) of new subscriptions (#2801) 2.2.5 (2014-06-05) ------------------ diff --git a/UI/MainUI/SOGoUserHomePage.m b/UI/MainUI/SOGoUserHomePage.m index 1e2e361ae..95d7a72de 100644 --- a/UI/MainUI/SOGoUserHomePage.m +++ b/UI/MainUI/SOGoUserHomePage.m @@ -364,8 +364,7 @@ // We sort our array - this is pretty useful for the Web // interface of SOGo. - allUsers = [users - sortedArrayUsingSelector: @selector (caseInsensitiveDisplayNameCompare:)]; + allUsers = [users sortedArrayUsingSelector: @selector (caseInsensitiveDisplayNameCompare:)]; max = [allUsers count]; jsonResponse = [NSMutableArray arrayWithCapacity: max]; @@ -462,9 +461,8 @@ folderType = [self queryParameterForKey: @"type"]; userFolder = [self clientObject]; - folders - = [userFolder foldersOfType: folderType - forUID: [userFolder ownerInContext: context]]; + folders = [userFolder foldersOfType: folderType + forUID: [userFolder ownerInContext: context]]; result = [self _foldersResponseForResults: folders]; return result; diff --git a/UI/WebServerResources/UIxContactsUserFolders.js b/UI/WebServerResources/UIxContactsUserFolders.js index 6b2fb2712..2df373add 100644 --- a/UI/WebServerResources/UIxContactsUserFolders.js +++ b/UI/WebServerResources/UIxContactsUserFolders.js @@ -164,9 +164,9 @@ function foldersSearchCallback(http) { dd.innerHTML = ''; for (var i = 1; i < folders.length - 1; i++) - dd.appendChild (addFolderBranchToTree(d, user, folders[i], nodeId, i, false)); - dd.appendChild (addFolderBranchToTree(d, user, folders[folders.length-1], nodeId, - (folders.length - 1), true)); + dd.appendChild(addFolderBranchToTree(d, user, folders[i], nodeId, i, false)); + dd.appendChild(addFolderBranchToTree(d, user, folders[folders.length-1], nodeId, + (folders.length - 1), true)); //dd.update(str); for (var i = 1; i < folders.length; i++) { var sd = $("sd" + (nodeId + i)); @@ -193,13 +193,8 @@ function addFolderBranchToTree(tree, user, folder, nodeId, subId, isLast) { icon += 'calendar-folder-16x16.png'; var folderId = user + ":" + folderInfos[1].substr(1); - // name has the format "Foldername (Firstname Lastname )" // We sanitize the value to avoid XSS issues - var name = folderInfos[0].escapeHTML(); - - var pos = name.lastIndexOf(' ('); - if (pos > -1) - name = name.substring(0, pos); // strip the part with fullname and email + var name = folderInfos[0].escapeHTML(); var node = new dTreeNode(subId, nodeId, name, 0, '#', folderId, folderInfos[2] + '-folder', '', '', icon, icon); node._ls = isLast; @@ -223,25 +218,19 @@ function onConfirmFolderSelection(event) { var node = topNode.selectedEntry.parentNode; var folder = node.getAttribute("dataname"); var type = node.getAttribute("datatype"); - var folderName; if (window.opener.userFolderType == "user") { - var span = $(topNode.selectedEntry).down("SPAN.nodeName"); - var email = (span.innerHTML - .replace("<", "<", "g") - .replace(">", ">", "g")); - folderName = email.replace(/>,.*$/, ">", "g"); + var resource = $(topNode.selectedEntry).down("SPAN.nodeName"); + var description = (resource.innerHTML + .replace("<", "<", "g") + .replace(">", ">", "g")); + folderName = description.replace(/>,.*$/, ">", "g"); } else { var resource = $(topNode.selectedEntry).down("SPAN.nodeName"); - var user = $(node.parentNode.previousSibling).down("SPAN.nodeName"); - var email = (user.innerHTML - .replace("<", "<", "g") - .replace(">", ">", "g")); folderName = resource.innerHTML; folderName = folderName.replace(/>,.*(\))?$/, ">)$1", "g"); } - var data = { folderName: folderName, folder: folder, type: type, window: window }; if (parent$(accessToSubscribedFolder(folder))) window.alert(_("You have already subscribed to that folder!"));