<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" %> <%@ include file="../Connections/con_ro_mnsl.jsp" %> <% boolean yearOK=false; String rn__MMColParam = "%"; if (request.getParameter("pn") !=null) {rn__MMColParam = delim((String)request.getParameter("pn"));} %> <% String rn__MMYear = "(select MAX(dt) from dbo.view_announcements where st='A') "; String rn___MMYear=rn__MMYear; if (request.getParameter("year") !=null && ((String)request.getParameter("year")).length()==4 && ((String)request.getParameter("year")).length()>0) yearOK=true; if (request.getParameter("year") !=null && yearOK==true) {rn__MMYear = delim((String)request.getParameter("year"));} try{int yr=Integer.parseInt(rn__MMYear);yearOK=true;} catch(Exception e) { yearOK=false; rn__MMYear = "(select MAX(dt) from dbo.view_announcements where st='A') "; } %> <% Driver Driverrn = (Driver)Class.forName(MM_con_ro_mnsl_DRIVER).newInstance(); Connection Connrn = DriverManager.getConnection(MM_con_ro_mnsl_STRING,MM_con_ro_mnsl_USERNAME,MM_con_ro_mnsl_PASSWORD); PreparedStatement Statementrn = Connrn.prepareStatement("SELECT * FROM dbo.view_announcements WHERE (tl LIKE '%" + rn__MMColParam + "%' OR bd LIKE '%" + rn__MMColParam + "%') and st LIKE 'A' and dt= "+ rn__MMYear +" ORDER BY id DESC",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); Statementrn.setFetchSize(0); Statementrn.setQueryTimeout(0); ResultSet rn = Statementrn.executeQuery(); boolean rn_isEmpty = !rn.next(); boolean rn_hasData = !rn_isEmpty; Object rn_data; int rn_numRows = 0; %> <% int Repeat1__numRows = 30; int Repeat1__index = 0; rn_numRows += Repeat1__numRows; %> <% // *** Recordset Stats, Move To Record, and Go To Record: declare stats variables int rn_first = 1; int rn_last = 1; int rn_total = -1; if (rn_isEmpty) { rn_total = rn_first = rn_last = 0; } //set the number of rows displayed on this page if (rn_numRows == 0) { rn_numRows = 1; } %> <% // *** Recordset Stats: if we don't know the record count, manually count them if (rn_total == -1) { // count the total records by iterating through the recordset for (rn_total = 1; rn.next(); rn_total++); // reset the cursor to the beginning rn.close(); rn = Statementrn.executeQuery(); rn_hasData = rn.next(); // set the number of rows displayed on this page if (rn_numRows < 0 || rn_numRows > rn_total) { rn_numRows = rn_total; } // set the first and last displayed record rn_first = Math.min(rn_first, rn_total); rn_last = Math.min(rn_first + rn_numRows - 1, rn_total); } %> <% String MM_paramName = ""; %> <% // *** Move To Record and Go To Record: declare variables ResultSet MM_rs = rn; int MM_rsCount = rn_total; int MM_size = rn_numRows; String MM_uniqueCol = ""; MM_paramName = ""; int MM_offset = 0; boolean MM_atTotal = false; boolean MM_paramIsDefined = (MM_paramName.length() != 0 && request.getParameter(MM_paramName) != null); %> <% // *** Move To Record: handle 'index' or 'offset' parameter if (!MM_paramIsDefined && MM_rsCount != 0) { //use index parameter if defined, otherwise use offset parameter String r = request.getParameter("index"); if (r==null) r = request.getParameter("offset"); if (r!=null) MM_offset = Integer.parseInt(r); // if we have a record count, check if we are past the end of the recordset if (MM_rsCount != -1) { if (MM_offset >= MM_rsCount || MM_offset == -1) { // past end or move last if (MM_rsCount % MM_size != 0) // last page not a full repeat region MM_offset = MM_rsCount - MM_rsCount % MM_size; else MM_offset = MM_rsCount - MM_size; } } //move the cursor to the selected record int i; for (i=0; rn_hasData && (i < MM_offset || MM_offset == -1); i++) { rn_hasData = MM_rs.next(); } if (!rn_hasData) MM_offset = i; // set MM_offset to the last possible record } %> <% // *** Move To Record: if we dont know the record count, check the display range if (MM_rsCount == -1) { // walk to the end of the display range for this page int i; for (i=MM_offset; rn_hasData && (MM_size < 0 || i < MM_offset + MM_size); i++) { rn_hasData = MM_rs.next(); } // if we walked off the end of the recordset, set MM_rsCount and MM_size if (!rn_hasData) { MM_rsCount = i; if (MM_size < 0 || MM_size > MM_rsCount) MM_size = MM_rsCount; } // if we walked off the end, set the offset based on page size if (!rn_hasData && !MM_paramIsDefined) { if (MM_offset > MM_rsCount - MM_size || MM_offset == -1) { //check if past end or last if (MM_rsCount % MM_size != 0) //last page has less records than MM_size MM_offset = MM_rsCount - MM_rsCount % MM_size; else MM_offset = MM_rsCount - MM_size; } } // reset the cursor to the beginning rn.close(); rn = Statementrn.executeQuery(); rn_hasData = rn.next(); MM_rs = rn; // move the cursor to the selected record for (i=0; rn_hasData && i < MM_offset; i++) { rn_hasData = MM_rs.next(); } } %> <% // *** Move To Record: update recordset stats // set the first and last displayed record rn_first = MM_offset + 1; rn_last = MM_offset + MM_size; if (MM_rsCount != -1) { rn_first = Math.min(rn_first, MM_rsCount); rn_last = Math.min(rn_last, MM_rsCount); } // set the boolean used by hide region to check if we are on the last record MM_atTotal = (MM_rsCount != -1 && MM_offset + MM_size >= MM_rsCount); %> <% // *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters String MM_keepBoth,MM_keepURL="",MM_keepForm="",MM_keepNone=""; String[] MM_removeList = { "index", MM_paramName }; // create the MM_keepURL string if (request.getQueryString() != null) { MM_keepURL = '&' + request.getQueryString(); for (int i=0; i < MM_removeList.length && MM_removeList[i].length() != 0; i++) { int start = MM_keepURL.indexOf(MM_removeList[i]) - 1; if (start >= 0 && MM_keepURL.charAt(start) == '&' && MM_keepURL.charAt(start + MM_removeList[i].length() + 1) == '=') { int stop = MM_keepURL.indexOf('&', start + 1); if (stop == -1) stop = MM_keepURL.length(); MM_keepURL = MM_keepURL.substring(0,start) + MM_keepURL.substring(stop); } } } // add the Form variables to the MM_keepForm string if (request.getParameterNames().hasMoreElements()) { java.util.Enumeration items = request.getParameterNames(); while (items.hasMoreElements()) { String nextItem = (String)items.nextElement(); boolean found = false; for (int i=0; !found && i < MM_removeList.length; i++) { if (MM_removeList[i].equals(nextItem)) found = true; } if (!found && MM_keepURL.indexOf('&' + nextItem + '=') == -1) { MM_keepForm = MM_keepForm + '&' + nextItem + '=' + java.net.URLEncoder.encode(request.getParameter(nextItem)); } } } String tempStr = ""; for (int i=0; i < MM_keepURL.length(); i++) { if (MM_keepURL.charAt(i) == '<') tempStr = tempStr + "<"; else if (MM_keepURL.charAt(i) == '>') tempStr = tempStr + ">"; else if (MM_keepURL.charAt(i) == '"') tempStr = tempStr + """; else tempStr = tempStr + MM_keepURL.charAt(i); } MM_keepURL = tempStr; tempStr = ""; for (int i=0; i < MM_keepForm.length(); i++) { if (MM_keepForm.charAt(i) == '<') tempStr = tempStr + "<"; else if (MM_keepForm.charAt(i) == '>') tempStr = tempStr + ">"; else if (MM_keepForm.charAt(i) == '"') tempStr = tempStr + """; else tempStr = tempStr + MM_keepForm.charAt(i); } MM_keepForm = tempStr; // create the Form + URL string and remove the intial '&' from each of the strings MM_keepBoth = MM_keepURL + MM_keepForm; if (MM_keepBoth.length() > 0) MM_keepBoth = MM_keepBoth.substring(1); if (MM_keepURL.length() > 0) MM_keepURL = MM_keepURL.substring(1); if (MM_keepForm.length() > 0) MM_keepForm = MM_keepForm.substring(1); %> <% // *** Move To Record: set the strings for the first, last, next, and previous links String MM_moveFirst,MM_moveLast,MM_moveNext,MM_movePrev; String MM_keepMove = MM_keepBoth; // keep both Form and URL parameters for moves String MM_moveParam = "index="; // if the page has a repeated region, remove 'offset' from the maintained parameters if (MM_size > 1) { MM_moveParam = "offset="; int start = MM_keepMove.indexOf(MM_moveParam); if (start != -1 && (start == 0 || MM_keepMove.charAt(start-1) == '&')) { int stop = MM_keepMove.indexOf('&', start); if (start == 0 && stop != -1) stop++; if (stop == -1) stop = MM_keepMove.length(); if (start > 0) start--; MM_keepMove = MM_keepMove.substring(0,start) + MM_keepMove.substring(stop); } } // set the strings for the move to links StringBuffer urlStr = new StringBuffer(request.getRequestURI()).append('?').append(MM_keepMove); if (MM_keepMove.length() > 0) urlStr.append('&'); urlStr.append(MM_moveParam); MM_moveFirst = urlStr + "0"; MM_moveLast = urlStr + "-1"; MM_moveNext = urlStr + Integer.toString(MM_offset+MM_size); MM_movePrev = urlStr + Integer.toString(Math.max(MM_offset-MM_size,0)); %> <%! public String DoDateTime(java.lang.Object aObject,int nNamedFormat,java.util.Locale aLocale) throws Exception{ if ((aObject != null) && (aObject instanceof java.util.Date)){ if (aLocale!=null){ java.text.DateFormat df = java.text.DateFormat.getDateInstance(nNamedFormat,aLocale); return df.format(aObject); } else{ java.text.DateFormat df = java.text.DateFormat.getDateInstance(nNamedFormat); return df.format(aObject); } } return ""; } %> MNSL - Announcement Archives -<%=(yearOK==true)?(String)request.getParameter("year"):(rn_hasData?((rn_data = rn.getObject("dt"))==null || rn.wasNull())?"":rn_data:"")%>
<%@ include file="../pagenav.jsp" %>
Announcements <%=(yearOK==true)?(String)request.getParameter("year"):(rn_hasData?((rn_data = rn.getObject("dt"))==null || rn.wasNull())?"":rn_data:"")%>

<% while ((rn_hasData)&&(Repeat1__numRows-- != 0)) { %> <% Repeat1__index++; rn_hasData = rn.next(); } %>
<% if (!rn_isEmpty ) { %> <% int pagefirstrecord=0; int pagelastrecord=0; int MM_PASS_VAR=0; int selectedpage=1; int totalpages=rn_total/Repeat1__numRows; totalpages=((totalpages*Repeat1__numRows!=rn_total)?totalpages+1:totalpages); if (request.getParameter("offset") !=null) {MM_PASS_VAR =Integer.parseInt(request.getParameter("offset")) ;} if(MM_PASS_VAR<-1) MM_PASS_VAR=0; if(MM_PASS_VAR==-1||MM_PASS_VAR>=rn_total) { selectedpage=totalpages; pagefirstrecord=Repeat1__numRows*selectedpage; if(pagefirstrecord>rn_total) pagefirstrecord=rn_total; pagelastrecord=rn_total; } else { selectedpage=MM_PASS_VAR/Repeat1__numRows; pagefirstrecord=Repeat1__numRows*selectedpage+1; if(selectedpage==totalpages) { pagelastrecord=rn_total; }else{ pagelastrecord=pagefirstrecord+Repeat1__numRows-1; } } pagefirstrecord=(pagefirstrecord>rn_total)?rn_total:pagefirstrecord; pagelastrecord=(pagelastrecord>rn_total)?rn_total:pagelastrecord; %> Showing [<%=pagefirstrecord%>-<%=pagelastrecord%>] of <%=(rn_total)%> Announcement(s) in <%=(yearOK==true)?(String)request.getParameter("year"):(rn_hasData?((rn_data = rn.getObject("dt"))==null || rn.wasNull())?"":rn_data:"")%> <% } /* end !rn_isEmpty */ %> <% if (rn_isEmpty ) { %> Search returned no Announcements <% } /* end rn_isEmpty */ %> <% if (!rn_isEmpty ) { %> <% int no_Pages=0; no_Pages=rn_total/Repeat1__numRows; no_Pages=((no_Pages*Repeat1__numRows!=rn_total)?no_Pages+1:no_Pages); %> page <% } /* end !rv_isEmpty */ %>
 

<%=(((rn_data = rn.getObject("tl"))==null || rn.wasNull())?"":rn_data)%>

">(<%= DoDateTime((((rn_data = rn.getObject("cd"))==null || rn.wasNull())?"":rn_data), java.text.DateFormat.SHORT, java.util.Locale.UK) %>)

<%=(((rn_data = rn.getObject("p1"))==null || rn.wasNull())?"":"")%>

<%String bodyaa=rn.getObject("bd")==null?"":rn.getString("bd");%> <%=bodyaa.substring(0,(Math.min(300,bodyaa.length())))%> ...">more">

 

 
<% if (!rn_isEmpty ) { %> <% } /* end !rn_isEmpty */ %>
 

 

<%@include file="../footer.jsp"%>
<%@ include file="../_notice.jsp" %> <% rn.close(); Statementrn.close(); Connrn.close(); %>