RedirectFilter

Package: MachII.filters
Inherits from: framework.BaseComponent  <  framework.EventFilter
Method Summary
public void configure()
public boolean filterEvent(Event event, EventContext eventContext, struct paramArgs)
Methods inherited from framework.EventFilter:   init
Methods inherited from framework.BaseComponent:   isParameterDefined , hasParameter , setProperty , announceEvent , getAppManager , setAppManager , setParameters , getParameters , getProperty , getParameter , setParameter
Method Detail
configure

public void configure( )

Parameters:

Code:

	<cffunction name="configure" returntype="void" access="public" output="false">
		
	</cffunction> 

filterEvent

public boolean filterEvent( Event event, EventContext eventContext, struct paramArgs )

Parameters:
Event event
EventContext eventContext
struct paramArgs

Code:

	<cffunction name="filterEvent" returntype="boolean" access="public" output="false">
		<cfargument name="event" type="MachII.framework.Event" required="yes" />
		<cfargument name="eventContext" type="MachII.framework.EventContext" required="yes" />
		<cfargument name="paramArgs" type="struct" required="yes" />	
		
		<cfset var curArgs = arguments.eventContext.getCurrentEvent().getArgs() />
		<cfset var evtArgsToCopy = ""/>
		<cfset var qryString = ""/>
		<cfset var urlString = "" />
		<cfset var evtArg = "" />
		
		<cfif StructKeyExists(arguments.paramArgs,"absoluteUrl")>
			<cfset urlString  = arguments.paramArgs["asboluteUrl"] >
		<cfelse>
			<cfif StructKeyExists(arguments.paramArgs,"argsToCopy")>
				<cfset evtArgsToCopy = arguments.paramArgs["argsToCopy"]>
			</cfif>
			<cfloop list="#evtArgsToCopy#" index="evtArg">
				<cfif StructKeyExists(curArgs,evtArg)>
					<cfif IsSimpleValue(StructFind(curArgs,evtArg))>
						<cfset qryString = qryString & "&" & evtArg & "=" & URLENCODEDFORMAT(StructFind(curArgs,evtArg)) />
					</cfif>
				</cfif>
			</cfloop>
			<cfset urlString =  "index.cfm?event=" & arguments.paramArgs['announceEvent'] />			
		</cfif>
		<cflocation url="#urlString##qryString#" addtoken="no">					
		<cfreturn false />	
	</cffunction>