public function action_finish() { $email_config = Kohana::$config->load("email"); $owner_emails = array("*****@*****.**"); $owner_pushall_ids = array(8189); $owner_icq_uins = array(673151743); $model_base = new Model_Base(); $options = $model_base->getOptions(); $url = URL::base() . 'admin/orders/' . $_POST["order_id"]; // Ссылка на заказ $sitename = $options['sitename']; // Название сайта $icon_url = URL::base() . '/img/pushall_icon.jpg'; $title = "Вам поступил заказ в интернет-магазине \"{$sitename}\"!"; $text = "Кликните для выяснения деталей."; PC::debug($sitename); $pushall_options = array("type" => 'unicast', "title" => $title, "text" => $text, "url" => $url, "icon" => $icon_url, "priority" => 1); // --- Обновление БД ----------------------------------------------------------------------- // Регистрация пользователя $model_user = new Model_User(); $email = Arr::get($_POST, 'email'); $user = $model_user->getUser($email); // Пользователь не зарегистрирован if (!$user) { $user_data["username"] = $email; $user_data["pass"] = $model_user->generate_pass(); $user_data["role"] = 4; $user_data["name"] = Arr::get($_POST, 'name'); $user_data["phone"] = Arr::get($_POST, 'phone'); $add_user_id = $model_user->addUser($user_data); $user = $model_user->getUser($email); } // Регистрация заказа $order_params = array("name", "phone", "email", "order_id", "delivery_type", "street", "house", "apartment", "access", "floor", "date", "delivery_time", "delivery_point", "comment", "payment_type", "payment_comment", "user_id"); $order_data = array(); foreach ($order_params as $param) { $order_data[$param] = Arr::get($_POST, $param); } $order_data["user_id"] = $user['id']; $model_orders = new Model_Orders(); $model_orders->finishOrder($order_data); $model_email = new Model_Email(); $model_email->addSubscriber($order_data["email"], $order_data["name"]); // --- /Обновление БД ---------------------------------------------------------------------- // --- Отправка уведомлений ---------------------------------------------------------------- include APPPATH . '/classes/Pushes.class.php'; $pushes = new Pushes(); // Уведомление в браузер foreach ($owner_pushall_ids as $owner_pushall_id) { $pushes->pushall_send(array_merge($pushall_options, array("uid" => $owner_pushall_id)), 'get'); } // Уведомление в аську foreach ($owner_icq_uins as $owner_icq_uin) { $pushes->icq_send($owner_icq_uin, "Вам поступил заказ в интернет-магазине!\n\tПодробнее: " . $url); } // Отправка почты //$subject = 'Поступила заявка с сайта ' . $sitename . ' от ' .$order_data['name']; $subject = 'Поступила заявка с сайта ' . '"' . $sitename . '"'; $from = $email_config['options']['username']; $message = '<h2>Новая заявка</h2>'; $message .= 'Отправитель: <b>' . $order_data['name'] . ', </b><br>'; $message .= 'Тел: <b>' . $order_data['phone'] . ', </b><br>'; $message .= '<em>Отправлено: ' . date("d.m.Y H:i:s") . '</em>'; $message .= '<p><a href="' . $url . '">Подробнее</a></p>'; foreach ($owner_emails as $owner_email) { $pushes->mail_send($owner_email, $from, $subject, $message); } $model = array("order_id" => $order_data["order_id"]); // Подключение шаблона $this->set_template('widgets/w_success_ordering.php')->render($model)->body(); // --- /Отправка уведомлений --------------------------------------------------------------- }