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
47 public class SocialBookmarkTagUtil {
48
49 public static void doEndTag(
50 String page, String type, String url, String title, String target,
51 PageContext pageContext)
52 throws JspException {
53
54 try {
55 HttpServletRequest request =
56 (HttpServletRequest)pageContext.getRequest();
57
58 request.setAttribute("liferay-ui:social-bookmark:type", type);
59 request.setAttribute("liferay-ui:social-bookmark:url", url);
60 request.setAttribute("liferay-ui:social-bookmark:title", title);
61 request.setAttribute("liferay-ui:social-bookmark:target", target);
62
63 String[] socialTypes = PropsUtil.getArray(
64 PropsKeys.SOCIAL_BOOKMARK_TYPES);
65
66 if (!ArrayUtil.contains(socialTypes, type)) {
67 return;
68 }
69
70 String postUrl = _getPostUrl(type, url, title);
71
72 request.setAttribute("liferay-ui:social-bookmark:postUrl", postUrl);
73
74 PortalIncludeUtil.include(pageContext, page);
75 }
76 catch (Exception e) {
77 _log.error(e, e);
78
79 throw new JspException(e);
80 }
81 }
82
83 private static String _getPostUrl(String type, String url, String title)
84 throws Exception {
85
86 Map<String, String> vars = new HashMap<String, String>();
87
88 vars.put("liferay:social-bookmark:url", url);
89 vars.put("liferay:social-bookmark:title", HttpUtil.encodeURL(title));
90
91 String postUrl = PropsUtil.get(
92 PropsKeys.SOCIAL_BOOKMARK_POST_URL, new Filter(type, vars));
93
94 return postUrl;
95 }
96
97 private static Log _log =
98 LogFactoryUtil.getLog(SocialBookmarkTagUtil.class);
99
100 }