public function actionIndex($id)
 {
     $model = ModelCategory::model()->findAll('category_id = :num', array(':num' => $id));
     $modelBrand = new Brand();
     $modelCategory = new ModelCategory();
     if (isset($_POST['ids'])) {
         ModelCategory::model()->deleteAll('brand_id = :brand_id', array(':brand_id' => $_POST['ids']));
         Brand::model()->findByPk($_POST['ids'])->delete();
         $this->refresh();
     }
     if (isset($_POST['yt0'])) {
         $modelBrand->attributes = $_POST['Brand'];
         $modelBrand->save();
         $modelCategory->category_id = $id;
         $modelCategory->brand_id = $modelBrand->id;
         if ($modelCategory->save()) {
             Yii::app()->user->setFlash('status', 'Бренд добавлен');
         }
         $this->refresh();
     }
     $this->render('index', array('model' => $model, 'modelBrand' => $modelBrand, 'idkey' => $id));
 }
Example #2
0
 public function actionGoods($category_id)
 {
     $this->pageTitle = 'Мобильный мир - ' . ($category_id == 1 ? 'телефоны' : ($category_id == 2 ? 'планшеты' : ($category_id == 3 ? 'ноутбуки' : ($category_id == 4 ? 'портативная техника' : ($category_id == 5 ? 'аксессуары' : 'услуги')))));
     if ($category_id == 1) {
         $cat = $category_id;
         //главное меню
         $this->menu = Category::model()->findAll();
         $criteria = new CDbCriteria();
         if (isset($_GET)) {
             if (key($_GET) == 'common') {
                 $bz = key($_GET);
                 foreach ($_GET as $items) {
                     $query = $items;
                     break;
                 }
                 if (is_array($query)) {
                     $filter = array();
                     foreach ($query as $item) {
                         $filter[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                     }
                     $sql = implode(' UNION ', $filter);
                     $connection = Yii::app()->db;
                     $model = $connection->createCommand($sql)->queryAll();
                     foreach ($model as $item) {
                         $t1[] = $item['id'];
                     }
                 }
             } else {
                 if (key($_GET) == 'brand') {
                     $bz = key($_GET);
                     foreach ($_GET as $items) {
                         $query = $items;
                         break;
                     }
                     if (is_array($query)) {
                         $filter = array();
                         foreach ($query as $item) {
                             $filter[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                         }
                         $sql = implode(' UNION ', $filter);
                         $connection = Yii::app()->db;
                         $model = $connection->createCommand($sql)->queryAll();
                         foreach ($model as $item) {
                             $t1[] = $item['model_id'];
                         }
                     }
                 } else {
                     if (key($_GET) == 'type' || key($_GET) == 'form' || key($_GET) == 'os' || key($_GET) == 'sim' || key($_GET) == 'protection' || key($_GET) == 'screen' || key($_GET) == 'core' || key($_GET) == 'core_frequency' || key($_GET) == 'wifi' || key($_GET) == 'GPS') {
                         $bz = key($_GET);
                         foreach ($_GET as $items) {
                             $query = $items;
                             break;
                         }
                         if (is_array($query)) {
                             $filter = array();
                             foreach ($query as $item) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t1[] = $item['model_id'];
                             }
                         }
                     } else {
                         if (key($_GET) == 'diagonal') {
                             $bz = key($_GET);
                             foreach ($_GET as $items) {
                                 $query = $items;
                                 break;
                             }
                             if (is_array($query)) {
                                 $filter = array();
                                 foreach ($query as $item) {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 12';
                                 }
                                 $sql = implode(' UNION ', $filter);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t1[] = $item['model_id'];
                                 }
                             }
                         } else {
                             if (key($_GET) == 'camera') {
                                 $bz = key($_GET);
                                 foreach ($_GET as $items) {
                                     $query = $items;
                                     break;
                                 }
                                 if (is_array($query)) {
                                     $filter = array();
                                     foreach ($query as $item) {
                                         $items = explode('-', $item);
                                         $item_finish = implode(' AND ', $items);
                                         $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 21';
                                     }
                                     $sql = implode(' UNION ', $filter);
                                     $connection = Yii::app()->db;
                                     $model = $connection->createCommand($sql)->queryAll();
                                     foreach ($model as $item) {
                                         $t1[] = $item['model_id'];
                                     }
                                 }
                             } else {
                                 if (key($_GET) == 'front_camera') {
                                     $bz = key($_GET);
                                     foreach ($_GET as $items) {
                                         $query = $items;
                                         break;
                                     }
                                     if (is_array($query)) {
                                         $filter = array();
                                         foreach ($query as $item) {
                                             if ($item == 'нет') {
                                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = "' . $item . '") AND characteristic_id = 22';
                                             } else {
                                                 $items = explode('-', $item);
                                                 $item_finish = implode(' AND ', $items);
                                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 22';
                                             }
                                         }
                                         $sql = implode(' UNION ', $filter);
                                         $connection = Yii::app()->db;
                                         $model = $connection->createCommand($sql)->queryAll();
                                         foreach ($model as $item) {
                                             $t1[] = $item['model_id'];
                                         }
                                     }
                                 } else {
                                     if (key($_GET) == 'ram') {
                                         $bz = key($_GET);
                                         foreach ($_GET as $items) {
                                             $query = $items;
                                             break;
                                         }
                                         if (is_array($query)) {
                                             $filter = array();
                                             foreach ($query as $item) {
                                                 $items = explode('-', $item);
                                                 $item_finish = implode(' AND ', $items);
                                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 25';
                                             }
                                             $sql = implode(' UNION ', $filter);
                                             $connection = Yii::app()->db;
                                             $model = $connection->createCommand($sql)->queryAll();
                                             foreach ($model as $item) {
                                                 $t1[] = $item['model_id'];
                                             }
                                         }
                                     } else {
                                         if (key($_GET) == 'rom') {
                                             $bz = key($_GET);
                                             foreach ($_GET as $items) {
                                                 $query = $items;
                                                 break;
                                             }
                                             if (is_array($query)) {
                                                 $filter = array();
                                                 foreach ($query as $item) {
                                                     if ($item == '0.1-4') {
                                                         $items = explode('-', $item);
                                                         $item_finish = implode(' AND ', $items);
                                                         $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 26';
                                                     } else {
                                                         $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = ' . $item . ') AND characteristic_id = 26';
                                                     }
                                                 }
                                                 $sql = implode(' UNION ', $filter);
                                                 $connection = Yii::app()->db;
                                                 $model = $connection->createCommand($sql)->queryAll();
                                                 foreach ($model as $item) {
                                                     $t1[] = $item['model_id'];
                                                 }
                                             }
                                         } else {
                                             if (key($_GET) == 'battery') {
                                                 $bz = key($_GET);
                                                 foreach ($_GET as $items) {
                                                     $query = $items;
                                                     break;
                                                 }
                                                 if (is_array($query)) {
                                                     $filter = array();
                                                     foreach ($query as $item) {
                                                         $items = explode('-', $item);
                                                         $item_finish = implode(' AND ', $items);
                                                         $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 41';
                                                     }
                                                     $sql = implode(' UNION ', $filter);
                                                     $connection = Yii::app()->db;
                                                     $model = $connection->createCommand($sql)->queryAll();
                                                     foreach ($model as $item) {
                                                         $t1[] = $item['model_id'];
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
             $i = 0;
             foreach ($_GET as $k => $items) {
                 $i++;
                 if ($i == 2) {
                     if ($k == 'common') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['id'];
                             }
                         }
                     } elseif ($k == 'brand') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'diagonal') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 12';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter3[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 21';
                             }
                             $sql = implode(' UNION ', $filter3);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'front_camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 if ($item == 'нет') {
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = "' . $item . '") AND characteristic_id = 22';
                                 } else {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 22';
                                 }
                             }
                             $sql = implode(' UNION ', $filter4);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'ram') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter5[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 25';
                             }
                             $sql = implode(' UNION ', $filter5);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'rom') {
                         $querys = $items;
                         if ($querys[0] == '0.1-4') {
                             if (is_array($querys)) {
                                 foreach ($querys as $item) {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 26';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t2[] = $item['model_id'];
                                 }
                             }
                         } else {
                             if (is_array($querys)) {
                                 foreach ($querys as $item2) {
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = ' . $item2 . ') AND characteristic_id = 26';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t2[] = $item['model_id'];
                                 }
                             }
                         }
                     } elseif ($k == 'battery') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter7[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 41';
                             }
                             $sql = implode(' UNION ', $filter7);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } else {
                         $querys = $items;
                         if (is_array($querys)) {
                             $filter = array();
                             foreach ($querys as $itemt) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $itemt . '"';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             $t2 = array();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     }
                 }
                 if ($i == 3) {
                     if ($k == 'common') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t3[] = $item['id'];
                             }
                         }
                     } elseif ($k == 'brand') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t3[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'diagonal') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 12';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t3[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter3[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 21';
                             }
                             $sql = implode(' UNION ', $filter3);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t3[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'front_camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 if ($item == 'нет') {
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = "' . $item . '") AND characteristic_id = 22';
                                 } else {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 22';
                                 }
                             }
                             $sql = implode(' UNION ', $filter4);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t3[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'ram') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter5[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 25';
                             }
                             $sql = implode(' UNION ', $filter5);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t3[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'rom') {
                         $querys = $items;
                         if ($querys[0] == '0.1-4') {
                             if (is_array($querys)) {
                                 foreach ($querys as $item) {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 26';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t3[] = $item['model_id'];
                                 }
                             }
                         } else {
                             if (is_array($querys)) {
                                 foreach ($querys as $item2) {
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = ' . $item2 . ') AND characteristic_id = 26';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t3[] = $item['model_id'];
                                 }
                             }
                         }
                     } elseif ($k == 'battery') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter7[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 41';
                             }
                             $sql = implode(' UNION ', $filter7);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t3[] = $item['model_id'];
                             }
                         }
                     } else {
                         $querys = $items;
                         if (is_array($querys)) {
                             $filter = array();
                             foreach ($querys as $itemt) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $itemt . '"';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             $t3 = array();
                             foreach ($model as $item) {
                                 $t3[] = $item['model_id'];
                             }
                         }
                     }
                 }
                 if ($i == 4) {
                     if ($k == 'common') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t4[] = $item['id'];
                             }
                         }
                     } elseif ($k == 'brand') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t4[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'diagonal') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 12';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t4[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter3[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 21';
                             }
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t4[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'front_camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 if ($item == 'нет') {
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = "' . $item . '") AND characteristic_id = 22';
                                 } else {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 22';
                                 }
                             }
                             $sql = implode(' UNION ', $filter4);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t4[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'ram') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter5[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 25';
                             }
                             $sql = implode(' UNION ', $filter5);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t4[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'rom') {
                         $querys = $items;
                         if ($querys[0] == '0.1-4') {
                             if (is_array($querys)) {
                                 foreach ($querys as $item) {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 26';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t4[] = $item['model_id'];
                                 }
                             }
                         } else {
                             if (is_array($querys)) {
                                 foreach ($querys as $item2) {
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = ' . $item2 . ') AND characteristic_id = 26';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t4[] = $item['model_id'];
                                 }
                             }
                         }
                     } elseif ($k == 'battery') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter7[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 41';
                             }
                             $sql = implode(' UNION ', $filter7);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t4[] = $item['model_id'];
                             }
                         }
                     } else {
                         $querys = $items;
                         if (is_array($querys)) {
                             $filter = array();
                             foreach ($querys as $itemt) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $itemt . '"';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             $t4 = array();
                             foreach ($model as $item) {
                                 $t4[] = $item['model_id'];
                             }
                         }
                     }
                 }
                 if ($i == 5) {
                     if ($k == 'common') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t5[] = $item['id'];
                             }
                         }
                     } elseif ($k == 'brand') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t5[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'diagonal') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 12';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t5[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter3[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 21';
                             }
                             $sql = implode(' UNION ', $filter3);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t5[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'front_camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 if ($item == 'нет') {
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = "' . $item . '") AND characteristic_id = 22';
                                 } else {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 22';
                                 }
                             }
                             $sql = implode(' UNION ', $filter4);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t5[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'ram') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter5[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 25';
                             }
                             $sql = implode(' UNION ', $filter5);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t5[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'rom') {
                         $querys = $items;
                         if ($querys[0] == '0.1-4') {
                             if (is_array($querys)) {
                                 foreach ($querys as $item) {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 26';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t5[] = $item['model_id'];
                                 }
                             }
                         } else {
                             if (is_array($querys)) {
                                 foreach ($querys as $item2) {
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = ' . $item2 . ') AND characteristic_id = 26';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t5[] = $item['model_id'];
                                 }
                             }
                         }
                     } elseif ($k == 'battery') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter7[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 41';
                             }
                             $sql = implode(' UNION ', $filter7);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t5[] = $item['model_id'];
                             }
                         }
                     } else {
                         $querys = $items;
                         if (is_array($querys)) {
                             $filter = array();
                             foreach ($querys as $itemt) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $itemt . '"';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             $t5 = array();
                             foreach ($model as $item) {
                                 $t5[] = $item['model_id'];
                             }
                         }
                     }
                 }
             }
         }
         if (isset($t1) && isset($t2)) {
             $z = array_intersect($t1, $t2);
         }
         if (isset($z) && isset($t3)) {
             $z = array_intersect($z, $t3);
         }
         if (isset($z) && isset($t4)) {
             $z = array_intersect($z, $t4);
         }
         if (isset($z) && isset($t5)) {
             $z = array_intersect($z, $t5);
         }
         $a = Yii::app()->getRequest()->getQueryString();
         if (Yii::app()->request->isAjaxRequest) {
             Yii::app()->shoppingCart->put(Models::model()->findByPk($_POST['id']));
             $data[0] = Yii::app()->shoppingCart->getCost();
             $data[1] = Yii::app()->shoppingCart->getCount();
             echo json_encode($data);
             // Завершаем приложение
             Yii::app()->end();
         }
         $brand = ModelCategory::model()->findAll('category_id = :category_id', array(':category_id' => $cat));
         $array = array();
         foreach ($brand as $item) {
             $array[] = $item->brand_id;
         }
         //Бренды для фильтров
         //$criter = new CDbCriteria;
         //$criter->addInCondition('id', $array);
         //$brands = Brand::model()->findAll($criter);
         //Товары
         if (isset($z)) {
             $criteria->addInCondition('t.id', $z);
         }
         if (!isset($z) && isset($t1)) {
             $criteria->addInCondition('t.id', $t1);
         }
         $criteria->addInCondition('t.brand_id', $array);
         /*
         if(isset($modelId[0])){
             $criteria->addInCondition('id', $modelId);
         }
         */
         //пагинация
         $model = Models::model()->cache(1000, null, 2)->with('categoryId')->findAll($criteria);
         $ids = array();
         if (!isset($z)) {
             foreach ($model as $item) {
                 $ids[] = $item->id;
             }
         } else {
             if (!isset($z) && isset($t1)) {
                 $ids = $t1;
             } else {
                 if (isset($z)) {
                     $ids = $z;
                 }
             }
         }
         $ids_query = implode(', ', $ids);
         //sql запрос - возвращает количество моделей по каждой характеристике в фильтре
         $count = Models::filterCategory($ids_query, $category_id);
         //подсчет количества производителей
         $count_maker_arr = array();
         foreach ($model as $item) {
             $count_maker_arr[] = $item->brand_id;
         }
         $count_maker = array_count_values($count_maker_arr);
         // подсчет количества моделей "топ продаж"
         $count_top = 0;
         foreach ($model as $item) {
             if ($item->top == 1) {
                 $count_top++;
             }
         }
         // подсчет количества моделей "Акция"
         $count_promotion = 0;
         foreach ($model as $item) {
             if ($item->promotion == 1) {
                 $count_promotion++;
             }
         }
         // подсчет количества моделей "Новинки"
         $count_novelty = 0;
         foreach ($model as $item) {
             if ($item->novelty == 1) {
                 $count_novelty++;
             }
         }
         // подсчет количества моделей "Лучшая цена"
         $count_bestPrice = 0;
         foreach ($model as $item) {
             if ($item->bestPrice == 1) {
                 $count_bestPrice++;
             }
         }
         $brand_name = Models::model()->cache(1000, null, 2)->with('brandModel')->findAll($criteria);
         $count1 = Models::model()->count($criteria);
         $pages = new CPagination($count1);
         $pages->pageSize = 10;
         $pages->applyLimit($criteria);
         if (isset($_GET['desc']) && $_GET['desc'] == 1) {
             $criteria->order = 'price DESC';
         } else {
             if (isset($_GET['desc']) && $_GET['desc'] == 2) {
                 $criteria->order = 'price ASC';
             } else {
                 $criteria->order = 'model_name ASC';
             }
         }
         $model = Models::model()->cache(1000, null, 2)->with('categoryId')->findAll($criteria);
     } elseif ($category_id == 2) {
         $cat = $category_id;
         //главное меню
         $this->menu = Category::model()->findAll();
         $criteria = new CDbCriteria();
         if (isset($_GET)) {
             if (key($_GET) == 'common') {
                 $bz = key($_GET);
                 foreach ($_GET as $items) {
                     $query = $items;
                     break;
                 }
                 if (is_array($query)) {
                     $filter = array();
                     foreach ($query as $item) {
                         $filter[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                     }
                     $sql = implode(' UNION ', $filter);
                     $connection = Yii::app()->db;
                     $model = $connection->createCommand($sql)->queryAll();
                     foreach ($model as $item) {
                         $t1[] = $item['id'];
                     }
                 }
             } else {
                 if (key($_GET) == 'brand') {
                     $bz = key($_GET);
                     foreach ($_GET as $items) {
                         $query = $items;
                         break;
                     }
                     if (is_array($query)) {
                         $filter = array();
                         foreach ($query as $item) {
                             $filter[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                         }
                         $sql = implode(' UNION ', $filter);
                         $connection = Yii::app()->db;
                         $model = $connection->createCommand($sql)->queryAll();
                         foreach ($model as $item) {
                             $t1[] = $item['model_id'];
                         }
                     }
                 } else {
                     if (key($_GET) == 'type' || key($_GET) == 'os' || key($_GET) == 'sim' || key($_GET) == 'screen' || key($_GET) == 'core' || key($_GET) == 'core_frequency' || key($_GET) == 'GPS') {
                         $bz = key($_GET);
                         foreach ($_GET as $items) {
                             $query = $items;
                             break;
                         }
                         if (is_array($query)) {
                             $filter = array();
                             foreach ($query as $item) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t1[] = $item['model_id'];
                             }
                         }
                     } else {
                         if (key($_GET) == 'diagonal') {
                             $bz = key($_GET);
                             foreach ($_GET as $items) {
                                 $query = $items;
                                 break;
                             }
                             if (is_array($query)) {
                                 $filter = array();
                                 foreach ($query as $item) {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 57';
                                 }
                                 $sql = implode(' UNION ', $filter);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t1[] = $item['model_id'];
                                 }
                             }
                         } else {
                             if (key($_GET) == 'camera') {
                                 $bz = key($_GET);
                                 foreach ($_GET as $items) {
                                     $query = $items;
                                     break;
                                 }
                                 if (is_array($query)) {
                                     $filter = array();
                                     foreach ($query as $item) {
                                         $items = explode('-', $item);
                                         $item_finish = implode(' AND ', $items);
                                         $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 65';
                                     }
                                     $sql = implode(' UNION ', $filter);
                                     $connection = Yii::app()->db;
                                     $model = $connection->createCommand($sql)->queryAll();
                                     foreach ($model as $item) {
                                         $t1[] = $item['model_id'];
                                     }
                                 }
                             } else {
                                 if (key($_GET) == 'front_camera') {
                                     $bz = key($_GET);
                                     foreach ($_GET as $items) {
                                         $query = $items;
                                         break;
                                     }
                                     if (is_array($query)) {
                                         $filter = array();
                                         foreach ($query as $item) {
                                             if ($item == 'нет') {
                                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = "' . $item . '") AND characteristic_id = 66';
                                             } else {
                                                 $items = explode('-', $item);
                                                 $item_finish = implode(' AND ', $items);
                                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 66';
                                             }
                                         }
                                         $sql = implode(' UNION ', $filter);
                                         $connection = Yii::app()->db;
                                         $model = $connection->createCommand($sql)->queryAll();
                                         foreach ($model as $item) {
                                             $t1[] = $item['model_id'];
                                         }
                                     }
                                 } else {
                                     if (key($_GET) == 'ram') {
                                         $bz = key($_GET);
                                         foreach ($_GET as $items) {
                                             $query = $items;
                                             break;
                                         }
                                         if (is_array($query)) {
                                             $filter = array();
                                             foreach ($query as $item) {
                                                 $items = explode('-', $item);
                                                 $item_finish = implode(' AND ', $items);
                                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 68';
                                             }
                                             $sql = implode(' UNION ', $filter);
                                             $connection = Yii::app()->db;
                                             $model = $connection->createCommand($sql)->queryAll();
                                             foreach ($model as $item) {
                                                 $t1[] = $item['model_id'];
                                             }
                                         }
                                     } else {
                                         if (key($_GET) == 'rom') {
                                             $bz = key($_GET);
                                             foreach ($_GET as $items) {
                                                 $query = $items;
                                                 break;
                                             }
                                             if (is_array($query)) {
                                                 $filter = array();
                                                 foreach ($query as $item) {
                                                     if ($item == '0.1-4') {
                                                         $items = explode('-', $item);
                                                         $item_finish = implode(' AND ', $items);
                                                         $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 69';
                                                     } else {
                                                         $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = ' . $item . ') AND characteristic_id = 69';
                                                     }
                                                 }
                                                 $sql = implode(' UNION ', $filter);
                                                 $connection = Yii::app()->db;
                                                 $model = $connection->createCommand($sql)->queryAll();
                                                 foreach ($model as $item) {
                                                     $t1[] = $item['model_id'];
                                                 }
                                             }
                                         } else {
                                             if (key($_GET) == 'battery') {
                                                 $bz = key($_GET);
                                                 foreach ($_GET as $items) {
                                                     $query = $items;
                                                     break;
                                                 }
                                                 if (is_array($query)) {
                                                     $filter = array();
                                                     foreach ($query as $item) {
                                                         $items = explode('-', $item);
                                                         $item_finish = implode(' AND ', $items);
                                                         $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 80';
                                                     }
                                                     $sql = implode(' UNION ', $filter);
                                                     $connection = Yii::app()->db;
                                                     $model = $connection->createCommand($sql)->queryAll();
                                                     foreach ($model as $item) {
                                                         $t1[] = $item['model_id'];
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
             $i = 0;
             foreach ($_GET as $k => $items) {
                 $i++;
                 if ($i == 2) {
                     if ($k == 'common') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['id'];
                             }
                         }
                     } elseif ($k == 'brand') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'diagonal') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 57';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter3[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 65';
                             }
                             $sql = implode(' UNION ', $filter3);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'front_camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 if ($item == 'нет') {
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = "' . $item . '") AND characteristic_id = 66';
                                 } else {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 66';
                                 }
                             }
                             $sql = implode(' UNION ', $filter4);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'ram') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter5[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 68';
                             }
                             $sql = implode(' UNION ', $filter5);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'rom') {
                         $querys = $items;
                         if ($querys[0] == '0.1-4') {
                             if (is_array($querys)) {
                                 foreach ($querys as $item) {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 69';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t2[] = $item['model_id'];
                                 }
                             }
                         } else {
                             if (is_array($querys)) {
                                 foreach ($querys as $item2) {
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = ' . $item2 . ') AND characteristic_id = 69';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t2[] = $item['model_id'];
                                 }
                             }
                         }
                     } elseif ($k == 'battery') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter7[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 80';
                             }
                             $sql = implode(' UNION ', $filter7);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } else {
                         $querys = $items;
                         if (is_array($querys)) {
                             $filter = array();
                             foreach ($querys as $itemt) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $itemt . '"';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             $t2 = array();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     }
                 }
                 if ($i == 3) {
                     if ($k == 'common') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['id'];
                             }
                         }
                     } elseif ($k == 'brand') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'diagonal') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 57';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter3[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 65';
                             }
                             $sql = implode(' UNION ', $filter3);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'front_camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 if ($item == 'нет') {
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = "' . $item . '") AND characteristic_id = 66';
                                 } else {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 66';
                                 }
                             }
                             $sql = implode(' UNION ', $filter4);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'ram') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter5[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 68';
                             }
                             $sql = implode(' UNION ', $filter5);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'rom') {
                         $querys = $items;
                         if ($querys[0] == '0.1-4') {
                             if (is_array($querys)) {
                                 foreach ($querys as $item) {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 69';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t2[] = $item['model_id'];
                                 }
                             }
                         } else {
                             if (is_array($querys)) {
                                 foreach ($querys as $item2) {
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = ' . $item2 . ') AND characteristic_id = 69';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t2[] = $item['model_id'];
                                 }
                             }
                         }
                     } elseif ($k == 'battery') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter7[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 80';
                             }
                             $sql = implode(' UNION ', $filter7);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } else {
                         $querys = $items;
                         if (is_array($querys)) {
                             $filter = array();
                             foreach ($querys as $itemt) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $itemt . '"';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             $t2 = array();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     }
                 }
                 if ($i == 4) {
                     if ($k == 'common') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['id'];
                             }
                         }
                     } elseif ($k == 'brand') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'diagonal') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 57';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter3[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 65';
                             }
                             $sql = implode(' UNION ', $filter3);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'front_camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 if ($item == 'нет') {
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = "' . $item . '") AND characteristic_id = 66';
                                 } else {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 66';
                                 }
                             }
                             $sql = implode(' UNION ', $filter4);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'ram') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter5[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 68';
                             }
                             $sql = implode(' UNION ', $filter5);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'rom') {
                         $querys = $items;
                         if ($querys[0] == '0.1-4') {
                             if (is_array($querys)) {
                                 foreach ($querys as $item) {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 69';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t2[] = $item['model_id'];
                                 }
                             }
                         } else {
                             if (is_array($querys)) {
                                 foreach ($querys as $item2) {
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = ' . $item2 . ') AND characteristic_id = 69';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t2[] = $item['model_id'];
                                 }
                             }
                         }
                     } elseif ($k == 'battery') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter7[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 80';
                             }
                             $sql = implode(' UNION ', $filter7);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } else {
                         $querys = $items;
                         if (is_array($querys)) {
                             $filter = array();
                             foreach ($querys as $itemt) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $itemt . '"';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             $t2 = array();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     }
                 }
                 if ($i == 5) {
                     if ($k == 'common') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['id'];
                             }
                         }
                     } elseif ($k == 'brand') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'diagonal') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 57';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter3[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 65';
                             }
                             $sql = implode(' UNION ', $filter3);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'front_camera') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 if ($item == 'нет') {
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = "' . $item . '") AND characteristic_id = 66';
                                 } else {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 66';
                                 }
                             }
                             $sql = implode(' UNION ', $filter4);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'ram') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter5[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 68';
                             }
                             $sql = implode(' UNION ', $filter5);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'rom') {
                         $querys = $items;
                         if ($querys[0] == '0.1-4') {
                             if (is_array($querys)) {
                                 foreach ($querys as $item) {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 69';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t2[] = $item['model_id'];
                                 }
                             }
                         } else {
                             if (is_array($querys)) {
                                 foreach ($querys as $item2) {
                                     $filter6[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value = ' . $item2 . ') AND characteristic_id = 69';
                                 }
                                 $sql = implode(' UNION ', $filter6);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t2[] = $item['model_id'];
                                 }
                             }
                         }
                     } elseif ($k == 'battery') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter7[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 80';
                             }
                             $sql = implode(' UNION ', $filter7);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } else {
                         $querys = $items;
                         if (is_array($querys)) {
                             $filter = array();
                             foreach ($querys as $itemt) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $itemt . '"';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             $t2 = array();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     }
                 }
             }
         }
         if (isset($t1) && isset($t2)) {
             $z = array_intersect($t1, $t2);
         }
         if (isset($z) && isset($t3)) {
             $z = array_intersect($z, $t3);
         }
         if (isset($z) && isset($t4)) {
             $z = array_intersect($z, $t4);
         }
         if (isset($z) && isset($t5)) {
             $z = array_intersect($z, $t5);
         }
         $a = Yii::app()->getRequest()->getQueryString();
         if (Yii::app()->request->isAjaxRequest) {
             Yii::app()->shoppingCart->put(Models::model()->findByPk($_POST['id']));
             $data[0] = Yii::app()->shoppingCart->getCost();
             $data[1] = Yii::app()->shoppingCart->getCount();
             echo json_encode($data);
             // Завершаем приложение
             Yii::app()->end();
         }
         $brand = ModelCategory::model()->findAll('category_id = :category_id', array(':category_id' => $cat));
         $array = array();
         foreach ($brand as $item) {
             $array[] = $item->brand_id;
         }
         //Бренды для фильтров
         //$criter = new CDbCriteria;
         //$criter->addInCondition('id', $array);
         //$brands = Brand::model()->findAll($criter);
         //Товары
         if (isset($z)) {
             $criteria->addInCondition('t.id', $z);
         }
         if (!isset($z) && isset($t1)) {
             $criteria->addInCondition('t.id', $t1);
         }
         $criteria->addInCondition('t.brand_id', $array);
         /*
         if(isset($modelId[0])){
             $criteria->addInCondition('id', $modelId);
         }
         */
         //пагинация
         $model = Models::model()->cache(1000, null, 2)->with('categoryId')->findAll($criteria);
         $ids = array();
         if (!isset($z)) {
             foreach ($model as $item) {
                 $ids[] = $item->id;
             }
         } else {
             if (!isset($z) && isset($t1)) {
                 $ids = $t1;
             } else {
                 if (isset($z)) {
                     $ids = $z;
                 }
             }
         }
         $ids_query = implode(', ', $ids);
         //sql запрос - возвращает количество моделей по каждой характеристике в фильтре
         $count = Models::filterCategory($ids_query, $category_id);
         //подсчет количества производителей
         $count_maker_arr = array();
         foreach ($model as $item) {
             $count_maker_arr[] = $item->brand_id;
         }
         $count_maker = array_count_values($count_maker_arr);
         // подсчет количества моделей "топ продаж"
         $count_top = 0;
         foreach ($model as $item) {
             if ($item->top == 1) {
                 $count_top++;
             }
         }
         // подсчет количества моделей "Акция"
         $count_promotion = 0;
         foreach ($model as $item) {
             if ($item->promotion == 1) {
                 $count_promotion++;
             }
         }
         // подсчет количества моделей "Новинки"
         $count_novelty = 0;
         foreach ($model as $item) {
             if ($item->novelty == 1) {
                 $count_novelty++;
             }
         }
         // подсчет количества моделей "Лучшая цена"
         $count_bestPrice = 0;
         foreach ($model as $item) {
             if ($item->bestPrice == 1) {
                 $count_bestPrice++;
             }
         }
         $brand_name = Models::model()->cache(1000, null, 2)->with('brandModel')->findAll($criteria);
         $count1 = Models::model()->count($criteria);
         $pages = new CPagination($count1);
         $pages->pageSize = 10;
         $pages->applyLimit($criteria);
         if (isset($_GET['desc']) && $_GET['desc'] == 1) {
             $criteria->order = 'price DESC';
         } else {
             if (isset($_GET['desc']) && $_GET['desc'] == 2) {
                 $criteria->order = 'price ASC';
             } else {
                 $criteria->order = 'model_name ASC';
             }
         }
         $model = Models::model()->cache(1000, null, 2)->with('categoryId')->findAll($criteria);
     } elseif ($category_id == 3) {
         $cat = $category_id;
         //главное меню
         $this->menu = Category::model()->findAll();
         $criteria = new CDbCriteria();
         if (isset($_GET)) {
             if (key($_GET) == 'common') {
                 $bz = key($_GET);
                 foreach ($_GET as $items) {
                     $query = $items;
                     break;
                 }
                 if (is_array($query)) {
                     $filter = array();
                     foreach ($query as $item) {
                         $filter[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                     }
                     $sql = implode(' UNION ', $filter);
                     $connection = Yii::app()->db;
                     $model = $connection->createCommand($sql)->queryAll();
                     foreach ($model as $item) {
                         $t1[] = $item['id'];
                     }
                 }
             } else {
                 if (key($_GET) == 'brand') {
                     $bz = key($_GET);
                     foreach ($_GET as $items) {
                         $query = $items;
                         break;
                     }
                     if (is_array($query)) {
                         $filter = array();
                         foreach ($query as $item) {
                             $filter[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                         }
                         $sql = implode(' UNION ', $filter);
                         $connection = Yii::app()->db;
                         $model = $connection->createCommand($sql)->queryAll();
                         foreach ($model as $item) {
                             $t1[] = $item['model_id'];
                         }
                     }
                 } else {
                     if (key($_GET) == 'type' || key($_GET) == 'os' || key($_GET) == 'cpu_type' || key($_GET) == 'core' || key($_GET) == 'video' || key($_GET) == 'rom') {
                         $bz = key($_GET);
                         foreach ($_GET as $items) {
                             $query = $items;
                             break;
                         }
                         if (is_array($query)) {
                             $filter = array();
                             foreach ($query as $item) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $item . '" AND characteristic_id > 88';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t1[] = $item['model_id'];
                             }
                         }
                     } else {
                         if (key($_GET) == 'diagonal') {
                             $bz = key($_GET);
                             foreach ($_GET as $items) {
                                 $query = $items;
                                 break;
                             }
                             if (is_array($query)) {
                                 $filter = array();
                                 foreach ($query as $item) {
                                     $items = explode('-', $item);
                                     $item_finish = implode(' AND ', $items);
                                     $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 94';
                                 }
                                 $sql = implode(' UNION ', $filter);
                                 $connection = Yii::app()->db;
                                 $model = $connection->createCommand($sql)->queryAll();
                                 foreach ($model as $item) {
                                     $t1[] = $item['model_id'];
                                 }
                             }
                         } else {
                             if (key($_GET) == 'ram') {
                                 $bz = key($_GET);
                                 foreach ($_GET as $items) {
                                     $query = $items;
                                     break;
                                 }
                                 if (is_array($query)) {
                                     $filter = array();
                                     foreach ($query as $item) {
                                         $items = explode('-', $item);
                                         $item_finish = implode(' AND ', $items);
                                         $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 106';
                                     }
                                     $sql = implode(' UNION ', $filter);
                                     $connection = Yii::app()->db;
                                     $model = $connection->createCommand($sql)->queryAll();
                                     foreach ($model as $item) {
                                         $t1[] = $item['model_id'];
                                     }
                                 }
                             } else {
                                 if (key($_GET) == 'HDD') {
                                     $bz = key($_GET);
                                     foreach ($_GET as $items) {
                                         $query = $items;
                                         break;
                                     }
                                     if (is_array($query)) {
                                         $filter = array();
                                         foreach ($query as $item) {
                                             $items = explode('-', $item);
                                             $item_finish = implode(' AND ', $items);
                                             $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 109';
                                         }
                                         $sql = implode(' UNION ', $filter);
                                         $connection = Yii::app()->db;
                                         $model = $connection->createCommand($sql)->queryAll();
                                         foreach ($model as $item) {
                                             $t1[] = $item['model_id'];
                                         }
                                     }
                                 } else {
                                     if (key($_GET) == 'SSD') {
                                         $bz = key($_GET);
                                         foreach ($_GET as $items) {
                                             $query = $items;
                                             break;
                                         }
                                         if (is_array($query)) {
                                             $filter = array();
                                             foreach ($query as $item) {
                                                 $items = explode('-', $item);
                                                 $item_finish = implode(' AND ', $items);
                                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 110';
                                             }
                                             $sql = implode(' UNION ', $filter);
                                             $connection = Yii::app()->db;
                                             $model = $connection->createCommand($sql)->queryAll();
                                             foreach ($model as $item) {
                                                 $t1[] = $item['model_id'];
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
             $i = 0;
             foreach ($_GET as $k => $items) {
                 $i++;
                 if ($i == 2) {
                     if ($k == 'common') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['id'];
                             }
                         }
                     } elseif ($k == 'brand') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'diagonal') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 94';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'ram') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter3[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 106';
                             }
                             $sql = implode(' UNION ', $filter3);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'HDD') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 109';
                             }
                             $sql = implode(' UNION ', $filter4);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'SSD') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter5[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 110';
                             }
                             $sql = implode(' UNION ', $filter5);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } else {
                         $querys = $items;
                         if (is_array($querys)) {
                             $filter = array();
                             foreach ($querys as $itemt) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $itemt . '"AND characteristic_id > 88';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             $t2 = array();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     }
                 }
                 if ($i == 3) {
                     if ($k == 'common') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['id'];
                             }
                         }
                     } elseif ($k == 'brand') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'diagonal') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 94';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'ram') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter3[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 106';
                             }
                             $sql = implode(' UNION ', $filter3);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'HDD') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 109';
                             }
                             $sql = implode(' UNION ', $filter4);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'SSD') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter5[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 110';
                             }
                             $sql = implode(' UNION ', $filter5);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } else {
                         $querys = $items;
                         if (is_array($querys)) {
                             $filter = array();
                             foreach ($querys as $itemt) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $itemt . '"AND characteristic_id > 88';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             $t2 = array();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     }
                 }
                 if ($i == 4) {
                     if ($k == 'common') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['id'];
                             }
                         }
                     } elseif ($k == 'brand') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'diagonal') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 94';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'ram') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter3[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 106';
                             }
                             $sql = implode(' UNION ', $filter3);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'HDD') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 109';
                             }
                             $sql = implode(' UNION ', $filter4);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'SSD') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter5[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 110';
                             }
                             $sql = implode(' UNION ', $filter5);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } else {
                         $querys = $items;
                         if (is_array($querys)) {
                             $filter = array();
                             foreach ($querys as $itemt) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $itemt . '"AND characteristic_id > 88';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             $t2 = array();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     }
                 }
                 if ($i == 5) {
                     if ($k == 'common') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $filter2[] = 'SELECT id FROM {{models}} WHERE ' . $item . '=1';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['id'];
                             }
                         }
                     } elseif ($k == 'brand') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT cms_models.id as model_id FROM cms_models JOIN cms_brand ON brand_id = cms_brand.id WHERE brand = "' . $item . '"';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'diagonal') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter2[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 94';
                             }
                             $sql = implode(' UNION ', $filter2);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'ram') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter3[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 106';
                             }
                             $sql = implode(' UNION ', $filter3);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'HDD') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter4[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 109';
                             }
                             $sql = implode(' UNION ', $filter4);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } elseif ($k == 'SSD') {
                         $querys = $items;
                         if (is_array($querys)) {
                             foreach ($querys as $item) {
                                 $items = explode('-', $item);
                                 $item_finish = implode(' AND ', $items);
                                 $filter5[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE (value BETWEEN ' . $item_finish . ') AND characteristic_id = 110';
                             }
                             $sql = implode(' UNION ', $filter5);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     } else {
                         $querys = $items;
                         if (is_array($querys)) {
                             $filter = array();
                             foreach ($querys as $itemt) {
                                 $filter[] = 'SELECT DISTINCT model_id FROM {{characteristicValue}} WHERE value="' . $itemt . '"AND characteristic_id > 88';
                             }
                             $sql = implode(' UNION ', $filter);
                             $connection = Yii::app()->db;
                             $model = $connection->createCommand($sql)->queryAll();
                             $t2 = array();
                             foreach ($model as $item) {
                                 $t2[] = $item['model_id'];
                             }
                         }
                     }
                 }
             }
         }
         if (isset($t1) && isset($t2)) {
             $z = array_intersect($t1, $t2);
         }
         if (isset($z) && isset($t3)) {
             $z = array_intersect($z, $t3);
         }
         if (isset($z) && isset($t4)) {
             $z = array_intersect($z, $t4);
         }
         if (isset($z) && isset($t5)) {
             $z = array_intersect($z, $t5);
         }
         $a = Yii::app()->getRequest()->getQueryString();
         if (Yii::app()->request->isAjaxRequest) {
             Yii::app()->shoppingCart->put(Models::model()->findByPk($_POST['id']));
             $data[0] = Yii::app()->shoppingCart->getCost();
             $data[1] = Yii::app()->shoppingCart->getCount();
             echo json_encode($data);
             // Завершаем приложение
             Yii::app()->end();
         }
         $brand = ModelCategory::model()->findAll('category_id = :category_id', array(':category_id' => $cat));
         $array = array();
         foreach ($brand as $item) {
             $array[] = $item->brand_id;
         }
         //Бренды для фильтров
         //$criter = new CDbCriteria;
         //$criter->addInCondition('id', $array);
         //$brands = Brand::model()->findAll($criter);
         //Товары
         if (isset($z)) {
             $criteria->addInCondition('t.id', $z);
         }
         if (!isset($z) && isset($t1)) {
             $criteria->addInCondition('t.id', $t1);
         }
         $criteria->addInCondition('t.brand_id', $array);
         /*
         if(isset($modelId[0])){
             $criteria->addInCondition('id', $modelId);
         }
         */
         //пагинация
         $model = Models::model()->cache(1000, null, 2)->with('categoryId')->findAll($criteria);
         $ids = array();
         if (!isset($z)) {
             foreach ($model as $item) {
                 $ids[] = $item->id;
             }
         } else {
             if (!isset($z) && isset($t1)) {
                 $ids = $t1;
             } else {
                 if (isset($z)) {
                     $ids = $z;
                 }
             }
         }
         $ids_query = implode(', ', $ids);
         //sql запрос - возвращает количество моделей по каждой характеристике в фильтре
         $count = Models::filterCategory($ids_query, $category_id);
         //подсчет количества производителей
         $count_maker_arr = array();
         foreach ($model as $item) {
             $count_maker_arr[] = $item->brand_id;
         }
         $count_maker = array_count_values($count_maker_arr);
         // подсчет количества моделей "топ продаж"
         $count_top = 0;
         foreach ($model as $item) {
             if ($item->top == 1) {
                 $count_top++;
             }
         }
         // подсчет количества моделей "Акция"
         $count_promotion = 0;
         foreach ($model as $item) {
             if ($item->promotion == 1) {
                 $count_promotion++;
             }
         }
         // подсчет количества моделей "Новинки"
         $count_novelty = 0;
         foreach ($model as $item) {
             if ($item->novelty == 1) {
                 $count_novelty++;
             }
         }
         // подсчет количества моделей "Лучшая цена"
         $count_bestPrice = 0;
         foreach ($model as $item) {
             if ($item->bestPrice == 1) {
                 $count_bestPrice++;
             }
         }
         $brand_name = Models::model()->cache(1000, null, 2)->with('brandModel')->findAll($criteria);
         $count1 = Models::model()->count($criteria);
         $pages = new CPagination($count1);
         $pages->pageSize = 10;
         $pages->applyLimit($criteria);
         if (isset($_GET['desc']) && $_GET['desc'] == 1) {
             $criteria->order = 'price DESC';
         } else {
             if (isset($_GET['desc']) && $_GET['desc'] == 2) {
                 $criteria->order = 'price ASC';
             } else {
                 $criteria->order = 'model_name ASC';
             }
         }
         $model = Models::model()->cache(1000, null, 2)->with('categoryId')->findAll($criteria);
     }
     $category = Category::model()->find('id = :id', array(':id' => $category_id));
     $this->render('goods', array('model' => $model, 'pages' => $pages, 'category_id' => $category_id, 'brand_name' => $brand_name, 'a' => $a, 'count' => isset($count) ? $count : '', 'count_maker' => $count_maker, 'count_top' => $count_top, 'count_promotion' => $count_promotion, 'count_novelty' => $count_novelty, 'count_bestPrice' => $count_bestPrice, 'category' => $category));
 }
Example #3
0
 /**
  * 进行递归地设置每层分类对应的子类
  */
 private static function setChild()
 {
     $topCat = self::db('category')->where("category_parent = 0 and category_id = :category_id")->select(array('category_id' => self::$topCategory));
     if (!empty($topCat)) {
         foreach ($topCat as $key => $value) {
             $child = explode(',', self::listChildId($value['category_id']));
             self::$tree = '';
             foreach ($child as $_key => $_value) {
                 $data['noset']['category_id'] = $_value;
                 $data['category_child'] = self::listChildId($_value);
                 $updateChild = self::db('category')->where('category_id = :category_id')->update($data);
                 self::$tree = '';
             }
         }
     }
 }
Example #4
0
 public function actionIndex($id = false)
 {
     $models = new CsvUpload();
     if ($id == 1) {
         if (isset($_POST['CsvUpload']['photo_img'])) {
             if ($files = CUploadedFile::getInstances($models, 'photo_img')) {
                 $array = array();
                 foreach ($files as $img) {
                     $filename = $img->name;
                     $img->saveAs('upload/images' . '/' . $filename);
                 }
             }
         }
         if (isset($_POST['yt0'])) {
             $brand = ModelCategory::model()->findAll('category_id = :id', array(':id' => $id));
             $arr = array();
             foreach ($brand as $item) {
                 $arr[] = $item->brand_id;
             }
             $criteria = new CDbCriteria();
             $criteria->addInCondition('brand_id', $arr);
             $model = Models::model()->findAll($criteria);
             foreach ($model as $item) {
                 $array_model_id[] = $item->id;
             }
             if (isset($array_model_id[0])) {
                 $criteria_model_id = new CDbCriteria();
                 $criteria_model_id->addInCondition('model_id', $array_model_id);
                 $characteristics = CharacteristicValue::model()->findAll($criteria_model_id);
                 $file_name = 'export.csv';
                 // название файла
                 $file = fopen($file_name, "w");
                 // открываем файл для записи, если его нет, то создаем его в текущей папке, где расположен скрипт
                 $csv_file = array('Артикул', 'Название бренда', 'Название модели', 'Цена', 'Старая цена', 'Главная фотография', 'Другие фотографии', 'Количество', 'Описание', 'Сопутствующие товары', 'Топ продаж', 'Акция', 'Новинка', 'Лучшая цена', 'Тип', 'Форм-фактор', 'Операционная система', 'Количество SIM-карт', 'Стандарты связи', 'Формат SIM-карты', 'Материал корпуса', 'Степень защиты', 'Цвет', 'Диагональ экрана', 'Разрешение экрана', 'Тип экрана', 'Количество цветов экрана', 'Тип процессора', 'Количесво ядер', 'Частота процессора', 'Основная камера', 'Фронтальная камера', 'Встроенная вспышка', 'Оперативная память', 'Встроенная память', 'Поддержка карт памяти', 'Wi-Fi', 'Bluetooth', 'GPS', 'NFC', 'MP3-проигрыватель', 'FM-тюнер', 'SMS/MMS/Email', 'Интерфейс', 'Разъем для наушников', 'Емкость аккумулятора', 'Размеры и вес', 'Комплектация', 'Гарантийный срок', 'Возврат и обмен товара', 'Дополнительно');
                 $csv_file = explode("^", iconv('UTF-8', 'Windows-1251', implode("^", $csv_file)));
                 fputcsv($file, $csv_file, ";");
                 // записываем в файл заголовки
                 foreach ($model as $item) {
                     $csv_file = array($item->vendor_code, $item->brandModel->brand, $item->model_name, $item->price, $item->old_price, $item->photo, is_array(json_decode($item->photo_other)) ? implode(', ', json_decode($item->photo_other)) : json_decode($item->photo_other), $item->quantity, $item->description, is_array(json_decode($item->accessories)) ? implode(', ', json_decode($item->accessories)) : $item->accessories, $item->top, $item->promotion, $item->novelty, $item->bestPrice);
                     foreach ($characteristics as $characteristic) {
                         if ($item->id == $characteristic->model_id) {
                             if (isset($characteristic->value)) {
                                 array_push($csv_file, $characteristic->value);
                             } else {
                                 array_push($csv_file, "");
                             }
                         }
                     }
                     $csv_file = explode("^", iconv('UTF-8', 'Windows-1251', implode("^", $csv_file)));
                     fputcsv($file, $csv_file, ";");
                     // записываем в файл строки
                 }
                 fclose($file);
                 // закрываем файл
                 // задаем заголовки. то есть задаем всплывающее окошко, которое позволяет нам сохранить файл.
                 header('Content-type: application/csv');
                 // указываем, что это csv документ
                 header("Content-Disposition: attachment; filename=" . $file_name);
                 // указываем файл, с которым будем работать
                 readfile($file_name);
                 // считываем файл
                 unlink($file_name);
                 // удаляем файл. то есть когда вы сохраните файл на локальном компе, то после он удалится с сервера
                 Yii::app()->end();
             } else {
                 Yii::app()->user->setFlash('status', 'База пустая!');
             }
         }
         // загрузка из файла
         if (isset($_POST['CsvUpload'])) {
             $brand = ModelCategory::model()->findAll('category_id = :id', array(':id' => $id));
             $arr = array();
             foreach ($brand as $item) {
                 $arr[] = $item->brand_id;
             }
             $criteria = new CDbCriteria();
             $criteria->addInCondition('id', $arr);
             $model = Brand::model()->findAll($criteria);
             // получаем данные из формы
             if ($file = CUploadedFile::getInstance($models, 'csv')) {
                 $extension = strtolower($file->extensionName);
                 $filename = 'import_csv';
                 $basename = $filename . '.' . $extension;
                 $file->saveAs('upload/csv' . '/' . $basename);
                 $path_csv = Yii::app()->request->baseUrl . 'upload/csv/' . $basename;
                 if (($handle = fopen($path_csv, "r")) !== false) {
                     $modelCharacteristicValue = new CharacteristicValue();
                     $modelCharacteristics = Characteristics::model()->findAll('category_id = :id', array(':id' => $id));
                     $modelModelsOld = Models::model()->findAll();
                     $counter = 0;
                     while (($data = fgetcsv($handle, 5000, ";")) !== false) {
                         $brand_tel = iconv('Windows-1251', 'UTF-8', $data[1]);
                         $counter++;
                         if ($counter == 1) {
                             continue;
                         }
                         // если есть такой бренд, то продолжаем
                         $modelModels = new Models();
                         $i = 0;
                         foreach ($model as $item) {
                             if (trim(strtolower($item->brand)) == trim(strtolower($brand_tel))) {
                                 $i = 1;
                                 $modelModels->brand_id = $item->id;
                                 $brand_id_update = $item->id;
                             }
                         }
                         // если бренда нет, идем на следующую итерацию
                         if ($i == 0) {
                             continue;
                         }
                         $reset_while = 0;
                         foreach ($modelModelsOld as $itemid) {
                             $vendor = iconv('Windows-1251', 'UTF-8', isset($data[0]) ? $data[0] : '');
                             //если запись уже есть в базе, обновляем
                             if ($itemid->vendor_code == $vendor) {
                                 $description = iconv('Windows-1251', 'UTF-8', isset($data[8]) ? $data[8] : '');
                                 $cena = str_replace(",", '.', isset($data[3]) ? $data[3] : '');
                                 $cena = preg_replace("/[^x\\d|*\\.]/", "", $cena);
                                 $old_cena = str_replace(",", '.', isset($data[4]) ? $data[4] : '');
                                 $old_cena = preg_replace("/[^x\\d|*\\.]/", "", $old_cena);
                                 //$accessories = iconv('Windows-1251', 'UTF-8', $data[9]);
                                 $model_name = iconv('Windows-1251', 'UTF-8', isset($data[2]) ? $data[2] : '');
                                 $photo_other = explode(',', mb_convert_encoding(isset($data[6]) ? $data[6] : '', 'UTF-8'));
                                 $photo_other_arr = array();
                                 foreach ($photo_other as $item) {
                                     $photo_other_arr[] = trim($item);
                                 }
                                 $acces = explode(',', mb_convert_encoding(isset($data[9]) ? $data[9] : '', 'UTF-8'));
                                 $accessories = array();
                                 foreach ($acces as $item) {
                                     $accessories[] = trim($item);
                                 }
                                 $sql[] = '(\'' . $vendor . '\', 
                                        \'' . $model_name . '\', 
                                        \'"' . $cena . '\', 
                                        \'' . $old_cena . '\', 
                                        \'' . $brand_id_update . '\', 
                                        \'' . (isset($data[5]) ? $data[5] : '') . '\', 
                                        \'' . ($photo_other_arr[0] != '' ? json_encode($photo_other_arr) : '') . '\',
                                        \'' . (isset($data[7]) ? $data[7] : '') . '\',
                                        \'' . $description . '\',
                                        \'' . json_encode($accessories) . '\',
                                        \'' . (isset($data[10]) ? $data[10] : '') . '\',
                                        \'' . (isset($data[11]) ? $data[11] : '') . '\',
                                        \'' . (isset($data[12]) ? $data[12] : '') . '\',
                                        \'' . (isset($data[13]) ? $data[13] : '') . '\'
                                        )';
                                 $id_update = $itemid->id;
                                 $j = 14;
                                 foreach ($modelCharacteristics as $k => $items) {
                                     if ($items->parent_id != 0 && isset($data[$j])) {
                                         $value = $data[$j] != '' ? iconv('Windows-1251', 'UTF-8', $data[$j]) : '';
                                         $sql_char[] = '(\'' . $value . '\', \'' . $items->id . '\', \'' . $id_update . '\')';
                                         $j++;
                                     }
                                     if ($j == 51) {
                                         break;
                                     }
                                 }
                                 $reset_while = 1;
                             }
                         }
                         // если обновили, пропускаем итерацию
                         if ($reset_while == 1) {
                             continue;
                         }
                         // если нет, записываем новые данные
                         $vendor = iconv('Windows-1251', 'UTF-8', isset($data[0]) ? $data[0] : '');
                         $model_name = iconv('Windows-1251', 'UTF-8', isset($data[2]) ? $data[2] : '');
                         $modelModels->vendor_code = $vendor;
                         $modelModels->model_name = $model_name;
                         $cena = str_replace(",", '.', isset($data[3]) ? $data[3] : '');
                         $cena = preg_replace("/[^x\\d|*\\.]/", "", $cena);
                         $old_cena = str_replace(",", '.', isset($data[4]) ? $data[4] : '');
                         $old_cena = preg_replace("/[^x\\d|*\\.]/", "", $old_cena);
                         $photo_other = explode(',', mb_convert_encoding(isset($data[6]) ? $data[6] : '', 'UTF-8'));
                         $photo_other_arr = array();
                         foreach ($photo_other as $item) {
                             $photo_other_arr[] = trim($item);
                         }
                         $acces = explode(',', mb_convert_encoding(isset($data[9]) ? $data[9] : '', 'UTF-8'));
                         $accessories = array();
                         foreach ($acces as $item) {
                             $accessories[] = trim($item);
                         }
                         $modelModels->price = $cena;
                         $modelModels->old_price = $old_cena;
                         $modelModels->photo = isset($data[5]) ? $data[5] : '';
                         $modelModels->photo_other = $photo_other_arr[0] != '' ? json_encode($photo_other_arr) : '';
                         $modelModels->quantity = isset($data[7]) ? $data[7] : '';
                         $description = iconv('Windows-1251', 'UTF-8', isset($data[8]) ? $data[8] : '');
                         $modelModels->description = $description;
                         $modelModels->accessories = json_encode($accessories);
                         $modelModels->top = isset($data[10]) ? $data[10] : '';
                         $modelModels->promotion = isset($data[11]) ? $data[11] : '';
                         $modelModels->novelty = isset($data[12]) ? $data[12] : '';
                         $modelModels->bestPrice = isset($data[13]) ? $data[13] : '';
                         if ($modelModels->save(false)) {
                             $id_model = $modelModels->id;
                             $j = 14;
                             foreach ($modelCharacteristics as $k => $item) {
                                 if ($item->parent_id != 0 && isset($data[$j])) {
                                     $modelCharacteristicValue->id = false;
                                     $modelCharacteristicValue->isNewRecord = true;
                                     $value = $data[$j] ? iconv('Windows-1251', 'UTF-8', $data[$j]) : '';
                                     $modelCharacteristicValue->value = $value;
                                     $modelCharacteristicValue->characteristic_id = $item->id;
                                     $modelCharacteristicValue->model_id = $id_model;
                                     if ($modelCharacteristicValue->save(false)) {
                                         $j++;
                                     }
                                 }
                                 if ($j == 51) {
                                     break;
                                 }
                             }
                         }
                     }
                     fclose($handle);
                     unlink($path_csv);
                 }
                 if (isset($sql[0])) {
                     $sql_implode = implode(', ', $sql);
                     $sql_query_models = 'INSERT INTO cms_temp_models (vendor_code,
                                                                       model_name,
                                                                       price,
                                                                       old_price,
                                                                       brand_id,
                                                                       photo,
                                                                       photo_other,
                                                                       quantity,
                                                                       description,
                                                                       accessories,
                                                                       top,
                                                                       promotion,
                                                                       novelty,
                                                                       bestPrice
                                                                       ) VALUES ' . $sql_implode;
                     $connection = Yii::app()->db;
                     $connection->createCommand($sql_query_models)->execute();
                     $sql_query_update = 'update cms_models u
                     inner join cms_temp_models s on
                         u.vendor_code = s.vendor_code
                     set u.model_name = s.model_name,
                         u.price = s.price,
                         u.old_price = s.old_price,
                         u.brand_id = s.brand_id,
                         u.photo = s.photo,
                         u.photo_other = s.photo_other,
                         u.quantity = s.quantity,
                         u.description = s.description,
                         u.accessories = s.accessories,
                         u.top = s.top,
                         u.promotion = s.promotion,
                         u.novelty = s.novelty,
                         u.bestPrice = s.bestPrice';
                     $connection->createCommand($sql_query_update)->execute();
                     $connection->createCommand()->truncateTable('cms_temp_models');
                     if (isset($sql_char)) {
                         $sql_implode_char = implode(', ', $sql_char);
                         $sql_query_models = 'INSERT INTO cms_temp_characteristicValue (value, characteristic_id, model_id) 
                                              VALUES ' . $sql_implode_char;
                         $connection = Yii::app()->db;
                         $connection->createCommand($sql_query_models)->execute();
                         $sql_query_update_char = 'UPDATE cms_characteristicValue u
                         INNER JOIN cms_temp_characteristicValue s ON
                             (u.characteristic_id = s.characteristic_id) AND (u.model_id = s.model_id)
                         SET u.value = s.value';
                         $connection->createCommand($sql_query_update_char)->execute();
                         $connection->createCommand()->truncateTable('cms_temp_characteristicValue');
                     }
                 }
                 // сообщение о завершении загрузки
                 Yii::app()->user->setFlash('status', 'Файл загружен, данные добавлены!');
             }
         }
     }
     if ($id == 2) {
         if (isset($_POST['CsvUpload']['photo_img'])) {
             if ($files = CUploadedFile::getInstances($models, 'photo_img')) {
                 $array = array();
                 foreach ($files as $img) {
                     $filename = $img->name;
                     //$filename = mb_convert_encoding($filename, 'Windows-1251', 'UTF-8');
                     $img->saveAs('upload/images' . '/' . $filename);
                 }
             }
         }
         if (isset($_POST['yt0'])) {
             $brand = ModelCategory::model()->findAll('category_id = :id', array(':id' => $id));
             $arr = array();
             foreach ($brand as $item) {
                 $arr[] = $item->brand_id;
             }
             $criteria = new CDbCriteria();
             $criteria->addInCondition('brand_id', $arr);
             $model = Models::model()->findAll($criteria);
             foreach ($model as $item) {
                 $array_model_id[] = $item->id;
             }
             if (isset($array_model_id[0])) {
                 $criteria_model_id = new CDbCriteria();
                 $criteria_model_id->addInCondition('model_id', $array_model_id);
                 $characteristics = CharacteristicValue::model()->findAll($criteria_model_id);
                 $file_name = 'export.csv';
                 // название файла
                 $file = fopen($file_name, "w");
                 // открываем файл для записи, если его нет, то создаем его в текущей папке, где расположен скрипт
                 $csv_file = array('Артикул', 'Название бренда', 'Название модели', 'Цена', 'Старая цена', 'Главная фотография', 'Другие фотографии', 'Количество', 'Описание', 'Сопутствующие товары', 'Топ продаж', 'Акция', 'Новинка', 'Лучшая цена', 'Тип', 'Операционная система', 'Количество SIM-карт', 'Стандарты связи', 'Материал корпуса', 'Цвет', 'Диагональ экрана', 'Разрешение экрана', 'Тип экрана', 'Тип процессора', 'Количесво ядер', 'Частота процессора', 'Основная камера', 'Фронтальная камера', 'Оперативная память', 'Встроенная память', 'Поддержка карт памяти', 'Wi-Fi', 'Bluetooth', 'GPS', 'NFC', 'Интерфейс', 'Разъем для наушников', 'Емкость аккумулятора', 'Размеры и вес', 'Комплектация', 'Гарантийный срок', 'Возврат и обмен товара', 'Дополнительно');
                 $csv_file = explode("^", iconv('UTF-8', 'Windows-1251', implode("^", $csv_file)));
                 fputcsv($file, $csv_file, ";");
                 // записываем в файл заголовки
                 foreach ($model as $item) {
                     $csv_file = array($item->vendor_code, $item->brandModel->brand, $item->model_name, $item->price, $item->old_price, $item->photo, is_array(json_decode($item->photo_other)) ? implode(', ', json_decode($item->photo_other)) : json_decode($item->photo_other), $item->quantity, $item->description, is_array(json_decode($item->accessories)) ? implode(', ', json_decode($item->accessories)) : $item->accessories, $item->top, $item->promotion, $item->novelty, $item->bestPrice);
                     foreach ($characteristics as $characteristic) {
                         if ($item->id == $characteristic->model_id) {
                             if (isset($characteristic->value)) {
                                 array_push($csv_file, $characteristic->value);
                             } else {
                                 array_push($csv_file, "");
                             }
                         }
                     }
                     $csv_file = explode("^", iconv('UTF-8', 'Windows-1251', implode("^", $csv_file)));
                     fputcsv($file, $csv_file, ";");
                     // записываем в файл строки
                 }
                 fclose($file);
                 // закрываем файл
                 // задаем заголовки. то есть задаем всплывающее окошко, которое позволяет нам сохранить файл.
                 header('Content-type: application/csv');
                 // указываем, что это csv документ
                 header("Content-Disposition: attachment; filename=" . $file_name);
                 // указываем файл, с которым будем работать
                 readfile($file_name);
                 // считываем файл
                 unlink($file_name);
                 // удаляем файл. то есть когда вы сохраните файл на локальном компе, то после он удалится с сервера
                 Yii::app()->end();
             } else {
                 Yii::app()->user->setFlash('status', 'База пустая!');
             }
         }
         if (isset($_POST['CsvUpload'])) {
             $brand = ModelCategory::model()->findAll('category_id = :id', array(':id' => $id));
             $arr = array();
             foreach ($brand as $item) {
                 $arr[] = $item->brand_id;
             }
             $criteria = new CDbCriteria();
             $criteria->addInCondition('id', $arr);
             $model = Brand::model()->findAll($criteria);
             // получаем данные из формы
             if ($file = CUploadedFile::getInstance($models, 'csv')) {
                 $extension = strtolower($file->extensionName);
                 $filename = 'import_csv';
                 $basename = $filename . '.' . $extension;
                 $file->saveAs('upload/csv' . '/' . $basename);
                 $path_csv = Yii::app()->request->baseUrl . 'upload/csv/' . $basename;
                 if (($handle = fopen($path_csv, "r")) !== false) {
                     $modelCharacteristicValue = new CharacteristicValue();
                     $modelCharacteristics = Characteristics::model()->findAll('category_id = :id', array(':id' => $id));
                     $modelModelsOld = Models::model()->findAll();
                     $counter = 0;
                     while (($data = fgetcsv($handle, 5000, ";")) !== false) {
                         $brand_pl = iconv('Windows-1251', 'UTF-8', $data[1]);
                         $counter++;
                         if ($counter == 1) {
                             continue;
                         }
                         // если есть такой бренд, то продолжаем
                         $modelModels = new Models();
                         $i = 0;
                         foreach ($model as $item) {
                             if (trim(strtolower($item->brand)) == trim(strtolower($brand_pl))) {
                                 $i = 1;
                                 $modelModels->brand_id = $item->id;
                                 $brand_id_update = $item->id;
                             }
                         }
                         // если бренда нет, идем на следующую итерацию
                         if ($i == 0) {
                             continue;
                         }
                         $reset_while = 0;
                         foreach ($modelModelsOld as $itemid) {
                             //если запись уже есть в базе, обновляем
                             $vendor = iconv('Windows-1251', 'UTF-8', isset($data[0]) ? $data[0] : '');
                             //если запись уже есть в базе, обновляем
                             if ($itemid->vendor_code == $vendor) {
                                 $description = iconv('Windows-1251', 'UTF-8', isset($data[8]) ? $data[8] : '');
                                 $cena = str_replace(",", '.', isset($data[3]) ? $data[3] : '');
                                 $cena = preg_replace("/[^x\\d|*\\.]/", "", $cena);
                                 $old_cena = str_replace(",", '.', isset($data[4]) ? $data[4] : '');
                                 $old_cena = preg_replace("/[^x\\d|*\\.]/", "", $old_cena);
                                 //$accessories = iconv('Windows-1251', 'UTF-8', $data[9]);
                                 $model_name = iconv('Windows-1251', 'UTF-8', isset($data[2]) ? $data[2] : '');
                                 $photo_other = explode(',', mb_convert_encoding(isset($data[6]) ? $data[6] : '', 'UTF-8'));
                                 $photo_other_arr = array();
                                 foreach ($photo_other as $item) {
                                     $photo_other_arr[] = trim($item);
                                 }
                                 $acces = explode(',', mb_convert_encoding(isset($data[9]) ? $data[9] : '', 'UTF-8'));
                                 $accessories = array();
                                 foreach ($acces as $item) {
                                     $accessories[] = trim($item);
                                 }
                                 $sql[] = '(\'' . $vendor . '\', 
                                        \'' . $model_name . '\', 
                                        \'"' . $cena . '\', 
                                        \'' . $old_cena . '\', 
                                        \'' . $brand_id_update . '\', 
                                        \'' . (isset($data[5]) ? $data[5] : '') . '\', 
                                        \'' . ($photo_other_arr[0] != '' ? json_encode($photo_other_arr) : '') . '\',
                                        \'' . (isset($data[7]) ? $data[7] : '') . '\',
                                        \'' . $description . '\',
                                        \'' . json_encode($accessories) . '\',
                                        \'' . (isset($data[10]) ? $data[10] : '') . '\',
                                        \'' . (isset($data[11]) ? $data[11] : '') . '\',
                                        \'' . (isset($data[12]) ? $data[12] : '') . '\',
                                        \'' . (isset($data[13]) ? $data[13] : '') . '\'
                                        )';
                                 $id_update = $itemid->id;
                                 $j = 14;
                                 foreach ($modelCharacteristics as $k => $items) {
                                     if ($items->parent_id != 0 && isset($data[$j])) {
                                         $value = iconv('Windows-1251', 'UTF-8', $data[$j]);
                                         $sql_char[] = '(\'' . $value . '\', \'' . $items->id . '\', \'' . $id_update . '\')';
                                         $j++;
                                     }
                                     if ($j == 44) {
                                         break;
                                     }
                                 }
                                 $reset_while = 1;
                             }
                         }
                         // если обновили, пропускаем итерацию
                         if ($reset_while == 1) {
                             continue;
                         }
                         // если нет, записываем новые данные
                         $vendor = iconv('Windows-1251', 'UTF-8', isset($data[0]) ? $data[0] : '');
                         $model_name = iconv('Windows-1251', 'UTF-8', isset($data[2]) ? $data[2] : '');
                         $modelModels->vendor_code = $vendor;
                         $modelModels->model_name = $model_name;
                         $cena = str_replace(",", '.', isset($data[3]) ? $data[3] : '');
                         $cena = preg_replace("/[^x\\d|*\\.]/", "", $cena);
                         $old_cena = str_replace(",", '.', isset($data[4]) ? $data[4] : '');
                         $old_cena = preg_replace("/[^x\\d|*\\.]/", "", $old_cena);
                         $photo_other = explode(',', mb_convert_encoding(isset($data[6]) ? $data[6] : '', 'UTF-8'));
                         $photo_other_arr = array();
                         foreach ($photo_other as $item) {
                             $photo_other_arr[] = trim($item);
                         }
                         $acces = explode(',', mb_convert_encoding(isset($data[9]) ? $data[9] : '', 'UTF-8'));
                         $accessories = array();
                         foreach ($acces as $item) {
                             $accessories[] = trim($item);
                         }
                         $modelModels->price = $cena;
                         $modelModels->old_price = $old_cena;
                         $modelModels->photo = isset($data[5]) ? $data[5] : '';
                         $modelModels->photo_other = $photo_other_arr[0] != '' ? json_encode($photo_other_arr) : '';
                         $modelModels->quantity = isset($data[7]) ? $data[7] : '';
                         $description = iconv('Windows-1251', 'UTF-8', isset($data[8]) ? $data[8] : '');
                         $modelModels->description = $description;
                         $modelModels->accessories = json_encode($accessories);
                         $modelModels->top = isset($data[10]) ? $data[10] : '';
                         $modelModels->promotion = isset($data[11]) ? $data[11] : '';
                         $modelModels->novelty = isset($data[12]) ? $data[12] : '';
                         $modelModels->bestPrice = isset($data[13]) ? $data[13] : '';
                         if ($modelModels->save(false)) {
                             $id_model = $modelModels->id;
                             $j = 14;
                             foreach ($modelCharacteristics as $k => $item) {
                                 if ($item->parent_id != 0 && isset($data[$j])) {
                                     $modelCharacteristicValue->id = false;
                                     $modelCharacteristicValue->isNewRecord = true;
                                     $value = iconv('Windows-1251', 'UTF-8', $data[$j]);
                                     $modelCharacteristicValue->value = $value;
                                     $modelCharacteristicValue->characteristic_id = $item->id;
                                     $modelCharacteristicValue->model_id = $id_model;
                                     if ($modelCharacteristicValue->save(false)) {
                                         $j++;
                                     }
                                 }
                                 if ($j == 44) {
                                     break;
                                 }
                             }
                         }
                     }
                     fclose($handle);
                     unlink($path_csv);
                 }
                 if (isset($sql[0])) {
                     $sql_implode = implode(', ', $sql);
                     $sql_query_models = 'INSERT INTO cms_temp_models (vendor_code,
                                                                       model_name,
                                                                       price,
                                                                       old_price,
                                                                       brand_id,
                                                                       photo,
                                                                       photo_other,
                                                                       quantity,
                                                                       description,
                                                                       accessories,
                                                                       top,
                                                                       promotion,
                                                                       novelty,
                                                                       bestPrice
                                                                       ) VALUES ' . $sql_implode;
                     $connection = Yii::app()->db;
                     $connection->createCommand($sql_query_models)->execute();
                     $sql_query_update = 'update cms_models u
                     inner join cms_temp_models s on
                         u.vendor_code = s.vendor_code
                     set u.model_name = s.model_name,
                         u.price = s.price,
                         u.old_price = s.old_price,
                         u.brand_id = s.brand_id,
                         u.photo = s.photo,
                         u.photo_other = s.photo_other,
                         u.quantity = s.quantity,
                         u.description = s.description,
                         u.accessories = s.accessories,
                         u.top = s.top,
                         u.promotion = s.promotion,
                         u.novelty = s.novelty,
                         u.bestPrice = s.bestPrice';
                     $connection->createCommand($sql_query_update)->execute();
                     $connection->createCommand()->truncateTable('cms_temp_models');
                     if (isset($sql_char)) {
                         $sql_implode_char = implode(', ', $sql_char);
                         $sql_query_models = 'INSERT INTO cms_temp_characteristicValue (value, characteristic_id, model_id) 
                                              VALUES ' . $sql_implode_char;
                         $connection = Yii::app()->db;
                         $connection->createCommand($sql_query_models)->execute();
                         $sql_query_update_char = 'UPDATE cms_characteristicValue u
                         INNER JOIN cms_temp_characteristicValue s ON
                             (u.characteristic_id = s.characteristic_id) AND (u.model_id = s.model_id)
                         SET u.value = s.value';
                         $connection->createCommand($sql_query_update_char)->execute();
                         $connection->createCommand()->truncateTable('cms_temp_characteristicValue');
                     }
                 }
                 // сообщение о завершении загрузки
                 Yii::app()->user->setFlash('status', 'Файл загружен, данные добавлены!');
             }
         }
     }
     if ($id == 3) {
         if (isset($_POST['CsvUpload']['photo_img'])) {
             if ($files = CUploadedFile::getInstances($models, 'photo_img')) {
                 $array = array();
                 foreach ($files as $img) {
                     $filename = $img->name;
                     $img->saveAs('upload/images' . '/' . $filename);
                 }
             }
         }
         if (isset($_POST['yt0'])) {
             $brand = ModelCategory::model()->findAll('category_id = :id', array(':id' => $id));
             $arr = array();
             foreach ($brand as $item) {
                 $arr[] = $item->brand_id;
             }
             $criteria = new CDbCriteria();
             $criteria->addInCondition('brand_id', $arr);
             $model = Models::model()->findAll($criteria);
             foreach ($model as $item) {
                 $array_model_id[] = $item->id;
             }
             if (isset($array_model_id[0])) {
                 $criteria_model_id = new CDbCriteria();
                 $criteria_model_id->addInCondition('model_id', $array_model_id);
                 $characteristics = CharacteristicValue::model()->findAll($criteria_model_id);
                 $file_name = 'export.csv';
                 // название файла
                 $file = fopen($file_name, "w");
                 // открываем файл для записи, если его нет, то создаем его в текущей папке, где расположен скрипт
                 $csv_file = array('Артикул', 'Название бренда', 'Название модели', 'Цена', 'Старая цена', 'Главная фотография', 'Другие фотографии', 'Количество', 'Описание', 'Сопутствующие товары', 'Топ продаж', 'Акция', 'Новинка', 'Лучшая цена', 'Тип', 'Операционная система', 'Материал корпуса', 'Цвет', 'Диагональ дисплея', 'Покрытие экрана', 'Разрешение дисплея', 'Процессор', 'Тип процессора', 'Количество ядер', 'Тип графическго адаптера', 'Объем видеокарты', 'Тип видеокарты', 'Объем оперативной памяти', 'Тип оперативной памяти', 'Объем дисков HDD', 'Объем дисков SSD', 'Оптический привод', 'Веб-камера', 'Микрофон', 'Встроенные динамики', 'WiFi', 'Bluetooth', 'Сетевой адаптер Ethernet', 'USB 2.0', 'USB 3.0', 'VGA', 'HDMI', 'Аудиоразъем', 'Разъем для микрофона', 'Емкость аккумулятора', 'Размеры и вес', 'Комплектация', 'Гарантийный срок', 'Возврат и обмен товара', 'Дополнительно');
                 $csv_file = explode("^", iconv('UTF-8', 'Windows-1251', implode("^", $csv_file)));
                 fputcsv($file, $csv_file, ";");
                 // записываем в файл заголовки
                 foreach ($model as $item) {
                     $csv_file = array(trim($item->vendor_code), trim($item->brandModel->brand), trim($item->model_name), trim($item->price), trim($item->old_price), trim($item->photo), is_array(json_decode($item->photo_other)) ? implode(', ', json_decode($item->photo_other)) : json_decode($item->photo_other), trim($item->quantity), trim($item->description), is_array(json_decode($item->accessories)) ? implode(', ', json_decode($item->accessories)) : $item->accessories, trim($item->top), trim($item->promotion), trim($item->novelty), trim($item->bestPrice));
                     foreach ($characteristics as $characteristic) {
                         if ($item->id == $characteristic->model_id) {
                             if (isset($characteristic->value)) {
                                 array_push($csv_file, $characteristic->value);
                             } else {
                                 array_push($csv_file, "");
                             }
                         }
                     }
                     $csv_file = explode("^", iconv('UTF-8', 'Windows-1251', implode("^", $csv_file)));
                     fputcsv($file, $csv_file, ";");
                     // записываем в файл строки
                 }
                 fclose($file);
                 // закрываем файл
                 // задаем заголовки. то есть задаем всплывающее окошко, которое позволяет нам сохранить файл.
                 header('Content-type: application/csv');
                 // указываем, что это csv документ
                 header("Content-Disposition: attachment; filename=" . $file_name);
                 // указываем файл, с которым будем работать
                 readfile($file_name);
                 // считываем файл
                 unlink($file_name);
                 // удаляем файл. то есть когда вы сохраните файл на локальном компе, то после он удалится с сервера
                 Yii::app()->end();
             } else {
                 Yii::app()->user->setFlash('status', 'База пустая!');
             }
         }
         // загрузка из файла
         if (isset($_POST['CsvUpload'])) {
             $brand = ModelCategory::model()->findAll('category_id = :id', array(':id' => $id));
             $arr = array();
             foreach ($brand as $item) {
                 $arr[] = $item->brand_id;
             }
             $criteria = new CDbCriteria();
             $criteria->addInCondition('id', $arr);
             $model = Brand::model()->findAll($criteria);
             // получаем данные из формы
             if ($file = CUploadedFile::getInstance($models, 'csv')) {
                 $extension = strtolower($file->extensionName);
                 $filename = 'import_csv';
                 $basename = $filename . '.' . $extension;
                 $file->saveAs('upload/csv' . '/' . $basename);
                 $path_csv = Yii::app()->request->baseUrl . 'upload/csv/' . $basename;
                 if (($handle = fopen($path_csv, "r")) !== false) {
                     $modelCharacteristicValue = new CharacteristicValue();
                     $modelCharacteristics = Characteristics::model()->findAll('category_id = :id', array(':id' => $id));
                     $modelModelsOld = Models::model()->findAll();
                     $counter = 0;
                     while (($data = fgetcsv($handle, 5000, ";")) !== false) {
                         $brand_tel = iconv('Windows-1251', 'UTF-8', $data[1]);
                         $counter++;
                         if ($counter == 1) {
                             continue;
                         }
                         // если есть такой бренд, то продолжаем
                         $modelModels = new Models();
                         $i = 0;
                         foreach ($model as $item) {
                             if (trim(strtolower($item->brand)) == trim(strtolower($brand_tel))) {
                                 $i = 1;
                                 $modelModels->brand_id = $item->id;
                                 $brand_id_update = $item->id;
                             }
                         }
                         // если бренда нет, идем на следующую итерацию
                         if ($i == 0) {
                             continue;
                         }
                         $reset_while = 0;
                         foreach ($modelModelsOld as $itemid) {
                             $vendor = iconv('Windows-1251', 'UTF-8', isset($data[0]) ? $data[0] : '');
                             //если запись уже есть в базе, обновляем
                             if ($itemid->vendor_code == $vendor) {
                                 $description = iconv('Windows-1251', 'UTF-8', isset($data[8]) ? $data[8] : '');
                                 $cena = str_replace(",", '.', isset($data[3]) ? $data[3] : '');
                                 $cena = preg_replace("/[^x\\d|*\\.]/", "", $cena);
                                 $old_cena = str_replace(",", '.', isset($data[4]) ? $data[4] : '');
                                 $old_cena = preg_replace("/[^x\\d|*\\.]/", "", $old_cena);
                                 //$accessories = iconv('Windows-1251', 'UTF-8', $data[9]);
                                 $model_name = iconv('Windows-1251', 'UTF-8', isset($data[2]) ? $data[2] : '');
                                 $photo_other = explode(',', mb_convert_encoding(isset($data[6]) ? $data[6] : '', 'UTF-8'));
                                 $photo_other_arr = array();
                                 foreach ($photo_other as $item) {
                                     $photo_other_arr[] = trim($item);
                                 }
                                 $acces = explode(',', mb_convert_encoding(isset($data[9]) ? $data[9] : '', 'UTF-8'));
                                 $accessories = array();
                                 foreach ($acces as $item) {
                                     $accessories[] = trim($item);
                                 }
                                 $sql[] = '(\'' . $vendor . '\', 
                                        \'' . $model_name . '\', 
                                        \'"' . $cena . '\', 
                                        \'' . $old_cena . '\', 
                                        \'' . $brand_id_update . '\', 
                                        \'' . (isset($data[5]) ? $data[5] : '') . '\', 
                                        \'' . ($photo_other_arr[0] != '' ? json_encode($photo_other_arr) : '') . '\',
                                        \'' . (isset($data[7]) ? $data[7] : '') . '\',
                                        \'' . $description . '\',
                                        \'' . json_encode($accessories) . '\',
                                        \'' . (isset($data[10]) ? $data[10] : '') . '\',
                                        \'' . (isset($data[11]) ? $data[11] : '') . '\',
                                        \'' . (isset($data[12]) ? $data[12] : '') . '\',
                                        \'' . (isset($data[13]) ? $data[13] : '') . '\'
                                        )';
                                 $id_update = $itemid->id;
                                 $j = 14;
                                 foreach ($modelCharacteristics as $k => $items) {
                                     if ($items->parent_id != 0 && isset($data[$j])) {
                                         $value = $data[$j] != '' ? iconv('Windows-1251', 'UTF-8', $data[$j]) : '';
                                         $sql_char[] = '(\'' . trim($value) . '\', \'' . $items->id . '\', \'' . $id_update . '\')';
                                         $j++;
                                     }
                                     if ($j == 50) {
                                         break;
                                     }
                                 }
                                 $reset_while = 1;
                             }
                         }
                         // если обновили, пропускаем итерацию
                         if ($reset_while == 1) {
                             continue;
                         }
                         // если нет, записываем новые данные
                         $vendor = iconv('Windows-1251', 'UTF-8', isset($data[0]) ? $data[0] : '');
                         $model_name = iconv('Windows-1251', 'UTF-8', isset($data[2]) ? $data[2] : '');
                         $modelModels->vendor_code = $vendor;
                         $modelModels->model_name = $model_name;
                         $cena = str_replace(",", '.', isset($data[3]) ? $data[3] : '');
                         $cena = preg_replace("/[^x\\d|*\\.]/", "", $cena);
                         $old_cena = str_replace(",", '.', isset($data[4]) ? $data[4] : '');
                         $old_cena = preg_replace("/[^x\\d|*\\.]/", "", $old_cena);
                         $photo_other = explode(',', mb_convert_encoding(isset($data[6]) ? $data[6] : '', 'UTF-8'));
                         $photo_other_arr = array();
                         foreach ($photo_other as $item) {
                             $photo_other_arr[] = trim($item);
                         }
                         $acces = explode(',', mb_convert_encoding(isset($data[9]) ? $data[9] : '', 'UTF-8'));
                         $accessories = array();
                         foreach ($acces as $item) {
                             $accessories[] = trim($item);
                         }
                         $modelModels->price = $cena;
                         $modelModels->old_price = $old_cena;
                         $modelModels->photo = isset($data[5]) ? $data[5] : '';
                         $modelModels->photo_other = $photo_other_arr[0] != '' ? json_encode($photo_other_arr) : '';
                         $modelModels->quantity = isset($data[7]) ? $data[7] : '';
                         $description = iconv('Windows-1251', 'UTF-8', isset($data[8]) ? $data[8] : '');
                         $modelModels->description = $description;
                         $modelModels->accessories = json_encode($accessories);
                         $modelModels->top = isset($data[10]) ? $data[10] : '';
                         $modelModels->promotion = isset($data[11]) ? $data[11] : '';
                         $modelModels->novelty = isset($data[12]) ? $data[12] : '';
                         $modelModels->bestPrice = isset($data[13]) ? $data[13] : '';
                         if ($modelModels->save(false)) {
                             $id_model = $modelModels->id;
                             $j = 14;
                             foreach ($modelCharacteristics as $k => $item) {
                                 if ($item->parent_id != 0 && isset($data[$j])) {
                                     $modelCharacteristicValue->id = false;
                                     $modelCharacteristicValue->isNewRecord = true;
                                     $value = $data[$j] ? iconv('Windows-1251', 'UTF-8', $data[$j]) : '-';
                                     $modelCharacteristicValue->value = $value;
                                     $modelCharacteristicValue->characteristic_id = $item->id;
                                     $modelCharacteristicValue->model_id = $id_model;
                                     if ($modelCharacteristicValue->save(false)) {
                                         $j++;
                                     }
                                 }
                                 if ($j == 51) {
                                     break;
                                 }
                             }
                         }
                     }
                     fclose($handle);
                     unlink($path_csv);
                 }
                 if (isset($sql[0])) {
                     $sql_implode = implode(', ', $sql);
                     $sql_query_models = 'INSERT INTO cms_temp_models (vendor_code,
                                                                       model_name,
                                                                       price,
                                                                       old_price,
                                                                       brand_id,
                                                                       photo,
                                                                       photo_other,
                                                                       quantity,
                                                                       description,
                                                                       accessories,
                                                                       top,
                                                                       promotion,
                                                                       novelty,
                                                                       bestPrice
                                                                       ) VALUES ' . $sql_implode;
                     $connection = Yii::app()->db;
                     $connection->createCommand($sql_query_models)->execute();
                     $sql_query_update = 'update cms_models u
                     inner join cms_temp_models s on
                         u.vendor_code = s.vendor_code
                     set u.model_name = s.model_name,
                         u.price = s.price,
                         u.old_price = s.old_price,
                         u.brand_id = s.brand_id,
                         u.photo = s.photo,
                         u.photo_other = s.photo_other,
                         u.quantity = s.quantity,
                         u.description = s.description,
                         u.accessories = s.accessories,
                         u.top = s.top,
                         u.promotion = s.promotion,
                         u.novelty = s.novelty,
                         u.bestPrice = s.bestPrice';
                     $connection->createCommand($sql_query_update)->execute();
                     $connection->createCommand()->truncateTable('cms_temp_models');
                     if (isset($sql_char)) {
                         $sql_implode_char = implode(', ', $sql_char);
                         $sql_query_models = 'INSERT INTO cms_temp_characteristicValue (value, characteristic_id, model_id) 
                                              VALUES ' . $sql_implode_char;
                         $connection = Yii::app()->db;
                         $connection->createCommand($sql_query_models)->execute();
                         $sql_query_update_char = 'UPDATE cms_characteristicValue u
                         INNER JOIN cms_temp_characteristicValue s ON
                             (u.characteristic_id = s.characteristic_id) AND (u.model_id = s.model_id)
                         SET u.value = s.value';
                         $connection->createCommand($sql_query_update_char)->execute();
                         $connection->createCommand()->truncateTable('cms_temp_characteristicValue');
                     }
                 }
                 // сообщение о завершении загрузки
                 Yii::app()->user->setFlash('status', 'Файл загружен, данные добавлены!');
             }
         }
     }
     if (isset($_POST['del'])) {
         $brand = ModelCategory::model()->findAll('category_id = :id', array(':id' => $id));
         $arr = array();
         foreach ($brand as $item) {
             $arr[] = $item->brand_id;
         }
         $criteria = new CDbCriteria();
         $criteria->addInCondition('brand_id', $arr);
         $model = Models::model()->findAll($criteria);
         $del = Models::model()->deleteAll($criteria);
         $arr_val = array();
         foreach ($model as $item) {
             $arr_val[] = $item->id;
         }
         $criteria_val = new CDbCriteria();
         $criteria_val->addInCondition('model_id', $arr_val);
         $val = CharacteristicValue::model()->deleteAll($criteria_val);
         Yii::app()->user->setFlash('status', 'Данные удалены!');
         $this->refresh();
     }
     $this->render('index', array('id' => $id, 'models' => $models));
 }