listrecentthreads.jsp
来自「一个完整的网络订餐系统」· JSP 代码 · 共 317 行
JSP
317 行
<%--
- $Header: /cvsroot/mvnforum/mvnforum/srcweb/mvnplugin/mvnforum/user/listrecentthreads.jsp,v 1.76 2005/02/21 18:33:19 minhnn Exp $
- $Author: minhnn $
- $Revision: 1.76 $
- $Date: 2005/02/21 18:33:19 $
-
- ====================================================================
-
- Copyright (C) 2002-2005 by MyVietnam.net
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or any later version.
-
- All copyright notices regarding mvnForum MUST remain intact
- in the scripts and in the outputted HTML.
- The "powered by" text/logo with a link back to
- http://www.mvnForum.com and http://www.MyVietnam.net in the
- footer of the pages MUST remain visible when the pages
- are viewed on the internet or intranet.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
- Support can be obtained from support forums at:
- http://www.mvnForum.com/mvnforum/index
-
- Correspondence and Marketing Questions can be sent to:
- info@MyVietnam.net
-
- @author: Minh Nguyen minhnn@MyVietnam.net
- @author: Mai Nguyen mai.nh@MyVietnam.net
--%>
<%@ page contentType="text/html;charset=utf-8" %>
<%@ page errorPage="fatalerror.jsp"%>
<%@ page import="java.util.*" %>
<%@ page import="net.myvietnam.mvncore.util.ParamUtil" %>
<%@ page import="net.myvietnam.mvncore.util.StringUtil" %>
<%@ page import="net.myvietnam.mvncore.filter.EnableEmotionFilter" %>
<%@ page import="net.myvietnam.mvncore.security.Encoder" %>
<%@ page import="com.mvnforum.db.*" %>
<%@ page import="com.mvnforum.MyUtil" %>
<%@ page import="com.mvnforum.MVNForumGlobal" %>
<%@ page import="com.mvnforum.MVNForumResourceBundle" %>
<%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ include file="inc_common.jsp"%>
<fmt:bundle basename="mvnForum_i18n">
<html <fmt:message key="mvnforum.common.i18n.html_dir"/>>
<head>
<title><fmt:message key="mvnforum.common.forum.title_name"/> - <fmt:message key="mvnforum.user.listrecentthreads.title"/></title>
<%@ include file="/mvnplugin/mvnforum/meta.jsp"%>
<link href="<%=onlineUser.getCssPath()%>" rel="stylesheet" type="text/css">
</head>
<body leftmargin="0" topmargin="0">
<%@ include file="header.jsp"%>
<br/>
<table width="95%" align="center">
<tr class="nav">
<td><img src="<%=contextPath%>/mvnplugin/mvnforum/images/nav.gif"></td>
<td width="100%" nowrap>
<a class="nav" href="index"><fmt:message key="mvnforum.common.nav.index"/></a> »
<% if (MVNForumConfig.getEnablePortalLikeIndexPage()) {%>
<a class="nav" href="listforums"><fmt:message key="mvnforum.user.listforums.title"/></a> »
<% } %>
<fmt:message key="mvnforum.user.listrecentthreads.title"/>
</td>
</tr>
</table>
<br/>
<%
CategoryCache categoryCache = CategoryCache.getInstance();
ForumCache forumCache = ForumCache.getInstance();
Collection categoryBeans = categoryCache.getBeans();
Collection forumBeans = forumCache.getBeans();
%>
<table width="95%" align="center">
<tr class="messageText"><td>
<form>
<fmt:message key="mvnforum.common.quick_go"/> » <select name="FastGoForum" onChange="gotoPage(this.options[this.selectedIndex].value)">
<option value=""><fmt:message key="mvnforum.common.prompt.choose_forum"/></option>
<%
for (Iterator catIter = categoryBeans.iterator(); catIter.hasNext(); ) {
CategoryBean categoryBean = (CategoryBean)catIter.next();
int categoryID = categoryBean.getCategoryID();
if (MyUtil.canViewAnyForumInCategory(categoryID, permission) == false) continue; %>
<option value=""></option>
<option value="listforums"><%=categoryBean.getCategoryName()%></option>
<option value="">---------------------------------</option>
<%
for (Iterator forumIter = forumBeans.iterator(); forumIter.hasNext(); ) {
ForumBean forumBean = (ForumBean)forumIter.next();
if (forumBean.getCategoryID() != categoryID) continue;
if (permission.canReadPost(forumBean.getForumID()) && (forumBean.getForumStatus() != ForumBean.FORUM_STATUS_DISABLED) ) { %>
<option value="listthreads?forum=<%=forumBean.getForumID()%>"> <%=forumBean.getForumName()%></option>
<% } //if
} // for forum
}// for category %>
</select>
</form>
</td></tr>
</table>
<%
String sort = ParamUtil.getParameter(request, "sort");
String order = ParamUtil.getParameter(request, "order");
if (sort.length() == 0) sort = "ThreadLastPostDate";
if (order.length() == 0) order = "DESC";
%>
<table width="95%" align="center">
<tr>
<td nowrap class="messageText">
<form action="listrecentthreads">
<fmt:message key="mvnforum.common.sort_by"/>
<select name="sort">
<option value="ThreadLastPostDate" <%if (sort.equals("ThreadLastPostDate")) {%>selected<%}%>><fmt:message key="mvnforum.common.post.last_post_date"/></option>
<option value="ThreadCreationDate" <%if (sort.equals("ThreadCreationDate")) {%>selected<%}%>><fmt:message key="mvnforum.common.post.first_post_date"/></option>
<option value="MemberName" <%if (sort.equals("MemberName")) {%>selected<%}%>><fmt:message key="mvnforum.common.post.author"/></option>
<option value="ThreadReplyCount" <%if (sort.equals("ThreadReplyCount")) {%>selected<%}%>><fmt:message key="mvnforum.common.reply_count"/></option>
<option value="ThreadViewCount" <%if (sort.equals("ThreadViewCount")) {%>selected<%}%>><fmt:message key="mvnforum.common.view_count"/></option>
</select>
<fmt:message key="mvnforum.common.order"/>
<select name="order">
<option value="ASC" <%if (order.equals("ASC")) {%>selected<%}%>><fmt:message key="mvnforum.common.ascending"/></option>
<option value="DESC" <%if (order.equals("DESC")) {%>selected<%}%>><fmt:message key="mvnforum.common.descending"/></option>
</select>
<input type="button" value="<fmt:message key="mvnforum.common.go"/>" onclick="disabled=true; submit();" class="liteoption">
</form>
</td>
</tr>
</table>
<%
boolean hasANormalNoNewThread = false;
boolean hasANormalNewThread = false;
boolean hasAHotNoNewThread = false;
boolean hasAHotNewThread = false;
boolean hasAnAttachment = false;
boolean hasSticky = false;
boolean hasAnnouncement = false;
boolean hasGlobalAnnouncement = false;
Collection threadBeans = (Collection) request.getAttribute("ThreadBeans");
int totalThreads = ((Integer)request.getAttribute("TotalThreads")).intValue();
int memberPostsPerPage = onlineUser.getPostsPerPage();
%>
<pg:pager
url="listrecentthreads"
items="<%= totalThreads %>"
maxPageItems="<%= memberPostsPerPage %>"
isOffset="true"
export="offset,currentPageNumber=pageNumber"
scope="request">
<% String rowsType = MVNForumResourceBundle.getString(onlineUser.getLocale(), "mvnforum.common.numberof.threads"); %>
<%-- keep track of preference --%>
<pg:param name="sort"/>
<pg:param name="order"/>
<table width="95%" align="center">
<tr>
<td>
<%@ include file="inc_pager.jsp"%>
</td>
</tr>
</table>
<table class="tborder" width="95%" cellspacing="1" cellpadding="3" align="center">
<tr class="theader">
<td colspan="3"><fmt:message key="mvnforum.common.thread"/></td>
<td><fmt:message key="mvnforum.common.forum"/></td>
<td align="center"><fmt:message key="mvnforum.common.post.author"/></td>
<td align="center"><fmt:message key="mvnforum.common.reply_count"/></td>
<td align="center"><fmt:message key="mvnforum.common.view_count"/></td>
<td align="center"><fmt:message key="mvnforum.common.last_post"/></td>
</tr>
<%
int rowIndex = 0;
for (Iterator iterator = threadBeans.iterator(); iterator.hasNext(); ) {
ThreadBean threadBean = (ThreadBean)iterator.next();
String threadIcon = MyUtil.getThreadIconName(onlineUser.getLastLogonTimestamp().getTime(), threadBean.getThreadLastPostDate().getTime(), threadBean.getThreadReplyCount()+1);
if (threadIcon.equals("f_norm_no.gif")) {
hasANormalNoNewThread = true;
} else if (threadIcon.equals("f_norm_new.gif")) {
hasANormalNewThread = true;
} else if (threadIcon.equals("f_hot_no.gif")) {
hasAHotNoNewThread = true;
} else if (threadIcon.equals("f_hot_new.gif")) {
hasAHotNewThread = true;
}
%>
<pg:item>
<tr class="trow<%=(rowIndex++)%2 + 1%>">
<td width="16"><img src="<%=contextPath%>/mvnplugin/mvnforum/images/icon/<%=threadIcon%>" border="0"></td>
<td width="16"><%=EnableEmotionFilter.filter(threadBean.getThreadIcon(), ParamUtil.getContextPath() + MVNForumGlobal.EMOTION_DIR)%></td>
<td>
<% String typeImage = "";
switch (threadBean.getThreadType()) {
case ThreadBean.THREAD_TYPE_STICKY: typeImage = "sticky.gif"; hasSticky = true; break;
case ThreadBean.THREAD_TYPE_FORUM_ANNOUNCEMENT: typeImage = "announce.gif"; hasAnnouncement = true; break;
case ThreadBean.THREAD_TYPE_GLOBAL_ANNOUNCEMENT: typeImage = "global_announce.gif"; hasGlobalAnnouncement = true; break;
default:break;
} %>
<% if ( threadBean.getThreadType() != ThreadBean.THREAD_TYPE_DEFAULT) { %>
<img src="<%=contextPath%>/mvnplugin/mvnforum/images/icon/<%=typeImage%>"/>
<% }%>
<% if (threadBean.getThreadAttachCount() > 0) {
hasAnAttachment = true; %>
<img src="<%=contextPath%>/mvnplugin/mvnforum/images/icon/attach.gif"/>
<% } %>
<a href="viewthread?thread=<%=threadBean.getThreadID()%>" class="messageTopic">
<%=MyUtil.filter(threadBean.getThreadTopic(), false/*html*/, true/*emotion*/, false/*mvnCode*/, false/*newLine*/, false/*URL*/)%>
</a><br/>
<%=MyUtil.filter(StringUtil.getShorterString(threadBean.getThreadBody(), MVNForumConfig.getMaxCharsInShortSummary()), false/*html*/, true/*emotion*/, false/*mvnCode*/, false/*newLine*/, false/*URL*/)%>
</td>
<td>
<a href="listthreads?forum=<%=threadBean.getForumID()%>" class="messageTopic"><%=forumCache.getBean(threadBean.getForumID()).getForumName()%></a>
</td>
<td align="center">
<% if ((threadBean.getMemberName()!=null) && (threadBean.getMemberName().length()>0)) { %>
<a href="viewmember?member=<%=Encoder.encodeURL(threadBean.getMemberName())%>" class="memberName"><%=threadBean.getMemberName()%></a>
<% } %>
</td>
<td align="center"><b><%=threadBean.getThreadReplyCount()%></b></td>
<td align="center"><b><%=threadBean.getThreadViewCount()%></b></td>
<td align="center">
<%=onlineUser.getGMTTimestampFormat(threadBean.getThreadLastPostDate())%><br/>
<% if ((threadBean.getLastPostMemberName()!=null) && (threadBean.getLastPostMemberName().length()>0)) { %>
<fmt:message key="mvnforum.common.by"/> <a href="viewmember?member=<%=Encoder.encodeURL(threadBean.getLastPostMemberName())%>" class="memberName"><%=threadBean.getLastPostMemberName()%></a>
<% } %>
<a href="viewthread?thread=<%=threadBean.getThreadID()%>&lastpage=yes#lastpost" class="messageTopic"><img src="<%=contextPath%>/mvnplugin/mvnforum/images/icon/right.gif" border="0" alt="<fmt:message key="mvnforum.common.last"/>" title="<fmt:message key="mvnforum.common.last"/>"></a>
</td>
</tr>
</pg:item>
<%
}//for
if (threadBeans.size() == 0) {%>
<tr class="trow1"><td colspan="8" align="center"><fmt:message key="mvnforum.user.listrecentthreads.table.no_threads"/></td></tr>
<%}%>
</table>
<table width="95%" align="center">
<tr>
<td>
<%@ include file="inc_pager.jsp"%>
</td>
</tr>
</table>
</pg:pager>
<br/>
<table width="95%" border="0" align="center">
<% if (hasGlobalAnnouncement) { %>
<tr class="messageText">
<td width="16"><img src="<%=contextPath%>/mvnplugin/mvnforum/images/icon/global_announce.gif" border="0"></td>
<td><fmt:message key="mvnforum.common.legend.thread.global_announcement"/></td>
</tr>
<%}%>
<% if (hasAnnouncement) { %>
<tr class="messageText">
<td width="16"><img src="<%=contextPath%>/mvnplugin/mvnforum/images/icon/announce.gif" border="0"></td>
<td><fmt:message key="mvnforum.common.legend.thread.announcement"/></td>
</tr>
<%}%>
<% if (hasSticky) { %>
<tr class="messageText">
<td width="16"><img src="<%=contextPath%>/mvnplugin/mvnforum/images/icon/sticky.gif" border="0"></td>
<td><fmt:message key="mvnforum.common.legend.thread.sticky"/></td>
</tr>
<%}%>
<% if (hasANormalNoNewThread) { %>
<tr class="messageText">
<td width="16"><img src="<%=contextPath%>/mvnplugin/mvnforum/images/icon/f_norm_no.gif" border="0"></td>
<td><fmt:message key="mvnforum.common.legend.thread.normal_no_new"/></td>
</tr>
<%}%>
<% if (hasANormalNewThread) {%>
<tr class="messageText">
<td width="16"><img src="<%=contextPath%>/mvnplugin/mvnforum/images/icon/f_norm_new.gif" border="0"></td>
<td><fmt:message key="mvnforum.common.legend.thread.normal_new"/></td>
</tr>
<%}%>
<% if (hasAHotNoNewThread) {%>
<tr class="messageText">
<td width="16"><img src="<%=contextPath%>/mvnplugin/mvnforum/images/icon/f_hot_no.gif" border="0"></td>
<td><fmt:message key="mvnforum.common.legend.thread.hot_no_new"/></td>
</tr>
<%}%>
<% if (hasAHotNewThread) {%>
<tr class="messageText">
<td width="16"><img src="<%=contextPath%>/mvnplugin/mvnforum/images/icon/f_hot_new.gif" border="0"></td>
<td><fmt:message key="mvnforum.common.legend.thread.hot_new"/></td>
</tr>
<%}%>
<% if ( hasAnAttachment ) {%>
<tr class="messageText">
<td width="16" align="center"><img src="<%=contextPath%>/mvnplugin/mvnforum/images/icon/attach.gif" border="0"></td>
<td><fmt:message key="mvnforum.common.legend.thread.has_attachment"/></td>
</tr>
<%}%>
</table>
<br/>
</fmt:bundle>
<%@ include file="footer.jsp"%>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?