Joywork/clientsNew.php

484 lines
31 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']) { header("location:index.php"); die("Доступ запрещён!");}
$get = clearInputData($_GET);
if($_POST['fio'])
{
$post = clearInputData($_POST);
$error_add = Clients::addEdit($post);
if(!$error_add) header("location:".$_SERVER['REQUEST_URI']);
}
if($_POST['id_del_client'])
{
$post = clearInputData($_POST);
Clients::delReason($post);
header("location:".$_SERVER['REQUEST_URI']);
}
require($_SERVER['DOCUMENT_ROOT']."/templates/new-header.php");
$cl = new Clients;
if (!isset($_GET['workType'])) {
$_GET['workType'] = 0;
}
?>
<script type="text/javascript" src="/js/formstyler.js"></script>
<script>
(function($) {
$(function() {
$('.select').styler();
});
})(jQuery);
</script>
<div class="content-right fr__clients">
<div class="inner">
<div class="main-title <?php if ($_GET['id_agent'] || $_GET['id_manager']) { echo "two-line"; }?>">
<h1 <?php if ($_GET['id_agent'] || $_GET['id_manager']) { echo "style='font-size:24px;line-height: 1.2;'"; }?>><?php
if($_GET['id_agent'])
{
$user_view = new User;
$user_view->get($_GET['id_agent']);
echo "Клиенты агента <br/> ".$user_view->fio;
} elseif($_GET['id_manager'])
{
$user_view = new User;
$user_view->get($_GET['id_manager']);
echo "Клиенты менеджера <br/> ".$user_view->fio;
} else echo "Клиенты";
?>
</h1>
</div>
<div class="clients">
<div class="jw__page__tabs">
<?php
foreach($WORK_TYPES as $ti => $tn)
{
if ($ti == 0) {
continue;
}
echo '<a href="/clients.php?work=1&workType='. $ti . '" class="tab';
if ($_GET['workType'] == $ti) {
echo ' selected ';
}
echo '"><span>' . $tn . '</span></a>';
}
foreach($WORK_TYPES as $ti => $tn)
{
if ($ti > 0) {
continue;
}
echo '<a href="/clients.php?work=1&workType='. $ti . '" class="tab';
if ($_GET['workType'] == $ti) {
echo ' selected ';
}
echo '"><span>Другое</span></a>';
}
?>
<a href="#" class="tab tab__new-object" id="add_client">
<i class="ti-plus"></i><span>Новый клиент</span>
</a>
</div>
<div class="head-filter__top">
<div class="top-line">
<div class="switch__filter button-row" style="margin-left: 0;">
<?php if ($user->agency == 0 && $user->id_manager == 0 && $user->agent == 1) {?>
<a href="/clients.php?work=1&workType=<?php echo $_GET['workType']; ?>" class="selector-button no-border <?php if($_GET['work']==1) echo "selected"; ?> button-left">
<span>В работе</span>
</a>
<a href="/clients.php?end=1&workType=<?php echo $_GET['workType']; ?>" class="selector-button no-border <?php if($_GET['end']==1) echo "selected"; ?> button-right">
<span>Завершённые</span>
</a>
<?php } else { ?>
<a href="/clients.php?work=1&workType=<?php echo $_GET['workType']; ?>" class="selector-button no-border <?php if($_GET['work']==1) echo "selected"; ?> button-left">
<span>В работе</span>
</a>
<a href="/clients.php?all=1&workType=<?php echo $_GET['workType']; ?>" class="selector-button no-border <?php if($_GET['all']==1) echo "selected"; ?> button-center">
<span>Общие</span>
<?php
$countAll = $cl_count->getCountAllClientsNumber($_GET['workType']);
if ($countAll > 0) {
echo '<i class="filter_counter" style="display: block;">' . $countAll . '</i>';
}
?>
</a>
<a href="/clients.php?new=1&workType=<?php echo $_GET['workType']; ?>" class="selector-button no-border <?php if($_GET['new']==1) echo "selected"; ?> button-center">
<span>Назначенные</span>
<?php
$countNew = $cl_count->getCountNewClientsNumber($_SESSION['id'], $_GET['workType']);
if ($countNew > 0) {
echo '<i class="filter_counter" style="display: block;">' . $countNew . '</i>';
}
?>
</a>
<a href="/clients.php?end=1&workType=<?php echo $_GET['workType']; ?>" class="selector-button no-border <?php if($_GET['end']==1) echo "selected"; ?> button-right">
<span>Завершённые</span>
</a>
<?php } ?>
<div class="clear"></div>
</div>
<div class="head-filter-search">
<div class="form-search">
<form>
<input type="search" name="search" class="text" placeholder="Имя, эл. почта или номер телефона" value="<?php echo $_GET['search']; ?>">
<?php if ($_GET['deleted']) { ?>
<input type="hidden" name="deleted" value="1">
<?php } ?>
<input type="hidden" name="workType" id="workType" value="<?php echo $_GET['workType']; ?>">
<button class="search-icon">
<i class="ti-search"></i>
</button>
</form>
</div>
</div>
<div class="clear"></div>
</div>
<div class="switch__filter button-row <?php if(!$_SESSION['agency'] && !$_SESSION['manager']) { echo "hidden"; } ?>">
<?php
$managers = User::getMyManagers();
if($_SESSION['agency'] or $_SESSION['manager'])
{
?>
<a href="clients.php" class="selector-button no-border <? if(!$_GET['id_agent'] and !$_GET['id_manager'] and !$_GET['deleted']) { echo "selected"; } ?> button-left">
<span>Мои клиенты</span>
</a>
<?php
}
if($_SESSION['agency'])
{
?>
<div class="selector-button options open <? if($_GET['id_manager'] and !$_GET['id_agent']) { echo "button-center selected"; } ?> <? if($_GET['id_agent']) { echo "button-center"; } else { echo "button-right"; } ?>">
<select class="select width-250" id="changeManager" style="display:block;">
<option value="0">Выберите менеджера...</option>
<?php
if($managers) foreach($managers as $mngr)
{
if($_GET['id_manager'] == $mngr['id']) $sl = "selected"; else $sl = "";
echo "<option value='$mngr[id]' $sl> trim($mngr['last_name'] . ' ' . $mngr['first_name'] . ' ' . $mngr['middle_name'])</option>";
}
?>
</select>
</div>
<?php
} elseif($_SESSION['manager']) echo "<input type='hidden' id='changeManager' value='$_SESSION[id]'>";
if(($_GET['id_manager'] and $_SESSION['agency']) or ($_SESSION['manager'] and !$_SESSION['agency']))
{
if($_GET['id_manager']) $id_manager = $_GET['id_manager']; else $id_manager = $_SESSION['id'];
$agents = User::getAgentsOfManager($id_manager);
?>
<div class="selector-button button-right options open <? if($_GET['id_agent']) { echo "selected"; } ?>">
<select class="select width-250" id="changeAgent" style="display:block;">
<option value="0">Выберите агента...</option>
<?php
if($agents) foreach($agents as $agent)
{
if($_GET['id_agent'] == $agent['id']) $sl = "selected"; else $sl = "";
echo "<option value='$agent[id]' $sl>trim($agent['last_name'] . ' ' . $agent['first_name'] . ' ' . $agent['middle_name'])</option>";
}
?>
</select>
</div>
<?php
}
if($_SESSION['agency'] || $_SESSION['manager']) {
$deleted = $cl->getCountClients(true);
if($deleted) {
echo '<a href="/clients.php?deleted=1&workType=' . $_GET['workType'] . '" class="fl-right selector-button no-border';
if($_GET['deleted']) echo ' selected';
echo '"><span>Корзина</span><i class="filter_counter" style="display: block;">'.$deleted.'</i></a>';
}
}
?>
<div class="clear"></div>
</div>
</div>
<div class="clients-list">
<?php
if($_GET['deleted'] or $_GET['search']) {
$clients = $cl->getAllClients($_SESSION['id']);
} else {
if ($_GET['all']) $clients = $cl->getAllClients($_SESSION['id']);
elseif ($_GET['id_agent']) $clients = $cl->getMyClients($_GET['id_agent']);
elseif ($_GET['id_manager'] and $_SESSION['agency']) $clients = $cl->getMyClients($_GET['id_manager']);
else $clients = $cl->getMyClients($_SESSION['id']);
}
if($clients['vsego']) foreach($clients['clients'] as $client)
{
$sql2 = "SELECT sended_pdf.*, DATE_FORMAT(sended_pdf.date_send, '%d.%m.%Y') AS date_f,
DATE_FORMAT(sended_pdf.date_send, '%H:%i') AS time_f, archive.phone, archive.sobstv, 0 as newbild FROM sended_pdf,
archive WHERE sended_pdf.id_client=$client[id] AND archive.id_obj=sended_pdf.id_object UNION ALL SELECT sended_pdf_newbuildings.*,
DATE_FORMAT(sended_pdf_newbuildings.date_send, '%d.%m.%Y') AS date_f, DATE_FORMAT(sended_pdf_newbuildings.date_send, '%H:%i') AS time_f,
null as phone, null as sobstv, 1 as newbild FROM sended_pdf_newbuildings WHERE sended_pdf_newbuildings.id_client=$client[id] ORDER BY `date_send`DESC";
$rez2 = mysql_query($sql2);
$pdf_str = ""; $pdf_date_old = ""; $i = 0;
$all_sended_pdf = mysql_num_rows($rez2);
while($pdf = mysql_fetch_assoc($rez2))
{
if($pdf['date_f'] != $pdf_date_old)
{
if($i != 0) $pdf_str .= "</ul></div>";
list($d,$m,$y) = explode(".",$pdf['date_f']);
$date_f = $d." ".getRusMonth($m)." ".$y;
if($i != $all_sended_pdf) {
$pdf_str .= "<div class='by-date'>
<p><a href='#' style='font-weight: normal; border-bottom-style: dashed;' class='open_folder' data-id='$i$client[id]'>$date_f</a></p>
<ul class='hidden link$i$client[id]' style='display: none;'>";
$pdf_str .="<div class='pdf-resend__container'>
<div class='pdf-resend__all'>
<input type='radio' class='hidden--radio' id='' name='' value=''>
<span>Отправить все презентации&nbsp;<i class='ti-back-right'></i></span>
<label style='z-index:500' class='label-overlay to_resend__all' for='' id=''>&nbsp;</label>
</div>
</div>";
}
}
$i++;
$pdf_str .= "<li " . ($pdf['newbild'] == 1 ? "style='padding-right:0;border-right:0;'" : "") . ">
<span class='tooltip tooltip-effect'>
<div class='pdf-object'>
<a href='$pdf[path]' target='_blank'>
<span class='name'>$pdf[time_f]</span>
<i class='ti-arrow-right'></i>
<span class='address'>$pdf[nazv]</span>
</a>
</div>" . ($pdf['newbild'] == 1 ? "" : "
<div class='pdf-resend pdf-resend_$pdf[id_object] ".(@in_array($pdf['id_object'],$_SESSION['to_send']) ? "active" : "")."'>
<input type='radio' class='hidden--radio' id='$pdf[id]_$pdf[id_object]' name='' value=''>
<span><i class='ti-back-right'></i></span>
<label style='z-index:500' class='label-overlay to_resend object_$pdf[id_object] ".(@in_array($pdf['id_object'],$_SESSION['to_send']) ? "active" : "")."' data-id='$pdf[id_object]' for='$pdf[id]_$pdf[id_object]'>&nbsp;</label>
</div> ") . "
<span class='tooltip-content' style='width:170px; margin:0 60px 10px 0;'>
<b class='tooltip-text'>" . ($pdf['newbild'] == 1 ? "Новостройка" : $pdf['phone'] . " " . $pdf['sobstv']) ."</b>
</span>
</span>
</li>";
$pdf_date_old = $pdf['date_f'];
if($i == $all_sended_pdf) $pdf_str .= "</ul></div>";
}
if($_SESSION['agency'] || ($_GET['deleted'] && $_SESSION['manager'])) {$act2 = 'delClient'; $del_link = "<i class='ti-close'></i>"; }
else { $act2 = 'delClientAgent'; $del_link = "<i class='ti-close'></i>";}
list($d,$m,$y) = explode(".",$client['date_add']);
$date_add = $d." ".getRusMonth($m)." ".$y;
switch($client['status'])
{
case 0: $color = "yellow"; break;
case 1: $color = "red"; break;
case 2: $color = "green"; break;
default: $color = "green";
}
$mstr = mysql_fetch_assoc(mysql_query("SELECT agency, manager, fio FROM users WHERE id=$client[id_agent]"));
if($mstr['agency']) $master = "Агентство $mstr[fio]";
elseif($mstr['manager']) $master = "Менеджер $mstr[fio]";
else $master = "Агент $mstr[fio]";
?>
<div class="client <?php if($_GET['deleted']) echo "deleted"; if($client['confirm']==0 AND !$_GET['id_manager'] AND !$_GET['id_agent'] AND !$_GET['deleted']) echo "new"; ?>" id="client__<?php echo $client['id']; ?>">
<div class="top">
<div class="date-status">
<span><?php echo $date_add; ?></span>
<div class="status <?php echo $color; ?>">
<i><?php echo $GLOBALS["STATUS_CLIENT"]["$client[status]"]; ?></i>
</div>
<span>Добавил <?php echo $master; ?></span>
<?php if(!$_GET['id_manager'] AND !$_GET['id_agent']) { ?>
<a href='javascript:void();' data-id='<?php echo $client['id']; ?>' class="fl-right <?php echo $act2; ?> no-border tooltip tooltip-effect">
<span class="simple-button tooltip-item">
<?php echo $del_link; ?>
</span>
<span class="tooltip-content tt-pdf clear"><b class="tooltip-text">Удалить клиента</b></span>
</a>
<?php }
if($_GET['deleted']) {
?>
<a href='javascript:void();' data-id='<?php echo $client['id']; ?>' class="fl-right restoreClient no-border tooltip tooltip-effect">
<span class="simple-button settings tooltip-item">
<i class="ti-back-right"></i>
</span>
<span class="tooltip-content tt-pdf clear"><b class="tooltip-text">Восстановить клиента</b></span>
</a>
<?php } ?>
<a href='javascript:void();' data-id='<?php echo $client['id']; ?>' class="fl-right editClient no-border tooltip tooltip-effect">
<span class="simple-button settings tooltip-item">
<i class="ti-settings"></i>
</span>
<span class="tooltip-content tt-pdf clear"><b class="tooltip-text">Редактировать клиента</b></span>
</a>
<a href='javascript:void();' data-id='<?php echo $client['id']; ?>' class="fl-right client-events no-border tooltip tooltip-effect">
<span class="simple-button settings tooltip-item">
<i class="ti-calendar"></i>
</span>
<span class="tooltip-content tt-pdf clear"><b class="tooltip-text">Задачи по клиенту</b></span>
</a>
</div>
<h2>
<a href='javascript:void();' class="toggleClient" data-id="<?php echo $client['id']; ?>"><?php echo $client['fio']; ?></a>
</h2>
</div>
<div class="center hidden" id="client_info<?php echo $client['id']; ?>">
<?php $hideC_clNew = function_exists('should_hide_contacts_for_current_user') && should_hide_contacts_for_current_user(); ?>
<div class="client_row row_line">
<div class="col phone">
<p class="small">Телефон</p>
<p><b class="big"><?php echo $hideC_clNew ? mask_client_phone($client['phone']) : $client['phone']; ?></b></p>
</div>
<div class="col email-faded">
<p class="small">Эл. почта</p>
<?php if ($hideC_clNew): ?>
<p><b class="big"><?php echo mask_client_email($client['email']); ?></b></p>
<?php else: ?>
<p><b class="big"><a class="pseudo" target="_blank" href="mailto:<?php echo $client['email']; ?>"><?php echo $client['email']; ?></a></b></p>
<?php endif; ?>
</div>
<div class="col">
<p class="small">Тип недвижимости</p>
<p><b class="big"><?php echo $GLOBALS["TYPE_NEDV2"]["$client[type]"]; ?></b></p>
</div>
<? if ($client['budget'] == "") {}
else {
?>
<div class="col">
<p class="small">Примерный бюджет</p>
<p><b class="big"><?php echo $client['budget']; ?></b></p>
</div>
<? } ?>
<div class="clear"></div>
</div>
<? if ($client['opis'] == "") {}
else {
?>
<div class="client_row row_line">
<p class="small">Описание</p>
<p class="desc"><?php echo $client['opis']; ?></p>
</div>
<? } ?>
<div class="client_row last <?php if(strlen($pdf_str) == 0 || ($client['confirm']==0 AND !$_GET['id_manager'] AND !$_GET['id_agent'] AND !$_GET['deleted'])) echo "hidden"; ?>">
<div class="variants">
<a href="#" class="toggleVariants0" data-id="<?php echo $client['id']; ?>">
<span>Предложенные варианты</span>
<span class="simple_button">
<i class="ti-angle-down"></i>
<i class="ti-angle-up"></i>
</span>
<!--<i class="jw__counter variants-counter">3</i>-->
</a>
</div>
<div class="presentations hidden">
<?php echo $pdf_str; ?>
<div class="clear"></div>
</div>
</div>
</div>
<?php if($_GET['deleted']) {
$whoDelete = "";
$whoDeleteId = null;
if ($client['who_delete']) {
$whoDeleteId = $client['who_delete'];
} else {
if ($client['who_work']) {
$whoDeleteId = $client['who_work'];
} else {
if ($client['id_agent']) {
$whoDeleteId = $client['id_agent'];
}
}
}
$usr = mysql_fetch_assoc(mysql_query("SELECT fio FROM users WHERE id=$whoDeleteId"));
$whoDelete = $usr['fio'];
?>
<div class="bottom">
<div class="delete-reason" style="padding-bottom: 0px;">
<span><i class="ti-trash"></i>Удалил:&nbsp;&nbsp;<?php echo $whoDelete; ?></span>
</div>
<div class="delete-reason">
<span><i class="ti-trash"></i>Причина удаления:&nbsp;&nbsp;<?php echo $client['reason']; ?></span>
</div>
</div>
<?php } ?>
</div>
<?php if($client['confirm']==0 AND !$_GET['id_manager'] AND !$_GET['id_agent'] AND !$_GET['deleted']) {?>
<div class="client-confirm" id="client-confirm__<?php echo $client['id']; ?>">
<?php if ($client['who_work'] == $_SESSION['id'] || $client['who_work'] == 0) {?>
<div class="client-confirm__inner">
<h3>Взять клиента в работу</h3>
<div class="client-confirm__buttons">
<?php
if($client['who_work']==0
AND !$_GET['id_manager']
AND !$_GET['id_agent']
AND !$_GET['deleted']) {
}
elseif($_SESSION['agency']
AND $client['confirm']==0
AND !$_GET['id_manager']
AND !$_GET['id_agent']
AND !$_GET['deleted']) {
}
else {
?>
<a class="unconfirmClient small-button" data-id="<?php echo $client['id']; ?>" data-manager="<?php echo $client['id_agent'];?>" href="javascript:void();">Нет</a>
<?php
}
?>
<a class="confirmClient small-green-button" data-id="<?php echo $client['id']; ?>" data-manager="<?php echo $_SESSION['id'];?>" href="javascript:void();">Да</a>
</div>
</div>
<?php } else {?>
<?php if ($client['who_work'] > 0) {?>
<div class="client-confirm__inner">
<h3>Вы передали, ожидает подтверждения</h3>
<div class="client-confirm__buttons">
<a class="unconfirmClient small-button" data-id="<?php echo $client['id']; ?>" data-manager="<?php echo $client['id_agent'];?>" href="javascript:void();">Отменить</a>
</div>
</div>
<?php
}
}
?>
<div class="client-confirm__preloader" id="client-confirm__preloader__<?php echo $client['id']; ?>" style="display: none;">
<img src="/images/ajax_preloader.gif">
</div>
</div>
<? } ?>
<div class="clear"></div>
<?php
}
else echo "<div class='empty-block' style='margin-top: 30px;'><h1><i class='ti-na'></i></h1><h2>Клиентов нет</h2></div>";
if($all_pages > 1)
{
if($mas_url_add) $str_url_add = implode("&",$mas_url_add);
echo "<center><ul class='pagination'>";
num_of_pages($page, $all_pages, $str_url_add);
echo "</ul></center>";
}
?>
</div>
</div>
</div>
</div>
<script type="text/javascript">
testIfResendAllCanBeActive();
</script>
<div class="full_modal-bg" id="del_client" style="display: none">
<span class="pseudo-link closer"><i class="ti-close"></i></span>
<div class="full_modal login" id="del_client_bg" style="display: none">
<form method="post" action="<?php echo $_SERVER['REQUEST_URI'];?>">
<div class="modal-form">
<div class="modal-inner">
<h2>Причина удаления</h2>
<textarea name="reason" class="text" style="width:100%;" rows="7" required></textarea>
</div>
<div class="modal-submit">
<input type="hidden" name="id_del_client" value="0">
<button type="submit">Удалить</button>
</div>
</div>
</form>
</div>
</div>
<?php require($_SERVER['DOCUMENT_ROOT']."/templates/footer.php"); ?>
<?php if($get['add'] or $error_add) echo '<script>$(document).ready(function() {$("#add_client").trigger("click");})</script>'; ?>