コード例 #1
0
ファイル: functions.php プロジェクト: yonkon/diplom
function tp_fls_creator($value, $row, $table, &$info)
{
    if ($value == 0) {
        return "Клиент";
    }
    return sotr_getFullName($value);
}
コード例 #2
0
ファイル: add.php プロジェクト: yonkon/diplom
 $frm->Label("Встреча в офисе филиала '" . $data_filials[$_SESSION["make_visit_tmp"]["filial_id"]]["name"] . "' " . date("d.m.Y", $dt), 10, $ypos);
 // Добавить себя
 $users[$usr["id"]] = sotr_getFullName($usr["id"]);
 if (in_array($usr["group_id"], array(1, 2, 3))) {
     // рук-ль добавит 1234, старший и менеджер добавят 234
     foreach ($data_users as $u) {
         // руководитель добавит любого руководителя
         if ($u["group_id"] == 1 && $usr["group_id"] == 1) {
             if (!isset($users[$u["id"]])) {
                 $users[$u["id"]] = sotr_getFullName($u["id"]);
             }
         }
         // добавим любого менеджера этого филиала
         if (in_array($u["group_id"], array(2, 3, 4)) && $u["filial_id"] == $_SESSION["make_visit_tmp"]["filial_id"]) {
             if (!isset($users[$u["id"]])) {
                 $users[$u["id"]] = sotr_getFullName($u["id"]);
             }
         }
     }
 }
 $ulist = array();
 foreach ($users as $k => $v) {
     $ulist[] = $k;
 }
 $frm->Label("Сотрудник", 10, $ypos += 30);
 $frm->Label("Занятость", 300, $ypos);
 $def_user_id = 0;
 if (isset($_SESSION["make_visit_tmp"]["order"]) && intval($_SESSION["make_visit_tmp"]["order"])) {
     // Ищем заказ и менеджера
     $o = ord_get(intval($_SESSION["make_visit_tmp"]["order"]));
     $def_user_id = $o["manager_id"];
コード例 #3
0
ファイル: inc_new.php プロジェクト: yonkon/diplom
} else {
    $addr_book = $data_users;
}
page_scriptNeed("scripts.js", "modules/mls");
$frm = $GUI->Form("Новое сообщение", "600", "445");
$ypos = 10;
$need_to = true;
$ansv_to = false;
if (isset($_REQUEST["_to"])) {
    $n = substr($_REQUEST["_to"], 0, 1);
    $id = intval(substr($_REQUEST["_to"], 1));
    if ($n == 'u' && isset($data_users[$id])) {
        $h = $frm->Hidden($_REQUEST["_to"]);
        $h->linkName = "to";
        $need_to = false;
        $frm->Label("Кому: " . sotr_getFullName($id), 10, $ypos);
        $ypos += 30;
    }
    if ($n == 'k') {
        $kln = kln_get($id);
        if ($kln) {
            $h = $frm->Hidden($_REQUEST["_to"]);
            $h->linkName = "to";
            $need_to = false;
            $frm->Label("Кому: " . $kln["fio"], 10, $ypos);
            $ypos += 30;
        }
    }
}
if ($need_to) {
    $t = $frm->TextArea(50, $ypos, 530, 50);
コード例 #4
0
ファイル: edit.php プロジェクト: yonkon/diplom
$ord = false;
if ($vis["order_id"]) {
    $ord = Order::find($vis["order_id"]);
    $frm->Label("Заказ: <b>" . $ord["id"] . ". " . utils_crop_text($ord["subject"], 110) . "</b>", 10, $ypos += 30);
    $b = $frm->Button("Инфо", 520, $ypos, 70);
    $b->Event = 'window.open("?section=ord&subsection=2&p=1&order=' . $ord["id"] . '");';
}
if ($vis["filial_id"] > 0) {
    // филиал
    $s = "филиал '" . $data_filials[$vis["filial_id"]]["name"] . "'";
} else {
    // курьер
    $s = "с курьером";
}
$frm->Label("Место проведения: <b>" . $s . "</b>", 10, $ypos += 30);
$frm->Label("Проводит: <b>" . sotr_getFullName($vis["user_id"]) . "</b>", 10, $ypos += 30);
$frm->VLine(10, $ypos += 30, 580);
$frm->Label("Цель встречи:", 10, $ypos += 20);
$t = $frm->TextArea(25, $ypos += 20, 560, 80, $vis["about"]);
$t->AddValidator(new CGUI_VALIDATOR_NOEMPTY());
$t->linkName = "about";
$ypos += 80;
$frm->Label("Статус", 10, $ypos += 20);
$s = $frm->Select(25, $ypos += 20, 150, $vis_statuses, "", $vis["status"]);
$s->linkName = "status";
$frm->Label("Отчет", 10, $ypos += 30);
$t = $frm->TextArea(25, $ypos += 20, 560, 80, $vis["report"]);
$t->linkName = "report";
$frm->Label("Деньги:", 10, $ypos += 90);
$dir = 1;
if ($vis["summa"] < 0) {
コード例 #5
0
ファイル: functions.php プロジェクト: yonkon/diplom
/**
 * @deprecated
 * @param $id
 * @return string
 */
function sotr_getFullNameWithLink($id)
{
    return '<a href="?section=sotr&subsection=2&edit=' . $id . '">' . sotr_getFullName($id) . '</a>';
}
コード例 #6
0
ファイル: archive.inc.php プロジェクト: yonkon/diplom
     $frm->OnExecute = "remove_author_from_order";
     $frm->Label("Снять " . sotr_getFullName($author_id) . " с заказа №" . $order_id . "?", 10, 10);
     $frm->Label("Причина", 10, 40);
     $t = $frm->TextArea(10, 60, 275, 60);
     $t->linkName = "reason";
     $t->AddValidator(new CGUI_VALIDATOR_NOEMPTY());
     $y = 100;
     $frm->Button("Снять", 60, 40 + $y, 80, true);
 } else {
     $h = 100;
     if ($order_info['author_id'] != 0) {
         $h = 220;
     }
     $frm = $GUI->Form("Закрепить заказ за автором", 300, $h);
     $frm->OnExecute = "assign_order_to_author";
     $frm->Label("Закрепить заказ №" . $order_id . " за<br>" . sotr_getFullName($author_id) . "?", 10, 10);
     $y = 0;
     if ($order_info['author_id'] != 0) {
         $frm->Label("У этого заказа уже есть автор.<br/>Укажите причину смены автора", 10, 50);
         $t = $frm->TextArea(10, 90, 275, 60);
         $t->linkName = "reason";
         $t->AddValidator(new CGUI_VALIDATOR_NOEMPTY());
         $y = 120;
     }
     $frm->Button("Закрепить", 60, 40 + $y, 80, true);
 }
 $h = $frm->Hidden($author_id);
 $h->linkName = "author_id";
 $h = $frm->Hidden($order_id);
 $h->linkName = "order_id";
 $h = $frm->Hidden($order_info['author_id']);
コード例 #7
0
ファイル: list.inc.php プロジェクト: yonkon/diplom
                case NOTIFICATION_TYPE_NORMAL:
                default:
                    if (!\Components\Entity\EmailNotificationType::isPersistable(\Components\Entity\EmailNotification::TO_AUTHOR_ON_REMIND_NORMAL)) {
                        $GUI->ERR("Напоминание отключено!");
                        page_ReloadSec();
                        return;
                    }
                    $failed_emails = Author::saveMessageAndEnqueueEmail($order_id, array($order_info['author_id']), 'u' . $_SESSION['user']['data']['id'], 'Напоминание по заказу №' . $order_id . ' ' . $order_info['subject'], 'Уважаемый автор, напоминаем Вам о том, что данный заказ должен быть прислан Вами на почту или прикреплен на сайте в личном кабинете сегодня. Сообщите о состоянии заказа.
С уважением, ' . sotr_getFullName($_SESSION['user']['data']['id']), \Components\Entity\EmailNotification::TO_AUTHOR_ON_REMIND_NORMAL);
                    break;
                case NOTIFICATION_TYPE_URGENT:
                    if (!\Components\Entity\EmailNotificationType::isPersistable(\Components\Entity\EmailNotification::TO_AUTHOR_ON_REMIND_URGENT)) {
                        $GUI->ERR("Напоминание отключено!");
                        page_ReloadSec();
                        return;
                    }
                    $failed_emails = Author::saveMessageAndEnqueueEmail($order_id, array($order_info['author_id']), 'u' . $_SESSION['user']['data']['id'], 'СРОЧНО ответьте по заказу №' . $order_id . ' ' . $order_info['subject'], 'Срочно ответьте о состоянии данного заказа, по которому дата сдачи Вами сорвана. Предупреждаем что срыв срока заказа позволит нам не выплатить Вам гонорар и/или наложить штраф. Мы всегда выполняем свои обязательства по оплате перед Вами и ждем с Вашей стороны того же, а именно соблюдение сроков и требований. Спасибо за понимание. С уважением, ' . sotr_getFullName($_SESSION['user']['data']['id']), \Components\Entity\EmailNotification::TO_AUTHOR_ON_REMIND_URGENT);
                    break;
            }
            if (!empty($failed_emails)) {
                $GUI->ERR("Не удалось отправить заказ на " . $failed_emails[0]['email']);
                page_ReloadSec();
            }
            AuthorNotification::create(array('author_id' => $order_info['author_id'], 'order_id' => $order_id, 'date' => date('Y-m-d H:i:s'), 'type' => $type));
            $GUI->OK("Напоминание отправлено");
            page_ReloadSec();
            break;
    }
} else {
    require_once 'listing/list.php';
}
コード例 #8
0
ファイル: functions.php プロジェクト: yonkon/diplom
function add_offer($Frm, $Err)
{
    if (!$Err) {
        $order_id = $Frm->GetNmValueI("order_id");
        $order_info = Order::find($order_id);
        if ($order_info['cost_auth'] != 0) {
            $price = $order_info['cost_auth'];
        } else {
            $price = $Frm->GetNmValueI("price");
        }
        $author_id = $Frm->GetNmValueI("author_id");
        //$order_id = $Frm->GetNmValueI("order_id");
        AuthorOffer::create(array('order_id' => $order_id, 'author_id' => $author_id, 'price' => $price, 'comment' => $Frm->GetNmValueH("comment")));
        if (!empty($order_info['manager_id'])) {
            $message_id = mls_Send("u" . $order_info['manager_id'], "u" . $author_id, "Новое предложение для заказа №" . $order_id, "Поступило новое предложение на заказ №" . $order_id . " от " . sotr_getFullName($author_id), 1, 0);
            if (!empty($message_id)) {
                Author::enqueue_message_to_email($message_id, array($order_info['manager_id']), \Components\Entity\EmailNotification::TO_MANAGER_ON_ORDER_CHANGE);
            }
        }
        $Frm->_gui->OK("Предложение добавлено");
        page_reloadSubSec();
    }
}
コード例 #9
0
ファイル: gui.php プロジェクト: yonkon/diplom
 function GetHTML()
 {
     $this->Update();
     $out = "<table class='cgui_mainmenu_box'><tr>" . "\n";
     foreach ($this->items as $v) {
         $a = "index.php?section=" . $v->section;
         $out .= "<td id='cgui_mainmenu_section_" . $v->section . "' nowrap class='" . $v->cname . "' onmouseover='this.className=\"punkt_ovr\"'" . " onmouseout='this.className=\"" . $v->cname . "\"' onclick='document.location.href=\"" . $a . "\"'><a href='" . $a . "'>" . $v->name . "</a></td>" . "\n";
     }
     $out .= "<td style='width:100%'>&nbsp;</td>" . "\n";
     $out .= '<td style="white-space: nowrap; padding-right: 20px;">' . sotr_getFullName($_SESSION['user']['data']['id']) . '</td>' . "\n";
     $out .= "<td class='punkt' onmouseover='this.className=\"punkt_ovr\"' onmouseout='this.className=\"punkt\"' onclick='document.location.href=\"?logout\"'>" . "<a href='?logout'>Выход</a></td></tr></table>" . "\n";
     if ($this->selected && count($this->selected->subitems)) {
         $out .= "<table class='cgui_mainmenusub_box'><tr>";
         foreach ($this->selected->subitems as $v) {
             $a = "index.php?section=" . $this->selected->section . "&subsection=" . $v->section;
             $out .= "<td nowrap class='" . $v->cname . "' onmouseover='this.className=\"punkt_ovr\"' onmouseout='this.className=\"" . $v->cname . "\"' onclick='document.location.href=\"" . $a . "\"'><a href='" . $a . "'>" . $v->name . "</a></td>" . "\n";
         }
         $out .= "<td style='width:100%;'>&nbsp;</td></tr></table>" . "\n";
     }
     return $out;
 }
コード例 #10
0
ファイル: functions.php プロジェクト: yonkon/diplom
function tp_getusername2($value, $row, $table, &$info)
{
    global $data_users;
    if (!isset($data_users[$value])) {
        return "<i>не определено</i>";
    }
    $s = "<a href='?section=sotr&light=" . $value . "'>" . sotr_getFullName($value) . "</a>";
    if ($row["uved_umsg"]) {
        $m = mls_get($row["uved_umsg"]);
        if (!$m["readed"]) {
            $s .= "<sup><font color=red>не уведомлен</font></sup>";
        }
    }
    return $s;
}
コード例 #11
0
ファイル: messages.php プロジェクト: yonkon/diplom
 }
 $ypos = 10;
 $frm = $GUI->Form("История переписки сотрудника", 500, 480);
 $t = $frm->Hidden($id);
 $t->linkName = 'employer_id';
 $frm->Label("Сотрудник: " . sotr_getFullName($id), 10, $ypos);
 $frm->Label("Сообщений: " . count($messages) . "; с " . date("d.m.y", $date_min) . " по " . date("d.m.y", $date_max), 10, $ypos += 20);
 $t = $frm->Checkbox(10, $ypos += 20, true, 1);
 $t->linkName = 'with_employers';
 $frm->Label("Переписка с сотрудниками:", 30, $ypos);
 $frm->Label("Дата:", 330, $ypos);
 $data_users1 = array();
 foreach ($data_users as $v) {
     // Проверить что переписка существует
     if (db::get_single_value("SELECT COUNT(id) FROM " . TABLE_MESSAGES . " WHERE (addr='u" . $v["id"] . "' AND creator_id='u" . $id . "') OR (addr='u" . $id . "' AND creator_id='u" . $v["id"] . "')")) {
         $data_users1[$v["id"]] = sotr_getFullName($v["id"]);
     }
 }
 if (count($data_users1) > 1) {
     $data_users1 = array(0 => "-любым-") + $data_users1;
 }
 $s = $frm->Select(10, $ypos += 20, 300, $data_users1);
 $s->RowSize = 5;
 $s->linkName = 'employers';
 $frm->Label("c", 330, $ypos);
 $t = $frm->DatePic(350, $ypos, 100);
 $t->linkName = 'date_from';
 $frm->Label("по", 330, $ypos += 25);
 $t = $frm->DatePic(350, $ypos, 100);
 $t->linkName = 'date_to';
 $frm->Label("Направление", 330, $ypos += 25);