public function getFilters(Layer $layer)
 {
     if (!$this->helper->isActiveEngine()) {
         return parent::getFilters($layer);
     }
     if (!count($this->filters)) {
         $this->filters = [];
         // $response = $this->_getResponse($layer);
         $response = $this->searchHelper->getCustomResults();
         $questions = $response->QwiserSearchResults->Questions;
         $aaa = '';
         foreach ($questions->children() as $question) {
             $this->filters[] = $this->createQuestionFilter($question, $layer);
             $this->appliedFilters[] = $question->getAttribute('Text');
         }
     }
     $remFilters = array_diff($this->searchHelper->getFilterRequestVars(), $this->appliedFilters);
     foreach ($this->request->getParams() as $var => $value) {
         if (in_array($var, $remFilters)) {
             $question = $this->searchHelper->getQuestionByField($var, 'Text');
             if ($question) {
                 $this->createQuestionFilter($question, $layer)->apply($this->request);
                 $this->appliedFilters[] = $var;
             }
         }
     }
     return $this->filters;
 }
 public function create(array $data = [])
 {
     if ($this->helper->isActiveEngine()) {
         $adapter = $this->objectManager->create('Celebros\\ConversionPro\\Model\\Search\\Adapter\\Celebros\\Adapter');
         return $adapter;
     }
     return parent::create($data);
 }
 public function generate()
 {
     if (!$this->helper->isActiveEngine()) {
         return parent::generate();
     }
     $requests['quick_search_container'] = $this->generateQuickSearchRequest();
     // TODO: advanced search
     return $requests;
 }
 /**
  * @param \Magento\Framework\Event\Observer $observer
  * @return $this
  */
 public function execute(\Magento\Framework\Event\Observer $observer)
 {
     $currentHandle = $observer->getEvent()->getFullActionName();
     if ($this->_helper->isActiveEngine()) {
         if (isset($this->handles[$currentHandle])) {
             return $this->_addHandleToLayout($observer, $this->handles[$currentHandle]);
         }
     }
 }
 public function getRecommendedMessage()
 {
     if ($this->helper->isActiveEngine()) {
         $response = $this->_getResponse();
         $message = $response->QwiserSearchResults->getAttribute('RecommendedMessage');
         return $message;
     } else {
         return '';
     }
 }
 public function getRemoveUrl()
 {
     if ($this->helper->isActiveEngine()) {
         if (!$this->hasSelectedValues() || empty($this->getSelectedValues())) {
             return parent::getRemoveUrl();
         }
         /** @var array $values */
         $values = $this->getSelectedValues();
         $values = array_diff($values, [$this->getValue()]);
         if (empty($values)) {
             return parent::getRemoveUrl();
         }
         $query = [$this->getFilter()->getRequestVar() => implode(',', $values), $this->_htmlPagerBlock->getPageVarName() => null];
         return $this->_url->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true, '_query' => $query]);
     }
     return parent::getRemoveUrl();
 }
 public function getLastPageNum()
 {
     if ($this->helper->isActiveEngine() && $this->helper->isPermittedHandle()) {
         return (int) $this->getData('last_page_num');
     } else {
         return parent::getLastPageNum();
     }
 }