1
22
23 package com.liferay.portal.servlet.taglib.ui;
24
25 import com.liferay.portal.kernel.configuration.Filter;
26 import com.liferay.portal.kernel.log.Log;
27 import com.liferay.portal.kernel.log.LogFactoryUtil;
28 import com.liferay.portal.kernel.servlet.PortalIncludeUtil;
29 import com.liferay.portal.kernel.util.ArrayUtil;
30 import com.liferay.portal.kernel.util.HttpUtil;
31 import com.liferay.portal.util.PropsKeys;
32 import com.liferay.portal.util.PropsUtil;
33
34 import java.util.HashMap;
35 import java.util.Map;
36
37 import javax.servlet.http.HttpServletRequest;
38 import javax.servlet.jsp.JspException;
39 import javax.servlet.jsp.PageContext;
40
41
46 public class SocialBookmarkTagUtil {
47
48 public static void doEndTag(
49 String page, String type, String url, String title, String target,
50 PageContext pageContext)
51 throws JspException {
52
53 try {
54 HttpServletRequest request =
55 (HttpServletRequest)pageContext.getRequest();
56
57 request.setAttribute("liferay-ui:social-bookmark:type", type);
58 request.setAttribute("liferay-ui:social-bookmark:url", url);
59 request.setAttribute("liferay-ui:social-bookmark:title", title);
60 request.setAttribute("liferay-ui:social-bookmark:target", target);
61
62 String[] socialTypes = PropsUtil.getArray(
63 PropsKeys.SOCIAL_BOOKMARK_TYPES);
64
65 if (!ArrayUtil.contains(socialTypes, type)) {
66 return;
67 }
68
69 String postUrl = _getPostUrl(type, url, title);
70
71 request.setAttribute("liferay-ui:social-bookmark:postUrl", postUrl);
72
73 PortalIncludeUtil.include(pageContext, page);
74 }
75 catch (Exception e) {
76 _log.error(e, e);
77
78 throw new JspException(e);
79 }
80 }
81
82 private static String _getPostUrl(String type, String url, String title)
83 throws Exception {
84
85 Map<String, String> vars = new HashMap<String, String>();
86
87 vars.put("liferay:social-bookmark:url", url);
88 vars.put("liferay:social-bookmark:title", HttpUtil.encodeURL(title));
89
90 String postUrl = PropsUtil.get(
91 PropsKeys.SOCIAL_BOOKMARK_POST_URL, new Filter(type, vars));
92
93 return postUrl;
94 }
95
96 private static Log _log =
97 LogFactoryUtil.getLog(SocialBookmarkTagUtil.class);
98
99 }