예제 #1
0
파일: functions.php 프로젝트: yonkon/diplom
function send_real_email($receiver_email, $receiver_name, $subj, $body, $attachments = array(), $isHTML = false, $replyTo = array())
{
    include_once DIR_FS_DOCUMENT_ROOT . "/frame/libs/libphpmailer.php";
    $m = new PHPMailer();
    $m->IsSMTP();
    $m->Host = MAIL_HOST;
    $m->Username = MAIL_USER;
    $m->Password = MAIL_PASW;
    $m->SMTPAuth = true;
    if (MAIL_HOST_SSL) {
        $m->SMTPSecure = "ssl";
        $m->Port = MAIL_HOST_SSL;
    }
    $m->CharSet = "UTF-8";
    $m->AddAddress($receiver_email, $receiver_name);
    $m->From = FIRM_EMAIL;
    $m->FromName = FIRM_NAME;
    $m->Subject = $subj;
    if (!empty($replyTo)) {
        $m->AddReplyTo($replyTo['email'], $replyTo['name']);
    }
    if ($isHTML) {
        $m->MsgHTML($body);
    } else {
        $m->Body = $body;
    }
    foreach ($attachments as $file) {
        $m->addAttachment($file['path'], $file['name']);
    }
    $m->Send();
    if ($m->IsError()) {
        ErrorLogger::add('email', 'Email sending failed', $m->ErrorInfo);
    }
}
예제 #2
0
파일: makeorder.php 프로젝트: yonkon/diplom
    $error = "";
    if (isset($_REQUEST["forma_zakaz"])) {
        if (check_order_form($error)) {
            $client_id = add_client_if_need(1);
            if (!$client_id) {
                ErrorLogger::add('iframe_order', 'Fail to add client', $error);
            }
            if (add_order($client_id, $error)) {
                ob_clean();
                header("location: /frame/?type=form&ok");
                die;
            } else {
                ErrorLogger::add('iframe_order', 'Fail to add order', $error);
            }
        } else {
            ErrorLogger::add('iframe_order', 'Fail to check order form', $error);
        }
    } else {
        clear_saved_form();
    }
    ?>

  <!-- <div class="caption_txt" id="page_caption">Заказ работы</div> -->
  <!--<div class="normal_txt" id="mkorder_info">--><?php 
    // include "text_mkorder.html";
    ?>
<!--</div>-->

  <?php 
    if (strlen($error)) {
        ?>
예제 #3
0
파일: functions.php 프로젝트: yonkon/diplom
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');
    }
}