/**
  * Returns the array of the references to CProductInfo products from the
  * searching result, using paginator.
  *
  * @param int $search_id Search ID
  * @return array A list of CProductInfo objects
  */
 function getProdsListInSearchResult($search_id, $return_as_pids_array = false)
 {
     #modApiFunc('paginator', 'setCurrentPaginatorName', 'Catalog_Search');
     $params = array('search_id' => $search_id);
     $params['paginator'] = null;
     $params['paginator'] = modApiFunc('Catalog', 'selectProductSearchResultPg', $params, PAGINATOR_ENABLE);
     $result = modApiFunc('Catalog', 'selectProductSearchResult', $params);
     if ($return_as_pids_array) {
         return $result;
     }
     $products_listing = array();
     for ($i = 0; $i < sizeof($result); $i++) {
         $offset = modApiFunc('paginator', 'getCurrentPaginatorOffset');
         if (!is_numeric($offset)) {
             $offset = 0;
         }
         $product_info = new CProductInfo($result[$i]['product_id']);
         $product_info->setAdditionalProductTag('N', $i + 1 + $offset);
         array_push($products_listing, $product_info);
     }
     $this->updateSearchResultAccessTime($search_id);
     return $products_listing;
 }
 function getProductListByFilter($obj_params, $return_as = RETURN_AS_ID_LIST)
 {
     if (_is_a($obj_params, 'PRODUCT_LIST_PARAMS') == false) {
         die("ERROR: " . __CLASS__ . '::' . __FUNCTION__ . ' First param $obj_params must be an object of PRODUCT_LIST_PARAMS class.');
     }
     $result = execQuery('SELECT_PRODUCT_LIST', $obj_params->getParams());
     if ($return_as == RETURN_AS_ID_LIST) {
         return $result;
     }
     // return result as CProductInfo objects array
     $products_listing = array();
     for ($i = 0; $i < sizeof($result); $i++) {
         $offset = 0;
         if ($obj_params->use_paginator) {
             $offset = modApiFunc('paginator', 'getCurrentPaginatorOffset');
         }
         if (!is_numeric($offset)) {
             $offset = 0;
         }
         $product_info = new CProductInfo($result[$i]['product_id']);
         $product_info->setAdditionalProductTag('N', $i + 1 + $offset);
         array_push($products_listing, $product_info);
     }
     return $products_listing;
 }