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:showUserDetails",
070 String.valueOf(_showUserDetails));
071 request.setAttribute(
072 "liferay-ui:user-display:showUserName",
073 String.valueOf(_showUserName));
074 request.setAttribute(
075 "liferay-ui:user-display:user-id", String.valueOf(_userId));
076 request.setAttribute(
077 "liferay-ui:user-display:user-name", _userName);
078
079 User user = UserLocalServiceUtil.fetchUserById(_userId);
080
081 if (user != null) {
082 if (user.isDefaultUser()) {
083 user = null;
084 }
085
086 request.setAttribute("liferay-ui:user-display:user", user);
087
088 pageContext.setAttribute("userDisplay", user);
089 }
090 else {
091 request.removeAttribute("liferay-ui:user-display:user");
092
093 pageContext.removeAttribute("userDisplay");
094 }
095
096 request.setAttribute("liferay-ui:user-display:url", _url);
097
098 PortalIncludeUtil.include(pageContext, getStartPage());
099
100 if (user != null) {
101 return EVAL_BODY_INCLUDE;
102 }
103 else {
104 return SKIP_BODY;
105 }
106 }
107 catch (Exception e) {
108 throw new JspException(e);
109 }
110 }
111
112 public void setAuthor(boolean author) {
113 _author = author;
114 }
115
116 public void setDisplayStyle(Object displayStyle) {
117 _displayStyle = GetterUtil.getInteger(displayStyle);
118 }
119
120 public void setEndPage(String endPage) {
121 _endPage = endPage;
122 }
123
124 public void setImageCssClass(String imageCssClass) {
125 _imageCssClass = imageCssClass;
126 }
127
128 public void setShowUserDetails(boolean showUserDetails) {
129 _showUserDetails = showUserDetails;
130 }
131
132 public void setShowUserName(boolean showUserName) {
133 _showUserName = showUserName;
134 }
135
136 public void setStartPage(String startPage) {
137 _startPage = startPage;
138 }
139
140 public void setUrl(String url) {
141 _url = url;
142 }
143
144 public void setUserId(long userId) {
145 _userId = userId;
146 }
147
148 public void setUserName(String userName) {
149 _userName = userName;
150 }
151
152 protected String getEndPage() {
153 if (Validator.isNull(_endPage)) {
154 return _END_PAGE;
155 }
156 else {
157 return _endPage;
158 }
159 }
160
161 protected String getStartPage() {
162 if (Validator.isNull(_startPage)) {
163 return _START_PAGE;
164 }
165 else {
166 return _startPage;
167 }
168 }
169
170 private static final String _END_PAGE =
171 "/html/taglib/ui/user_display/end.jsp";
172
173 private static final String _START_PAGE =
174 "/html/taglib/ui/user_display/start.jsp";
175
176 private boolean _author;
177 private int _displayStyle = 1;
178 private String _endPage;
179 private String _imageCssClass;
180 private boolean _showUserDetails = true;
181 private boolean _showUserName = true;
182 private String _startPage;
183 private String _url;
184 private long _userId;
185 private String _userName;
186
187 }