function _getChargedTemplateProcessor(&$listings_structure) { $tp = SJB_System::getTemplateProcessor(); $searchCriteria = $this->criteria_saver->getCriteria(); $listing_type_info = SJB_ListingTypeManager::getListingTypeInfoBySID($this->listing_type_sid); if (!empty($listing_type_info['show_brief_or_detailed'])) { $is_show_brief_or_detailed = $listing_type_info['show_brief_or_detailed']; $show_brief_or_detailed = $this->criteria_saver->getBriefOrDetailedSearch(); $tp->assign("is_show_brief_or_detailed", $is_show_brief_or_detailed); $tp->assign("show_brief_or_detailed", $show_brief_or_detailed); } $keywordsHighlight = ''; if (isset($searchCriteria['keywords']) && SJB_System::getSettingByName('use_highlight_for_keywords')) { foreach ($searchCriteria['keywords'] as $type => $keywords) { $keywordsTrim = trim($keywords); if (!empty($keywordsTrim)) { switch ($type) { case 'like': case 'exact_phrase': $keywordsHighlight = json_encode($keywords); break; case 'all_words': case 'any_words': $keywordsHighlight = json_encode(explode(' ', $keywords)); break; case 'boolean': $keywordsHighlight = json_encode(SJB_BooleanEvaluator::parse($keywords, true)); break; } } } } $view = !empty($this->requested_data['view']) ? $this->requested_data['view'] : 'list'; $tp->assign("keywordsHighlight", $keywordsHighlight); $tp->assign("sorting_field", $this->listing_search_structure['sorting_field']); $tp->assign("sorting_order", $this->listing_search_structure['sorting_order']); $tp->assign("listing_search", $this->listing_search_structure); $tp->assign("listings", $listings_structure); $tp->assign("searchId", $this->searchId); $tp->assign("view_on_map", SJB_System::getSettingByName('view_on_map')); $tp->assign("view", $view); $listing = new SJB_Listing(array(), $this->listing_type_sid); $user = new SJB_User(array()); $listing_structure_meta_data = SJB_ListingManager::createMetadataForListing($listing, $user); if (isset($searchCriteria['username']['equal'])) { $userSID = SJB_UserManager::getUserSIDbyUsername($searchCriteria['username']['equal']); $user = SJB_UserManager::getObjectBySID($userSID); $userInfo = !empty($user) ? SJB_UserManager::createTemplateStructureForUser($user) : null; $tp->assign("userInfo", $userInfo); } if (isset($searchCriteria['listing_type']['equal']) && SJB_System::getSettingByName('turn_on_refine_search_' . $searchCriteria['listing_type']['equal']) && $this->useRefine) { $tp->assign("refineSearch", true); } $metaDataProvider = SJB_ObjectMother::getMetaDataProvider(); $metadata = array("listing" => $metaDataProvider->getMetaData($listing_structure_meta_data)); $tp->assign("METADATA", $metadata); return $tp; }