protected function getBounds($includeCurrentParameters = false)
 {
     $start = $end = false;
     $sortField = ezfSolrDocumentFieldBase::getFieldName($this->contentClassAttribute, null, 'sort');
     $currentParameters = array();
     if ($includeCurrentParameters) {
         $currentParameters = OCClassSearchFormHelper::result()->getCurrentParameters();
     }
     $fieldName = ezfSolrDocumentFieldBase::getFieldName($this->contentClassAttribute, null, 'search');
     $params = array_merge(OCClassSearchFormHelper::result()->getBaseParameters(), $currentParameters, array('SearchContentClassID' => $this->contentClassAttribute->attribute('contentclass_id'), 'SearchLimit' => 1, 'SortBy' => array($sortField => 'asc')));
     $startSearch = OCFacetNavgationHelper::fetch($params, OCClassSearchFormHelper::result()->searchText);
     /** @var $startSearchResults eZFindResultNode[] */
     $startSearchResults = $startSearch['SearchResult'];
     if (isset($startSearchResults[0])) {
         $dataMap = $startSearchResults[0]->attribute('object')->attribute('data_map');
         $start = $dataMap[$this->contentClassAttribute->attribute('identifier')];
     }
     $params['SortBy'] = array($sortField => 'desc');
     $endSearch = OCFacetNavgationHelper::fetch($params, OCClassSearchFormHelper::result()->searchText);
     /** @var $endSearchResults eZFindResultNode[] */
     $endSearchResults = $endSearch['SearchResult'];
     if (isset($endSearchResults[0])) {
         $dataMap = $endSearchResults[0]->attribute('object')->attribute('data_map');
         $end = $dataMap[$this->contentClassAttribute->attribute('identifier')];
     }
     $className = $this->getBoundsClassName();
     /** @var OCClassSearchFormFieldBoundsInterface $bounds */
     $bounds = new $className();
     $bounds->setStart($start);
     $bounds->setEnd($end);
     return $bounds;
 }
 protected function getBounds($includeCurrentParameters = false)
 {
     $startTimestamp = $endTimestamp = 0;
     $currentParameters = array();
     if ($includeCurrentParameters) {
         $currentParameters = OCClassSearchFormHelper::result()->getCurrentParameters();
     }
     $params = array_merge(OCClassSearchFormHelper::result()->getBaseParameters(), $currentParameters, array('SearchContentClassID' => $this->currentClassId !== null ? array($this->currentClassId) : null, 'SearchLimit' => 1, 'SortBy' => array('published' => 'asc')));
     $startSearch = OCFacetNavgationHelper::fetch($params, OCClassSearchFormHelper::result()->searchText);
     if (isset($startSearch['SearchResult'][0])) {
         $startTimestamp = $startSearch['SearchResult'][0]->attribute('object')->attribute('published');
     }
     $params['SortBy'] = array('published' => 'desc');
     $endSearch = OCFacetNavgationHelper::fetch($params, OCClassSearchFormHelper::result()->searchText);
     if (isset($endSearch['SearchResult'][0])) {
         $endTimestamp = $endSearch['SearchResult'][0]->attribute('object')->attribute('published');
     }
     $data = new OCClassSearchFormPublishedFieldBounds();
     $data->setStart($startTimestamp);
     $data->setEnd($endTimestamp);
     return $data;
 }
 protected function fetch()
 {
     if (self::$_result == null) {
         if ($this->isFetch()) {
             $params = OCFacetNavgationHelper::map(array_merge($this->baseParameters, $this->currentParameters));
             self::$_result = OCFacetNavgationHelper::fetch($params, $this->searchText);
             if (self::$_result['SearchCount'] == 0) {
                 eZDebug::writeNotice($params);
                 eZDebug::writeNotice(self::$_result['SearchExtras']);
             }
         } else {
             self::$_result = false;
         }
     }
     return self::$_result;
 }