function assign_order_to_author($Frm, $Err) { if (!$Err) { $order_id = $Frm->GetNmValueI("order_id"); try { $order_info = Order::find($order_id); } catch (Exception $e) { ErrorLogger::add('assign_order_to_author', 'Sessia', $_SESSION); ErrorLogger::add('assign_order_to_author', 'REQUEST', $_REQUEST); ErrorLogger::add('assign_order_to_author', 'GET', $_GET); ErrorLogger::add('assign_order_to_author', 'POST', $_POST); $Frm->_gui->ERR("Произошла ошибка"); page_reloadAll(); } $author_id = $Frm->GetNmValueI("author_id"); $status_id = get_status_id_by_iname("ASSIGNED"); if (!$status_id) { $Frm->_gui->ERR("Статус не найден"); page_reloadAll(); } Order::update($order_id, array('author_id' => $author_id, 'status_id' => $status_id)); if ($Frm->GetNmValueI("need_offer")) { if (!AuthorOffer::findOneBy(array('order_id' => $order_id, 'author_id' => $author_id))) { AuthorOffer::create(array('order_id' => $order_id, 'author_id' => $author_id, 'price' => $order_info['cost_auth'], 'comment' => '')); } } if ($order_info['disc_id'] == 0) { $spec = $order_info['disc_user']; } else { $spec = get_discipline_name($order_info['disc_id']); } $txt = "Заказ закреплен"; if (\Components\Entity\EmailNotificationType::isPersistable(\Components\Entity\EmailNotification::TO_AUTHOR_ON_ASSIGN)) { $body = "На вас назначен заказ №" . $order_id . ' ' . ucfirst($spec) . "<br>" . "<b>Обязательно подтвердите закрепление за Вами данного заказа</b>, достаточно в ответном письме написать \"OK\""; $message_id = mls_Send("u" . $author_id, "u" . $_SESSION["user"]["data"]["id"], "На вас назначен заказ №" . $order_id . ' ' . ucfirst($spec), $body, 1, 0); Author::enqueue_message_to_email($message_id, array($author_id), \Components\Entity\EmailNotification::TO_AUTHOR_ON_ASSIGN); $txt = "Заказ закреплен, уведомление отправлено"; } $old_author_id = $Frm->GetNmValueI("old_author_id"); if ($old_author_id != 0) { if (\Components\Entity\EmailNotificationType::isPersistable(\Components\Entity\EmailNotification::TO_AUTHOR_ON_UNASSIGN)) { $message_id = mls_Send("u" . $old_author_id, "u" . $_SESSION["user"]["data"]["id"], "Вы сняты с заказа №" . $order_id, "Вас сняли с заказа №" . $order_id . "<br>Причина: " . $Frm->GetNmValueH("reason"), 1, 0); Author::enqueue_message_to_email($message_id, array($old_author_id), \Components\Entity\EmailNotification::TO_AUTHOR_ON_UNASSIGN); } } // Author::sendEmail($order_id, array($author_id), 'Закрепление заказа №' . $order_id . ' ' . ucfirst($spec), 'Заказ №' . $order_id . ' ' . ucfirst($spec) . ' закреплен за вами'); $Frm->_gui->OK($txt); redirect('index.php?section=ord&subsection=2&order=' . $order_id . '&p=3'); } }