protected function _gifts_filter($params, &$need_join_g2p = false)
 {
     $where = '';
     if (!empty($params['filter']['min_price']) || !empty($params['filter']['max_price'])) {
         $min_price = max(0, !empty($params['filter']['min_price']) ? (int) $params['filter']['min_price'] : 0);
         $max_price = min(1000000, !empty($params['filter']['max_price']) ? (int) $params['filter']['max_price'] : 1000000);
         $where .= " AND '{$min_price}' <= g.price AND g.price <= '{$max_price}' ";
     }
     // Фильтруем магазины по региону
     if (isset($params['filter']['region_country'])) {
         $shop = new shop();
         $shops_ids = is_array($params['filter']['region_country']) ? $shop->found_shops_ids_by_region($params['filter']['region_country'][0], $params['filter']['region_country'][1], $params['filter']['delivery_type'], $params['filter']['delivery_period']) : $shop->found_shops_ids_by_region();
         if (is_array($shops_ids) && count($shops_ids)) {
             // Если нашли не пустой список магазинов
             $need_join_g2p = true;
             $shops_ids = trim(str_replace(',,', ',', implode($shops_ids, ',')), ',');
             $where .= " AND g2p.shop_id IN ( {$shops_ids} ) ";
         }
     }
     //exclude_ids
     if (isset($params['filter']['exclude_ids']) && is_array($params['filter']['exclude_ids']) && count($params['filter']['exclude_ids'])) {
         $ids = trim(str_replace(',,', ',', implode(',', $params['filter']['exclude_ids'])), ',');
         $where .= " AND g2c.gift_id NOT IN ({$ids}) ";
     }
     if (isset($params['filter']['exclude_group_ids']) && is_array($params['filter']['exclude_group_ids']) && count($params['filter']['exclude_group_ids'])) {
         $ids = trim(str_replace(',,', ',', implode(',', $params['filter']['exclude_group_ids'])), ',');
         $where .= " AND g.group_general_id NOT IN ({$ids}) ";
     }
     if (isset($params['filter']['exclude_links']) && is_array($params['filter']['exclude_links']) && count($params['filter']['exclude_links'])) {
         $ids = trim(str_replace(',,', ',', implode(',', $params['filter']['exclude_links'])), ',');
         $where .= " AND (g2c.gift_id*10000+g2c.category_id) NOT IN ({$ids}) ";
     }
     if (isset($params['filter']['exclude_shop_ids']) && is_array($params['filter']['exclude_shop_ids']) && count($params['filter']['exclude_shop_ids'])) {
         $ids = trim(str_replace(',,', ',', implode(',', $params['filter']['exclude_shop_ids'])), ',');
         $where .= " AND g2p.shop_id NOT IN ({$ids}) ";
         $need_join_g2p = true;
     }
     return $where;
 }