Skip to content
Snippets Groups Projects
Commit 7b182fa1 authored by Demian Katz's avatar Demian Katz
Browse files

Updated AJAX controller to use search manager.

parent ce6a185f
No related merge requests found
...@@ -107,11 +107,13 @@ class AjaxController extends AbstractBase ...@@ -107,11 +107,13 @@ class AjaxController extends AbstractBase
// Process recommendations -- for now, we assume Solr-based search objects, // Process recommendations -- for now, we assume Solr-based search objects,
// since deferred recommendations work best for modules that don't care about // since deferred recommendations work best for modules that don't care about
// the details of the search objects anyway: // the details of the search objects anyway:
$class = 'VuFind\Recommend\\' . $this->params()->fromQuery('mod'); $sm = $this->getSearchManager()->setSearchClassId('Solr');
$module = new $class($this->params()->fromQuery('params')); $rm = $this->getServiceLocator()->get('RecommendHandlerManager');
$params = new \VuFind\Search\Solr\Params(); $module = clone($rm->get($this->params()->fromQuery('mod')));
$module->setConfig($this->params()->fromQuery('params'));
$params = $sm->getParams();
$module->init($params, $this->getRequest()->getQuery()); $module->init($params, $this->getRequest()->getQuery());
$results = new \VuFind\Search\Solr\Results($params); $results = $sm->getResults($params);
$module->process($results); $module->process($results);
// Set headers: // Set headers:
...@@ -667,9 +669,10 @@ class AjaxController extends AbstractBase ...@@ -667,9 +669,10 @@ class AjaxController extends AbstractBase
*/ */
public function getMapData($fields = array('long_lat')) public function getMapData($fields = array('long_lat'))
{ {
$params = new \VuFind\Search\Solr\Params(); $sm = $this->getSearchManager()->setSearchClassId('Solr');
$params = $sm->getParams();
$params->initFromRequest($this->getRequest()->getQuery()); $params->initFromRequest($this->getRequest()->getQuery());
$results = new \VuFind\Search\Solr\Results($params); $results = $sm->getResults($params);
$facets = $results->getFullFieldFacets($fields, false); $facets = $results->getFullFieldFacets($fields, false);
...@@ -706,9 +709,10 @@ class AjaxController extends AbstractBase ...@@ -706,9 +709,10 @@ class AjaxController extends AbstractBase
// Set layout to render the page inside a lightbox: // Set layout to render the page inside a lightbox:
$this->layout()->setTemplate('layout/lightbox'); $this->layout()->setTemplate('layout/lightbox');
$params = new \VuFind\Search\Solr\Params(); $sm = $this->getSearchManager()->setSearchClassId('Solr');
$params = $sm->getParams();
$params->initFromRequest($this->getRequest()->getQuery()); $params->initFromRequest($this->getRequest()->getQuery());
$results = new \VuFind\Search\Solr\Results($params); $results = $sm->getResults($params);
return $this->createViewModel( return $this->createViewModel(
array( array(
...@@ -732,9 +736,10 @@ class AjaxController extends AbstractBase ...@@ -732,9 +736,10 @@ class AjaxController extends AbstractBase
*/ */
public function getVisData($fields = array('publishDate')) public function getVisData($fields = array('publishDate'))
{ {
$params = new \VuFind\Search\Solr\Params(); $sm = $this->getSearchManager()->setSearchClassId('Solr');
$params = $sm->getParams();
$params->initFromRequest($this->getRequest()->getQuery()); $params->initFromRequest($this->getRequest()->getQuery());
$results = new \VuFind\Search\Solr\Results($params); $results = $sm->getResults($params);
$filters = $params->getFilters(); $filters = $params->getFilters();
$dateFacets = $this->params()->fromQuery('facetFields'); $dateFacets = $this->params()->fromQuery('facetFields');
$dateFacets = empty($dateFacets) ? array() : explode(':', $dateFacets); $dateFacets = empty($dateFacets) ? array() : explode(':', $dateFacets);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment