function create_new_user($login, &$err) { $err = ""; $name = clearText($_REQUEST["loginform"]["name"]); if (!strlen($name)) { $err = "Укажите имя"; return false; } $tel = clearText($_REQUEST["loginform"]["tel"]); $city = clearText($_REQUEST["loginform"]["city"]); $cont = clearText($_REQUEST["loginform"]["cont"]); $liketel = intval(clearText(@$_REQUEST["loginform"]["liketel"])); $teltime = clearText(@$_REQUEST["loginform"]["teltime"]); $filial_domain = clearText(@$_REQUEST['loginform']['zf_filial_domain']); //get filial by domain $add_to_filial = Filials::search($filial_domain, $city); // create client $pwd = generate_pasw(5); $client_id = Client::create(array('filial_id' => $add_to_filial, 'fio' => $name, 'email' => $login, 'telnum' => $tel, 'city' => $city, 'liketel' => $liketel, 'teltime' => $teltime, 'contacts' => $cont, 'password' => $pwd)); if ($client_id < 1) { return false; } auth_client($login); // send reg email $txt = "<p>Здравствуйте, " . $name . "!</p>" . "<p>Мы очень рады, что Вы решили воспользоваться нашими услугами и высоко ценим Ваше доверие!</p>" . "<p>Теперь Вы можете войти в личный кабинет:<br>" . " Логин: " . $login . "<br>" . " Пароль: " . $pwd . "<br></p>" . "<p><i>С уважением, компания по написанию студенческих работ.</i></p>"; $email = new Email(); $email->setData(array('email' => $login, 'name' => $name), "Регистрация на сайте написания рефератов", $txt, array(), true, array(), array('email' => Filials::getEmail($add_to_filial), 'name' => Filials::getName($add_to_filial))); if (!$email->send()) { die; } return true; }
public static function getReceiverEmailAndName($receiver_id) { if (strlen($receiver_id) < 2) { return false; } $receiver_type = substr($receiver_id, 0, 1); $id = substr($receiver_id, 1); $emailAndName = array('email' => '', 'name' => ''); switch ($receiver_type) { case 'u': need_data('data_users'); global $data_users; if (!empty($data_users[$id]['email'])) { $emailAndName['email'] = $data_users[$id]['email']; } if (!empty($data_users[$id]['fio'])) { $emailAndName['name'] = $data_users[$id]['fio']; } break; case 'k': $client = Client::find($id); if (!empty($client['email'])) { $emailAndName['email'] = $client['email']; } if (!empty($client['fio'])) { $emailAndName['name'] = $client['fio']; } break; } return $emailAndName; }
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 tp_get_id($value, $row, $table, &$info) { if ($table instanceof CGUI_Table && $table->rowmenu) { $table->rowmenu->Vars[1] = $value; $table->rowmenu->Vars[2] = $row["klient_id"]; $html = $table->rowmenu->GetHTML($value); } else { $html = $value; } $referrer = Client::find($row['referrer_id']); $info = new CGUI_TableCellInfo(); $info->Text("<p>Номер: #" . $referrer['id'] . "</p>" . "<p>Имя: " . $referrer['fio'] . "</p>"); $info->icon = '<img src="' . SITE_URL . '/gui/skin/coins.png"/>'; return $html; }
function auth_client($email) { if (is_client_logged()) { return true; } if (!validateEmail($email)) { return false; } $client = Client::findOneBy(array('email' => $email)); if (!$client) { return false; } $_SESSION["frame"]["client"] = $client; return true; }
function check_rm_form(&$err) { if (isset($_REQUEST["ok"])) { return true; } $err = ""; if (!isset($_REQUEST["rm_user_login"]) || !strlen($_REQUEST["rm_user_login"])) { return false; } if (!isset($_REQUEST["rm_user_code"])) { return false; } $login = clearText($_REQUEST["rm_user_login"]); $code = clearText($_REQUEST["rm_user_code"]); if (!strlen($login)) { $err = "Укажите адрес электронной почты"; return false; } if (!validateEmail($login)) { $err = "Укажите корректный адрес электронной почты"; return false; } if (strlen($code) != 4 || $code != @$_SESSION["remind_scode"]) { $err = "Неверный код"; return false; } $client = Client::findOneBy(array('email' => $login)); if ($client) { $txt = "<p>Здравствуйте, " . $client["fio"] . "!</p>"; $txt .= "Пароль для доступа к личному кабинету: <i>" . $client["password"] . "</i>"; $txt .= "<p><i>С уважением, компания по написанию студенческих работ.</i></p>"; $email = new Email(); $email->setData(array('email' => $client["email"], 'name' => $client["fio"]), "Восстановление пароля", $txt, array(), true, array(), array('email' => Filials::getEmail($client["filial_id"]), 'name' => Filials::getName($client["filial_id"]))); $email->send(); } ob_end_clean(); header("location: ?type=remind&ok"); die; }
<?php use Components\Classes\Roles; use Components\Entity\Client; $GUI->mmenu->selected->selected->caption = "Редактирование"; $client = Client::find($_REQUEST["edit"]); if (!$client) { $GUI->ERR("Клиент не найден"); page_ReloadSec(); } if (Roles::isActionAllowed($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "Назначить встречу")) { $GUI->cmdmenu->AddItem("Назначить встречу", "?section=vis&subsection=1&kln=" . $client["id"]); } if (Roles::isActionAllowed($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "Принять заказ")) { $GUI->cmdmenu->AddItem("Принять заказ", "?section=ord&subsection=1&kln_id=" . $client["id"]); } if (Roles::isActionAllowed($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "Заказы")) { $GUI->cmdmenu->AddItem("Заказы", "?section=ord&subsection=2&kln_id=" . $client["id"]); $GUI->cmdmenu->AddItem("Заказы (архив)", "?section=ord&subsection=3&kln_id=" . $client["id"]); // maxf 30.03.2014 Чтобы видеть арихивные заказы } if (Roles::isActionAllowed($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "История клиента")) { $GUI->cmdmenu->AddItem("История клиента", "?section=kln&subsection=2&action=history_table&kln_id=" . $client["id"]); } $ypos = 10; $frm = $GUI->Form("Данные о клиенте #" . $client["id"], 400, 610); $frm->OnExecute = "editclient_exec"; $h = $frm->Hidden($client["id"]); $h->linkName = "id"; $frm->Label("Имя", 10, $ypos); $t = $frm->Text(40, $ypos - 5, 350, $client["fio"]);
function sendmessage_exec($Frm, $Err) { global $data_users; if (!$Err) { // Авторам запрещено писать клиентам $to_kln = $_SESSION["user"]["data"]["group_id"] != 6; //Декодирование адресатов $adrs = strtolower($Frm->GetNmValue("to")); $adrs = preg_replace("[^uk0-9;]", "", $adrs); $adrs = explode(";", $adrs); $adrs_k = array(); $adrs_u = array(); foreach ($adrs as $v) { $ind = intval(substr($v, 1)); $s = substr($v, 0, 1); if ($to_kln && $s == 'k' && $ind) { $adrs_k[] = $ind; } else { if ($s == 'u' && $ind) { $adrs_u[] = $ind; } } } if (!count($adrs_u) && !count($adrs_k)) { $Frm->_gui->informer->ERR("Неверно указан получатель"); return; } foreach ($adrs_u as $v) { if (!isset($data_users[$v])) { $Frm->_gui->informer->ERR("Указан несуществующий получатель"); return; } } $srok = 0; if (strlen($Frm->GetNmValue("date"))) { $d = explode("-", $Frm->GetNmValue("date")); $srok = mktime(0, 0, 0, $d[1], $d[0], $d[2]); if ($srok < mktime(0, 0, 0, date("n"), date("j"), date("Y"))) { $Frm->_gui->informer->ERR("Неверно указан срок ответа"); return; } } $subj = $Frm->GetNmValueH("subj"); $text = $Frm->GetNmValueH("txt"); $prior = $Frm->GetNmValueI("prior"); $parent_id = 0; if ($Frm->GetNmValue("ans")) { $parent_id = $Frm->GetNmValue("ans"); } // Для каждого получателя формирутеся свой экземпляр foreach ($adrs_k as $a) { $message_id = mls_Send("k" . $a, "u" . $_SESSION["user"]["data"]["id"], $subj, $text, $prior, $srok, $parent_id, 0, $a, 0, 0); $client = \Components\Entity\Client::find($a); if (!empty($message_id) && !empty($client['email'])) { enqueue_message_to_email($message_id, $client['email'], EmailNotification::TO_RECEIVER_ON_MESSAGE_COMMON); } } foreach ($adrs_u as $a) { $message_id = mls_Send("u" . $a, "u" . $_SESSION["user"]["data"]["id"], $subj, $text, $prior, $srok, $parent_id, 0, 0, 0, 0); \Components\Classes\Author::enqueue_message_to_email($message_id, array($a), EmailNotification::TO_RECEIVER_ON_MESSAGE_COMMON); } $Frm->_gui->informer->OK("Сообщение создано"); page_reloadToSec(3); } }
<?php use Components\Entity\Client; $GUI->mmenu->selected->selected->caption = "Запрос на удаление"; $client = Client::find($_REQUEST["kln_id"]); if ($client) { $frm = $GUI->Form("Удалить клиента?", 400, 100); $frm->OnExecute = "delclient_exec"; $t = $frm->Hidden($client["id"]); $t->linkName = 'id'; $frm->Label("Клиент: " . $client["fio"], 10, 10); $frm->Button("Удалить", 110, 40, 80, true); $b = $frm->Button("К списку", 210, 40, 80); $b->Event = "document.location.href=\"?section=kln&subsection=2\"; return false;"; } else { $GUI->ERR("Клиент не найден"); page_reloadToSec("2"); }
use Components\Entity\Client; // $GUI->Vars["page_hdr"] = "Содержание заказа. Тут выводим данные о том, что от нас хочет заказчик."; $frm = $GUI->Form("Содержание заказа №" . $order_id, 650); $ypos = 10; $is_author = is_author($_SESSION["user"]["data"]['id']); if ($is_author) { $h = 800; } else { $h = 1130; } $frm->VLine(10, $h - 80, 630); $frm->height = $h; $b = $frm->Button("К списку", 275, $h - 60, 100); $b->Event = "document.location.href=\"?section=ord&subsection=2\"; return false;"; if (!$is_author) { $client = Client::find($order_info['klient_id']); $frm->Label("Клиент: <b>" . $client["fio"] . "</b>", 10, $ypos); $ypos += 20; $frm->Label("Почта: <b>" . $client["email"] . "</b>", 10, $ypos); $ypos += 20; $frm->Label("Телефон: <b>" . $client["telnum"] . "</b>", 10, $ypos); $ypos += 20; $s = $frm->Hidden($client["id"]); //0 $s->linkName = "client"; $b = $frm->Button("Инфо", 560, $ypos - 32, 70); $b->Event = 'var id= jQuery("#' . $s->idname . '").val(); if(id!=0) window.open("?section=kln&subsection=2&edit="+id);'; $frm->VLine(10, $ypos, 630); $ypos += 10; } $frm->Label("ВУЗ", 10, $ypos);
function check_order_form(&$err) { save_order_form(); $err = ""; // Обработка файлов // Если передается файл, то запускаем прием файла if (isset($_FILES["zf_work_file"]) && $_FILES["zf_work_file"]["error"] && strlen($_FILES["zf_work_file"]["name"])) { $err = "Ошибка при загрузке файла"; return false; } if (isset($_REQUEST["zf_file_to_del"]) && intval($_REQUEST["zf_file_to_del"]) > -1) { // Удалить файл $path = TMPFILES_PATH . session_id(); $fls = check_user_files(); $delfile = $fls[intval($_REQUEST["zf_file_to_del"])]["full"]; if (is_file($delfile)) { unlink($delfile); } $fls = check_user_files(); if (!count($fls) && file_exists($path)) { rmdir($path); } $err = "Файл удален"; return false; } if (is_uploaded_file($_FILES["zf_work_file"]["tmp_name"])) { // Формируем новое имя файла $path = TMPFILES_PATH . session_id(); if (!file_exists($path)) { @mkdir($path); } if (file_exists($path)) { $new_name = $path . "/" . $_FILES["zf_work_file"]["name"]; if (file_exists($new_name)) { unlink($new_name); } move_uploaded_file($_FILES["zf_work_file"]["tmp_name"], $new_name); } $err = "Файл сохранен"; return false; } // check auth if need if (!is_client_logged()) { $login = clearText($_REQUEST["zf_user_login"]); // need login if (!validateEmail($login)) { if (isset($_REQUEST["ajax_mode"])) { ob_clean(); die("-1"); } $err = "Необходимо указать адрес электронной почты"; return false; } if ($client = Client::findOneBy(array('email' => $login))) { $_SESSION["frame"]["client"] = $client; } else { // create new user } } // check form $_SESSION["zf_work_tema"] = substr($_SESSION["zf_work_tema"], 0, 200); $_SESSION["zf_work_pages"] = substr($_SESSION["zf_work_pages"], 0, 50); $_SESSION["zf_work_dopinfo"] = substr($_SESSION["zf_work_dopinfo"], 0, 1000); return true; }
/** * @deprecated use Message::getReceiverEmailAndName() method instead * @see Message * @param $receiver_id * @return string|bool */ function message_receiver_to_email($receiver_id) { if (strlen($receiver_id) < 2) { return false; } $receiver_type = substr($receiver_id, 0, 1); $id = substr($receiver_id, 1); $email = false; switch ($receiver_type) { case 'u': need_data('data_users'); global $data_users; if (!empty($data_users[$id]['email'])) { $email = $data_users[$id]['email']; } break; case 'k': $client = Client::find($id); if (!empty($client['email'])) { $email = $client['email']; } break; } return $email; }
$error = ""; if (isset($_REQUEST["cab_prof_infochng"])) { $c = clearText($_REQUEST["cab_prof_infochng"]); $c = substr($c, 0, 500); Client::update($_SESSION["frame"]["client"]["id"], array('contacts' => $c)); $_SESSION["frame"]["client"]["contacts"] = $c; $info = "Сохранено"; } if (isset($_REQUEST["cab_prof_pwdchng"]) && is_array($_REQUEST["cab_prof_pwdchng"])) { $a = $_REQUEST["cab_prof_pwdchng"]; if ($a["old"] == $_SESSION["frame"]["client"]["password"]) { if ($a["new"] == $a["rep"]) { $new = preg_replace("/[^0-9a-z]/i", "", $a["new"]); if (strlen($new) > 4 && strlen($new) < 21) { $hpwd = md5($new . strtolower($_SESSION["frame"]["client"]["email"])); Client::update($_SESSION["frame"]["client"]["id"], array('hpwd' => $hpwd, 'password' => $new)); $info = "Пароль изменен"; $txt = "<p>Здравствуйте, " . $_SESSION["frame"]["client"]["fio"] . "!</p>" . "Новый пароль для доступа к личному кабинету: <i>" . $new . "</i>" . "<p><i>С уважением, компания по написанию студенческих работ.</i></p>"; $email = new Email(); $email->setData(array('email' => $_SESSION["frame"]["client"]["email"], 'name' => $_SESSION["frame"]["client"]["fio"]), "Изменение пароля к личному кабинету", $txt, array(), true, array(), array('email' => Filials::getEmail($_SESSION["frame"]["client"]["filial_id"]), 'name' => Filials::getName($_SESSION["frame"]["client"]["filial_id"]))); if ($email->send()) { $info .= ". Сообщение на почту отправлено."; } else { $info .= ". Не удалось отправить сообщение на почту."; } } else { $error = "Длина пароля должна быть 5-20 символов 0-9,a-z"; } } else { $error = "Пароли не совпадают"; }
$u = 0; $k = 0; foreach ($a as $v) { if (strtolower(substr($v, 0, 1)) == "u") { $script[] = "selected_users[" . $u++ . "]=" . intval(substr($v, 1)) . ";"; } if (strtolower(substr($v, 0, 1)) == "k") { $script[] = "selected_clients[" . $k++ . "]=" . intval(substr($v, 1)) . ";"; } } } if ($to_kln) { if (is_director($_SESSION["user"]["data"]["id"])) { $clients = Client::findAll(); } else { $clients = Client::findBy(array('filial_id' => $_SESSION["user"]["data"]["filial_id"])); } $k = 0; foreach ($clients as $v) { $script[] = "clients_list[" . $k++ . "]={id:" . $v["id"] . ",name:'" . $v["fio"] . "'};"; } } $script[] = "</script>"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <script type='text/javascript' src='/js/1.7.2.jquery.js'></script>
public static function edit_client($params) { $cid = $params['client_id']; unset($params['client_id']); $res = Client::update($cid, $params['fields_values']); // db::Update("clients", array_keys($params['fields_values']), array_values($params['fields_values']), $params['params']); if (0 == ($errno = mysql_errno() && $res)) { return self::generate_response(true, "OK"); } else { return self::generate_response(false, db::error('client updating SQL', $errno, mysql_error())); } }
function tp_getclientname($value, $row, $table, &$info) { try { $client = Client::find($value); return $value . ". <a href='?section=kln&subsection=2&edit=" . $value . "'>" . $client["fio"] . "</a>"; } catch (InvalidArgumentException $e) { return '<i>не определено</i>'; } }