List of usage examples for com.liferay.portal.kernel.theme ThemeDisplay getLayout
public Layout getLayout()
From source file:com.liferay.journal.search.JournalOpenSearchImpl.java
License:Open Source License
@Override protected String getURL(ThemeDisplay themeDisplay, long groupId, Document result, PortletURL portletURL) throws Exception { String articleId = result.get("articleId"); JournalArticle article = _journalArticleService.getArticle(groupId, articleId); if (Validator.isNotNull(article.getLayoutUuid())) { String groupFriendlyURL = _portal.getGroupFriendlyURL( _layoutSetLocalService.getLayoutSet(article.getGroupId(), false), themeDisplay); return groupFriendlyURL.concat(JournalArticleConstants.CANONICAL_URL_SEPARATOR) .concat(article.getUrlTitle()); }/*from w w w . j a v a 2 s.c o m*/ Layout layout = themeDisplay.getLayout(); List<Long> hitLayoutIds = _journalContentSearchLocalService.getLayoutIds(layout.getGroupId(), layout.isPrivateLayout(), articleId); for (Long hitLayoutId : hitLayoutIds) { PermissionChecker permissionChecker = themeDisplay.getPermissionChecker(); if (LayoutPermissionUtil.contains(permissionChecker, layout.getGroupId(), layout.isPrivateLayout(), hitLayoutId, ActionKeys.VIEW)) { Layout hitLayout = _layoutLocalService.getLayout(layout.getGroupId(), layout.isPrivateLayout(), hitLayoutId.longValue()); return _portal.getLayoutURL(hitLayout, themeDisplay); } } String layoutURL = getLayoutURL(themeDisplay, articleId); if (layoutURL != null) { return layoutURL; } AssetEntry assetEntry = _assetEntryLocalService.fetchEntry(JournalArticle.class.getName(), article.getResourcePrimKey()); if (assetEntry == null) { return null; } portletURL.setParameter("assetEntryId", String.valueOf(assetEntry.getEntryId())); portletURL.setParameter("groupId", String.valueOf(groupId)); portletURL.setParameter("articleId", articleId); return portletURL.toString(); }
From source file:com.liferay.journal.util.impl.JournalUtil.java
License:Open Source License
private static void _populateTokens(Map<String, String> tokens, long articleGroupId, ThemeDisplay themeDisplay) throws PortalException { Layout layout = themeDisplay.getLayout(); Group group = layout.getGroup(); LayoutSet layoutSet = layout.getLayoutSet(); String friendlyUrlCurrent = null; if (layout.isPublicLayout()) { friendlyUrlCurrent = themeDisplay.getPathFriendlyURLPublic(); } else if (group.isUserGroup()) { friendlyUrlCurrent = themeDisplay.getPathFriendlyURLPrivateUser(); } else {/*ww w.j a v a 2 s .c o m*/ friendlyUrlCurrent = themeDisplay.getPathFriendlyURLPrivateGroup(); } String layoutSetFriendlyUrl = themeDisplay.getI18nPath(); String virtualHostname = layoutSet.getVirtualHostname(); if (Validator.isNull(virtualHostname) || !virtualHostname.equals(themeDisplay.getServerName())) { layoutSetFriendlyUrl = friendlyUrlCurrent + group.getFriendlyURL(); } tokens.put("article_group_id", String.valueOf(articleGroupId)); tokens.put("cdn_host", themeDisplay.getCDNHost()); tokens.put("company_id", String.valueOf(themeDisplay.getCompanyId())); tokens.put("friendly_url_current", friendlyUrlCurrent); tokens.put("friendly_url_private_group", themeDisplay.getPathFriendlyURLPrivateGroup()); tokens.put("friendly_url_private_user", themeDisplay.getPathFriendlyURLPrivateUser()); tokens.put("friendly_url_public", themeDisplay.getPathFriendlyURLPublic()); tokens.put("group_friendly_url", group.getFriendlyURL()); tokens.put("image_path", themeDisplay.getPathImage()); tokens.put("layout_set_friendly_url", layoutSetFriendlyUrl); tokens.put("main_path", themeDisplay.getPathMain()); tokens.put("portal_ctx", themeDisplay.getPathContext()); tokens.put("portal_url", HttpUtil.removeProtocol(themeDisplay.getURLPortal())); tokens.put("protocol", HttpUtil.getProtocol(themeDisplay.getURLPortal())); tokens.put("root_path", themeDisplay.getPathContext()); tokens.put("scope_group_id", String.valueOf(themeDisplay.getScopeGroupId())); tokens.put("site_group_id", String.valueOf(themeDisplay.getSiteGroupId())); tokens.put("theme_image_path", themeDisplay.getPathThemeImages()); _populateCustomTokens(tokens, themeDisplay.getCompanyId()); // Deprecated tokens tokens.put("friendly_url", themeDisplay.getPathFriendlyURLPublic()); tokens.put("friendly_url_private", themeDisplay.getPathFriendlyURLPrivateGroup()); tokens.put("group_id", String.valueOf(articleGroupId)); tokens.put("page_url", themeDisplay.getPathFriendlyURLPublic()); }
From source file:com.liferay.journal.web.asset.JournalArticleAssetRenderer.java
License:Open Source License
@Override public String getURLViewInContext(LiferayPortletRequest liferayPortletRequest, LiferayPortletResponse liferayPortletResponse, String noSuchEntryRedirect) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) liferayPortletRequest.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = _article.getLayout(); if (layout == null) { layout = themeDisplay.getLayout(); }/*from www. ja v a 2 s . c o m*/ String portletId = (String) liferayPortletRequest.getAttribute(WebKeys.PORTLET_ID); PortletPreferences portletSetup = PortletPreferencesFactoryUtil.getStrictLayoutPortletSetup(layout, portletId); String linkToLayoutUuid = GetterUtil.getString(portletSetup.getValue("portletSetupLinkToLayoutUuid", null)); if (Validator.isNotNull(_article.getLayoutUuid()) && Validator.isNull(linkToLayoutUuid)) { Group group = themeDisplay.getScopeGroup(); if (group.getGroupId() != _article.getGroupId()) { group = GroupLocalServiceUtil.getGroup(_article.getGroupId()); } String groupFriendlyURL = PortalUtil.getGroupFriendlyURL( LayoutSetLocalServiceUtil.getLayoutSet(group.getGroupId(), layout.isPrivateLayout()), themeDisplay); return PortalUtil.addPreservedParameters(themeDisplay, groupFriendlyURL .concat(JournalArticleConstants.CANONICAL_URL_SEPARATOR).concat(_article.getUrlTitle())); } String hitLayoutURL = getHitLayoutURL(layout.isPrivateLayout(), noSuchEntryRedirect, themeDisplay); if (hitLayoutURL.equals(noSuchEntryRedirect)) { hitLayoutURL = getHitLayoutURL(!layout.isPrivateLayout(), noSuchEntryRedirect, themeDisplay); } return hitLayoutURL; }
From source file:com.liferay.journal.web.internal.portlet.JournalPortlet.java
License:Open Source License
protected void updateContentSearch(ActionRequest actionRequest, String portletResource, String articleId) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); long referringPlid = ParamUtil.getLong(actionRequest, "referringPlid"); if (referringPlid > 0) { layout = _layoutLocalService.fetchLayout(referringPlid); }//from w w w. j av a2 s.c om _journalContentSearchLocalService.updateContentSearch(layout.getGroupId(), layout.isPrivateLayout(), layout.getLayoutId(), portletResource, articleId, true); }
From source file:com.liferay.journal.web.util.JournalRSSUtil.java
License:Open Source License
public byte[] getRSS(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY); JournalFeed feed = null;//w w w .j a v a2 s .c om long id = ParamUtil.getLong(resourceRequest, "id"); if (id > 0) { try { feed = _journalFeedLocalService.getFeed(id); } catch (NoSuchFeedException nsfe) { // Backward compatibility with old URLs feed = _journalFeedLocalService.getFeed(themeDisplay.getScopeGroupId(), String.valueOf(id)); } } else { long groupId = ParamUtil.getLong(resourceRequest, "groupId"); String feedId = ParamUtil.getString(resourceRequest, "feedId"); feed = _journalFeedLocalService.getFeed(groupId, feedId); } String languageId = LanguageUtil.getLanguageId(resourceRequest); long plid = _portal.getPlidFromFriendlyURL(themeDisplay.getCompanyId(), feed.getTargetLayoutFriendlyUrl()); Layout layout = null; if (plid > 0) { layout = _layoutLocalService.fetchLayout(plid); } if (layout == null) { layout = themeDisplay.getLayout(); } String rss = exportToRSS(resourceRequest, resourceResponse, feed, languageId, layout, themeDisplay); return rss.getBytes(StringPool.UTF8); }
From source file:com.liferay.layout.admin.web.internal.control.menu.CustomizationSettingsProductNavigationControlMenuEntry.java
License:Open Source License
public boolean hasUpdateLayoutPermission(ThemeDisplay themeDisplay) throws PortalException { if (LayoutPermissionUtil.contains(themeDisplay.getPermissionChecker(), themeDisplay.getLayout(), ActionKeys.UPDATE)) {//w w w . j a v a 2s.c o m return true; } return false; }
From source file:com.liferay.layout.admin.web.internal.control.menu.CustomizationSettingsProductNavigationControlMenuEntry.java
License:Open Source License
protected boolean isCustomizableLayout(ThemeDisplay themeDisplay) throws PortalException { Layout layout = themeDisplay.getLayout(); Group group = layout.getGroup(); if (group.isLayoutPrototype() || group.isLayoutSetPrototype() || group.isStagingGroup() || group.isUserGroup()) {/*from w w w. j a va 2s .com*/ return false; } LayoutTypePortlet layoutTypePortlet = themeDisplay.getLayoutTypePortlet(); if (!layout.isTypePortlet() || (layoutTypePortlet == null)) { return false; } if (layout.isCustomizable() && hasUpdateLayoutPermission(themeDisplay)) { return true; } if (!layoutTypePortlet.isCustomizable()) { return false; } if (!LayoutPermissionUtil.containsWithoutViewableGroup(themeDisplay.getPermissionChecker(), layout, false, ActionKeys.CUSTOMIZE)) { return false; } return true; }
From source file:com.liferay.layout.admin.web.internal.control.menu.CustomizationSettingsProductNavigationControlMenuEntry.java
License:Open Source License
private boolean _isShow(HttpServletRequest request) throws PortalException { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); if (layout.isTypeControlPanel()) { return false; }/*from www . j a v a 2 s . c o m*/ if (!isCustomizableLayout(themeDisplay)) { return false; } return super.isShow(request); }
From source file:com.liferay.layout.admin.web.internal.control.menu.ManageLayoutProductNavigationControlMenuEntry.java
License:Open Source License
@Override public boolean includeIcon(HttpServletRequest request, HttpServletResponse response) throws IOException { Map<String, String> values = new HashMap<>(); ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); ResourceBundle resourceBundle = ResourceBundleUtil.getBundle("content.Language", themeDisplay.getLocale(), getClass());/*from www .j av a 2s .co m*/ values.put("configurePage", _html.escape(_language.get(resourceBundle, "configure-page"))); PortletURL editPageURL = _portal.getControlPanelPortletURL(request, LayoutAdminPortletKeys.GROUP_PAGES, PortletRequest.RENDER_PHASE); Layout layout = themeDisplay.getLayout(); editPageURL.setParameter("mvcRenderCommandName", "/layout/edit_layout"); editPageURL.setParameter("backURL", _portal.getCurrentURL(request)); editPageURL.setParameter("groupId", String.valueOf(layout.getGroupId())); editPageURL.setParameter("selPlid", String.valueOf(layout.getPlid())); editPageURL.setParameter("privateLayout", String.valueOf(layout.isPrivateLayout())); values.put("editPageURL", editPageURL.toString()); try { IconTag iconTag = new IconTag(); iconTag.setCssClass("icon-monospaced"); iconTag.setImage("cog"); iconTag.setMarkupView("lexicon"); PageContext pageContext = PageContextFactoryUtil.create(request, response); values.put("iconCog", iconTag.doTagAsString(pageContext)); SuccessTag successTag = new SuccessTag(); successTag.setKey("layoutUpdated"); successTag.setMessage(_language.get(resourceBundle, "the-page-was-updated-succesfully")); successTag.setTargetNode("#controlMenuAlertsContainer"); values.put("layoutUpdatedMessage", successTag.doTagAsString(pageContext)); } catch (JspException je) { ReflectionUtil.throwException(je); } Writer writer = response.getWriter(); writer.write(StringUtil.replace(_TMPL_CONTENT, "${", "}", values)); return true; }
From source file:com.liferay.layout.admin.web.internal.control.menu.ManageLayoutProductNavigationControlMenuEntry.java
License:Open Source License
@Override public boolean isShow(HttpServletRequest request) throws PortalException { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); if (layout.isTypeControlPanel()) { return false; }//from w w w . j a v a2s .co m if (!(themeDisplay.isShowLayoutTemplatesIcon() || themeDisplay.isShowPageSettingsIcon())) { return false; } return super.isShow(request); }