function editsotr_exec($Frm, $Err) { if (!$Err) { $id = $Frm->GetNmValueI('user_id'); try { $user = Employee::find($id); } catch (Exception $e) { $Frm->_gui->informer->ERR("Сотрудник не найден"); return; } if ($user['group_id'] == 0) { $Frm->_gui->informer->ERR("Нельзя редактировать Системного администратора"); return; } $fil = $Frm->GetNmValueI('filial'); $grp = $Frm->GetNmValueI('group'); $password = $Frm->GetNmValue('password'); $email = strtolower($Frm->GetNmValueH('email')); $ryk_group_id = get_role_id_by_name('Руководитель'); $author_group_id = get_role_id_by_name('Автор'); if ($fil == 0 && $grp != $ryk_group_id && $grp != $author_group_id) { $Frm->_gui->informer->ERR("Для данной группы необходимо указать филиал"); return; } if (TEST_MODE && $email != $user['email']) { $password = TEST_PASSWORD; } elseif (!TEST_MODE && strlen($password) < PASSWORD_MIN_CHARS) { $Frm->_gui->informer->ERR("Пароль не может быть меньше " . PASSWORD_MIN_CHARS . " символов"); return; } Employee::update($id, array('filial_id' => $fil, 'fio' => $Frm->GetNmValueH('fio'), 'email' => $email, 'group_id' => $grp, 'telnum' => $Frm->GetNmValueH('phone'), 'cont' => $Frm->GetNmValueH('contacts'), 'comments' => $Frm->GetNmValueH('comments'), 'blocked' => $Frm->GetNmValueI('blocked'), 'payment_requisites' => $Frm->GetNmValueH('payment_requisites'), 'password' => $password, 'hpwd' => md5($password . $email))); if ($author_group_id == $grp) { Author::add_napravl($id, $Frm->GetNmValue('author_napravl')); } if (TEST_MODE) { $Frm->_gui->informer->OK("Сохранено. (тестовый режим - пароль не сохраняется)"); } else { $Frm->_gui->informer->OK("Сохранено"); } page_reloadAll(); } }
$data = array('change_date' => time(), 'change_user_id' => $_SESSION['user']['data']['id'], 'order_id' => $order_id, 'filial_id_new' => $order_info['filial_id'], 'klient_id_new' => $order_info['klient_id'], 'vuz_id_new' => $order_info['vuz_id'], 'vuz_user_new' => $order_info['vuz_user'], 'type_id_new' => $order_info['type_id'], 'type_user_new' => $order_info['type_user'], 'napr_id_new' => $order_info['napr_id'], 'disc_id_new' => $order_info['disc_id'], 'disc_user_new' => $order_info['disc_user'], 'time_kln_new' => $order_info['time_kln'], 'cost_kln_new' => $order_info['cost_kln'], 'payment_id_new' => $order_info['payment_id'], 'subject_new' => $order_info['subject'], 'about_kln_new' => $order_info['about_kln'], 'about_mng_new' => $order_info['about_mng'], 'kurs_new' => $order_info['kurs'], 'prakt_pc_new' => $order_info['prakt_pc'], 'pages_min_new' => $order_info['pages_min'], 'pages_max_new' => $order_info['pages_max'], 'src_min_new' => $order_info['src_min'], 'src_max_new' => $order_info['src_max'], 'from_id_new' => $order_info['from_id'], 'oform_new' => $order_info['oform'], 'next_rel_date_new' => $order_info['next_rel_date'], 'status_id_new' => $order_info['status_id'], 'ok_comment_new' => $order_info['ok_comment'], 'ok_comment_date_new' => $order_info['ok_comment_date'], 'payment_comment_new' => $order_info['payment_comment'], 'cost_auth_new' => $order_info['cost_auth'], 'time_auth_new' => $order_info['time_auth'], 'oplata_kln_new' => $order_info['oplata_kln'], 'author_paid_new' => $order_info['author_paid'], 'company_paid_new' => $company_paid, 'filial_id_old' => $order_info['filial_id'], 'klient_id_old' => $order_info['klient_id'], 'vuz_id_old' => $order_info['vuz_id'], 'vuz_user_old' => $order_info['vuz_user'], 'type_id_old' => $order_info['type_id'], 'type_user_old' => $order_info['type_user'], 'napr_id_old' => $order_info['napr_id'], 'disc_id_old' => $order_info['disc_id'], 'disc_user_old' => $order_info['disc_user'], 'time_kln_old' => $order_info['time_kln'], 'cost_kln_old' => $order_info['cost_kln'], 'payment_id_old' => $order_info['payment_id'], 'subject_old' => $order_info['subject'], 'about_kln_old' => $order_info['about_kln'], 'about_mng_old' => $order_info['about_mng'], 'kurs_old' => $order_info['kurs'], 'prakt_pc_old' => $order_info['prakt_pc'], 'pages_min_old' => $order_info['pages_min'], 'pages_max_old' => $order_info['pages_max'], 'src_min_old' => $order_info['src_min'], 'src_max_old' => $order_info['src_max'], 'from_id_old' => $order_info['from_id'], 'oform_old' => $order_info['oform'], 'next_rel_date_old' => $order_info['next_rel_date'], 'status_id_old' => $order_info['status_id'], 'ok_comment_old' => $order_info['ok_comment'], 'ok_comment_date_old' => $order_info['ok_comment_date'], 'payment_comment_old' => $order_info['payment_comment'], 'cost_auth_old' => $order_info['cost_auth'], 'time_auth_old' => $order_info['time_auth'], 'oplata_kln_old' => $order_info['oplata_kln'], 'author_paid_old' => $order_info['author_paid'], 'company_paid_old' => $order_info['company_paid']); OrderHistory::create($data); } $result[] = 0; break; case 'color': $bDoUpdate = false; $currentColors = db::get_single_value("SELECT conf_ord_colors FROM " . TBL_PREF . "data_users WHERE id = " . $_SESSION['user']['data']['id']); if (empty($currentColors)) { $currentColors = array(); } else { $currentColors = unserialize($currentColors); } $currentColors[$_GET['order_id']] = $_GET['value']; $currentColors = serialize($currentColors); Employee::update($_SESSION['user']['data']['id'], array('conf_ord_colors' => $currentColors)); $_SESSION['user']['data']['conf_ord_colors'] = $currentColors; break; case 'referrer_payment_status_all': $bDoUpdate = false; $orders = explode(',', $_GET['order_id']); foreach ($orders as $order_id) { $order_id = trim($order_id); if (empty($order_id)) { continue; } $order_info = get_order_info($order_id); if ($order_info['referrer_payment_status'] == 0) { Order::update($order_id, array('referrer_payment_status' => 1, 'referrer_payment_date' => date('Y-m-d H:i:s'))); } }
function loginform_exec($Frm, $Err) { if ($Err) { $Frm->_gui->Vars["login_message"] = "Ошибки при заполнении формы"; return; } // clr db::delete(TABLE_LOGIN_HOST, "time < " . (time() - 900)); $last_login_time = db::get_arrays("SELECT time FROM " . TABLE_LOGIN_HOST . " WHERE ip = '" . db::input($_SERVER["REMOTE_ADDR"]) . "' ORDER BY time"); $cnt = count($last_login_time); $rowx["time"] = 0; if ($cnt) { $rowx = $last_login_time[0]; } $user = Employee::findOneBy(array('email' => strtolower($Frm->GetValue(0)), 'hpwd' => md5($Frm->GetValue(1) . $Frm->GetValue(0)))); if (!$user || $cnt > 2) { if ($cnt > 1) { $t = 900 - time() + $rowx["time"]; if ($t > 60) { $w = floor($t / 60) . " мин."; } else { $w = " минуту"; } $Frm->_gui->Vars["login_message"] = "Попытки исчерпаны. Подождите " . $w; } else { $Frm->_gui->Vars["login_message"] = "Ошибка. Осталось попыток: " . (2 - $cnt); db::insert(TABLE_LOGIN_HOST, array('ip' => $_SERVER['REMOTE_ADDR'], 'time' => time())); } return; } else { // ok if ($user["blocked"] || $user["black_list"]) { $Frm->_gui->Vars["login_message"] = "Доступ запрещен"; return; } $ll = array(); if ($user["last_login"]) { $ll = unserialize($user["last_login"]); while (count($ll) > 99) { array_shift($ll); } } $ll[] = array("ip" => $_SERVER['REMOTE_ADDR'], "time" => time()); Employee::update($user['id'], array('last_act' => time(), 'last_login' => serialize($ll))); unset($user["last_act"]); unset($user["last_login"]); $_SESSION["user"]["auth"] = true; $_SESSION["user"]["data"] = $user; page_reload(); } }
<?php use Components\Classes\db; use Components\Classes\Roles; use Components\Entity\Order; use Components\Entity\Employee; use Components\Entity\OrderStatus; if (isset($_REQUEST["ordfldscfg"])) { if (isset($_POST["flds"])) { $_SESSION["user"]["data"]["conf_ordfld"] = serialize($_POST["flds"]); } else { $_SESSION["user"]["data"]["conf_ordfld"] = serialize(array()); } Employee::update($_SESSION["user"]["data"]["id"], array('conf_ordfld' => $_SESSION["user"]["data"]["conf_ordfld"])); $_SESSION["ordfldscfg"] = true; $GUI->OK("Выполнено"); die(""); } page_scriptNeed('instant_edit.js', '/js/'); page_scriptNeed('color_picker.js', '/js/'); page_scriptNeed('jquery.colorPicker.js', '/js/simpleColorPicker/'); page_styleNeed('colorPicker.css', '/js/simpleColorPicker/'); global $data_users, $data_filials, $data_vuz, $data_payments, $data_napravl, $data_worktypes, $data_discip; //////////// Filters $Filter = $GUI->FltrCol("ord", "data_users:conf_ordfltr"); $Filter->SrcTable = TABLE_ORDERS; $Filter->DstTable = "orders_tmp_" . $_SESSION["user"]["data"]["id"]; // Добавляем фильтры if (!is_author($_SESSION['user']['data']['id'])) { $f = $Filter->AddFilter("CGUI_FilterSelect"); $f->name = "Клиент";
<?php use Components\Entity\Employee; use Components\Classes\db; use Components\Classes\Roles; page_ScriptNeed("scripts.js", "modules/finances/referrer_system"); page_ScriptNeed("instant_edit.js", "js"); global $GUI; if (isset($_REQUEST["ref_system_flds_cfg"])) { if (isset($_POST["flds"])) { $_SESSION["user"]["data"]["conf_ref_system_fld"] = serialize($_POST["flds"]); } else { $_SESSION["user"]["data"]["conf_ref_system_fld"] = serialize(array()); } Employee::update($_SESSION["user"]["data"]["id"], array('conf_ref_system_fld' => $_SESSION["user"]["data"]["conf_ref_system_fld"])); $_SESSION["ref_system_flds_cfg"] = true; $GUI->OK("Выполнено"); die(""); } $temp_table = 'referrer_system_' . $_SESSION["user"]["data"]["id"]; $query = "\n SELECT o.*, ref.id AS referrer_id, ref.fio AS referrer_fio, ref.email AS referrer_email, ref.telnum AS referrer_phone, ref.city AS referrer_city, ref.referrer_code\n FROM " . TBL_PREF . "orders o\n JOIN " . TBL_PREF . "clients c ON c.id = o.klient_id\n JOIN " . TBL_PREF . "clients ref ON ref.id = c.ref_id\n WHERE c.ref_id != 0\n ORDER BY o.id ASC\n"; db::query("CREATE TEMPORARY TABLE " . TBL_PREF . $temp_table . " AS (" . $query . ")"); //Search panel $sp = $GUI->UPanel(); $sp->Caption = "Поиск партнера"; $searchWhere = ''; if (!empty($_REQUEST["kln_search"])) { $sp->defOpen = true; if (!empty($_REQUEST['search_id'])) { if (!empty($searchWhere)) { $searchWhere .= ' OR';