public function indexAction() { $this->getLogger()->debug('Received new search request. Redirecting to search action of IndexController.'); $params = array(); $action = 'search'; $searchModel = new Solrsearch_Model_Search(); $request = $this->getRequest(); $searchType = $request->getParam('searchtype', 'invalid searchtype'); if (in_array($searchType, array('advanced', 'authorsearch')) && !is_null($this->getParam('Reset'))) { $this->_redirectTo('advanced', null, 'index', 'solrsearch'); return; } switch ($searchType) { case Application_Util_Searchtypes::SIMPLE_SEARCH: if (!$searchModel->isSimpleSearchRequestValid($request)) { $action = 'invalidsearchterm'; $params = array('searchtype' => Application_Util_Searchtypes::SIMPLE_SEARCH); } else { $params = $searchModel->createSimpleSearchUrlParams($request); } break; case Application_Util_Searchtypes::ADVANCED_SEARCH: case Application_Util_Searchtypes::AUTHOR_SEARCH: if (!$searchModel->isAdvancedSearchRequestValid($request)) { $action = 'invalidsearchterm'; $params = array('searchtype' => $searchType); } else { $params = $searchModel->createAdvancedSearchUrlParams($request); } break; default: break; } $this->_redirectToPermanentAndExit($action, null, 'index', null, $params); }
public function testCreateSimpleSearchUrlParamsWithCustomRows() { $request = $this->getRequest(); Zend_Registry::get('Zend_Config')->merge(new Zend_Config(array('searchengine' => array('solr' => array('numberOfDefaultSearchResults' => 25))))); $model = new Solrsearch_Model_Search(); $params = $model->createSimpleSearchUrlParams($request); $this->assertArrayHasKey('rows', $params); $this->assertEquals(25, $params['rows']); }