<%
Response.Buffer = true
Response.ContentType = "text/xml"


'NOTES:

' RSS feed from Admin section of iEditor
'	<lastBuildDate> is set depending on if there are any news items or not. 
'	If not  then todays date is used, if there are news items then the newest news item date is used.

' embed this file on a webpage put this in the header: 
'    <link href="**URL OF THIS RSS FEED**" rel="alternate" type="application/rss+xml" title="**TITLE OF RSS FEED HERE**" />



'Change the following details - news_page_url  does not need   "http://www.url.com"   but DOES  need the / 

		RSStitle = "Furness Enterprise"
		RSSdescription = "Furness Enterprise Latest News"
		News_page_url = "/furness_enterprise_newsdisplay.asp?newsID="
		Max_news_items = 10

'CHANGE The INCLUDE files below:

%>
<!-- #INCLUDE virtual="/datastore.asp" -->
<!-- #INCLUDE virtual="/adovbs.asp" -->
<!-- #INCLUDE virtual="/scripts/library1.asp" -->
<%
	Set objConn = Server.CreateObject ("ADODB.Connection")
	'On Error Resume Next
	objConn.Open(strConnect)
	
	headerID="NWS"
	    LATESTNEWSID = 1
	    Set objRec = Server.CreateObject ("ADODB.Recordset")
	    strSQL = "SELECT * FROM news WHERE"
	    strSQL = strSQL & " ((NewsArchive)=(False)) AND "
	    strSQL = strSQL & "((news.NewsDateExpire)>=(Date()) OR (IsNull(news.NewsDateExpire)))"
	    strSQL = strSQL & " AND"
	    strSQL = strSQL & " (NewsCatID=" & LATESTNEWSID & ")"
	    strSQL = strSQL & " Order By  NewsDateBegin Desc;"
	' now open it
	    objRec.Open strSQL, strConnect, adOpenStatic
	
	    i = objRec.RecordCount
	    'MaxRecords = Application("MaxRecords")
	    
'Mike edit to change number of news items shown. change  max_news_items  above
	    MaxRecords = Max_news_items
	    
	    numpages = (i / MaxRecords)
	    If InStr(numpages, ".")>0 Then
	        numpages = numpages + 0.5
	        numpages = Round(numpages)
	    End If

'START of RSS feed ! 

	Response.Write "<?xml version=""1.0"" encoding=""utf-8""?> "& vbCrLf
	Response.Write "<rss version=""2.0"" xmlns:atom=""http://www.w3.org/2005/Atom""> <channel><atom:link href=""http://www.furnessenterprise.co.uk/rss_feed.xml"" rel=""self"" type=""application/rss+xml"" />"& vbCrLf

	Response.Write "<title>"&RSStitle&"</title>"& vbCrLf
	Response.Write "<description>"&RSSdescription&"</description>"& vbCrLf

	Response.Write "<link>http://"& Request.servervariables("SERVER_NAME") & "</link>"& vbCrLf
	Response.Write "<language>en-gb</language>"& vbCrLf


    If MaxRecords > 1 then
        ctr = 1
        if Request.QueryString("page")>1 then
            rec = CINT((Request.QueryString("page") * MaxRecords) - MaxRecords)
            objRec.Move(rec)
        end if
            	
	

        If objRec.EOF Then
        	
        	    Response.Write "<lastBuildDate>"& return_RFC822_Date(Now(), "GMT") & "</lastBuildDate>"& vbCrLf & vbCrLf

	            Response.Write  "<item>" & vbCrLf
	            Response.Write  "<title>No Items yet</title>"  & vbCrLf
	            Response.Write  "<description>Subscribe now to be the first to know about new news on this site.</description>" & vbCrLf           
	            Response.Write  "<link>http://"& Request.servervariables("SERVER_NAME") & "</link>" & vbCrLf
				Response.Write "<guid>http://"& Request.servervariables("SERVER_NAME") & "/?RSS</guid>"& vbCrLf
	            
                Response.Write  "<pubDate>" & return_RFC822_Date(Now(), "GMT") & "</pubDate>" & vbCrLf
           		Response.Write  "</item>" & vbCrLf
          else
				Response.Write "<lastBuildDate>"& return_RFC822_Date(Trim(objRec("NewsDateBegin")), "GMT") & "</lastBuildDate>"& vbCrLf & vbCrLf
 		End if
		
			
        While not objRec.EOF AND ctr <= MaxRecords
	            if Session("Admin") = "TRUE" then
		            pageID = objRec("NewsID")
		            adminID = objRec("NewsAdminID")
		            moduleID = objRec("NewsModuleID")
	            end if
	            
'Write out each item in the loop
	            
	            Response.Write  "<item>" & vbCrLf
	            Response.Write  "<title><![CDATA[" & Server.HTMLEncode(objRec("NewsTitle")) & "]]></title>"  & vbCrLf
	            s_desc = objRec("NewsBriefDescription")
	        	If Len(s_desc & "") > 0 Then
					s_desc = Server.HTMLEncode(s_desc)
	            End If
	            Response.Write  "<description><![CDATA["& s_desc & "...&lt;br /&gt;" & Left(objRec("NewsDateBegin"),10) & "]]></description>"& vbCrLf
	            
	           	Response.Write  "<guid>http://"& Request.servervariables("SERVER_NAME") & News_page_url & objRec("NewsID") &  "</guid>" & vbCrLf
                Response.Write  "<pubDate>" & return_RFC822_Date(Trim(objRec("NewsDateBegin")), "GMT")& "</pubDate>" & vbCrLf
                Response.Write  "<link>http://"& Request.servervariables("SERVER_NAME") & News_page_url & objRec("NewsID") & "</link>" & vbCrLf
                
				Response.Write  "</item>" & vbCrLf & vbCrLf
	            
        objRec.MoveNext
        ctr = ctr + 1
        wend
    end if
	
	Response.Write vbCrLf& vbCrLf

	Response.Write "</channel>" & vbCrLf
    Response.Write "</rss>" & vbCrLf
      
      
'END  of  RSS feed!      
         
         
         
    objRec.Close
    Set objRec = Nothing
%>		  


<%
Function return_RFC822_Date(myDate, offset)
   Dim myDay, myDays, myMonth, myYear
   Dim myHours, myMonths, mySeconds

   myDate = CDate(myDate)
   myDay = WeekdayName(Weekday(myDate),true)
   myDays = Day(myDate)
   myMonth = MonthName(Month(myDate), true)
   myYear = Year(myDate)
   myHours = zeroPad(Hour(myDate), 2)
   myMinutes = zeroPad(Minute(myDate), 2)
   mySeconds = zeroPad(Second(myDate), 2)

   return_RFC822_Date = myDay&", "& _
                                  myDays&" "& _
                                  myMonth&" "& _
                                  myYear&" "& _
                                  myHours&":"& _
                                  myMinutes&":"& _
                                  mySeconds&" "& _
                                  offset
End Function
Function zeroPad(m, t)
   zeroPad = String(t-Len(m),"0")&m
End Function

'http://www.expertsforge.com/Web-Development/Tutorial-47.asp
%>

