001
014
015 package com.liferay.taglib.ui;
016
017 import com.liferay.portal.kernel.util.GetterUtil;
018 import com.liferay.portal.kernel.util.Validator;
019 import com.liferay.portal.model.User;
020 import com.liferay.portal.service.UserLocalServiceUtil;
021 import com.liferay.taglib.util.PortalIncludeUtil;
022
023 import javax.servlet.http.HttpServletRequest;
024 import javax.servlet.jsp.JspException;
025 import javax.servlet.jsp.tagext.TagSupport;
026
027
030 public class UserDisplayTag extends TagSupport {
031
032 @Override
033 public int doEndTag() throws JspException {
034 try {
035 PortalIncludeUtil.include(pageContext, getEndPage());
036
037 HttpServletRequest request =
038 (HttpServletRequest)pageContext.getRequest();
039
040 request.removeAttribute("liferay-ui:user-display:url");
041
042 return EVAL_PAGE;
043 }
044 catch (Exception e) {
045 throw new JspException(e);
046 }
047 }
048
049 @Override
050 public int doStartTag() throws JspException {
051 try {
052 HttpServletRequest request =
053 (HttpServletRequest)pageContext.getRequest();
054
055 request.setAttribute(
056 "liferay-ui:user-display:user-id", String.valueOf(_userId));
057 request.setAttribute(
058 "liferay-ui:user-display:user-name", _userName);
059
060 User user = UserLocalServiceUtil.fetchUserById(_userId);
061
062 if (user != null) {
063 if (user.isDefaultUser()) {
064 user = null;
065 }
066
067 request.setAttribute("liferay-ui:user-display:user", user);
068
069 pageContext.setAttribute("userDisplay", user);
070 }
071 else {
072 request.removeAttribute("liferay-ui:user-display:user");
073
074 pageContext.removeAttribute("userDisplay");
075 }
076
077 request.setAttribute(
078 "liferay-ui:user-display:displayStyle",
079 String.valueOf(_displayStyle));
080
081 if (Validator.isNull(_imageCssClass)) {
082 _imageCssClass = "img-circle";
083 }
084
085 request.setAttribute(
086 "liferay-ui:user-display:imageCssClass", _imageCssClass);
087
088 request.setAttribute(
089 "liferay-ui:user-display:showUserDetails",
090 String.valueOf(_showUserDetails));
091 request.setAttribute(
092 "liferay-ui:user-display:showUserName",
093 String.valueOf(_showUserName));
094 request.setAttribute("liferay-ui:user-display:url", _url);
095
096 PortalIncludeUtil.include(pageContext, getStartPage());
097
098 if (user != null) {
099 return EVAL_BODY_INCLUDE;
100 }
101 else {
102 return SKIP_BODY;
103 }
104 }
105 catch (Exception e) {
106 throw new JspException(e);
107 }
108 }
109
110 public void setDisplayStyle(Object displayStyle) {
111 _displayStyle = GetterUtil.getInteger(displayStyle);
112 }
113
114 public void setEndPage(String endPage) {
115 _endPage = endPage;
116 }
117
118 public void setImageCssClass(String imageCssClass) {
119 _imageCssClass = imageCssClass;
120 }
121
122 public void setShowUserDetails(boolean showUserDetails) {
123 _showUserDetails = showUserDetails;
124 }
125
126 public void setShowUserName(boolean showUserName) {
127 _showUserName = showUserName;
128 }
129
130 public void setStartPage(String startPage) {
131 _startPage = startPage;
132 }
133
134 public void setUrl(String url) {
135 _url = url;
136 }
137
138 public void setUserId(long userId) {
139 _userId = userId;
140 }
141
142 public void setUserName(String userName) {
143 _userName = userName;
144 }
145
146 protected String getEndPage() {
147 if (Validator.isNull(_endPage)) {
148 return _END_PAGE;
149 }
150 else {
151 return _endPage;
152 }
153 }
154
155 protected String getStartPage() {
156 if (Validator.isNull(_startPage)) {
157 return _START_PAGE;
158 }
159 else {
160 return _startPage;
161 }
162 }
163
164 private static final String _END_PAGE =
165 "/html/taglib/ui/user_display/end.jsp";
166
167 private static final String _START_PAGE =
168 "/html/taglib/ui/user_display/start.jsp";
169
170 private int _displayStyle = 1;
171 private String _endPage;
172 private String _imageCssClass;
173 private boolean _showUserDetails = true;
174 private boolean _showUserName = true;
175 private String _startPage;
176 private String _url;
177 private long _userId;
178 private String _userName;
179
180 }