1. <cffunction name="searchTestimonials"
  2. output="false"
  3. access="public"
  4. returntype="struct"
  5. hint="Returns total count and recordset based on search criteria">
  6. <cfargument name="SearchCrit"
  7. required="true"
  8. type="struct"
  9. hint="Search criteria, usually passed in from the URL scope" />
  10. <cfset var StartRow = "" />
  11. <cfset var EndRow = "" />
  12. <cfset var retStruct = StructNew() />
  13. <cfparam name="Arguments.SearchCrit.Name" type="string" default="" />
  14. <cfparam name="Arguments.SearchCrit.Testimony" type="string" default="" />
  15. <cfparam name="Arguments.SearchCrit.Active" type="numeric" default="1" />
  16. <cfparam name="Arguments.SearchCrit.pg" type="numeric" default="1" />
  17. <cfparam name="Arguments.SearchCrit.RecordsPerPage" type="numeric" default="30" />
  18. <cfparam name="Arguments.SearchCrit.OrderBy" type="string" default="stamp" />
  19. <cfparam name="Arguments.SearchCrit.OrderDirection" type="string" default="DESC" />
  20. <!--- derive start and end rows --->
  21. <cfset StartRow = ((Arguments.SearchCrit.pg-1)*Arguments.SearchCrit.RecordsPerPage)+1 />
  22. <cfset EndRow = (StartRow + Arguments.SearchCrit.RecordsPerPage)-1 />
  23. <cfset retStruct = DAO.readSearch( Arguments.SearchCrit, StartRow, EndRow ) />
  24. <cfreturn retStruct />
  25. </cffunction>