public function getListCites($params) { // var_dump($params);die; //select c.id as id, c.name as city, r.name as region from geobase_city as c left join geobase_region as r on r.id=c.region_id')->query(); // var_dump($params);die; // $query=CityList::findBySql( ////// "set @g1=(select point from geobase_city where name='Казань'); //// //'select // c.id as id, // c.name as name, // -- r.name as regionName, // st_distance((select point from geobase_city where id=:id), c.point) dist //from geobase_city as c // left join geobase_region as r on r.id=c.region_id //order by dist asc'.((isset($params[':lcount']))?' limit :lcount':'').';',$params); $query = new CitySearch(); $dataProvider = $query->search(Yii::$app->request->queryParams); // $dataProvider = new ActiveDataProvider([ // 'query' => $query, // ]); return $dataProvider; // var_dump($dataProvider);die; // foreach ($query as $row) { // $city[$row['region']][$row['id']] = ['id'=>$row['id'],'city'=>$row['city']]; // } // $html = '<div>'; // foreach ($city as $key => $cs) { // $html .= '<div class="region">' . $key .'<br>'; // foreach ($cs as $c) { //// Html::a(['options'=>['value'=>$c]]); // $html .= Html::button($c['city'], ['class' => '', 'onclick' => "setCookies('city','" . $c['id'] . "')"]); // } // $html .= '</div>'; // } // $html .= '</div>'; // $html.=(isset($params['limit']))?Html::a('Показать все','/'):''; // return $html; }
public function actionPut() { $params = Yii::$app->request->post(); $post = array_merge(Yii::$app->request->post()); $params = Yii::$app->request->queryParams; switch ($params['mode']) { case 'changeQuantity': if (Yii::$app->request->isAjax) { if (!empty($position = (int) $post['position']) && !empty($quantity = (int) $post['quantity'])) { $basket = BasketSearch::findOne($position); $basket->tovar_count = $quantity; return $basket->update(); } } break; case 'put': $session = new \yii\web\Session(); $id = Yii::$app->request->post('id'); if ($id) { $tovar = Tovar::findOne(['id' => $id]); if ($tovar) { $toBasket = new BasketSearch(); $toBasket->tovar_id = $id; $toBasket->tovar_count = 1; $toBasket->tovar_price = $tovar->price; $toBasket->session_id = Yii::$app->session->id; $toBasket->tovar_min = 1; $toBasket->provider_id = 5; //id=5 провайдер KD ищет в локальной базе if (Yii::$app->user->id) { $toBasket->uid = Yii::$app->user->id; } if ($toBasket->save()) { return '<a class="btn" href="' . url::toRoute(['/basket/basket'], true) . '"><i class="icon-shopping-cart icon-black"></i>Уже в корзине</a>'; } else { if (YII_DEBUG) { var_dump($toBasket->getErrors()); } } } else { return false; } } return '<a class="btn" href="' . url::toRoute(['/basket/basket'], true) . '"><i class="icon-shopping-cart icon-black"></i>Уже в корзине</a>'; break; case 'update': // $data = Yii::$app->request->post(); // if (isset($data) && $data != '') { // $basket = BasketSearch::findOne(['id' => intval($data['row_id'])]); // if ($basket) // $basket->description = Html::encode($data['text']); // if ($basket->save()) // return true; // } if (Yii::$app->request->post('hasEditable')) { $post = Yii::$app->request->post(); $model = $basket = BasketSearch::findOne(['id' => $post['editableKey']]); $data['OrderSearch'] = current($post['OrderSearch']); if ($model->load($data) && $model->save()) { $data = ['output' => $model->comment]; } return Json::encode($data); } break; case 'order': // создаем новый заказ $user_id = Yii::$app->user->id; $number = ($user_id ? $user_id : 'N') . '-' . date("ymdhis"); $orders = explode(';', Yii::$app->request->post('orderData')); $formData = Yii::$app->request->post('formData'); if (isset($formData) && $formData != '') { parse_str($formData, $fdata); $profileData = array_values($fdata['Profile']); } $fdata['deliveryStore'] = isset($fdata['deliveryStore']) ? $fdata['deliveryStore'] : 0; $cityCode = Yii::$app->request->cookies['city']; $city = \app\modules\city\models\CitySearch::find()->where(['id' => $cityCode ? $cityCode : 2097])->one(); $order_data = ['number' => $number, 'date' => date("Y-m-d H:i:s"), 'user_id' => $user_id, 'user_name' => $fdata['Profile']['name'], 'user_email' => $fdata['User']['email'], 'user_telephone' => $fdata['User']['telephone'], 'user_location' => $city->name, 'store_id' => (int) $fdata['deliveryStore']]; $order = new Order(); $order->load($order_data, ''); $order->save(); // передаем id заказа $order_id = $order->id; $order = new OrderUpdate1c(); $order->OrderId = $order_id; $order->save(); $user = \app\modules\user\models\User::findOne($user_id); $user->scenario = 'update'; $user->telephone = $order_data['user_telephone']; $user->save(); $profile = Profile::findOne($user_id); $profile->scenario = 'order'; $profile->name = $order_data['user_name']; $profile->save(); foreach ($orders as $order) { $order = explode(':', $order); $basket = BasketSearch::findOne(['id' => intval($order[0])]); if ($basket) { $product = Tovar::findOne(['id' => $basket->tovar_id]); $data['Orders'] = ['product_id' => $product ? $product->id : null, 'manufacture' => $basket->manufacturer, 'part_name' => $product ? $product->name : $basket->part_name, 'part_price' => $basket->tovar_price, 'product_article' => $product ? null : $basket->part_number, 'quantity' => $order[1], 'reference' => '', 'status' => \app\modules\user\models\Orders::ORDER_ADOPTED, 'datetime' => date('Y-m-d H:i:s'), 'description' => $basket->description, 'order_id' => (int) $order_id, 'provider_id' => (int) $basket->provider_id, 'delivery_days' => (int) $basket->period]; $Orders = new Orders(); if ($Orders->load($data) && $Orders->save()) { $basket->delete(); } } } return true; break; case 'remove': if (BasketSearch::deleteAll(['in', 'id', $post['id']])) { return JSON::encode($_POST); } //$this->basket_row($dataProvider); break; } }
public function actionList_region() { $this->layout = false; $params['id'] = isset(Yii::$app->request->cookies['region']) ? Yii::$app->request->cookies['region'] : 1331; $searchModel = new CitySearch(); $data = $searchModel->find_list_region($params); return $this->render('region_list', ['data' => $data]); }