コード例 #1
0
ファイル: functions.php プロジェクト: yonkon/diplom
function city_modal($hidden_field_id, $filial_id = null)
{
    global $GUI, $filial_module_root, $data_city;
    need_data('data_city');
    $GUI->tmpls[] = $filial_module_root . "city.tmpl.php";
    $frm = $GUI->ModalFormEx("Города филиала", 300, 280);
    $frm->Nosubmit = true;
    $GUI->Vars["city_modal_form"] = $frm;
    if (empty($filial_id)) {
        $exlude_cities = db::get_single_values_array("SELECT DISTINCT city_id FROM " . TBL_PREF . "filial_to_city");
    } else {
        $exlude_cities = db::get_single_values_array("SELECT DISTINCT city_id FROM " . TBL_PREF . "filial_to_city WHERE filial_id != " . $filial_id);
    }
    $ypos = 0;
    $cities = array();
    foreach ($data_city as $city) {
        if (in_array($city['id'], $exlude_cities)) {
            continue;
        }
        $cities[$city['id']] = $city['name'];
    }
    ksort($cities);
    $s = $frm->Select(10, $ypos += 20, 280, $cities, '', 0);
    $s->Multiple = true;
    $s->RowSize = 10;
    $s->linkName = 'cities';
    $s->name = 'cities[]';
    $b = $frm->Button("Выбрать", 50, $ypos += 190, 80);
    $b->Event = "check_cities('" . $hidden_field_id . "', '" . $frm->idname . "');";
    $b = $frm->Button("Отмена", 150, $ypos, 80);
    $b->Event = 'jQuery.modal.close();';
}
コード例 #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
ファイル: add.php プロジェクト: yonkon/diplom
     if ($kln) {
         $def_user_id = $kln["added_by"];
     }
 }
 if (!isset($users[$def_user_id])) {
     $def_user_id = 0;
 }
 // Сотрудник
 $ss = $frm->Select(10, $ypos += 20, 280, array(0 => "-выберите-") + $users, "", $def_user_id);
 $ss->AddValidator(new CGUI_VALIDATOR_NOZERO());
 $ss->linkName = "user";
 $d = $frm->EmptyDiv(310, $ypos, 280, 80);
 $d->css = "";
 $d->Id = "vis_user_busy_box";
 $ss->AddJsEvent("change", "vis_get_user_visits(jQuery('#" . $ss->idname . "').val(), " . $dt . ", '" . implode(":", $ulist) . "')");
 need_data("subway_stations");
 $stations = array();
 foreach ($subway_stations as $station) {
     $stations[$station['id']] = $station['name'];
 }
 $ss2 = $frm->Select(10, $ypos += 30, 280, array(0 => "-выберите-") + $stations, "", 0);
 $ss2->AddValidator(new CGUI_VALIDATOR_NOZERO());
 $ss2->linkName = "station";
 $frm->Label("Начало", 10, $ypos += 30);
 $frm->Label("Окончание", 100, $ypos);
 $def_s = utils_cvt_time2i("10:00");
 $t1 = $frm->TimePic(10, $ypos += 20, 50, $def_s);
 $t1->min_step = 5;
 $t1->linkName = "start";
 $t2 = $frm->TimePic(100, $ypos, 50, $def_s + 5);
 $t2->min_step = 5;
コード例 #4
0
ファイル: filial_cities.php プロジェクト: yonkon/diplom
<?php

use Components\Classes\db;
need_data("data_city");
if (isset($_REQUEST["edit"])) {
    $id = intval($_REQUEST["edit"]);
    if (isset($data_city[$id])) {
        $frm = $GUI->Form("Редактировать", 400, 120);
        $frm->Hidden($id);
        $frm->Button("Сохранить", 100, 70, 80, true);
        $frm->OnExecute = "edit_city_exec";
        $b = $frm->Button("К списку", 220, 70, 80);
        $b->Event = "document.location.href=\"?" . $GUI->Url(array('section', 'subsection', 'edit')) . "\"; return false;";
        $frm->Label("Название", 10, 10);
        $t = $frm->Text(10, 30, 378, $data_city[$id]["name"]);
        $t->AddValidator(new CGUI_VALIDATOR_NOEMPTY());
        $t->AddValidator(new CGUI_VALIDATOR_MAXLEN(40));
        if (user_can($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "Удалить")) {
            $GUI->cmdmenu->AddItem("Удалить", "?section=sprav&subsection=4&del=" . $id);
        }
    } else {
        $GUI->informer->ERR("Запись не найдена");
        page_ReloadSubSec();
    }
} elseif (isset($_REQUEST["add"])) {
    $frm = $GUI->Form("Добавить", 400, 120);
    $frm->Button("Добавить", 100, 70, 80, true);
    $frm->OnExecute = "add_city_exec";
    $b = $frm->Button("К списку", 220, 70, 80);
    $b->Event = "document.location.href=\"?" . $GUI->Url(array('section', 'subsection', 'add')) . "\"; return false;";
    $frm->Label("Название", 10, 10);
コード例 #5
0
ファイル: functions.php プロジェクト: yonkon/diplom
function _get_vuz_name($value, $row, $table, &$info)
{
    $id = intval($value);
    if ($id == 0) {
        if ($row["vuz_user"] == "") {
            return "<i>не задан</i>";
        } else {
            return $row["vuz_user"];
        }
    } else {
        need_data("data_vuz");
        global $data_vuz;
        $info = new CGUI_TableCellInfo();
        $info->Text($data_vuz[$value]["name"]);
        return $data_vuz[$value]["sname"];
    }
}
コード例 #6
0
ファイル: init.php プロジェクト: yonkon/diplom
<?php

need_data('data_filials');
need_data('data_users');
$filial_module_root = $module_root;
コード例 #7
0
ファイル: edit.php プロジェクト: yonkon/diplom
$ypos += 20;
$s = $frm->Select(10, $ypos, 450, array(0 => "-выберите-") + kln_getlist(), "", $order_info['klient_id']);
//0
$s->linkName = "klient";
$s->AddValidator(new CGUI_VALIDATOR_NOZERO());
$b = $frm->Button("Найти", 480, $ypos - 2, 70);
$b->Event = 'jQuery("#' . $GUI->Vars["kln_search_modal_form"]->idname . '").modal();';
page_AddScriptText("custom_klient_select_event = function(id){ jQuery('#" . $s->idname . "').val(id); };");
$ypos += 30;
$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;
need_data("data_vuz");
need_data("data_discip");
need_data("data_payments");
$frm->Label("ВУЗ", 10, $ypos);
$frm->Label("ВУЗ (свой вариант)", 330, $ypos);
$ypos += 20;
$d = array();
$d[0] = "-свой вариант-";
foreach ($data_vuz as $vk => $vv) {
    $d[$vk] = $vv["sname"] . " (" . $vv["name"] . ")";
}
$s = $frm->Select(10, $ypos, 300, $d, "", $order_info['vuz_id']);
//1
$s->linkName = "vuz";
$t = $frm->Text(330, $ypos, 300, $order_info["vuz_user"]);
//2
$t->linkName = "vuz_usr";
$s->AddJsEvent("change", "order_filter_reset('" . $s->idname . "', '" . $t->idname . "');");
コード例 #8
0
ファイル: show.php プロジェクト: yonkon/diplom
<?php

use Components\Entity\EmployeeBlack;
use Components\Classes\Author;
if (!user_can($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "Редактировать")) {
    $GUI->informer->ERR(PERMISSION_DENIED);
    page_ReloadSubSec();
}
$id = intval($_REQUEST["edit"]);
$employer = EmployeeBlack::find($id);
if (!$employer) {
    $GUI->informer->ERR("Запись не найдена");
    page_ReloadSubSec();
}
need_data('data_napravl');
$frm = $GUI->Form("Данные по сотруднику", 600, 400);
$frm->Label("ФИО: <b>" . $employer["fio"] . "</b>", 10, $ypos += 10);
$frm->Label("Email: <b>" . $employer["email"] . "</b>", 10, $ypos += 30);
$frm->Label("Пароль: <b>" . $employer['password'] . "</b>", 10, $ypos += 30);
$frm->Label("Телефон: <b>" . $employer["telnum"] . "</b>", 10, $ypos += 30);
$frm->Label("Группа: <b>" . (isset($groups[$employer["group_id"]]) ? $groups[$employer["group_id"]]["name"] : "неизвестно") . "</b>", 10, $ypos += 30);
$frm->Label("Филиал: <b>" . (isset($data_filials[$employer["filial_id"]]) ? $data_filials[$employer["filial_id"]]["name"] : "неизвестно") . "</b>", 10, $ypos += 30);
$frm->Label("Причина удаления:", 10, $ypos += 30);
$t = $frm->TextArea(10, $ypos += 30, 580, 100, $employer["comments"]);
$ypos += 100;
$frm->VLine(10, $ypos += 20, 580);
$b = $frm->Button("К списку", 260, $ypos += 10, 80);
$b->Event = "document.location.href=\"?section=sotr&subsection=3\"; return false;";
コード例 #9
0
ファイル: new.inc.php プロジェクト: yonkon/diplom
    $ypos += 20;
    $frm->Label("Телефон: <b>" . $klient["telnum"] . "</b>", 10, $ypos);
    $ypos += 20;
    $s = $frm->Hidden($klient["id"]);
    //0
    $s->linkName = "klient";
}
$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;
need_data("data_vuz");
need_data("data_discip");
need_data("data_payments");
need_data("data_worktypes");
need_data("data_napravl");
$frm->Label("ВУЗ", 10, $ypos);
$frm->Label("ВУЗ (свой вариант)", 330, $ypos);
$ypos += 20;
$d = array();
$d[0] = "-свой вариант-";
foreach ($data_vuz as $vk => $vv) {
    $d[$vk] = $vv["sname"] . " (" . $vv["name"] . ")";
}
$s = $frm->Select(10, $ypos, 300, $d, "", $defdata["vuz"]);
//1
$s->linkName = "vuz";
$t = $frm->Text(330, $ypos, 300, $defdata["vuz_usr"]);
//2
$t->linkName = "vuz_usr";
$s->AddJsEvent("change", "order_filter_reset('" . $s->idname . "', '" . $t->idname . "');");
コード例 #10
0
ファイル: authors_groups.php プロジェクト: yonkon/diplom
<?php

need_data("authors_groups");
$authors_groups = $GLOBALS['authors_groups'];
if (isset($_REQUEST["edit"])) {
    $id = intval($_REQUEST["edit"]);
    if (isset($authors_groups[$id])) {
        $frm = $GUI->Form("Редактировать", 400, 120);
        $frm->Hidden($id);
        $frm->Button("Сохранить", 100, 70, 80, true);
        $frm->OnExecute = "edit_authors_group_exec";
        $b = $frm->Button("К списку", 220, 70, 80);
        $b->Event = "document.location.href=\"?" . $GUI->Url(array('section', 'subsection', 'edit')) . "\"; return false;";
        $frm->Label("Название", 10, 10);
        $t = $frm->Text(10, 30, 378, $authors_groups[$id]["name"]);
        $t->AddValidator(new CGUI_VALIDATOR_NOEMPTY());
        $t->AddValidator(new CGUI_VALIDATOR_MAXLEN(40));
        if (user_can($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "Удалить")) {
            $GUI->cmdmenu->AddItem("Удалить", "?section=sprav&subsection=4&del=" . $id);
        }
    } else {
        $GUI->informer->ERR("Запись не найдена");
        page_ReloadSubSec();
    }
} elseif (isset($_REQUEST["add"])) {
    $frm = $GUI->Form("Добавить", 400, 120);
    $frm->Button("Добавить", 100, 70, 80, true);
    $frm->OnExecute = "add_authors_group_exec";
    $b = $frm->Button("К списку", 220, 70, 80);
    $b->Event = "document.location.href=\"?" . $GUI->Url(array('section', 'subsection', 'add')) . "\"; return false;";
    $frm->Label("Название", 10, 10);
コード例 #11
0
ファイル: default_data.php プロジェクト: yonkon/diplom
$data_oform_links[] = "внутристрочные";
$data_oform_links[] = "подстрочные";
$data_oform_numpos[] = "снизу посередине";
$data_oform_numpos[] = "снизу справа";
$data_oform_numpos[] = "снизу слева";
$data_oform_numpos[] = "сверху посередине";
$data_oform_numpos[] = "сверху справа";
$data_oform_numpos[] = "сверху слева";
$data_oform_numpos[] = "нет";
$data_ordertakemethod[0] = "-не указано-";
$data_ordertakemethod[1] = "лично";
$data_ordertakemethod[2] = "по телефону";
$data_ordertakemethod[3] = "через интернет";
$data_ordertakemethod[4] = "через форму заказа";
//groups
need_data('data_groups', 'roles');
$data_mails[5] = array("mails" => array(1, 2, 3, 4));
$data_mails[6] = array("mails" => array(1, 2, 3, 4));
$GLOBALS["data_mails"] = $data_mails;
$GLOBALS["data_courses"] = $data_courses;
$GLOBALS["data_practica"] = $data_practica;
$GLOBALS["data_oform_fonts"] = $data_oform_fonts;
$GLOBALS["data_oform_interv"] = $data_oform_interv;
$GLOBALS["data_oform_links"] = $data_oform_links;
$GLOBALS["data_oform_numpos"] = $data_oform_numpos;
$GLOBALS["data_ordertakemethod"] = $data_ordertakemethod;
$GLOBALS["data_author_payment_status"] = array('не оплачено', 'оплачено');
$GLOBALS["ofc_currency"] = "руб.";
define('PASSWORD_MIN_CHARS', 6);
define('PASSWORD_MAX_CHARS', 20);
define('PERMISSION_DENIED', 'У вас недостаточно прав');
コード例 #12
0
ファイル: archive.inc.php プロジェクト: yonkon/diplom
<?php

use Components\Classes\Roles;
use Components\Entity\Order;
need_data('data_vuz');
need_data('data_worktypes');
need_data('data_napravl');
need_data('data_discip');
need_data('data_payments');
need_data('data_filials');
page_ScriptNeed("gui_table.js", "gui");
if (isset($_REQUEST["p"])) {
    $order_id = intval(@$_REQUEST["order"]);
    $order_info = get_order_info($order_id);
    if (!$order_info) {
        $GUI->ERR("Заказ не найден");
        page_ReloadSec();
    }
    $GUI->mmenu->selected->selected->caption = "Управление заказом #" . $order_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&order=" . $order_id . "&p=1");
    }
    if (Roles::isActionAllowed($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "Правка содержания")) {
        $GUI->cmdmenu->AddItem("Правка содержания", "?section=ord&subsection=2&order=" . $order_id . "&p=2");
    }
    if (Roles::isActionAllowed($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "Распределение")) {
        $GUI->cmdmenu->AddItem("Распределение", "?section=ord&subsection=2&order=" . $order_id . "&p=3");
    }
    if (Roles::isActionAllowed($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "Файлы")) {
        $GUI->cmdmenu->AddItem("Файлы", "?section=ord&subsection=2&order=" . $order_id . "&p=4");
    }
コード例 #13
0
ファイル: functions.php プロジェクト: yonkon/diplom
/**
 * @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;
}
コード例 #14
0
ファイル: email_notifications.php プロジェクト: yonkon/diplom
<?php

use Components\Classes\db;
need_data("email_notifications_types");
if (isset($_REQUEST["edit"])) {
    $id = intval($_REQUEST["edit"]);
    if (isset($email_notifications_types[$id])) {
        $e_n_t = $email_notifications_types;
        $frm = $GUI->Form("Редактировать", 400, 220);
        $frm->Hidden($id);
        $frm->Button("Сохранить", 100, 170, 80, true);
        $frm->OnExecute = "edit_description_exec";
        $b = $frm->Button("К списку", 220, 170, 80);
        $b->Event = "document.location.href=\"?" . $GUI->Url(array('section', 'subsection', 'edit')) . "\"; return false;";
        $frm->Label("Название", 10, 10);
        $t = $frm->TextArea(10, 30, 378, 80, $e_n_t[$id]["description"]);
        $t->AddValidator(new CGUI_VALIDATOR_NOEMPTY());
        $t->AddValidator(new CGUI_VALIDATOR_MAXLEN(512));
        $action_type = $frm->Select(10, 130, 250, array("0" => "игнорировать", "1" => "внутреннее сообщение", "2" => "внутреннее сообщение + email"), "", $e_n_t[$id]["action_type"]);
        //$persist = $frm->Checkbox(10, 130, $e_n_t[$id]["persist"], 'persist', "Сохранять нотификации в БД");
        //$send = $frm->Checkbox(10, 170, $e_n_t[$id]["send"], 'send', "Оправлять сохранённые нотификации на почту");
    } else {
        $GUI->informer->ERR("Запись не найдена");
        page_ReloadSubSec();
    }
} else {
    $tbl = $GUI->Table("email_notifications_types" . $n);
    $tbl->Width = "70%";
    if (user_can($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "Редактировать")) {
        $tbl->RowEvent2 = "document.location.href=\"?section=sprav&subsection=" . $n . "&edit=%var%\"";
    }
コード例 #15
0
ファイル: adrbook.php プロジェクト: yonkon/diplom
<?php

use Components\Entity\Client;
require_once '../../includes/application_top.php';
need_data("data_users");
$addr_book = array();
if (isset($data_mails[$_SESSION["user"]["data"]["group_id"]]["mails"])) {
    $grps = $data_mails[$_SESSION["user"]["data"]["group_id"]]["mails"];
    foreach ($data_users as $v) {
        if (in_array($v["group_id"], $grps)) {
            $addr_book[] = $v;
        }
    }
} else {
    $addr_book = $data_users;
}
// Авторам запрещено писать клиентам
$to_kln = $_SESSION["user"]["data"]["group_id"] != 6;
$script = array();
$script[] = '<script type="text/javascript"> var users_list=[]; var clients_list=[];';
$k = 0;
foreach ($addr_book as $v) {
    $script[] = "users_list[" . $k++ . "]={id:" . $v["id"] . ",name:'" . $data_groups[$v["group_id"]]["sname"] . " " . $v["fio"] . "'};";
}
$script[] = "selected_users = []; selected_clients = [];";
if (isset($_REQUEST["a"]) && strlen($_REQUEST["a"])) {
    $a = explode(";", $_REQUEST["a"]);
    $u = 0;
    $k = 0;
    foreach ($a as $v) {
        if (strtolower(substr($v, 0, 1)) == "u") {