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:author", String.valueOf(_author));
057 request.setAttribute(
058 "liferay-ui:user-display:displayStyle",
059 String.valueOf(_displayStyle));
060
061 if (Validator.isNull(_imageCssClass)) {
062 _imageCssClass = "img-circle";
063 }
064
065 request.setAttribute(
066 "liferay-ui:user-display:imageCssClass", _imageCssClass);
067
068 request.setAttribute(
069 "liferay-ui:user-display:showLink", String.valueOf(_showLink));
070 request.setAttribute(
071 "liferay-ui:user-display:showUserDetails",
072 String.valueOf(_showUserDetails));
073 request.setAttribute(
074 "liferay-ui:user-display:showUserName",
075 String.valueOf(_showUserName));
076
077 if (Validator.isNull(_userIconCssClass)) {
078 _userIconCssClass = "user-icon-lg";
079 }
080
081 request.setAttribute(
082 "liferay-ui:user-display:userIconCssClass",
083 String.valueOf(_userIconCssClass));
084
085 request.setAttribute(
086 "liferay-ui:user-display:userId", String.valueOf(_userId));
087 request.setAttribute("liferay-ui:user-display:userName", _userName);
088
089 User user = UserLocalServiceUtil.fetchUserById(_userId);
090
091 if (user != null) {
092 if (user.isDefaultUser()) {
093 user = null;
094 }
095
096 request.setAttribute("liferay-ui:user-display:user", user);
097
098 pageContext.setAttribute("userDisplay", user);
099 }
100 else {
101 request.removeAttribute("liferay-ui:user-display:user");
102
103 pageContext.removeAttribute("userDisplay");
104 }
105
106 request.setAttribute("liferay-ui:user-display:url", _url);
107
108 PortalIncludeUtil.include(pageContext, getStartPage());
109
110 if (user != null) {
111 return EVAL_BODY_INCLUDE;
112 }
113 else {
114 return SKIP_BODY;
115 }
116 }
117 catch (Exception e) {
118 throw new JspException(e);
119 }
120 }
121
122 public void setAuthor(boolean author) {
123 _author = author;
124 }
125
126 public void setDisplayStyle(Object displayStyle) {
127 _displayStyle = GetterUtil.getInteger(displayStyle);
128 }
129
130 public void setEndPage(String endPage) {
131 _endPage = endPage;
132 }
133
134 public void setImageCssClass(String imageCssClass) {
135 _imageCssClass = imageCssClass;
136 }
137
138 public void setMarkupView(String markupView) {
139 _markupView = markupView;
140 }
141
142 public void setShowLink(boolean showLink) {
143 _showLink = showLink;
144 }
145
146 public void setShowUserDetails(boolean showUserDetails) {
147 _showUserDetails = showUserDetails;
148 }
149
150 public void setShowUserName(boolean showUserName) {
151 _showUserName = showUserName;
152 }
153
154 public void setStartPage(String startPage) {
155 _startPage = startPage;
156 }
157
158 public void setUrl(String url) {
159 _url = url;
160 }
161
162 public void setUserIconCssClass(String userIconCssClass) {
163 _userIconCssClass = userIconCssClass;
164 }
165
166 public void setUserId(long userId) {
167 _userId = userId;
168 }
169
170 public void setUserName(String userName) {
171 _userName = userName;
172 }
173
174 protected String getEndPage() {
175 if (Validator.isNotNull(_endPage)) {
176 return _endPage;
177 }
178
179 if (Validator.isNotNull(_markupView)) {
180 return "/html/taglib/ui/user_display/" + _markupView + "/end.jsp";
181 }
182
183 return "/html/taglib/ui/user_display/end.jsp";
184 }
185
186 protected String getStartPage() {
187 if (Validator.isNotNull(_startPage)) {
188 return _startPage;
189 }
190
191 if (Validator.isNotNull(_markupView)) {
192 return "/html/taglib/ui/user_display/" + _markupView + "/start.jsp";
193 }
194
195 return "/html/taglib/ui/user_display/start.jsp";
196 }
197
198 private boolean _author;
199 private int _displayStyle = 1;
200 private String _endPage;
201 private String _imageCssClass;
202 private String _markupView;
203 private boolean _showLink = true;
204 private boolean _showUserDetails = true;
205 private boolean _showUserName = true;
206 private String _startPage;
207 private String _url;
208 private String _userIconCssClass;
209 private long _userId;
210 private String _userName;
211
212 }