Joywork/ajax/getClientMainInfo.php

196 lines
9.2 KiB
PHP
Raw Normal View History

2026-05-22 20:21:54 +02:00
<?php
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
if ($_SESSION['id'] && isset($_GET['id']) && is_numeric($_GET['id'])) {
$get = clearInputData($_GET);
$clientId = $get['id'];
$agencyId = User::getUserAgencyID();
$user = new User;
$user->get($_SESSION['id']);
if($user->agency == 0 && $user->manager == 0 && $user->id_manager == 0) {
$user->agency = 1;
}
$autosearch_instce = null;
if ($user->can('autosearch')) {
$autosearch_instce = new AutoSearch();
}
$usersIds = array();
$usersIds[] = $agencyId;
$sql_users = "SELECT id FROM users WHERE id in (select id from users where id=$agencyId or id_manager=$agencyId or id_manager in
(select id from users where id_manager=$agencyId or id_manager in
(select id from users where id_manager=$agencyId)))";
$q_users = mysql_query($sql_users);
while($r_users = mysql_fetch_assoc($q_users)){
$usersIds[] = (int)$r_users['id'];
}
$sqlClient = "select id, phone, email, objects, summa, budget from clients where id = $clientId and (id_agent in (".implode(',', $usersIds).") or who_work in (".implode(',', $usersIds)."))";
$clientRes = mysql_query($sqlClient);
if (mysql_num_rows($clientRes) > 0) {
$client = mysql_fetch_assoc($clientRes);
mask_client_contacts_inplace($client);
// Инфо-кнопка по автопоиску для клиента, который проходит по заявке подбор объекта
$autosearch = [];
if (!is_null($autosearch_instce)) {
$filter = $autosearch_instce->getFilterByClient($client['id'], $_SESSION['id']);
if (isset($filter['id'])) {
$autosearch = [
'id' => $filter['id'],
'active' => isset($filter['is_active']) ? $filter['is_active'] : 0,
'total' => isset($filter['total']) ? $filter['total'] : 0,
'count' => isset($filter['count']) ? $filter['count'] : 0,
'error' => isset($filter['error']) ? $filter['error'] : null
];
}
}
$phone = $client['phone'];
// Не форматируем уже замаскированный номер ("+7 *** *** ** **") — иначе маска покрошится substr-ом.
if (strpos($phone, '+7') !== false && strpos($phone, '*') === false) {
$phone = substr($phone, 0, 2) . "(" . substr($phone, 2, 3) . ")" . substr($phone, 5, 3) . "-" . substr($phone, 8, 2) . "-" . substr($phone, 10, 2);
}
$client_objects = json_decode(html_entity_decode($client['objects']), true);
$eventsLess = [];
$eventsEq = [];
$eventsMore = [];
$eventsSql = "SELECT count(id) as res, client_id FROM user_client_events WHERE calendar_view = 0 and cancel=0
and schedule_date is not null and client_id = $clientId and schedule_date < '" . date("Y-m-d H:i:s") . "' GROUP BY client_id";
$qEvents = mysql_query($eventsSql);
if(mysql_num_rows($qEvents) > 0){
while ($objEvent = mysql_fetch_assoc($qEvents)) {
$events_res = (int)$objEvent["res"];
}
}
$events1Sql = "SELECT count(id) as res, client_id FROM user_client_events WHERE calendar_view = 0 and cancel=0
and schedule_date is not null and client_id = $clientId and DATE_FORMAT(schedule_date, '%Y-%m-%d') = '" . date("Y-m-d") . "' GROUP BY client_id";
$qEvents1 = mysql_query($events1Sql);
if(mysql_num_rows($qEvents1) > 0){
while ($objEvent1 = mysql_fetch_assoc($qEvents1)) {
$events_res1 = (int)$objEvent1["res"];
}
}
$events2Sql = "SELECT count(id) as res, client_id FROM user_client_events WHERE calendar_view = 0 and cancel=0
and schedule_date is not null and client_id = $clientId and DATE_FORMAT(schedule_date, '%Y-%m-%d') > '" . date("Y-m-d") . "' GROUP BY client_id";
$qEvents2 = mysql_query($events2Sql);
if(mysql_num_rows($qEvents2) > 0){
while ($objEvent2 = mysql_fetch_assoc($qEvents2)) {
$events_res2 = (int)$objEvent2["res"];
}
}
?>
<div class="main-info hidden">
<div class="col">
<p class="small">Телефон</p>
<p><b class="big"><?= $phone ?></b></p>
</div>
<div class="col">
<p class="small">Почта</p>
<p><b class="big"><?= $client['email'] ?></b></p>
</div>
<?php
if (!empty($client_objects)) {
$sql_obj = "SELECT * FROM `objects` WHERE `id` in (" . implode(', ', $client_objects) . ")";
$q_obj = mysql_query($sql_obj);
$count_obj = mysql_num_rows($q_obj);
if ($count_obj > 0) {
?>
<div class="col client-object">
<p class="small">Объект</p>
<?php
while ($obj = mysql_fetch_assoc($q_obj)) { ?>
<p>
<b class="big"><a onclick="openObjectModal(<?= $obj['id'] ?>)" data-id="<?= $obj['id'] ?>"
data-client="<?= $client['id'] ?>"
href="javascript:{}"><?= $obj['nazv'] ?></a></b>
</p>
<?php } ?>
</div>
<?php
}
} ?>
<div class="col">
<p class="small">Бюджет</p>
<p><b class="big"><?= $client['budget'] ?></b></p>
</div>
<?php
if (!empty($client['summa'])) { ?>
<div class="col">
<p class="small">Сумма сделки</p>
<p><b class="big"><?= $client['summa'] ?></b></p>
</div>
<?php }
?>
<div class="col" style="margin: 0 0px 10px 0">
<div class="jw__action-button">
<div class="jw__g-button client-events-new"
data-id="<?= $client['id'] ?>">История и
задачи<?php if ($events_res > 0) { ?>
<span class="counter" style="background: #dd6360"><?=$events_res?></span>
<?php } elseif ($events_res1 > 0) {?>
<span class="counter" style="background: #efcd81"><?=$events_res1?></span>
<?php } elseif ($events_res2) {?>
<span class="counter" style="background: #4CAF50"><?=$events_res2?></span>
<?php } else {?>
<?php }?>
</div>
<?php if ($user->can('autosearch') && ($autosearch['error'] || $autosearch['active'] || $autosearch['count'] > 0)) { ?>
<div class="jw__g-button fltr-objects-list" title="Автопоиск объектов" data-id="<?= $client['id']; ?>" data-filter-id="<?= $autosearch['id']; ?>" style="z-index: 1">
Автопоиск
<?php if ($autosearch['count'] > 0) { ?>
<span title="Всего объектов: <?= $autosearch['total']; ?>, новых: <?= $autosearch['count']; ?>" class="<?= ((!empty($autosearch['error'])) ? 'counter has-error' : 'counter'); ?>">+<?= $autosearch['count']; ?></span>
<?php }
if ($autosearch['error']) { ?>
<span title="<?= $autosearch['error']; ?>" class="<?= (($autosearch['count'] > 0) ? 'error with-counter' : 'error'); ?>"><i class="ti-alert"></i></span>
<?php } ?>
</div>
<?php } ?>
</div>
</div>
<?php
$r_check_permissions = $user->checkMenuPermissions();
$user_allow_edit = $_GET['user_allow_edit'];
if ($user_allow_edit || $r_check_permissions['menu_all_submissions']) {
?>
<div class="col" style="margin: 0 0px 10px 0">
<div class="jw__action-button">
<div class="jw__g-button neweditClient" id="client_req_list_open" data-id="<?=$client['id']?>">
<span>Заявки</span>
</div>
</div>
</div>
<?php } ?>
<?php if ($r_check_permissions['cannot_create_req_manually'] == 0) { ?>
<div class="col">
<a style="margin-top:10px;" title="Добавить заявку" href="javascript:{}" data-client="<?=$client['id']?>" class="tab tab__new-object add_req_new">
<i class="ti-plus"></i>
</a>
</div>
<?php } ?>
<div class="clear"></div>
</div>
<?php
}
}
?>