Exemple #1
0
function addclient_exec($Frm, $Err)
{
    if (!$Err) {
        $rnd_pwd = $Frm->GetNmValueI('random_password');
        if ($rnd_pwd) {
            $pwd = generate_pasw(5);
        } else {
            $pwd = $Frm->GetNmValueH('password');
        }
        $eml = trim(strtolower($Frm->GetNmValue('email')));
        if (Client::exist($eml)) {
            $Frm->_gui->informer->ERR("Клиент с таким email уже существует");
            page_reloadAll();
        }
        $filial_id = Filials::check($Frm->GetNmValueI('filial_id'));
        $client_id = Client::create(array('filial_id' => $filial_id, 'fio' => $Frm->GetNmValueH('name'), 'email' => $eml, 'telnum' => $Frm->GetNmValueH('phone'), 'city' => $Frm->GetNmValueH('city'), 'icq' => $Frm->GetNmValueH('icq'), 'skype' => $Frm->GetNmValueH('skype'), 'contacts' => $Frm->GetNmValueH('contacts'), 'about' => $Frm->GetNmValueH('about'), 'ref_id' => $Frm->GetNmValueI('ref'), 'from_id' => $Frm->GetNmValueI('client_from'), 'added_by' => $_SESSION["user"]["data"]["id"], 'password' => $pwd));
        $Frm->_gui->OK("Добавлено");
        switch ($Frm->GetNmValueI('next')) {
            case 0:
                page_reloadSec();
                break;
            case 1:
                header("location: ?section=kln&subsection=2&edit=" . $client_id);
                die;
                break;
            case 2:
                header("location: ?section=ord&subsection=1&kln_id=" . $client_id);
                die;
                break;
        }
    }
}
Exemple #2
0
function editfilial_exec($Frm, $Err)
{
    global $data_filials;
    if (!$Err) {
        $id = $Frm->GetValueI(0);
        $tm_open = $Frm->GetNmValueH('time_from');
        $tm_close = $Frm->GetNmValueH('time_to');
        if ($tm_close < $tm_open) {
            $Frm->_gui->ERR("Время закрытия не должно быть меньше времени открытия");
            return;
        }
        $is_default = $Frm->GetNmValueI('default');
        if ($is_default) {
            foreach ($data_filials as $fil) {
                if ($fil['default'] == 1) {
                    Filial::update($fil['id'], array('default' => 0));
                }
            }
        }
        Filial::update($id, array("user_id" => $Frm->GetNmValueI('manager'), "name" => $Frm->GetNmValueH('name'), "web" => $Frm->GetNmValueH('url'), "about" => $Frm->GetNmValueH('description'), "rem" => $Frm->GetNmValueH('notes'), "tm_open" => $tm_open, "tm_close" => $tm_close, 'default' => $is_default, 'profit' => $Frm->GetNmValueI('profit') / 100, 'consumption' => $Frm->GetNmValueI('consumption') / 100, 'email' => $Frm->GetNmValueH('email'), 'order_form_path' => $Frm->GetNmValueH('order_form_path')));
        $cities = explode('_', $Frm->GetNmValue('city'));
        add_city_to_filial($id, $cities);
        $Frm->_gui->informer->OK("Сохранено");
        page_reloadAll();
    } else {
    }
}
function edit_description_exec($Frm, $Err)
{
    global $email_notifications_types;
    if (!$Err) {
        $id = intval($Frm->GetValue(0));
        $descr = str_replace("'", '"', htmlspecialchars($Frm->GetValue(1)));
        //$persist = (null !== $Frm->GetValue(2)) ? 1 : 0;
        //$send = (null !== $Frm->GetValue(3)) ? 1 : 0;
        $action_type = $Frm->GetValue(2);
        in_array($action_type, array(0, 1, 2)) or $action_type = 0;
        if (isset($email_notifications_types[$id])) {
            db::update(TABLE_EMAIL_NOTIFICATION_TYPES, array('description' => $descr, 'action_type' => $action_type), "id=" . $id);
            $Frm->_gui->informer->OK("Сохранено");
            page_reloadAll();
        }
    }
}
Exemple #4
0
function add_city_exec($Frm, $Err)
{
    if (!$Err) {
        $name = str_replace("'", '"', htmlspecialchars($Frm->GetValue(0)));
        if (db::get_single_value("SELECT COUNT(*) FROM " . TABLE_CITIES . " WHERE name = '" . db::input($name) . "'")) {
            $Frm->_gui->informer->ERR("Запись существует");
            page_reloadAll();
        }
        db::insert(TABLE_CITIES, array('name' => $name));
        $Frm->_gui->informer->OK("Добавлено");
        page_reloadSubSec();
    }
}
Exemple #5
0
function fp_loadfile($Frm, $Err)
{
    global $order_id;
    if (!$Err) {
        $f = $Frm->GetValue(0);
        //$f["tmp_name"]
        //$f["name"]
        //$f["size"]
        //$f["type"]
        if (is_uploaded_file($f["tmp_name"])) {
            $extension = get_file_ext($f['name']);
            if (trim($Frm->GetValueH(1)) == "") {
                $name = $f["name"];
            } else {
                $name = trim($Frm->GetValueH(1)) . '.' . $extension;
            }
            $file_id = Order::attachFile($order_id, $_SESSION["user"]["data"]["id"], $name, $f["size"]);
            if (!$file_id) {
                $Frm->_gui->ERR("Ошибка при загрузке");
            } else {
                $dir = DIR_FS_ORDER_FILES . $order_id . '/';
                if (!is_dir(DIR_FS_ORDER_FILES)) {
                    create_path('order_files', DIR_FS_DOCUMENT_ROOT);
                }
                if (!is_dir($dir)) {
                    create_path($order_id, DIR_FS_ORDER_FILES);
                }
                $file_name = $file_id . '.' . $extension;
                if (move_uploaded_file($f['tmp_name'], $dir . $file_name)) {
                    $Frm->_gui->OK("Файл загружен");
                    if ($_SESSION["user"]["data"]["group_id"] == 6 && get_order_author_id($order_id) == $_SESSION["user"]["data"]["id"]) {
                        $res = change_order_status($order_id, 'RECEIVED_FILE_FROM_AUTHOR');
                        if ($res == 1) {
                            $Frm->_gui->OK("Статус заказа изменен");
                        } else {
                            $Frm->_gui->ERR($res);
                        }
                    }
                } else {
                    Order::deleteAttachedFile($file_id);
                    $Frm->_gui->ERR("Ошибка при сохранении файла");
                }
            }
            page_reloadAll();
        }
    }
}
Exemple #6
0
function add_authors_group_exec($Frm, $Err)
{
    if (!$Err) {
        $name = str_replace("'", '"', htmlspecialchars($Frm->GetValue(0)));
        $db->Select("authors_groups", "*", "WHERE name='" . $name . "'");
        if ($db->ResultCount) {
            $Frm->_gui->informer->ERR("Запись существует");
            page_reloadAll();
        }
        $db->Insert("authors_groups", "name", $name);
        $Frm->_gui->informer->OK("Добавлено");
        page_reloadSubSec();
    }
}
Exemple #7
0
function add_group_exec($Frm, $Err)
{
    if (!$Err) {
        $name = $Frm->GetNmValueH('name');
        $sname = $Frm->GetNmValueH('sname');
        if (Role::findOneBy(array('name' => $name, 'sname' => $sname))) {
            $Frm->_gui->informer->ERR("Запись существует");
            page_reloadAll();
        }
        Role::create(array('name' => $name, 'sname' => $sname));
        $Frm->_gui->informer->OK("Добавлено");
        page_reloadSubSec();
    }
}
Exemple #8
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));
        }
    }
}
Exemple #9
0
function getmsgs_exec($Frm, $Err)
{
    if (!$Err) {
        $sotrudnik_id = $Frm->GetNmValueI('employer_id');
        $mail_with_sotrudnik = $Frm->GetNmValueI('with_employers');
        $mail_with_client = $Frm->GetNmValueI('with_clients');
        $mail_client_id = $mail_sotrudnik_id = 0;
        if ($mail_with_sotrudnik) {
            $mail_sotrudnik_id = $Frm->GetNmValueI('employers');
        } elseif ($mail_with_client) {
            $mail_client_id = $Frm->GetNmValueI('clients');
        } else {
            $Frm->_gui->informer->ERR("Выберите с кем хотите посмотреть переписку");
            page_reloadAll();
        }
        $date_from = $Frm->GetNmValue('date_from');
        $date_till = $Frm->GetNmValue('date_to');
        $mail_type = $Frm->GetNmValueI('direction');
        if (empty($date_from)) {
            $date_from = date('d-m-Y', strtotime('-1 year'));
        }
        if (empty($date_till)) {
            $date_till = date('d-m-Y');
        }
        redirect('index.php?section=mls&show_history=1&sotr_id=' . $sotrudnik_id . '&date_from=' . $date_from . '&date_till=' . $date_till . '&mail_type=' . $mail_type . '&mail_with_sotr=' . $mail_with_sotrudnik . '&mail_with_client=' . $mail_with_client . '&mail_sotr_id=' . $mail_sotrudnik_id . '&mail_client_id=' . $mail_client_id);
    }
}