Esempio n. 1
0
                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';
}
Esempio n. 2
0
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));
        }
    }
}