List of usage examples for com.liferay.portal.kernel.theme ThemeDisplay getLayout
public Layout getLayout()
From source file:com.liferay.layout.admin.web.internal.theme.contributor.ToggleControlsTemplateContextContributor.java
License:Open Source License
@Override public void prepare(Map<String, Object> contextObjects, HttpServletRequest request) { String liferayToggleControls = SessionClicks.get(request, "com.liferay.frontend.js.web_toggleControls", "visible"); ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); if (layout.isTypeControlPanel()) { liferayToggleControls = "visible"; }/* w w w . j av a2s . co m*/ String cssClass = GetterUtil.getString(contextObjects.get("bodyCssClass")); if (Objects.equals(liferayToggleControls, "visible")) { cssClass += " controls-visible"; } else { cssClass += " controls-hidden"; } contextObjects.put("bodyCssClass", cssClass); contextObjects.put("liferay_toggle_controls", liferayToggleControls); contextObjects.put("show_toggle_controls", themeDisplay.isSignedIn()); if (themeDisplay.isSignedIn()) { ResourceBundle resourceBundle = ResourceBundleUtil.getBundle("content.Language", themeDisplay.getLocale(), getClass()); contextObjects.put("toggle_controls_text", LanguageUtil.get(resourceBundle, "toggle-controls")); contextObjects.put("toggle_controls_url", "javascript:;"); } }
From source file:com.liferay.layout.internal.util.LayoutsTreeImpl.java
License:Open Source License
private Layout _fetchCurrentLayout(HttpServletRequest request) { long selPlid = ParamUtil.getLong(request, "selPlid"); if (selPlid > 0) { return _layoutLocalService.fetchLayout(selPlid); }/*from ww w . j av a 2 s. c om*/ ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); if (!layout.isTypeControlPanel()) { return layout; } return null; }
From source file:com.liferay.login.web.internal.portlet.action.LoginMVCActionCommand.java
License:Open Source License
protected void login(ThemeDisplay themeDisplay, ActionRequest actionRequest, ActionResponse actionResponse) throws Exception { HttpServletRequest request = _portal .getOriginalServletRequest(_portal.getHttpServletRequest(actionRequest)); HttpServletResponse response = _portal.getHttpServletResponse(actionResponse); String login = ParamUtil.getString(actionRequest, "login"); String password = actionRequest.getParameter("password"); boolean rememberMe = ParamUtil.getBoolean(actionRequest, "rememberMe"); if (!themeDisplay.isSignedIn()) { String portletId = _portal.getPortletId(actionRequest); PortletPreferences portletPreferences = PortletPreferencesFactoryUtil .getStrictPortletSetup(themeDisplay.getLayout(), portletId); String authType = portletPreferences.getValue("authType", null); _authenticatedSessionManager.login(request, response, login, password, rememberMe, authType); }/*w w w . j ava2 s.c om*/ String redirect = ParamUtil.getString(actionRequest, "redirect"); if (Validator.isNotNull(redirect)) { redirect = _portal.escapeRedirect(redirect); if (Validator.isNotNull(redirect) && !redirect.startsWith(Http.HTTP)) { redirect = getCompleteRedirectURL(request, redirect); } } String mainPath = themeDisplay.getPathMain(); if (PropsValues.PORTAL_JAAS_ENABLE) { if (Validator.isNotNull(redirect)) { redirect = mainPath.concat("/portal/protected?redirect=").concat(URLCodec.encodeURL(redirect)); } else { redirect = mainPath.concat("/portal/protected"); } actionResponse.sendRedirect(redirect); } else { if (Validator.isNotNull(redirect)) { actionResponse.sendRedirect(redirect); } else { boolean doActionAfterLogin = ParamUtil.getBoolean(actionRequest, "doActionAfterLogin"); if (doActionAfterLogin) { return; } else { actionResponse.sendRedirect(mainPath); } } } }
From source file:com.liferay.mobile.device.rules.rule.group.action.LayoutTemplateModificationActionHandler.java
License:Open Source License
@Override public void applyAction(MDRAction mdrAction, HttpServletRequest request, HttpServletResponse response) { UnicodeProperties mdrActionTypeSettingsProperties = mdrAction.getTypeSettingsProperties(); String layoutTemplateId = GetterUtil .getString(mdrActionTypeSettingsProperties.getProperty("layoutTemplateId")); ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); if (layout.isTypePortlet()) { LayoutTypePortlet layoutTypePortlet = (LayoutTypePortlet) layout.getLayoutType(); layoutTypePortlet.setLayoutTemplateId(0, layoutTemplateId, false); }/* www .jav a 2 s . c om*/ }
From source file:com.liferay.mobile.device.rules.rule.group.action.SiteRedirectActionHandler.java
License:Open Source License
@Override protected String getURL(MDRAction mdrAction, HttpServletRequest request, HttpServletResponse response) throws PortalException { UnicodeProperties typeSettingsProperties = mdrAction.getTypeSettingsProperties(); long plid = GetterUtil.getLong(typeSettingsProperties.getProperty("plid")); ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); Layout themeDisplayLayout = themeDisplay.getLayout(); if (plid == themeDisplayLayout.getPlid()) { return null; }// ww w .j a v a 2 s . c om Layout layout = _layoutLocalService.fetchLayout(plid); long groupId = GetterUtil.getLong(typeSettingsProperties.getProperty("groupId")); if ((layout != null) && (layout.getGroupId() != groupId)) { if (_log.isWarnEnabled()) { _log.warn(StringBundler.concat("Layout ", String.valueOf(layout.getPlid()), " does not belong to group ", String.valueOf(groupId))); } layout = null; } if (layout == null) { if (_log.isWarnEnabled()) { _log.warn("Using default public layout"); } Group group = null; if (groupId != themeDisplayLayout.getGroupId()) { group = _groupLocalService.fetchGroup(groupId); } if (group == null) { if (_log.isWarnEnabled()) { _log.warn("No group found with group ID " + groupId); } return null; } layout = _layoutLocalService.fetchLayout(group.getDefaultPublicPlid()); } if (layout != null) { return _portal.getLayoutURL(layout, themeDisplay); } if (_log.isWarnEnabled()) { _log.warn("Unable to resolve default layout"); } return null; }
From source file:com.liferay.nested.portlets.web.internal.portlet.action.NestedPortletsConfigurationAction.java
License:Open Source License
protected void reorganizeNestedColumns(ActionRequest actionRequest, String portletResource, String newLayoutTemplateId, String oldLayoutTemplateId) throws PortalException { ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); LayoutTypePortlet layoutTypePortlet = themeDisplay.getLayoutTypePortlet(); Theme theme = themeDisplay.getTheme(); LayoutTemplate newLayoutTemplate = _layoutTemplateLocalService.getLayoutTemplate(newLayoutTemplateId, false, theme.getThemeId());/*from www . j av a 2 s . c o m*/ List<String> newColumns = getColumnNames(newLayoutTemplate.getContent(), portletResource); LayoutTemplate oldLayoutTemplate = _layoutTemplateLocalService.getLayoutTemplate(oldLayoutTemplateId, false, theme.getThemeId()); List<String> oldColumns = getColumnNames(oldLayoutTemplate.getContent(), portletResource); layoutTypePortlet.reorganizePortlets(newColumns, oldColumns); layoutTypePortlet.setStateMax(StringPool.BLANK); _layoutLocalService.updateLayout(layout.getGroupId(), layout.isPrivateLayout(), layout.getLayoutId(), layout.getTypeSettings()); }
From source file:com.liferay.nested.portlets.web.internal.portlet.NestedPortletsPortlet.java
License:Open Source License
@Override public void doView(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException { ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY); String layoutTemplateId = StringPool.BLANK; try {// w w w . ja v a2 s . c o m NestedPortletsDisplayContext nestedPortletsDisplayContext = new NestedPortletsDisplayContext( _portal.getHttpServletRequest(renderRequest)); layoutTemplateId = nestedPortletsDisplayContext.getLayoutTemplateId(); } catch (ConfigurationException ce) { if (_log.isWarnEnabled()) { _log.warn(ce, ce); } } String templateId = StringPool.BLANK; String templateContent = StringPool.BLANK; Map<String, String> columnIds = new HashMap<>(); if (Validator.isNotNull(layoutTemplateId)) { Theme theme = themeDisplay.getTheme(); LayoutTemplate layoutTemplate = _layoutTemplateLocalService.getLayoutTemplate(layoutTemplateId, false, theme.getThemeId()); String content = layoutTemplate.getContent(); Matcher processColumnMatcher = _processColumnPattern.matcher(content); while (processColumnMatcher.find()) { String columnId = processColumnMatcher.group(2); if (Validator.isNotNull(columnId)) { columnIds.put(columnId, renderResponse.getNamespace() + StringPool.UNDERLINE + columnId); } } processColumnMatcher.reset(); StringBundler sb = new StringBundler(4); sb.append(theme.getThemeId()); sb.append(LayoutTemplateConstants.CUSTOM_SEPARATOR); sb.append(renderResponse.getNamespace()); sb.append(layoutTemplateId); templateId = sb.toString(); content = processColumnMatcher.replaceAll("$1\\${$2}$3"); Matcher columnIdMatcher = _columnIdPattern.matcher(content); templateContent = columnIdMatcher.replaceAll("$1" + renderResponse.getNamespace() + "$2$3"); } checkLayout(themeDisplay.getLayout(), columnIds.values()); PortletDisplay portletDisplay = themeDisplay.getPortletDisplay(); renderRequest.setAttribute(NestedPortletsWebKeys.TEMPLATE_ID + portletDisplay.getId(), templateId); renderRequest.setAttribute(NestedPortletsWebKeys.TEMPLATE_CONTENT + portletDisplay.getId(), templateContent); Map<String, Object> vmVariables = (Map<String, Object>) renderRequest .getAttribute(WebKeys.VM_VARIABLES + portletDisplay.getId()); if (vmVariables != null) { vmVariables.putAll(columnIds); } else { renderRequest.setAttribute(WebKeys.VM_VARIABLES + portletDisplay.getId(), columnIds); } super.include(viewTemplate, renderRequest, renderResponse); }
From source file:com.liferay.polls.web.internal.portlet.action.EditQuestionMVCActionCommand.java
License:Open Source License
protected void addAndStoreSelection(PortletRequest portletRequest, PollsQuestion question) throws Exception { String referringPortletResource = ParamUtil.getString(portletRequest, "referringPortletResource"); if (Validator.isNull(referringPortletResource)) { return;//from w ww . j a v a 2 s . c om } ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY); PortletPreferences portletPreferences = PortletPreferencesFactoryUtil .getStrictPortletSetup(themeDisplay.getLayout(), themeDisplay.getPpid()); portletPreferences.setValue("questionId", String.valueOf(question.getQuestionId())); portletPreferences.store(); SessionMessages.add(portletRequest, portal.getPortletId(portletRequest) + SessionMessages.KEY_SUFFIX_REFRESH_PORTLET, referringPortletResource); }
From source file:com.liferay.portlet.configuration.css.web.internal.portlet.PortletConfigurationCSSPortlet.java
License:Open Source License
public void getLookAndFeel(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws PortletException { ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY); try {/*from ww w . j ava 2 s. c om*/ Layout layout = themeDisplay.getLayout(); PermissionChecker permissionChecker = themeDisplay.getPermissionChecker(); String portletId = ParamUtil.getString(resourceRequest, "portletId"); if (!PortletPermissionUtil.contains(permissionChecker, layout, portletId, ActionKeys.CONFIGURATION)) { return; } PortletPreferences portletSetup = PortletPreferencesFactoryUtil.getStrictLayoutPortletSetup(layout, portletId); JSONObject portletSetupJSONObject = PortletSetupUtil.cssToJSONObject(portletSetup); JSONObject defaultPortletTitlesJSONObject = JSONFactoryUtil.createJSONObject(); for (Locale locale : LanguageUtil.getAvailableLocales(themeDisplay.getSiteGroupId())) { String rootPortletId = PortletConstants.getRootPortletId(portletId); String languageId = LocaleUtil.toLanguageId(locale); defaultPortletTitlesJSONObject.put(languageId, _portal.getPortletTitle(rootPortletId, languageId)); } portletSetupJSONObject.put("defaultPortletTitles", defaultPortletTitlesJSONObject); writeJSON(resourceRequest, resourceResponse, portletSetupJSONObject.toString()); } catch (Exception e) { throw new PortletException(e); } }
From source file:com.liferay.portlet.configuration.css.web.internal.portlet.PortletConfigurationCSSPortlet.java
License:Open Source License
public void updateLookAndFeel(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); PermissionChecker permissionChecker = themeDisplay.getPermissionChecker(); String portletId = ParamUtil.getString(actionRequest, "portletId"); if (!PortletPermissionUtil.contains(permissionChecker, layout, portletId, ActionKeys.CONFIGURATION)) { return;//w w w . ja va 2 s . c o m } PortletPreferences portletSetup = PortletPreferencesFactoryUtil.getStrictLayoutPortletSetup(layout, portletId); String css = ParamUtil.getString(actionRequest, "css"); if (_log.isDebugEnabled()) { _log.debug("Updating css " + css); } JSONObject jsonObject = JSONFactoryUtil.createJSONObject(css); JSONObject portletDataJSONObject = jsonObject.getJSONObject("portletData"); jsonObject.remove("portletData"); css = jsonObject.toString(); String linkToLayoutUuid = GetterUtil.getString(portletDataJSONObject.getString("portletLinksTarget")); String portletDecoratorId = portletDataJSONObject.getString("portletDecoratorId"); JSONObject titlesJSONObject = portletDataJSONObject.getJSONObject("titles"); boolean useCustomTitle = portletDataJSONObject.getBoolean("useCustomTitle"); Set<Locale> locales = LanguageUtil.getAvailableLocales(themeDisplay.getSiteGroupId()); for (Locale locale : locales) { String languageId = LocaleUtil.toLanguageId(locale); String title = null; if (titlesJSONObject.has(languageId)) { title = GetterUtil.getString(titlesJSONObject.getString(languageId)); } String rootPortletId = PortletConstants.getRootPortletId(portletId); String defaultPortletTitle = _portal.getPortletTitle(rootPortletId, languageId); if ((title != null) && !Objects.equals(defaultPortletTitle, title)) { portletSetup.setValue("portletSetupTitle_" + languageId, title); } else { portletSetup.reset("portletSetupTitle_" + languageId); } } portletSetup.setValue("portletSetupUseCustomTitle", String.valueOf(useCustomTitle)); if (Validator.isNotNull(linkToLayoutUuid)) { portletSetup.setValue("portletSetupLinkToLayoutUuid", linkToLayoutUuid); } else { portletSetup.reset("portletSetupLinkToLayoutUuid"); } if (Validator.isNotNull(portletDecoratorId)) { portletSetup.setValue("portletSetupPortletDecoratorId", portletDecoratorId); } else { portletSetup.reset("portletSetupPortletDecoratorId"); } portletSetup.setValue("portletSetupCss", css); portletSetup.store(); }