protected void redirectUpdateAccount( HttpServletRequest request, HttpServletResponse response, User user) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); PortletURL portletURL = PortletURLFactoryUtil.create( request, PortletKeys.LOGIN, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE); portletURL.setParameter("saveLastPath", Boolean.FALSE.toString()); portletURL.setParameter("struts_action", "/login/update_account"); PortletURL redirectURL = PortletURLFactoryUtil.create( request, PortletKeys.FAST_LOGIN, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE); redirectURL.setParameter("struts_action", "/login/login_redirect"); redirectURL.setParameter("emailAddress", user.getEmailAddress()); redirectURL.setParameter("anonymousUser", Boolean.FALSE.toString()); redirectURL.setPortletMode(PortletMode.VIEW); redirectURL.setWindowState(LiferayWindowState.POP_UP); portletURL.setParameter("redirect", redirectURL.toString()); portletURL.setParameter("userId", String.valueOf(user.getUserId())); portletURL.setParameter("emailAddress", user.getEmailAddress()); portletURL.setParameter("firstName", user.getFirstName()); portletURL.setParameter("lastName", user.getLastName()); portletURL.setPortletMode(PortletMode.VIEW); portletURL.setWindowState(LiferayWindowState.POP_UP); response.sendRedirect(portletURL.toString()); }
@Override public void render(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException { PortletURL portletURL = renderResponse.createRenderURL(); portletURL.setParameter("mvcPath", "hello_soy_description"); template.put("descriptionURL", portletURL.toString()); String path = getPath(renderRequest, renderResponse); if (Validator.equals(path, "hello_soy_edit")) { portletURL.setParameter("mvcPath", "hello_soy_view"); } else { portletURL.setParameter("mvcPath", "hello_soy_edit"); } template.put("portletURL", portletURL.toString()); ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY); User user = themeDisplay.getUser(); template.put("userName", user.getFirstName()); super.render(renderRequest, renderResponse); }
public static void addPortletBreadcrumbEntries( Folder folder, HttpServletRequest request, PortletURL portletURL) throws Exception { long defaultFolderId = _getDefaultFolderId(request); List<Folder> ancestorFolders = Collections.emptyList(); if ((folder != null) && (folder.getFolderId() != defaultFolderId)) { ancestorFolders = folder.getAncestors(); int indexOfRootFolder = -1; for (int i = 0; i < ancestorFolders.size(); i++) { Folder ancestorFolder = ancestorFolders.get(i); if (defaultFolderId == ancestorFolder.getFolderId()) { indexOfRootFolder = i; } } if (indexOfRootFolder > -1) { ancestorFolders = ancestorFolders.subList(0, indexOfRootFolder); } } Collections.reverse(ancestorFolders); for (Folder ancestorFolder : ancestorFolders) { portletURL.setParameter("folderId", String.valueOf(ancestorFolder.getFolderId())); Map<String, Object> data = new HashMap<String, Object>(); data.put("folder-id", ancestorFolder.getFolderId()); PortalUtil.addPortletBreadcrumbEntry( request, ancestorFolder.getName(), portletURL.toString(), data); } long folderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID; if (folder != null) { folderId = folder.getFolderId(); } portletURL.setParameter("folderId", String.valueOf(folderId)); if ((folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) && (folderId != defaultFolderId)) { Map<String, Object> data = new HashMap<String, Object>(); data.put("folder-id", folderId); PortalUtil.addPortletBreadcrumbEntry(request, folder.getName(), portletURL.toString(), data); } }
public static void addPortletBreadcrumbEntries( Folder folder, HttpServletRequest request, RenderResponse renderResponse) throws Exception { String mvcRenderCommandName = ParamUtil.getString(request, "mvcRenderCommandName"); PortletURL portletURL = renderResponse.createRenderURL(); if (mvcRenderCommandName.equals("/document_library/select_folder")) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); portletURL.setParameter("mvcRenderCommandName", mvcRenderCommandName); portletURL.setWindowState(LiferayWindowState.POP_UP); PortalUtil.addPortletBreadcrumbEntry( request, themeDisplay.translate("home"), portletURL.toString()); } else { portletURL.setParameter("mvcRenderCommandName", "/image_gallery_display/view"); } long defaultFolderId = getDefaultFolderId(request); List<Folder> ancestorFolders = Collections.emptyList(); if ((folder != null) && (folder.getFolderId() != defaultFolderId)) { ancestorFolders = folder.getAncestors(); int indexOfRootFolder = -1; for (int i = 0; i < ancestorFolders.size(); i++) { Folder ancestorFolder = ancestorFolders.get(i); if (defaultFolderId == ancestorFolder.getFolderId()) { indexOfRootFolder = i; } } if (indexOfRootFolder > -1) { ancestorFolders = ancestorFolders.subList(0, indexOfRootFolder); } } Collections.reverse(ancestorFolders); for (Folder ancestorFolder : ancestorFolders) { portletURL.setParameter("folderId", String.valueOf(ancestorFolder.getFolderId())); PortalUtil.addPortletBreadcrumbEntry( request, ancestorFolder.getName(), portletURL.toString()); } portletURL.setParameter("folderId", String.valueOf(folder.getFolderId())); PortalUtil.addPortletBreadcrumbEntry(request, folder.getName(), portletURL.toString()); }
protected void addBreadcrumbEntries( HttpServletRequest request, String className, long classPK, String paramName, PortletURL containerModelURL) throws PortalException { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(className); List<ContainerModel> containerModels = trashHandler.getParentContainerModels(classPK); Collections.reverse(containerModels); containerModelURL.setParameter("struts_action", "/trash/view"); PortalUtil.addPortletBreadcrumbEntry( request, LanguageUtil.get(themeDisplay.getLocale(), "recycle-bin"), containerModelURL.toString()); for (ContainerModel containerModel : containerModels) { TrashHandler containerModelTrashHandler = TrashHandlerRegistryUtil.getTrashHandler(containerModel.getModelClassName()); if (!containerModelTrashHandler.isInTrash(containerModel.getContainerModelId())) { continue; } containerModelURL.setParameter("struts_action", "/trash/view_content"); containerModelURL.setParameter( paramName, String.valueOf(containerModel.getContainerModelId())); String name = containerModel.getContainerModelName(); if (containerModelTrashHandler.isInTrash(containerModel.getContainerModelId())) { name = TrashUtil.getOriginalTitle(name); } PortalUtil.addPortletBreadcrumbEntry(request, name, containerModelURL.toString()); } TrashRenderer trashRenderer = trashHandler.getTrashRenderer(classPK); PortalUtil.addPortletBreadcrumbEntry( request, trashRenderer.getTitle(themeDisplay.getLocale()), null); }
public Map<Long, Map<String, PortletURL>> getScopeAddPortletURLs(int max) throws Exception { long[] groupIds = getGroupIds(); if (groupIds.length == 0) { return Collections.emptyMap(); } Map<Long, Map<String, PortletURL>> scopeAddPortletURLs = new HashMap(); LiferayPortletResponse liferayPortletResponse = (LiferayPortletResponse) _portletResponse; PortletURL redirectURL = liferayPortletResponse.createRenderURL(); redirectURL.setParameter("hideDefaultSuccessMessage", Boolean.TRUE.toString()); redirectURL.setParameter("mvcPath", "/add_asset_redirect.jsp"); LiferayPortletRequest liferayPortletRequest = (LiferayPortletRequest) _portletRequest; PortletURL currentURLObj = PortletURLUtil.getCurrent(liferayPortletRequest, liferayPortletResponse); redirectURL.setParameter("redirect", currentURLObj.toString()); redirectURL.setWindowState(LiferayWindowState.POP_UP); String redirect = redirectURL.toString(); for (long groupId : groupIds) { Map<String, PortletURL> addPortletURLs = AssetUtil.getAddPortletURLs( liferayPortletRequest, liferayPortletResponse, groupId, getClassNameIds(), getClassTypeIds(), getAllAssetCategoryIds(), getAllAssetTagNames(), redirect); if (MapUtil.isNotEmpty(addPortletURLs)) { scopeAddPortletURLs.put(groupId, addPortletURLs); } if (scopeAddPortletURLs.size() > max) { break; } } return scopeAddPortletURLs; }
@Override public String getEditStructureDefaultValuesURL( LiferayPortletRequest liferayPortletRequest, LiferayPortletResponse liferayPortletResponse, DDMStructure structure, String redirectURL, String backURL) throws Exception { PortletURL portletURL = liferayPortletResponse.createLiferayPortletURL( getControlPanelPlid(liferayPortletRequest), PortletKeys.JOURNAL, PortletRequest.RENDER_PHASE); portletURL.setParameter("struts_action", "/journal/edit_article"); portletURL.setParameter("redirect", redirectURL); portletURL.setParameter("backURL", backURL); portletURL.setParameter("groupId", String.valueOf(structure.getGroupId())); portletURL.setParameter( "classNameId", String.valueOf(PortalUtil.getClassNameId(DDMStructure.class))); portletURL.setParameter("classPK", String.valueOf(structure.getStructureId())); portletURL.setParameter("structureId", structure.getStructureKey()); portletURL.setWindowState(LiferayWindowState.POP_UP); return portletURL.toString(); }
protected JSONArray getPortletURLsJSONArray(Map<String, PortletURL> portletURLs) { JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); if (MapUtil.isEmpty(portletURLs)) { return jsonArray; } for (Map.Entry<String, PortletURL> entry : portletURLs.entrySet()) { JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); jsonObject.put("name", entry.getKey()); PortletURL portletURL = entry.getValue(); portletURL.setParameter("selPlid", "{selPlid}"); jsonObject.put( "value", StringUtil.replace(portletURL.toString(), HttpUtil.encodePath("{selPlid}"), "{selPlid}")); jsonArray.put(jsonObject); } return jsonArray; }
private Url encodeRenderUrl(Url url, boolean forceRenderUrl) { if ((!forceRenderUrl) && (ThreadPortletContext.isResourceRequest())) { return encodeResourceUrl(url); } if (url != null) { String qualifiedPath = getQualifiedPath(url.toString()); PortletResponse portletResponse = ThreadPortletContext.getPortletResponse(); if ((portletResponse != null) && (portletResponse instanceof MimeResponse)) { try { PortletURL portletUrl = ((MimeResponse) portletResponse).createRenderURL(); portletUrl.setParameter( WicketPortlet.WICKET_URL_PORTLET_PARAMETER + ThreadPortletContext.getPortletMode().toString(), qualifiedPath); qualifiedPath = portletUrl.toString(); } catch (Exception e) { throw new RuntimeException(e); } } url = parseUrl(qualifiedPath); } return url; }
protected String getLink(SocialActivity activity, ServiceContext serviceContext) throws Exception { TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(activity.getClassName()); long classPK = activity.getClassPK(); if ((trashHandler != null) && (trashHandler.isInTrash(classPK) || trashHandler.isInTrashContainer(classPK))) { PortletURL portletURL = TrashUtil.getViewContentURL( serviceContext.getRequest(), activity.getClassName(), classPK); if (portletURL == null) { return null; } return portletURL.toString(); } String path = getPath(activity, serviceContext); if (Validator.isNull(path)) { return null; } if (!path.startsWith(StringPool.SLASH)) { return path; } return serviceContext.getPortalURL() + serviceContext.getPathMain() + path; }
protected void addBreadcrumbEntries( HttpServletRequest request, String className, long classPK, String paramName, PortletURL containerModelURL) throws PortalException, SystemException { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(className); List<ContainerModel> containerModels = trashHandler.getParentContainerModels(classPK); Collections.reverse(containerModels); for (ContainerModel containerModel : containerModels) { containerModelURL.setParameter( paramName, String.valueOf(containerModel.getContainerModelId())); PortalUtil.addPortletBreadcrumbEntry( request, containerModel.getContainerModelName(), containerModelURL.toString()); } TrashRenderer trashRenderer = trashHandler.getTrashRenderer(classPK); PortalUtil.addPortletBreadcrumbEntry( request, trashRenderer.getTitle(themeDisplay.getLocale()), null); }
protected void redirectActionURL( HttpServletRequest request, HttpServletResponse response, ActionResponseImpl actionResponseImpl, Portlet portlet) throws Exception { ActionRequestImpl actionRequestImpl = (ActionRequestImpl) request.getAttribute(JavaConstants.JAVAX_PORTLET_REQUEST); Layout layout = (Layout) request.getAttribute(WebKeys.LAYOUT); PortletURL portletURL = new PortletURLImpl( actionRequestImpl, actionRequestImpl.getPortletName(), layout.getPlid(), PortletRequest.RENDER_PHASE); Map<String, String[]> renderParameters = actionResponseImpl.getRenderParameterMap(); for (Map.Entry<String, String[]> entry : renderParameters.entrySet()) { String key = entry.getKey(); String[] value = entry.getValue(); portletURL.setParameter(key, value); } response.sendRedirect(portletURL.toString()); }
public static void addPortletBreadcrumbEntries( MBMessage message, HttpServletRequest request, RenderResponse renderResponse) throws Exception { if (message.getCategoryId() == MBCategoryConstants.DISCUSSION_CATEGORY_ID) { return; } MBCategory category = null; if (message.getCategoryId() != MBCategoryConstants.DEFAULT_PARENT_CATEGORY_ID) { category = message.getCategory(); } addPortletBreadcrumbEntries(category, request, renderResponse); PortletURL portletURL = renderResponse.createRenderURL(); portletURL.setParameter("mvcRenderCommandName", "/message_boards/view_message"); portletURL.setParameter("messageId", String.valueOf(message.getMessageId())); PortalUtil.addPortletBreadcrumbEntry(request, message.getSubject(), portletURL.toString()); }
@Override public String getRestoreLink(PortletRequest portletRequest, long classPK) throws PortalException, SystemException { String portletId = PortletKeys.WIKI; WikiPage page = WikiPageLocalServiceUtil.getPage(classPK); long plid = PortalUtil.getPlidFromPortletId(page.getGroupId(), PortletKeys.WIKI); if (plid == LayoutConstants.DEFAULT_PLID) { plid = PortalUtil.getControlPanelPlid(portletRequest); portletId = PortletKeys.WIKI_ADMIN; } PortletURL portletURL = PortletURLFactoryUtil.create(portletRequest, portletId, plid, PortletRequest.RENDER_PHASE); WikiNode node = page.getNode(); portletURL.setParameter("struts_action", "/wiki/view"); portletURL.setParameter("nodeName", node.getName()); portletURL.setParameter("title", HtmlUtil.unescape(page.getTitle())); return portletURL.toString(); }
public String toString() { if (url != null) { return url.toString(); } else { return urlstring; } }
@Override public void addPortletBreadcrumbEntries( Folder folder, HttpServletRequest request, RenderResponse renderResponse) throws Exception { String strutsAction = ParamUtil.getString(request, "struts_action"); long groupId = ParamUtil.getLong(request, "groupId"); PortletURL portletURL = renderResponse.createRenderURL(); if (strutsAction.equals("/document_library/select_file_entry") || strutsAction.equals("/document_library/select_folder") || strutsAction.equals("/document_library_display/select_folder") || strutsAction.equals("/dynamic_data_mapping/select_document_library") || strutsAction.equals("/image_gallery_display/select_folder")) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); portletURL.setParameter("struts_action", strutsAction); portletURL.setParameter("groupId", String.valueOf(groupId)); portletURL.setWindowState(LiferayWindowState.POP_UP); PortalUtil.addPortletBreadcrumbEntry( request, themeDisplay.translate("home"), portletURL.toString()); } else { portletURL.setParameter("struts_action", "/document_library/view"); } addPortletBreadcrumbEntries(folder, request, portletURL); }
protected void sendRedirect( ActionRequest actionRequest, ActionResponse actionResponse, ThemeDisplay themeDisplay, String login, String password) throws Exception { HttpServletRequest request = PortalUtil.getHttpServletRequest(actionRequest); String redirect = PortalUtil.escapeRedirect(ParamUtil.getString(actionRequest, "redirect")); if (Validator.isNotNull(redirect)) { HttpServletResponse response = PortalUtil.getHttpServletResponse(actionResponse); AuthenticatedSessionManagerUtil.login(request, response, login, password, false, null); } else { PortletURL loginURL = LoginUtil.getLoginURL(request, themeDisplay.getPlid()); loginURL.setParameter("login", login); redirect = loginURL.toString(); } actionResponse.sendRedirect(redirect); }
@Override public String getURLViewInContext( LiferayPortletRequest liferayPortletRequest, LiferayPortletResponse liferayPortletResponse, String noSuchEntryRedirect) { try { ThemeDisplay themeDisplay = (ThemeDisplay) liferayPortletRequest.getAttribute(WebKeys.THEME_DISPLAY); User user = themeDisplay.getUser(); long portletPlid = PortalUtil.getPlidFromPortletId(user.getGroupId(), true, PortletKeys.TASKS); PortletURL portletURL = PortletURLFactoryUtil.create( liferayPortletRequest, PortletKeys.TASKS, portletPlid, PortletRequest.RENDER_PHASE); portletURL.setParameter("mvcPath", "/tasks/view.jsp"); return portletURL.toString(); } catch (Exception e) { } return null; }
@Override public String getURL(PortletRequest portletRequest, PortletResponse portletResponse) { ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY); PortletDisplay portletDisplay = themeDisplay.getPortletDisplay(); Portlet portlet = _portletLocalService.getPortletById(portletDisplay.getId()); PortletURL portletURL = PortletURLFactoryUtil.create( portletRequest, PortletProviderUtil.getPortletId( DDMStructure.class.getName(), PortletProvider.Action.VIEW), PortletRequest.RENDER_PHASE); portletURL.setParameter("mvcPath", "/view.jsp"); portletURL.setParameter("backURL", themeDisplay.getURLCurrent()); portletURL.setParameter("groupId", String.valueOf(themeDisplay.getScopeGroupId())); portletURL.setParameter("refererPortletName", DLPortletKeys.DOCUMENT_LIBRARY); portletURL.setParameter("refererWebDAVToken", WebDAVUtil.getStorageToken(portlet)); portletURL.setParameter("showAncestorScopes", Boolean.TRUE.toString()); portletURL.setParameter("showManageTemplates", Boolean.FALSE.toString()); return portletURL.toString(); }
public static String getCreateAccountHREF(HttpServletRequest request, ThemeDisplay themeDisplay) throws Exception { if (Validator.isNull(PropsValues.COMPANY_SECURITY_STRANGERS_URL)) { PortletURL createAccountURL = new PortletURLImpl( request, PortletKeys.LOGIN, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE); createAccountURL.setWindowState(WindowState.MAXIMIZED); createAccountURL.setPortletMode(PortletMode.VIEW); createAccountURL.setParameter("saveLastPath", "0"); createAccountURL.setParameter("struts_action", "/login/create_account"); return createAccountURL.toString(); } try { Layout layout = LayoutLocalServiceUtil.getFriendlyURLLayout( themeDisplay.getScopeGroupId(), false, PropsValues.COMPANY_SECURITY_STRANGERS_URL); return PortalUtil.getLayoutURL(layout, themeDisplay); } catch (NoSuchLayoutException nsle) { } return StringPool.BLANK; }
protected String getRedirect( ActionRequest actionRequest, ActionResponse actionResponse, MBMessage message) { if (message == null) { String redirect = ParamUtil.getString(actionRequest, "redirect"); return redirect; } int workflowAction = ParamUtil.getInteger(actionRequest, "workflowAction", WorkflowConstants.ACTION_PUBLISH); if (workflowAction == WorkflowConstants.ACTION_SAVE_DRAFT) { return getSaveAndContinueRedirect(actionRequest, actionResponse, message); } else if (message == null) { return ParamUtil.getString(actionRequest, "redirect"); } ActionResponseImpl actionResponseImpl = (ActionResponseImpl) actionResponse; PortletURL portletURL = actionResponseImpl.createRenderURL(); portletURL.setParameter("mvcRenderCommandName", "/message_boards/view_message"); portletURL.setParameter("messageId", String.valueOf(message.getMessageId())); return portletURL.toString(); }
@Override public void populateConfigJSONObject( JSONObject jsonObject, Map<String, Object> inputEditorTaglibAttributes, ThemeDisplay themeDisplay, LiferayPortletResponse liferayPortletResponse) { PortletURL itemSelectorURL = getItemSelectorPortletURL( inputEditorTaglibAttributes, liferayPortletResponse, new ImageItemSelectorCriterion()); if (itemSelectorURL != null) { jsonObject.put("filebrowserImageBrowseLinkUrl", itemSelectorURL.toString()); jsonObject.put("filebrowserImageBrowseUrl", itemSelectorURL.toString()); } }
@Override public void addContainerModelBreadcrumbEntries( HttpServletRequest request, String className, long classPK, PortletURL containerModelURL) throws PortalException { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(className); String rootContainerModelName = LanguageUtil.get(themeDisplay.getLocale(), trashHandler.getRootContainerModelName()); if (classPK == 0) { PortalUtil.addPortletBreadcrumbEntry(request, rootContainerModelName, null); return; } containerModelURL.setParameter("containerModelId", "0"); PortalUtil.addPortletBreadcrumbEntry( request, rootContainerModelName, containerModelURL.toString()); addBreadcrumbEntries(request, className, classPK, "containerModelId", containerModelURL); }
protected URLMenuItem getPortletTitleMenuItem( PortletRequest portletRequest, ThemeDisplay themeDisplay) { URLMenuItem urlMenuItem = new URLMenuItem(); urlMenuItem.setIcon("icon-plus-sign-2"); PortletURL portletURL = PortletURLFactoryUtil.create( portletRequest, BlogsPortletKeys.BLOGS, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE); portletURL.setParameter("mvcRenderCommandName", "/blogs/edit_entry"); String currentURL = PortalUtil.getCurrentURL(portletRequest); portletURL.setParameter("redirect", currentURL); portletURL.setParameter("backURL", currentURL); urlMenuItem.setURL(portletURL.toString()); return urlMenuItem; }
@Override public String getURL(PortletRequest portletRequest, PortletResponse portletResponse) { PortletURL portletURL = PortalUtil.getControlPanelPortletURL( portletRequest, MBPortletKeys.MESSAGE_BOARDS_ADMIN, PortletRequest.ACTION_PHASE); portletURL.setParameter(ActionRequest.ACTION_NAME, "/message_boards/edit_message"); try { MBMessage message = ActionUtil.getMessage(portletRequest); MBThread thread = message.getThread(); if (thread.isLocked()) { portletURL.setParameter(Constants.CMD, Constants.UNLOCK); } else { portletURL.setParameter(Constants.CMD, Constants.LOCK); } portletURL.setParameter("redirect", PortalUtil.getCurrentURL(portletRequest)); portletURL.setParameter("threadId", String.valueOf(thread.getThreadId())); } catch (Exception e) { return null; } return portletURL.toString(); }
public static void addPortletBreadcrumbEntries( MBCategory category, HttpServletRequest request, RenderResponse renderResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); String mvcRenderCommandName = ParamUtil.getString(request, "mvcRenderCommandName"); PortletURL portletURL = renderResponse.createRenderURL(); if (mvcRenderCommandName.equals("/message_boards/select_category")) { portletURL.setParameter("mvcRenderCommandName", "/message_boards/select_category"); portletURL.setWindowState(LiferayWindowState.POP_UP); PortalUtil.addPortletBreadcrumbEntry( request, themeDisplay.translate("categories"), portletURL.toString()); } else { portletURL.setParameter("mvcRenderCommandName", "/message_boards/view"); } PortalUtil.addPortletBreadcrumbEntry( request, themeDisplay.translate("home"), portletURL.toString()); if (category == null) { return; } if (!mvcRenderCommandName.equals("/message_boards/select_category")) { portletURL.setParameter("mvcRenderCommandName", "/message_boards/view_category"); } List<MBCategory> ancestorCategories = category.getAncestors(); Collections.reverse(ancestorCategories); for (MBCategory curCategory : ancestorCategories) { portletURL.setParameter("mbCategoryId", String.valueOf(curCategory.getCategoryId())); PortalUtil.addPortletBreadcrumbEntry(request, curCategory.getName(), portletURL.toString()); } portletURL.setParameter("mbCategoryId", String.valueOf(category.getCategoryId())); PortalUtil.addPortletBreadcrumbEntry(request, category.getName(), portletURL.toString()); }
private String _convert( WikiPage page, PortletURL viewPageURL, PortletURL editPageURL, String attachmentURLPrefix) throws PageContentException, WikiFormatException { LiferayPortletURL liferayViewPageURL = (LiferayPortletURL) viewPageURL; LiferayPortletURL liferayEditPageURL = (LiferayPortletURL) editPageURL; WikiEngine engine = _getEngine(page.getFormat()); String content = engine.convert(page, viewPageURL, editPageURL, attachmentURLPrefix); String editPageURLString = StringPool.BLANK; if (editPageURL != null) { liferayEditPageURL.setParameter("title", "__REPLACEMENT__", false); editPageURLString = editPageURL.toString(); editPageURLString = StringUtil.replace(editPageURLString, "__REPLACEMENT__", "$1"); } Matcher matcher = _editPageURLPattern.matcher(content); content = _convertURLs(editPageURLString, matcher); String viewPageURLString = StringPool.BLANK; if (viewPageURL != null) { liferayViewPageURL.setParameter("title", "__REPLACEMENT__", false); viewPageURLString = viewPageURL.toString(); viewPageURLString = StringUtil.replace(viewPageURLString, "__REPLACEMENT__", "$1"); } matcher = _viewPageURLPattern.matcher(content); content = _convertURLs(viewPageURLString, matcher); content = _replaceAttachments(content, page.getTitle(), attachmentURLPrefix); return content; }
private String _getOnclickMethod() { String imageEditorPortletId = PortletProviderUtil.getPortletId(Image.class.getName(), PortletProvider.Action.EDIT); PortletURL imageEditorURL = PortletURLFactoryUtil.create(_request, imageEditorPortletId, PortletRequest.RENDER_PHASE); imageEditorURL.setParameter("mvcRenderCommandName", "/image_editor/view"); try { imageEditorURL.setWindowState(LiferayWindowState.POP_UP); } catch (Exception e) { throw new SystemException("Unable to set window state", e); } LiferayPortletResponse liferayPortletResponse = _getLiferayPortletResponse(); PortletURL editURL = liferayPortletResponse.createActionURL(); editURL.setParameter( ActionRequest.ACTION_NAME, "/document_library/edit_file_entry_with_image_editor"); editURL.setParameter("fileEntryId", String.valueOf(_fileEntry.getFileEntryId())); String fileEntryPreviewURL = DLUtil.getPreviewURL(_fileEntry, _fileVersion, _themeDisplay, StringPool.BLANK); StringBundler sb = new StringBundler(10); sb.append(liferayPortletResponse.getNamespace()); sb.append("editWithImageEditor('"); sb.append(imageEditorURL.toString()); sb.append("', '"); sb.append(editURL.toString()); sb.append("', '"); sb.append(_fileEntry.getFileName()); sb.append("', '"); sb.append(fileEntryPreviewURL); sb.append("');"); return sb.toString(); }
public String renderDDMTemplate( PageContext pageContext, long ddmTemplateId, List<?> entries, Map<String, Object> contextObjects) throws Exception { contextObjects.put(PortletDisplayTemplateConstants.DDM_TEMPLATE_ID, ddmTemplateId); contextObjects.put(PortletDisplayTemplateConstants.ENTRIES, entries); if (entries.size() == 1) { contextObjects.put(PortletDisplayTemplateConstants.ENTRY, entries.get(0)); } HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); contextObjects.put(PortletDisplayTemplateConstants.LOCALE, request.getLocale()); contextObjects.put(PortletDisplayTemplateConstants.REQUEST, request); RenderRequest renderRequest = (RenderRequest) request.getAttribute(JavaConstants.JAVAX_PORTLET_REQUEST); contextObjects.put(PortletDisplayTemplateConstants.RENDER_REQUEST, renderRequest); RenderResponse renderResponse = (RenderResponse) request.getAttribute(JavaConstants.JAVAX_PORTLET_RESPONSE); contextObjects.put(PortletDisplayTemplateConstants.RENDER_RESPONSE, renderResponse); PortletURL currentURL = PortletURLUtil.getCurrent(renderRequest, renderResponse); contextObjects.put(PortletDisplayTemplateConstants.CURRENT_URL, currentURL.toString()); ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY); contextObjects.put(PortletDisplayTemplateConstants.THEME_DISPLAY, themeDisplay); // Taglibs DDMTemplate ddmTemplate = DDMTemplateLocalServiceUtil.getTemplate(ddmTemplateId); String language = ddmTemplate.getLanguage(); if (language.equals(TemplateConstants.LANG_TYPE_FTL)) { _addTaglibSupportFTL(contextObjects, pageContext); } else if (language.equals(TemplateConstants.LANG_TYPE_VM)) { _addTaglibSupportVM(contextObjects, pageContext); } contextObjects.putAll(_getPortletPreferences(renderRequest)); return _transformer.transform(themeDisplay, contextObjects, ddmTemplate.getScript(), language); }
public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String title = getTitleString(request); if (title != null) response.setTitle(title); Context context = new VelocityContext(); context.put("tlang", rb); context.put("validator", validator); sendAlert(request, context); PortletURL url = response.createActionURL(); context.put("actionUrl", url.toString()); context.put("doCancel", "sakai.cancel"); context.put("doUpdate", "sakai.update"); // get current site Placement placement = ToolManager.getCurrentPlacement(); String siteId = ""; // find the right LTIContent object for this page String source = placement.getPlacementConfig().getProperty(SOURCE); Long key = getContentIdFromSource(source); if (key == null) { out.println(rb.getString("get.info.notconfig")); M_log.warn("Cannot find content id placement=" + placement.getId() + " source=" + source); return; } Map<String, Object> content = m_ltiService.getContent(key); if (content == null) { out.println(rb.getString("get.info.notconfig")); M_log.warn("Cannot find content item placement=" + placement.getId() + " key=" + key); return; } // attach the ltiToolId to each model attribute, so that we could have the tool configuration // page for multiple tools String foundLtiToolId = content.get(m_ltiService.LTI_TOOL_ID).toString(); Map<String, Object> tool = m_ltiService.getTool(Long.valueOf(foundLtiToolId)); if (tool == null) { out.println(rb.getString("get.info.notconfig")); M_log.warn("Cannot find tool placement=" + placement.getId() + " key=" + foundLtiToolId); return; } String[] contentToolModel = m_ltiService.getContentModel(Long.valueOf(foundLtiToolId)); String formInput = m_ltiService.formInput(content, contentToolModel); context.put("formInput", formInput); vHelper.doTemplate(vengine, "/vm/edit.vm", context, out); }