@@ -42,6 +42,8 @@ function getCombinedResults() {
42
42
$ results = $ this ->getResultsFromEDS ($ searchTerm , $ numberOfResults , $ fullResultsLink );
43
43
} elseif ($ source == 'summon ' ) {
44
44
$ results = $ this ->getResultsFromSummon ($ searchTerm , $ numberOfResults , $ fullResultsLink );
45
+ } elseif ($ source == 'bmjBp ' ) {
46
+ $ results = $ this ->getResultsFromBmjBp ($ searchTerm , $ numberOfResults , $ fullResultsLink );
45
47
} elseif ($ source == 'ebscohost ' ) {
46
48
$ results = $ this ->getResultsFromEbscohost ($ searchTerm , $ numberOfResults , $ fullResultsLink );
47
49
} elseif ($ source == 'events ' ) {
@@ -265,6 +267,49 @@ private function getResultsFromSummon($searchTerm, $numberOfResults, $fullResult
265
267
return $ results ;
266
268
}
267
269
270
+ /**
271
+ * @param $searchTerm
272
+ * @param $numberOfResults
273
+ * @param $fullResultsLink
274
+ * @return string a string of HTML to be used to display results from a BMJ Best Practice search in combined results
275
+ */
276
+ private function getResultsFromBmjBp ($ searchTerm , $ numberOfResults , $ fullResultsLink ): string {
277
+ global $ interface ;
278
+ $ interface ->assign ('viewingCombinedResults ' , true );
279
+
280
+ if ($ searchTerm == '' ) {
281
+ $ results = '<div class="clearfix"></div><div> ' . translate (['text ' =>'Enter search terms to see results. ' , 'isPublicFacing ' =>true ]) . '</div> ' ;
282
+ return $ results ;
283
+ }
284
+
285
+ /** @var SearchObject_BmjBpSearcher $bmjBpSearcher */
286
+ $ bmjBpSearcher = SearchObjectFactory::initSearchObject ("BmjBp " );
287
+ $ bmjBpSearcher ->init ();
288
+ $ bmjBpSearcher ->setSearchTerms ([
289
+ 'index ' =>$ bmjBpSearcher ->getDefaultIndex (),
290
+ 'lookfor ' => $ searchTerm ,
291
+ ]);
292
+ $ bmjBpSearcher ->processSearch (true , false );
293
+
294
+ $ summary = $ bmjBpSearcher ->getResultSummary ();
295
+ if ($ summary ['resultTotal ' == 0 ]) {
296
+ $ results = '<div class="clearfix"></div><div> ' . translate (['text ' =>'No results match your search. ' , 'isPublicFacing ' =>true ]) . '</div> ' ;
297
+ return $ results ;
298
+ }
299
+
300
+ $ records = array_slice ($ bmjBpSearcher ->getCombinedResultHTML (), 0 , $ numberOfResults );
301
+
302
+ $ interface ->assign ('recordSet ' , $ records );
303
+ $ interface ->assign ('showExploreMoreBar ' , false );
304
+
305
+ $ formattedNumResults = number_format ($ summary ['resultTotal ' ]);
306
+ $ results = "<a href=' {$ fullResultsLink }' class='btn btn-default combined-results-button'>See all {$ formattedNumResults } results <i class='fas fa-chevron-right fa-lg' role='presentation'></i></a><div class='clearfix'></div> " ;
307
+ $ results .= $ interface ->fetch ('Search/list-list.tpl ' );
308
+ return $ results ;
309
+ }
310
+
311
+
312
+
268
313
/**
269
314
* @param $searchType
270
315
* @param $searchTerm
0 commit comments