示例#1
0
文件: login.php 项目: yonkon/diplom
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>" . "&nbsp;Логин: " . $login . "<br>" . "&nbsp;Пароль: " . $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;
}
示例#2
0
文件: Message.php 项目: yonkon/diplom
 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;
 }
示例#3
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;
        }
    }
}
示例#4
0
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;
}
示例#5
0
文件: func.php 项目: yonkon/diplom
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;
}
示例#6
0
文件: remind.php 项目: yonkon/diplom
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;
}
示例#7
0
文件: edit.php 项目: yonkon/diplom
<?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"]);
示例#8
0
文件: inc_new.php 项目: yonkon/diplom
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);
    }
}
示例#9
0
文件: delete.php 项目: yonkon/diplom
<?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");
}
示例#10
0
文件: view.php 项目: yonkon/diplom
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);
示例#11
0
 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;
 }
示例#12
0
/**
 * @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;
}
示例#13
0
 $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 = "Пароли не совпадают";
         }
示例#14
0
文件: adrbook.php 项目: yonkon/diplom
    $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>
示例#15
0
 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()));
     }
 }
示例#16
0
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>';
    }
}