case NOTIFICATION_TYPE_NORMAL: default: if (!\Components\Entity\EmailNotificationType::isPersistable(\Components\Entity\EmailNotification::TO_AUTHOR_ON_REMIND_NORMAL)) { $GUI->ERR("Напоминание отключено!"); page_ReloadSec(); return; } $failed_emails = Author::saveMessageAndEnqueueEmail($order_id, array($order_info['author_id']), 'u' . $_SESSION['user']['data']['id'], 'Напоминание по заказу №' . $order_id . ' ' . $order_info['subject'], 'Уважаемый автор, напоминаем Вам о том, что данный заказ должен быть прислан Вами на почту или прикреплен на сайте в личном кабинете сегодня. Сообщите о состоянии заказа. С уважением, ' . sotr_getFullName($_SESSION['user']['data']['id']), \Components\Entity\EmailNotification::TO_AUTHOR_ON_REMIND_NORMAL); break; case NOTIFICATION_TYPE_URGENT: if (!\Components\Entity\EmailNotificationType::isPersistable(\Components\Entity\EmailNotification::TO_AUTHOR_ON_REMIND_URGENT)) { $GUI->ERR("Напоминание отключено!"); page_ReloadSec(); return; } $failed_emails = Author::saveMessageAndEnqueueEmail($order_id, array($order_info['author_id']), 'u' . $_SESSION['user']['data']['id'], 'СРОЧНО ответьте по заказу №' . $order_id . ' ' . $order_info['subject'], 'Срочно ответьте о состоянии данного заказа, по которому дата сдачи Вами сорвана. Предупреждаем что срыв срока заказа позволит нам не выплатить Вам гонорар и/или наложить штраф. Мы всегда выполняем свои обязательства по оплате перед Вами и ждем с Вашей стороны того же, а именно соблюдение сроков и требований. Спасибо за понимание. С уважением, ' . sotr_getFullName($_SESSION['user']['data']['id']), \Components\Entity\EmailNotification::TO_AUTHOR_ON_REMIND_URGENT); break; } if (!empty($failed_emails)) { $GUI->ERR("Не удалось отправить заказ на " . $failed_emails[0]['email']); page_ReloadSec(); } AuthorNotification::create(array('author_id' => $order_info['author_id'], 'order_id' => $order_id, 'date' => date('Y-m-d H:i:s'), 'type' => $type)); $GUI->OK("Напоминание отправлено"); page_ReloadSec(); break; } } else { require_once 'listing/list.php'; }
function send_order_by_email($Frm, $Err, $_authors = null) { global $data_courses, $data_practica; if (!$Err) { $order_id = $Frm->GetNmValueI("order_id"); $changes = array(); $order_info = get_order_info($order_id); if ($order_info['vuz_id'] == 0) { $changes[] = "'вуз' " . $order_info['vuz_user']; } else { $vuz1 = get_vuz_name($order_info['vuz_id']); $changes[] = "'вуз' " . $vuz1['sname'] . "(" . $vuz1['name'] . ")"; } if ($order_info['type_id'] == 0) { $changes[] = "'вид работы' " . $order_info['type_user']; } else { $changes[] = "'вид работы' " . get_worktype_name($order_info['type_id']); } $changes[] = "'факультет' " . get_naprav_name($order_info['napr_id']); if ($order_info['disc_id'] == 0) { $spec = $order_info['disc_user']; } else { $spec = get_discipline_name($order_info['disc_id']); } $changes[] = "Специальность: " . $spec; $changes[] = "Тема работы: " . $order_info['subject']; $changes[] = "Требования: " . $order_info['about_kln']; $changes[] = "Курс: " . $data_courses[$order_info['kurs']]['name']; $changes[] = "Практика: " . $data_practica[$order_info['prakt_pc']]['name']; $changes[] = "Минимальное число страниц: " . $order_info['pages_min']; $changes[] = "Максимальное число страниц: " . $order_info['pages_max']; $changes[] = "Минимальное число источников: " . $order_info['src_min']; $changes[] = "Максимальное число источников: " . $order_info['src_max']; $changes[] = "Гонорар автора: " . $order_info['cost_auth']; $changes[] = "Дата сдачи для автора: " . format_date($order_info['time_auth']); $changes[] = ""; try { $manager = Employee::find($order_info['manager_id']); } catch (Exception $e) { $Frm->_gui->ERR("У заказа не указан менеджер"); page_reloadAll(); } try { $filial = Filial::find($order_info['filial_id']); } catch (Exception $e) { $Frm->_gui->ERR("У заказа не указан филиал"); page_reloadAll(); } if (empty($filial['email'])) { $Frm->_gui->ERR("У филиала к которому принадлежит заказ не указан email"); page_reloadAll(); } $changes[] = "Менеджер: " . $manager['fio'] . ". По данному заказу писать на почту " . $filial['email']; $changes[] = "Если заказ по данной дисциплине/специальности для Вас не является профильным, то Вы в любой момент можете отписаться от данной дисциплины/специальности в своем личном кабинете, расположенном по адресу: sessia-online.ru. Там же Вы так же можете подписаться на другие, интересные Вам дисциплины."; $msg_for_author = "Детали заказа №" . $order_id . ":\n"; $msg_for_author .= join($changes, "<br>"); $authors = array(); if (is_array($_authors) && count($_authors)) { $authors = $_authors; } else { if (isset($_POST['authors'])) { $authors = $_POST['authors']; } } $failed = Author::saveMessageAndEnqueueEmail($order_id, $authors, 'u' . $_SESSION['user']['data']['id'], '№' . $order_id . ' ' . ucfirst($spec), str_replace(array('http://', 'https://'), '', $msg_for_author), \Components\Entity\EmailNotification::TO_SUBSCRIBED_AUTHORS_ON_DISTRIBUTION); // $failed = Author::sendEmail($order_id, $authors, '№' . $order_id . ' ' . ucfirst($spec), str_replace(array('http://', 'https://'), '', $msg_for_author), true, true); if (!count($failed)) { $Frm->_gui->OK("Заказ отправлен"); } else { $failed_receivers = array(); foreach ($failed as $receiver) { $failed_receivers[] = $receiver['name'] . ' - ' . $receiver['email']; } $Frm->_gui->ERR("Вовремя отправки заказа возникли ошибки. Заказ не отправлен: " . join("\n", $failed_receivers)); } } }