<!---This sits in my Application.cfm file --->
<cfparam name="APPLICATION.TimeStamp" default="">
<CFIF (APPLICATION.TimeStamp EQ "") OR (DateDiff("n", APPLICATION.TimeStamp, TimeFormat(NOW(), "hh:mm:s")) GT 10) AND NOT IsDefined('URL.INIT')>
<CFSET APPLICATION.TimeStamp = CreateTime(TimeFormat(NOW(), "hh"), TimeFormat(NOW(), "mm"), TimeFormat(NOW(), "s"))>
<CFSET APPLICATION.RSSFeed = ArrayNew(1)>
<CFHTTP METHOD="GET" URL="http://pipes.yahoo.com/pipes/pipe.run?_id=tHshp1Ed3RGr3uC9JphxuA&_render=rss" />
<CFSET APPLICATION.RSSFeed[1] = CFHTTP.FileContent>
<CFHTTP METHOD="GET" URL="http://pipes.yahoo.com/pipes/pipe.run?_id=itFf9VId3RGmcBsNzKky6g&_render=rss" />
<CFSET APPLICATION.RSSFeed[2] = CFHTTP.FileContent>
<CFHTTP METHOD="GET" URL="http://pipes.yahoo.com/pipes/pipe.run?_id=lD1mhGAd3RGLYXkgMlrX_Q&_render=rss" />
<CFSET APPLICATION.RSSFeed[3] = CFHTTP.FileContent>
<CFSET APPLICATION.ParsedRSS = ArrayNew(1)>
<CFSET Temp = APPLICATION.RSSFeed[1]>
<CFSET APPLICATION.ParsedRSS[1] = "#XMLParse(Temp)#">
<CFSET Temp = APPLICATION.RSSFeed[2]>
<CFSET APPLICATION.ParsedRSS[2] = "#XMLParse(Temp)#">
<CFSET Temp = APPLICATION.RSSFeed[3]>
<CFSET APPLICATION.ParsedRSS[3] = "#XMLParse(Temp)#">
</CFIF>
<!--- This is my Utility.cfm widget --->
<cfsetting enablecfoutputonly="yes">
<cfscript>
/**
* Displays n number of characters from a string without cutting off in the middle of a word
* Code used from FullLeft
*
* @param string String to be modified. (Required)
* @param number Number of characters to include in teaser. (Required)
* @param urlArgument URL to use for 'more' link. (Optional)
* @return Returns a string.
* @author Bryan LaPlante (blaplante@netwebapps.com)
* @version 3, July 31, 2003
*/
function FormatTeaser(string,number){
var urlArgument = "";
var shortString = "";
//return quickly if string is short or no spaces at all
if(len(string) lte number or not refind("[[:space:]]",string)) return string;
if(arrayLen(arguments) gt 2) urlArgument = "... <a target=""_blank"" href=""" & arguments[3] & """>[more]</a>";
//Full Left code (http://www.cflib.org/udf.cfm?ID=329)
if(reFind("[[:space:]]",mid(string,number+1,1))) {
shortString = left(string,number);
} else {
if(number-refind("[[:space:]]", reverse(mid(string,1,number)))) shortString = Left(string, (number-refind("[[:space:]]", reverse(mid(string,1,number)))));
else shortString = left(str,1);
}
return shortString & urlArgument;
}
</cfscript>
<!--- I loop over the Application Array and populate the local Array --->
<cfloop index="i" from="1" to="#ArrayLen(APPLICATION.RSSFeed)#">
<cfset VARIABLES.LocalRSS[i] = XMLParse(APPLICATION.RSSFeed[i])>
</cfloop>
<cfset RandomList = "">
<cfoutput>
<cfloop from="1" to="10" index="r">
<cfset VARIABLES.LoopControl = 0>
<cfloop condition="VARIABLES.LoopControl EQ 0">
<cfset RandomFeed = RandRange(1,3)>
<cfset RandomPick = RandRange(1, Arraylen(VARIABLES.LocalRSS[RandomFeed].rss.channel.item))>
<cfif NOT ListFind(VARIABLES.RandomList, RandomPick)>
<cfset VARIABLES.RandomList = ListAppend(VARIABLES.RandomList, RandomPick)>
<cfset VARIABLES.LoopControl = 1>
</cfif>
<!--- Moved CF Loop to line 55 --->
<dl><br />
<dt class="rsstitle"><A HREF="#APPLICATION.ParsedRSS[RandomFeed].rss.channel.item[RandomPick].link.xmltext#" TARGET="_BLANK"> #APPLICATION.ParsedRSS[RandomFeed].rss.channel.item[RandomPick].title.xmltext#</A></dt>
<dd class="rsssubtitle">#FormatTeaser(APPLICATION.ParsedRSS[RandomFeed].rss.channel.item.description.xmltext,75,APPLICATION.ParsedRSS[RandomFeed].rss.channel.item[RandomPick].link.xmltext)#</dd>
</dl>
</cfloop>
</cfloop>
</cfoutput>
<cfsetting enablecfoutputonly="no" />
|