/** * doActionSearch TODO refactor with XLite\Controller\Admin\ProductList::doActionSearch() * * @return void */ protected function doActionSearch() { $sessionCell = \XLite\View\ItemsList\Product\Customer\Search::getSessionCellName(); $searchParams = \XLite\View\ItemsList\Product\Customer\Search::getSearchParams(); $advancedParams = array_diff(\XLite\View\ItemsList\Product\Customer\Search::getSearchParams(), \XLite\View\ItemsList\Product\Customer\Search::getBasicSearchParams()); $productsSearch = array(); $cBoxFields = array(\XLite\View\ItemsList\Product\Customer\Search::PARAM_SEARCH_IN_SUBCATS); $showAdvancedPanel = false; foreach ($searchParams as $modelParam => $requestParam) { if (isset(\XLite\Core\Request::getInstance()->{$requestParam})) { $productsSearch[$requestParam] = \XLite\Core\Request::getInstance()->{$requestParam}; $showAdvancedPanel = true; } } foreach ($cBoxFields as $requestParam) { $productsSearch[$requestParam] = isset(\XLite\Core\Request::getInstance()->{$requestParam}) ? 1 : 0; } \XLite\Core\Session::getInstance()->{$this->getAdvancedPanelCellName()} = array_intersect(array_keys($productsSearch), array_values($advancedParams)); \XLite\Core\Session::getInstance()->{$sessionCell} = $productsSearch; $this->setReturnURL($this->buildURL('search', '', array('mode' => 'search'))); }