<% /** * Copyright (c) 2000-2006 Liferay, Inc. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ %> <%@ include file="/html/portlet/document_library/init.jsp" %> <% String tabs1 = ParamUtil.getString(request, "tabs1", "folders"); DLFolder folder = (DLFolder)request.getAttribute(WebKeys.DOCUMENT_LIBRARY_FOLDER); String folderId = BeanParamUtil.getString(folder, request, "folderId", DLFolderImpl.DEFAULT_PARENT_FOLDER_ID); List folderIds = new ArrayList(); folderIds.add(folderId); DLFolderLocalServiceUtil.getSubfolderIds(folderIds, portletGroupId, folderId); PortletURL portletURL = renderResponse.createRenderURL(); portletURL.setWindowState(WindowState.MAXIMIZED); portletURL.setParameter("struts_action", "/document_library/view"); portletURL.setParameter("tabs1", tabs1); portletURL.setParameter("folderId", folderId); %>
">" method="post" name="fm1" onSubmit="submitForm(this); return false;"> <%= DLUtil.getBreadcrumbs(folder, null, pageContext, renderRequest, renderResponse) %>

<% List headerNames = new ArrayList(); headerNames.add("folder"); headerNames.add("num-of-folders"); headerNames.add("num-of-documents"); headerNames.add(StringPool.BLANK); SearchContainer searchContainer = new SearchContainer(renderRequest, null, null, "cur1", SearchContainer.DEFAULT_DELTA, portletURL, headerNames, null); int total = DLFolderLocalServiceUtil.getFoldersCount(portletGroupId, folderId); searchContainer.setTotal(total); //List results = DLFolderLocalServiceUtil.getFolders(portletGroupId, folderId, searchContainer.getStart(), searchContainer.getEnd()); // Modified to show only folders user has access to! List results = new ArrayList(); List tempResults = DLFolderLocalServiceUtil.getFolders(portletGroupId, folderId, searchContainer.getStart(), searchContainer.getEnd()); boolean showFolder; for (int i = 0; i < tempResults.size(); i++) { DLFolder curFolder = (DLFolder)tempResults.get(i); showFolder = DLFolderPermission.contains(permissionChecker, plid, curFolder.getFolderId(), ActionKeys.VIEW); if (showFolder){ results.add(curFolder); } } searchContainer.setResults(results); List resultRows = searchContainer.getResultRows(); for (int i = 0; i < results.size(); i++) { DLFolder curFolder = (DLFolder)results.get(i); ResultRow row = new ResultRow(curFolder, curFolder.getPrimaryKey().toString(), i); PortletURL rowURL = renderResponse.createRenderURL(); rowURL.setWindowState(WindowState.MAXIMIZED); rowURL.setParameter("struts_action", "/document_library/view"); rowURL.setParameter("folderId", curFolder.getFolderId()); // Name and description StringBuffer sb = new StringBuffer(); sb.append(""); sb.append(curFolder.getName()); sb.append(""); if (Validator.isNotNull(curFolder.getDescription())) { sb.append("
"); sb.append(""); sb.append(curFolder.getDescription()); sb.append(""); } sb.append("
"); //List subfolders = DLFolderLocalServiceUtil.getFolders(portletGroupId, curFolder.getFolderId(), 0, 5); List subfolders = new ArrayList(); List allSubs = DLFolderLocalServiceUtil.getFolders(portletGroupId, curFolder.getFolderId(), 0, 5); boolean showSubFolder; for (int j = 0; j < allSubs.size(); j++) { DLFolder currentFolder = (DLFolder)allSubs.get(j); showSubFolder = DLFolderPermission.contains(permissionChecker, plid, currentFolder.getFolderId(), ActionKeys.VIEW); if (showSubFolder){ subfolders.add(currentFolder); } } if (subfolders.size() > 0) { sb.append("
"); sb.append(""); sb.append(LanguageUtil.get(pageContext, "subfolders")); sb.append(": "); for (int j = 0; j < subfolders.size(); j++) { DLFolder subfolder = (DLFolder)subfolders.get(j); rowURL.setParameter("folderId", subfolder.getFolderId()); sb.append(""); sb.append(subfolder.getName()); sb.append(""); if ((j + 1) < subfolders.size()) { sb.append(", "); } } rowURL.setParameter("folderId", curFolder.getFolderId()); sb.append(""); } row.addText(sb.toString()); // Statistics List subfolderIds = new ArrayList(); subfolderIds.add(curFolder.getFolderId()); DLFolderLocalServiceUtil.getSubfolderIds(subfolderIds, portletGroupId, curFolder.getFolderId()); int foldersCount = subfolderIds.size() - 1; int fileEntriesCount = DLFileEntryLocalServiceUtil.getFileEntriesAndShortcutsCount(subfolderIds); row.addText(Integer.toString(foldersCount), rowURL); row.addText(Integer.toString(fileEntriesCount), rowURL); // Action row.addJSP("right", SearchEntry.DEFAULT_VALIGN, "/html/portlet/document_library/folder_action.jsp"); // Add result row resultRows.add(row); } boolean showAddFolderButton = DLFolderPermission.contains(permissionChecker, plid, folderId, ActionKeys.ADD_FOLDER); %>
">';"> ">


">" method="post" name="fm2" onSubmit="submitForm(this); return false;"> <% headerNames.clear(); headerNames.add("document"); headerNames.add("size"); headerNames.add("downloads"); headerNames.add("locked"); headerNames.add(StringPool.BLANK); searchContainer = new SearchContainer(renderRequest, null, null, "cur2", SearchContainer.DEFAULT_DELTA, portletURL, headerNames, null); total = DLFileEntryLocalServiceUtil.getFileEntriesAndShortcutsCount(folder.getFolderId()); searchContainer.setTotal(total); List fileResults = DLFileEntryLocalServiceUtil.getFileEntriesAndShortcuts(folder.getFolderId(), searchContainer.getStart(), searchContainer.getEnd()); boolean showFile; List viewFiles = new ArrayList(); for (int f = 0; f "); sb.append(fileEntry.getTitle()); if (Validator.isNotNull(fileEntry.getDescription())) { sb.append("
"); sb.append(""); sb.append(fileEntry.getDescription()); sb.append(""); } row.addText(sb.toString(), rowHREF); // Statistics row.addText(TextFormatter.formatKB(fileEntry.getSize(), locale) + "k", rowHREF); row.addText(Integer.toString(fileEntry.getReadCount()), rowHREF); // Locked boolean isLocked = LockServiceUtil.isLocked(DLFileEntry.class.getName(), fileEntry.getPrimaryKey()); row.addText(LanguageUtil.get(pageContext, isLocked ? "yes" : "no"), rowHREF); // Action row.addJSP("right", SearchEntry.DEFAULT_VALIGN, "/html/portlet/document_library/file_entry_action.jsp"); // Add result row resultRows.add(row); } boolean showAddFileEntryButton = DLFolderPermission.contains(permissionChecker, folder, ActionKeys.ADD_DOCUMENT); boolean showAddFileShortcutButton = DLFolderPermission.contains(permissionChecker, folder, ActionKeys.ADD_SHORTCUT); %>
">';"> ">';"> ">

<% String groupFileEntriesUserId = null; if (tabs1.equals("my-documents") && themeDisplay.isSignedIn()) { groupFileEntriesUserId = user.getUserId(); } List headerNames = new ArrayList(); headerNames.add("document"); headerNames.add("size"); headerNames.add("downloads"); headerNames.add("locked"); headerNames.add(StringPool.BLANK); SearchContainer searchContainer = new SearchContainer(renderRequest, null, null, SearchContainer.DEFAULT_CUR_PARAM, SearchContainer.DEFAULT_DELTA, portletURL, headerNames, null); int total = DLFileEntryLocalServiceUtil.getGroupFileEntriesCount(portletGroupId, groupFileEntriesUserId); searchContainer.setTotal(total); List results = DLFileEntryLocalServiceUtil.getGroupFileEntries(portletGroupId, groupFileEntriesUserId, searchContainer.getStart(), searchContainer.getEnd()); searchContainer.setResults(results); List resultRows = searchContainer.getResultRows(); for (int i = 0; i < results.size(); i++) { DLFileEntry fileEntry = (DLFileEntry)results.get(i); ResultRow row = new ResultRow(fileEntry, fileEntry.getPrimaryKey().toString(), i); PortletURL rowURL = renderResponse.createRenderURL(); rowURL.setWindowState(WindowState.MAXIMIZED); rowURL.setParameter("struts_action", "/document_library/edit_file_entry"); rowURL.setParameter("redirect", currentURL); rowURL.setParameter("folderId", fileEntry.getFolderId()); rowURL.setParameter("name", fileEntry.getName()); // Title and description StringBuffer sb = new StringBuffer(); sb.append(""); sb.append(fileEntry.getTitle()); if (Validator.isNotNull(fileEntry.getDescription())) { sb.append("
"); sb.append(""); sb.append(fileEntry.getDescription()); sb.append(""); } row.addText(sb.toString(), rowURL); // Statistics row.addText(TextFormatter.formatKB(fileEntry.getSize(), locale) + "k", rowURL); row.addText(Integer.toString(fileEntry.getReadCount()), rowURL); // Locked boolean isLocked = LockServiceUtil.isLocked(DLFileEntry.class.getName(), fileEntry.getPrimaryKey()); row.addText(LanguageUtil.get(pageContext, isLocked ? "yes" : "no"), rowURL); // Action row.addJSP("right", SearchEntry.DEFAULT_VALIGN, "/html/portlet/document_library/file_entry_action.jsp"); // Add result row resultRows.add(row); } %>