1
22
23 package com.liferay.portlet.portletconfiguration.action;
24
25 import com.liferay.portal.kernel.language.LanguageUtil;
26 import com.liferay.portal.kernel.util.ParamUtil;
27 import com.liferay.portal.model.Layout;
28 import com.liferay.portal.security.permission.ActionKeys;
29 import com.liferay.portal.security.permission.PermissionChecker;
30 import com.liferay.portal.service.permission.PortletPermissionUtil;
31 import com.liferay.portal.struts.JSONAction;
32 import com.liferay.portal.theme.ThemeDisplay;
33 import com.liferay.portal.util.WebKeys;
34 import com.liferay.portlet.InvokerPortletImpl;
35 import com.liferay.portlet.PortletPreferencesFactoryUtil;
36
37 import javax.portlet.PortletPreferences;
38
39 import javax.servlet.http.HttpServletRequest;
40 import javax.servlet.http.HttpServletResponse;
41 import javax.servlet.http.HttpSession;
42
43 import org.apache.struts.action.ActionForm;
44 import org.apache.struts.action.ActionMapping;
45
46
52 public class UpdateTitleAction extends JSONAction {
53
54 public String getJSON(
55 ActionMapping mapping, ActionForm form, HttpServletRequest request,
56 HttpServletResponse response)
57 throws Exception {
58
59 HttpSession session = request.getSession();
60
61 ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(
62 WebKeys.THEME_DISPLAY);
63
64 Layout layout = themeDisplay.getLayout();
65
66 PermissionChecker permissionChecker =
67 themeDisplay.getPermissionChecker();
68
69 String portletId = ParamUtil.getString(request, "portletId");
70
71 if (!PortletPermissionUtil.contains(
72 permissionChecker, themeDisplay.getPlid(), portletId,
73 ActionKeys.CONFIGURATION)) {
74
75 return null;
76 }
77
78 String languageId = LanguageUtil.getLanguageId(request);
79 String title = ParamUtil.getString(request, "title");
80
81 PortletPreferences portletSetup =
82 PortletPreferencesFactoryUtil.getLayoutPortletSetup(
83 layout, portletId);
84
85 portletSetup.setValue("portlet-setup-title-" + languageId, title);
86 portletSetup.setValue("portlet-setup-use-custom-title", "true");
87
88 portletSetup.store();
89
90 InvokerPortletImpl.clearResponse(
91 session, layout.getPrimaryKey(), portletId,
92 LanguageUtil.getLanguageId(request));
93
94 return null;
95 }
96
97 }