PageRenderTime 50ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/projects/mvnforum-1.2.2-ga/mvnforum/srcweb/mvnplugin/mvnforum/user/listonlineusers.jsp

https://gitlab.com/essere.lab.public/qualitas.class-corpus
JavaServer Pages | 182 lines | 176 code | 5 blank | 1 comment | 33 complexity | 55ca03efe98b7fdc207e546941c03c8c MD5 | raw file
  1. <%--
  2. - $Header: /cvsroot/mvnforum/mvnforum/srcweb/mvnplugin/mvnforum/user/listonlineusers.jsp,v 1.66.2.2 2008/11/17 08:50:58 minhnn Exp $
  3. - $Author: minhnn $
  4. - $Revision: 1.66.2.2 $
  5. - $Date: 2008/11/17 08:50:58 $
  6. -
  7. - ====================================================================
  8. -
  9. - Copyright (C) 2002-2007 by MyVietnam.net
  10. -
  11. - All copyright notices regarding mvnForum MUST remain
  12. - intact in the scripts and in the outputted HTML.
  13. - The "powered by" text/logo with a link back to
  14. - http://www.mvnForum.com and http://www.MyVietnam.net in
  15. - the footer of the pages MUST remain visible when the pages
  16. - are viewed on the internet or intranet.
  17. -
  18. - This program is free software; you can redistribute it and/or modify
  19. - it under the terms of the GNU General Public License as published by
  20. - the Free Software Foundation; either version 2 of the License, or
  21. - any later version.
  22. -
  23. - This program is distributed in the hope that it will be useful,
  24. - but WITHOUT ANY WARRANTY; without even the implied warranty of
  25. - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  26. - GNU General Public License for more details.
  27. -
  28. - You should have received a copy of the GNU General Public License
  29. - along with this program; if not, write to the Free Software
  30. - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  31. -
  32. - Support can be obtained from support forums at:
  33. - http://www.mvnForum.com/mvnforum/index
  34. -
  35. - Correspondence and Marketing Questions can be sent to:
  36. - info at MyVietnam net
  37. -
  38. - @author: Minh Nguyen
  39. - @author: Mai Nguyen
  40. --%>
  41. <%@ page contentType="text/html;charset=utf-8" %>
  42. <%@ page errorPage="fatalerror.jsp"%>
  43. <%@ page import="java.util.*" %>
  44. <%@ page import="java.sql.Timestamp" %>
  45. <%@ page import="net.myvietnam.mvncore.util.DateUtil" %>
  46. <%@ page import="net.myvietnam.mvncore.security.Encoder" %>
  47. <%@ page import="net.myvietnam.mvncore.filter.DisableHtmlTagFilter"%>
  48. <%@ page import="net.myvietnam.mvncore.web.impl.GenericRequestServletImpl" %>
  49. <%@ page import="com.mvnforum.auth.OnlineUserAction" %>
  50. <%@ page import="com.mvnforum.MVNForumConstant" %>
  51. <%@ page import="com.mvnforum.MVNForumResourceBundle" %>
  52. <%@ include file="inc_common.jsp"%>
  53. <%@ include file="inc_doctype.jsp"%>
  54. <fmt:bundle basename="mvnForum_i18n">
  55. <mvn:html locale="${currentLocale}">
  56. <mvn:head>
  57. <mvn:title><fmt:message key="mvnforum.common.forum.title_name"/> - <fmt:message key="mvnforum.user.listonlineusers.title"/></mvn:title>
  58. <%@ include file="/mvnplugin/mvnforum/meta.jsp"%>
  59. <link href="<%=onlineUser.getCssPath()%>" rel="stylesheet" type="text/css"/>
  60. </mvn:head>
  61. <mvn:body>
  62. <%@ include file="header.jsp"%>
  63. <br/>
  64. <table width="95%" align="center">
  65. <tr class="nav">
  66. <td><img src="<%=contextPath%>/mvnplugin/mvnforum/images/nav.gif" alt=""/></td>
  67. <td width="100%" nowrap="nowrap">
  68. <a class="nav" href="<%=urlResolver.encodeURL(request, response, "index")%>"><fmt:message key="mvnforum.common.nav.index"/></a>&nbsp;&raquo;&nbsp;
  69. <fmt:message key="mvnforum.user.listonlineusers.title"/>
  70. </td>
  71. </tr>
  72. </table>
  73. <br/>
  74. <%
  75. Collection onlineUserActions = (Collection) request.getAttribute("OnlineUserActions");
  76. int guestCount = 0;
  77. int memberCount = 0;
  78. int invisibleMemberCount = 0;
  79. boolean enableInvisible = MVNForumConfig.getEnableInvisibleUsers();
  80. for (Iterator countIterator = onlineUserActions.iterator(); countIterator.hasNext(); ) {
  81. OnlineUserAction onlineUserAction = (OnlineUserAction)countIterator.next();
  82. boolean invisible = onlineUserAction.isInvisibleMember();
  83. int mID = onlineUserAction.getMemberID();
  84. if ( (mID==0) || (mID==MVNForumConstant.MEMBER_ID_OF_GUEST) ) {
  85. guestCount++;
  86. } else if (enableInvisible) {
  87. if (invisible) {
  88. invisibleMemberCount++;
  89. } else {
  90. memberCount++;
  91. }
  92. } else { // disable invisible feature
  93. memberCount++;
  94. }
  95. } // end of for%>
  96. <table width="95%" align="center">
  97. <tr>
  98. <td class="highlight">
  99. <fmt:message key="mvnforum.common.there_are"/> <b><%=onlineUserActions.size()%></b> <fmt:message key="mvnforum.common.online_users"/>
  100. (<b><%=guestCount%></b> <%if (guestCount>1) {%><fmt:message key="mvnforum.common.guests"/><%} else {%><fmt:message key="mvnforum.common.guest"/><%}%>,
  101. <b><%=memberCount%></b> <%if (memberCount>1) {%><fmt:message key="mvnforum.common.members"/><%} else {%><fmt:message key="mvnforum.common.member"/><%}%>
  102. <%if (enableInvisible) {%>
  103. ,<%-- last comma if folling exists --%>
  104. <b><%=invisibleMemberCount%></b> <%if (invisibleMemberCount>1) {%><fmt:message key="mvnforum.common.member.online.invisible_members"/><%} else {%><fmt:message key="mvnforum.common.member.online.invisible_member"/><%}%>
  105. <%}%>
  106. )
  107. </td>
  108. </tr>
  109. </table>
  110. <mvn:cssrows>
  111. <table class="tborder" width="95%" cellspacing="0" cellpadding="3" align="center">
  112. <tr class="portlet-section-header">
  113. <td><fmt:message key="mvnforum.common.user"/></td>
  114. <td><fmt:message key="mvnforum.user.listonlineusers.table.what_are_doing"/></td>
  115. <td align="center"><fmt:message key="mvnforum.user.listonlineusers.table.duration_since_last_activity"/></td>
  116. <td align="center"><fmt:message key="mvnforum.user.listonlineusers.table.online_time"/></td>
  117. </tr>
  118. <%
  119. Timestamp now = DateUtil.getCurrentGMTTimestamp();
  120. GenericRequest genericRequest = new GenericRequestServletImpl(request);
  121. //boolean enableInvisible = MVNForumConfig.getEnableInvisibleUsers();
  122. boolean canAdmin = permission.canAdminSystem();
  123. for (Iterator iterator = onlineUserActions.iterator(); iterator.hasNext(); ) {
  124. OnlineUserAction onlineUserAction = (OnlineUserAction)iterator.next();
  125. boolean userInvisible = onlineUserAction.isInvisibleMember();
  126. %>
  127. <tr class="<mvn:cssrow/>">
  128. <td>
  129. <%
  130. int mID = onlineUserAction.getMemberID();
  131. String mName = onlineUserAction.getMemberName();
  132. if ( ( mID == 0) || (mID==MVNForumConstant.MEMBER_ID_OF_GUEST) ) {
  133. if ( (mName == null) || (mName.length()==0) ) {
  134. mName = MVNForumConfig.getDefaultGuestName();
  135. } %>
  136. <span class="memberName"><%=mName%></span>
  137. <% } else {
  138. if (enableInvisible && userInvisible && !canAdmin) { %>
  139. <span class="memberName"><fmt:message key="mvnforum.common.member.online.invisible_member"/></span>
  140. <%} else {%>
  141. <a href="<%=urlResolver.encodeURL(request, response, "viewmember?member=" + Encoder.encodeURL(mName))%>" class="memberName"><%=mName%></a>
  142. <%if (enableInvisible && userInvisible && canAdmin) { %>(<fmt:message key="mvnforum.common.member.online.invisible"/>)<%}%>
  143. <%}%>
  144. <%if (onlineUserAction.getSessionCount() > 1) { %>
  145. (<%=onlineUserAction.getSessionCount()%> <fmt:message key="mvnforum.common.member.online.sessions"/>)
  146. <%}
  147. } //else %>
  148. </td>
  149. <td>
  150. <%
  151. String desc = onlineUserAction.getDesc(genericRequest);
  152. String url = onlineUserAction.getUrl();
  153. if (desc == null) {
  154. desc = MVNForumResourceBundle.getString(onlineUser.getLocale(), "mvnforum.common.member.online.unknow_action");
  155. }
  156. if (url == null) {
  157. out.print(desc);
  158. } else {
  159. %>
  160. <a href="<%=urlResolver.encodeURL(request, response, url)%>"><%=desc%></a>
  161. <% } %>
  162. <%if (permission.canAdminSystem()) {%>
  163. <br/>
  164. [<%=onlineUserAction.getRemoteAddr()%>] <%=DisableHtmlTagFilter.filter(onlineUserAction.getUserAgent())%>
  165. <%}/*if can admin system*/%>
  166. </td>
  167. <td align="center"><%=onlineUserAction.getDurationSinceLastRequestDesc(now, onlineUser.getLocale())%></td>
  168. <td align="center"><%=onlineUserAction.getOnlineDurarionDesc(now, onlineUser.getLocale())%></td>
  169. </tr>
  170. <% }//for %>
  171. </table>
  172. </mvn:cssrows>
  173. <br/>
  174. <%@ include file="footer.jsp"%>
  175. </mvn:body>
  176. </mvn:html>
  177. </fmt:bundle>