search action module Selects appropriate clients to perform search action routine Input: CGI data (including itemid of parent-to-be of search results, userid, search - containing text in submit button) Output: Modified CGI data PDL If itemid ="" set itemid="search" If itemid="search" set returnid="searchresults" else set returnid="editsearch" If itemid="search" Set searchtitle="search" Else Get title of itemid from item table Set searchtitle CGI parameter If search parameter="Save Search" Set parentid=itemid If parentid="search" Get defaultitem from userdata table Else Get parent of itemid from item table Call savesearch routine Else Set resource list from resource CGI parameter Set resource[0]=0 to ensure searching at least one resource (0 means resource database) Set expanded=1 If itemid="search" Set initial sql to update userdata table Foreach parameter in (list of search parameters) If CGI parameter defined Append appropriate sql (ends in ,) Remove trailing , Run sql command Delete existing information from last_search_resources table Foreach resource Insert information about resource into last_search_resources table Delete search results items from viewitem table (ids start sr[itemid]) Delete children of search results items from viewitem table Insert searchresults item into viewitem table Else Set expanded=0 Delete children of children of itemid from item table Delete children of itemid from item table Delete children of children of itemid from viewitem table Delete children of itemid from viewitem table Call performsearch routine to set results list Set expanded=1-expanded Foreach resource If resource=0 Set title="PIE Resource Database" Else Call getrdbtitle routine to set title If itemid="search" Insert searchresult list for resource into viewitem table Else Call get_new_itemid routine Insert searchresult list for resource into viewitem table Set count=0 Foreach result Increment count Initialise description with result{description} Foreach key in result hash Next if key is "title","url","description" Turn keyname into upper case Append key data to description If itemid="search" Insert result information in viewitem table Else Call get_new_itemid routine Insert result information in viewitem table Set response parameter to returnid Return CGI data