/** * Factory for Primo results object. * * @param ServiceManager $sm Service manager. * * @return Solr */ public static function getPrimo(ServiceManager $sm) { $factory = new PluginFactory(); $primo = $factory->createServiceWithName($sm, 'primo', 'Primo'); return Factory::initUrlQueryHelper($primo, $sm); }
/** * Factory for Combined results object. * * @param ServiceManager $sm Service manager. * * @return Combined */ public static function getCombined(ServiceManager $sm) { $factory = new PluginFactory(); $combined = $factory->createServiceWithName($sm, 'combined', 'Combined'); return Factory::initUrlQueryHelper($combined, $sm->getServiceLocator()); }
/** * Search action -- call standard results action * * @return mixed */ public function searchAction() { if (!$this->isAvailable()) { throw new \Exception('MetaLib is not enabled'); } $query = $this->getRequest()->getQuery(); if ($query->get('ajax') || $query->get('view') == 'rss') { $view = parent::resultsAction(); } else { $configLoader = $this->getServiceLocator()->get('VuFind\\Config'); $options = new Options($configLoader); $params = new Params($options, $configLoader); $params->initFromRequest($query); list($isIRD, $set) = $this->getMetaLibSet($this->getRequest()->getQuery()->get('set')); if ($irds = $this->getMetaLibIrds($set)) { $params->setIrds($irds); } $results = new Results($params); $results = Factory::initUrlQueryHelper($results, $this->getServiceLocator()); $view = $this->createViewModel(); $view->qs = $this->getRequest()->getUriString(); $view->params = $params; $view->results = $results; $view->disablePiwik = true; $view = $this->initSets($view, $params->getQuery()); $view->browseDatabase = $this->isBrowseDatabaseAvailable(); } $this->initSavedTabs(); return $view; }