+ $paginationAppends = $request->only('term');
+ $pages = $this->pageRepo->getBySearch($searchTerm, [], 20, $paginationAppends);
+ $books = $this->bookRepo->getBySearch($searchTerm, 10, $paginationAppends);
+ $chapters = $this->chapterRepo->getBySearch($searchTerm, [], 10, $paginationAppends);
+ $this->setPageTitle(trans('entities.search_for_term', ['term' => $searchTerm]));
+ return view('search/all', [
+ 'pages' => $pages,
+ 'books' => $books,
+ 'chapters' => $chapters,
+ 'searchTerm' => $searchTerm
+ ]);
+ }
+
+ /**
+ * Search only the pages in the system.
+ * @param Request $request
+ * @return \Illuminate\Http\RedirectResponse|\Illuminate\View\View
+ */
+ public function searchPages(Request $request)
+ {
+ if (!$request->has('term')) return redirect()->back();
+
+ $searchTerm = $request->get('term');
+ $paginationAppends = $request->only('term');
+ $pages = $this->pageRepo->getBySearch($searchTerm, [], 20, $paginationAppends);
+ $this->setPageTitle(trans('entities.search_page_for_term', ['term' => $searchTerm]));
+ return view('search/entity-search-list', [
+ 'entities' => $pages,
+ 'title' => trans('entities.search_results_page'),
+ 'searchTerm' => $searchTerm
+ ]);
+ }
+
+ /**
+ * Search only the chapters in the system.
+ * @param Request $request
+ * @return \Illuminate\Http\RedirectResponse|\Illuminate\View\View
+ */
+ public function searchChapters(Request $request)
+ {
+ if (!$request->has('term')) return redirect()->back();
+
+ $searchTerm = $request->get('term');
+ $paginationAppends = $request->only('term');
+ $chapters = $this->chapterRepo->getBySearch($searchTerm, [], 20, $paginationAppends);
+ $this->setPageTitle(trans('entities.search_chapter_for_term', ['term' => $searchTerm]));
+ return view('search/entity-search-list', [
+ 'entities' => $chapters,
+ 'title' => trans('entities.search_results_chapter'),
+ 'searchTerm' => $searchTerm
+ ]);
+ }
+
+ /**
+ * Search only the books in the system.
+ * @param Request $request
+ * @return \Illuminate\Http\RedirectResponse|\Illuminate\View\View
+ */
+ public function searchBooks(Request $request)
+ {
+ if (!$request->has('term')) return redirect()->back();
+
+ $searchTerm = $request->get('term');
+ $paginationAppends = $request->only('term');
+ $books = $this->bookRepo->getBySearch($searchTerm, 20, $paginationAppends);
+ $this->setPageTitle(trans('entities.search_book_for_term', ['term' => $searchTerm]));
+ return view('search/entity-search-list', [
+ 'entities' => $books,
+ 'title' => trans('entities.search_results_book'),
+ 'searchTerm' => $searchTerm
+ ]);