public function actionDeleteproduct($id) { $model = BasketItems::model()->findByPk($id); $modelOrder = $this->loadModel($model->basket_order_id); $model->delete(); //Проверяем есть ли еще товары в заказе - если нет, удаляем заказ $model = BasketItems::model()->find('basket_order_id=' . $modelOrder->id); if (!$model) { $modelOrder->delete(); $this->redirect('/admin/basket/basket/orders'); } $this->redirect('/admin/basket/basket/update?id=' . $model->id); }
public function sendEmailAdmin($id) { $email = "*****@*****.**"; $subject = "Новый заказ товаров"; $model = $this->loadModel((int) $id); $bayerName = User::model()->findByPk((int) Yii::app()->user->id); $body = "<b>Заказ товара покупателем: " . (!empty($bayerName->first_name) ? $bayerName->first_name : 'не указан') . "</b><BR>"; $body_address = 'Адрес доставки заказа: ' . $model->address . '<BR> Телефон: ' . $model->phone . '<BR> Примечания: ' . $model->comments . '<BR> '; $body .= '<table style="border: 1px solid #000000">'; $body .= '<thead><tr><th>Название</th><th>Ссылка на товар</th><th>Заказаное количество</th></tr></thead>'; $body .= '<tbody>'; foreach (BasketItems::model()->findAll('basket_order_id = ' . $model->id) as $data) { $productModel = Yii::app()->db->createCommand()->select('name')->from('{{' . $data->module . '_elements}}')->where('id=' . (int) $data->item)->queryRow(); $body .= ' <tr> <td>' . $productModel['name'] . '</td> <td>' . SITE_NAME_FULL . '/' . $data->url . '</td> <td>' . $data->quantity . '</td> </tr> '; } $body .= ' </tbody> </table>'; $body .= '<b>Указаные при заказе данные о доставки товара:</b><BR>'; $body .= $body_address; $body .= '<b>Информация о пользователе:</b><BR>'; $body .= "\n Покупатель: " . (!empty($bayerName->first_name) ? $bayerName->first_name : 'не указан') . "<BR>\n Организация: " . (!empty($bayerName->organization) ? $bayerName->organization : 'не указана') . "<BR>\n Юр. адрес: " . (!empty($bayerName->ur_addres) ? $bayerName->ur_addres : 'не указан') . "<BR>\n Физ. адрес: " . (!empty($bayerName->fiz_addres) ? $bayerName->fiz_addres : 'не указан') . "<BR>\n ИНН: " . (!empty($bayerName->inn) ? $bayerName->inn : 'не указан') . "<BR>\n КПП: " . (!empty($bayerName->kpp) ? $bayerName->kpp : 'не указан') . "<BR>\n ОКПО: " . (!empty($bayerName->okpo) ? $bayerName->okpo : 'не указан') . "<BR>\n Email: " . $bayerName->email . "<BR>\n "; Yii::app()->mailer->send(array('email' => $email, 'subject' => $subject, 'body' => $body)); return true; }
public function getProductInOrder($id) { $result = array(); $i = 0; foreach (BasketItems::model()->findAll('basket_order_id=' . (int) $id) as $data) { $result[$i]['module'] = $data->module; $result[$i]['url'] = $data->url; $result[$i]['item'] = $data->item; $result[$i]['quantity'] = $data->quantity; $result[$i]['comments'] = $data->comments; ++$i; } return $result; }
public function actionIndex() { //echo 123; exit; //Сравнение товаров if (isset($_GET['e']) && isset($_GET['m']) && $_GET['m'] == '47' && isset($_GET['u'])) { //Пишу в ссесию if (empty(Yii::app()->session['compare_selection'])) { Yii::app()->session->add('compare_selection', array()); } $compare_selection = Yii::app()->session['compare_selection']; $add_compare_selection = array($_GET); Yii::app()->session->add('compare_selection', array_merge($compare_selection, $add_compare_selection)); } //Удаление из сравнения товаров if (isset($_GET['id']) && isset($_GET['type']) && $_GET['type'] == "delete") { //Пишу в ссесию if (empty(Yii::app()->session['compare_selection'])) { Yii::app()->session->add('compare_selection', array()); } $compare_selection = Yii::app()->session['compare_selection']; $add_compare_selection = array(); if (!empty($compare_selection)) { foreach ($compare_selection as $key => $value) { if ($value['e'] == (int) $_GET['id']) { continue; } $add_compare_selection[] = $value; } } Yii::app()->session->add('compare_selection', $add_compare_selection); echo 'ok'; } //Количество не оформленых товаров в корзине if (isset($_GET['basket']) && $_GET['basket'] == "getcount") { $result = 0; $cookies = Yii::app()->request->cookies; if (!empty($cookies['basket']) && ($basket = $cookies['basket']->value)) { $basket = unserialize($basket); foreach ($basket as $key => $value) { $result = (int) $result + (int) $value['quantity']; } } /* if (!Yii::app()->user->isGuest){ $basketCount = 0; $arr_id = null; foreach( Yii::app()->db->createCommand() ->select('id') ->from('{{basket_order}}') ->where('status=0 AND user_id='.(int)Yii::app()->user->id) ->queryAll() as $val){ $arr_id[] = $val['id']; } if (!empty($arr_id)){ $arr_id = implode(",", $arr_id); $basketCount = Yii::app()->db->createCommand() ->select('sum(quantity) as count') ->from('{{basket_items}}') ->where('basket_order_id in ('.$arr_id.')') ->queryRow(); $result = (int)((current($basketCount))); } } */ echo $result; } //Добавление товара в корзину if (isset($_POST['m']) && $_POST['m'] == "31" && isset($_POST['path']) && isset($_POST['module']) && isset($_POST['parent_id'])) { $quantity = 1; $k = $_POST['path']; //Пишем в куки заказаные товары $cookies = Yii::app()->request->cookies; $basket = array(); //Получаем заказаные ранее товары из куки if (isset($cookies['basket'])) { $basket = $cookies['basket']->value; $basket = unserialize($basket); } //Если есть заказаный ранее такой товар - увеличиваем кол-во на 1 $basket[$k]['quantity'] = isset($basket[$k]) ? (int) $basket[$k]['quantity'] + $quantity : $quantity; $basket[$k]['module'] = $_POST['module']; $basket[$k]['url'] = $_POST['path']; $basket[$k]['item'] = $_POST['parent_id']; $basket[$k]['price'] = BasketItems::model()->returnPrice((int) $_POST['parent_id'], $basket[$k]['quantity']); $basket = new CHttpCookie('basket', serialize($basket)); $cookies['basket'] = $basket; echo 'ok'; } Yii::app()->end(); }