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; } } }
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(); } } }
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(); } }
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(); } } }
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(); } }
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(); } }
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)); } } }
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); } }