001
014
015 package com.liferay.portlet.imagegallerydisplay.util;
016
017 import com.liferay.portal.kernel.portlet.LiferayWindowState;
018 import com.liferay.portal.kernel.repository.model.Folder;
019 import com.liferay.portal.kernel.util.ParamUtil;
020 import com.liferay.portal.theme.ThemeDisplay;
021 import com.liferay.portal.util.PortalUtil;
022 import com.liferay.portal.util.WebKeys;
023 import com.liferay.portlet.documentlibrary.model.DLFolderConstants;
024 import com.liferay.portlet.documentlibrary.service.DLAppLocalServiceUtil;
025
026 import java.util.Collections;
027 import java.util.List;
028
029 import javax.portlet.PortletURL;
030 import javax.portlet.RenderResponse;
031
032 import javax.servlet.http.HttpServletRequest;
033
034
037 public class IGUtil {
038
039 public static void addPortletBreadcrumbEntries(
040 Folder folder, HttpServletRequest request,
041 RenderResponse renderResponse)
042 throws Exception {
043
044 String strutsAction = ParamUtil.getString(request, "struts_action");
045
046 PortletURL portletURL = renderResponse.createRenderURL();
047
048 if (strutsAction.equals("/image_gallery_display/select_folder")) {
049 ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(
050 WebKeys.THEME_DISPLAY);
051
052 portletURL.setWindowState(LiferayWindowState.POP_UP);
053
054 portletURL.setParameter("struts_action", strutsAction);
055
056 PortalUtil.addPortletBreadcrumbEntry(
057 request, themeDisplay.translate("home"), portletURL.toString());
058 }
059 else {
060 portletURL.setParameter(
061 "struts_action", "/image_gallery_display/view");
062 }
063
064 List<Folder> ancestorFolders = folder.getAncestors();
065
066 Collections.reverse(ancestorFolders);
067
068 for (Folder ancestorFolder : ancestorFolders) {
069 portletURL.setParameter(
070 "folderId", String.valueOf(ancestorFolder.getFolderId()));
071
072 PortalUtil.addPortletBreadcrumbEntry(
073 request, ancestorFolder.getName(), portletURL.toString());
074 }
075
076 portletURL.setParameter(
077 "folderId", String.valueOf(folder.getFolderId()));
078
079 if (strutsAction.equals("/journal/select_image_gallery")) {
080 portletURL.setParameter(
081 "groupId", String.valueOf(folder.getGroupId()));
082 }
083
084 PortalUtil.addPortletBreadcrumbEntry(
085 request, folder.getName(), portletURL.toString());
086 }
087
088 public static void addPortletBreadcrumbEntries(
089 long folderId, HttpServletRequest request,
090 RenderResponse renderResponse)
091 throws Exception {
092
093 if (folderId == DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
094 return;
095 }
096
097 Folder folder = DLAppLocalServiceUtil.getFolder(folderId);
098
099 addPortletBreadcrumbEntries(folder, request, renderResponse);
100 }
101
102 }