Joywork/partners.php
2026-05-22 21:21:54 +03:00

579 lines
40 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
$user = new User;
$user->get($_SESSION['id']);
$user->checkPermissions();
if (!(($_SESSION['agency'] || $_SESSION['manager'] || $user->users_admin) && ($user->agencyId != 8407 || $_SESSION['id'] == 8407))) {
header("location:index.php");
die("Доступ запрещён!");
}
require($_SERVER['DOCUMENT_ROOT']."/templates/new-header.php");
$partners = new Partners;
$get = clearInputData($_GET);
$post = clearInputData($_POST);
$partnerCabinetUrl = $partners->getPartnerCabinetUrl($_SESSION['agency_id'], $_SESSION['id']);
if (isset($get['id'])) {
$id = intval($get['id']);
if (isset($get['partner_status'])) {
$status = $get['partner_status'];
$partners->changePartnerStatus($id, (($status) || 0));
}
if (isset($get['employee_status'])) {
$status = $get['employee_status'];
$partners->changeEmployeeStatus($id, (($status) || 0));
}
}
$user_id = intval($_SESSION['id']);
$page = 1;
if (isset($get['page']))
$page = $get['page'];
$num_on_page = 10;
$url_add = [];
if (isset($get['search'])) {
if (strlen($get['search']) > 0)
$url_add[] = "search=" . $get['search'];
}
if (isset($get['active']))
$url_add[] = "active=1";
if (isset($get['disabled']))
$url_add[] = "disabled=1";
$url_params = '';
if (!empty($url_add))
$url_params = implode("&", $url_add);
?>
<link rel="stylesheet" href="/css/partner_settings_modal.css">
<script src="/js/partner_settings_modal.js"></script>
<div class="content-right fr__users">
<div class="inner">
<div class="main-title">
<h1>Партнёры</h1>
</div>
<?php $partners = $partners->getAllPartners($num_on_page); ?>
<div id="partners" class="partners" style="display:none;margin-bottom: 40px;">
<div class="jw__page__tabs">
<a href="/partners.php" class="tab <?php if (!$_GET['disabled']) echo 'selected'; ?>">
<span>Активные</span>
<i class="jw__tab__counter">
<?php echo $partners['count']['active']; ?>
</i>
</a>
<a href="/partners.php?disabled=1" class="tab <?php if ($_GET['disabled']) echo 'selected'; ?>">
<span>Не активные</span>
<i class="jw__tab__counter">
<?php echo $partners['count']['not_active']; ?>
</i>
</a>
<a href="#" class="tab tab__new-object pseudo-link" id="add_partner">
<i class="ti-plus"></i><span>Новый партнер</span>
</a>
<a href="#" class="tab tab__new-object pseudo-link" id="add_employee">
<i class="ti-plus"></i><span>Новый сотрудник</span>
</a>
</div>
<div class="head-filter__top">
<div class="top-line">
<div class="head-filter-search">
<div class="form-search">
<form>
<input type="search" name="search" class="text" placeholder="Имя, название, эл. почта или номер телефона" value="<?= $get['search']; ?>">
<span class="search-icon">
<i class="ti-search"></i>
</span>
</form>
</div>
</div>
<div class="partner-settings-block">
<div>
<i class="ti-link"></i> Ссылка на Кабинет Партнёра: <a href="<?= $partnerCabinetUrl ?>" target="_blank"><?= $partnerCabinetUrl ?></a>
</div>
<span class="simple-button partners-settings" onclick="openPartnerSettingsModal()">
<i title="Редактировать" class="jw-action-icon-settings"></i>
</span>
</div>
<div class="clear"></div>
</div>
</div>
<?php if (!empty($get['search']) && count($partners['search_result']) > 0) : ?>
<?php foreach ($partners['search_result'] as $employee_id => $employee) : ?>
<?php
$partner_id = $employee['partner_id'];
$partner = $partners['partners'][$partner_id];
?>
<div class="partner" data-employee-id="<?= $employee_id; ?>">
<div class="top">
<div class="date-status" data-created-by="<?= $employee['created_by']; ?>">
<span><?= (!is_null($partner_id) ? $partner['name'] : $employee['name']); ?></span>
<span>Добавлен: <?= date_format(date_create($employee['created']), 'd.m.Y H:i'); ?> </span>
<!-- span>Обновлён: <?= date_format(date_create($employee['updated']), 'd.m.Y H:i'); ?> </span -->
<?php if (!empty($employee['resident'])) : ?>
<div class="status border">
<i><b class="ti-bookmark"></b>&nbsp;<?= $employee['resident']; ?></i>
</div>
<?php endif; ?>
<?php if (!$employee['status']) : ?>
<div class="status red" title="Статус партнёра"><i>Отключен</i></div>
<?php endif; ?>
<?php if (intval($employee['created_by']) == $user_id || $employee['_can_edit'] == true) : ?>
<a href="javascript:void();" data-id="<?= $employee_id; ?>" class="editEmployee no-border" style="float:right;" title="Редактировать">
<span class="simple-button settings"><i class="jw-action-icon-settings"></i></span>
</a>
<?php endif; ?>
</div>
<h2>
<a href="javascript:{}" class="togglePartner" data-id="<?= $employee_id; ?>">
<?= (!is_null($partner_id) ? $partner['fullname'] : $employee['fullname']); ?>
</a>
<span class="address"><?= $employee['position']; ?></span>
</h2>
</div>
<div class="center">
<div class="partner_row row_line">
<div class="col" style="width: 10%;">
<p class="small">Клиенты</p>
<p><b class="big">
<?php if (intval($employee['_clients_count'])) : ?>
<a href="clients.php?filter_partner=<?= $employee_id ?>" target="_blank" class="col-clients">
<span class="solid"><?= $employee['_clients_count']; ?></span>
</a>
<?php else : ?>
<?= $employee['_clients_count']; ?>
<?php endif; ?>
</b></p>
</div>
<div class="col" style="width: 20%;">
<p class="small">Телефон</p>
<p><b class="big"><?= $employee['phone']; ?></b></p>
</div>
<?php if (!empty($employee['email'])) : ?>
<div class="col email-faded" style="width: 30%;">
<p class="small">Эл. почта</p>
<p><b class="big"><a href="mailto:<?= $employee['email']; ?>" target="_blank"><?= $employee['email']; ?></a></b></p>
</div>
<?php endif; ?>
<?php if (!empty($employee['instagram']) || !empty($employee['vkontakte']) || !empty($employee['telegram'])) : ?>
<div class="col" style="width: 10%;">
<p class="small">Соц. сети</p>
<ul style="list-style: none;">
<?php if (!empty($employee['instagram'])) : ?>
<li>
<a href="<?= $employee['instagram']; ?>" target="_blank">Instagram</a>
</li>
<?php endif; ?>
<?php if (!empty($employee['vkontakte'])) : ?>
<li>
<a href="<?= $employee['vkontakte']; ?>" target="_blank">вКонтакте</a>
</li>
<?php endif; ?>
<?php if (!empty($employee['telegram'])) : ?>
<li>
<a href="<?= $employee['telegram']; ?>" target="_blank">Telegram</a>
</li>
<?php endif; ?>
</ul>
</div>
<?php endif; ?>
<div class="clear"></div>
</div>
</div>
<div class="clear"></div>
<div class="bottom">
<?php if (intval($employee['created_by']) == $user_id || $employee['_can_edit'] == true) : ?>
<span>
<?php if (!$employee['status']) : ?>
<a class="fr-btn edit-btn steel i-btn very-small"
href="<?php echo "?employee_status=1&id=$employee_id&page=$page&$url_params"; ?>">
Включить
</a>
<?php else : ?>
<a class="fr-btn edit-btn steel i-btn very-small"
href="<?php echo "?employee_status=0&id=$employee_id&page=$page&$url_params"; ?>">
Отключить
</a>
<?php endif; ?>
</span>
<span>
<a href="javascript:void();" class="fr-btn edit-btn steel i-btn very-small deleteEmployee" data-id="<?= $employee_id ?>">
Удалить
</a>
</span>
<?php endif; ?>
</div>
</div>
<?php endforeach; ?>
<?php elseif (!empty($get['search']) && count($partners['search_result']) == 0) : ?>
<div class='empty-block' style='margin-top: 20px'>
<h1><i class='ti-na'></i></h1>
<h2>Партнёры не найдены</h2>
</div>
<?php else : ?>
<?php if (count($partners['partners']) > 0) : ?>
<?php foreach ($partners['partners'] as $partner_id => $partner) : ?>
<?php if (count($partner['employees']) > 0 ) : ?>
<div class="partner manager" data-partner-id="<?= $partner_id; ?>">
<div class="top">
<div class="date-status" data-created-by="<?= $partner['created_by']; ?>">
<span><b class="green">Партнёр</b></span>
<span>Добавлен: <?= date_format(date_create($partner['created']), 'd.m.Y H:i'); ?> </span>
<!-- span>Обновлён: <?= date_format(date_create($partner['updated']), 'd.m.Y H:i'); ?> </span -->
<?php if (!empty($partner['resident'])) : ?>
<div class="status border">
<i><b class="ti-bookmark"></b>&nbsp;<?= $partner['resident']; ?></i>
</div>
<?php endif; ?>
<?php if (!$partner['status']) : ?>
<div class="status red" title="Статус партнёра"><i>Отключен</i></div>
<?php endif; ?>
<?php if (intval($partner['created_by']) == $user_id || $partner['_can_edit'] == true) : ?>
<a href="javascript:void();" data-id="<?= $partner_id; ?>" class="editPartner no-border" style="float:right;" title="Редактировать">
<span class="simple-button settings"><i class="jw-action-icon-settings"></i></span>
</a>
<?php endif; ?>
</div>
<h2 class="title">
<a href="javascript:{}" class="togglePartner" data-id="<?= $partner_id; ?>"><?= $partner['name']; ?></a>
<span class="address"><?= $partner['address']; ?></span>
</h2>
</div>
<div class="center">
<div class="partner_row row_line">
<div class="col" style="width: 10%;">
<p class="small">Клиенты</p>
<p><b class="big">
<?php if (intval($partner['_clients_count'])) : ?>
<a href="clients.php?filter_partner=all_<?= $partner_id ?>" target="_blank" class="col-clients">
<span class="solid"><?= $partner['_clients_count']; ?></span>
</a>
<?php else : ?>
<?= $partner['_clients_count']; ?>
<?php endif; ?>
</b></p>
</div>
<div class="col" style="width: 10%;">
<p class="small">Сотрудники</p>
<p><b class="big"><?= count($partner['employees']); ?></b></p>
</div>
<div class="col" style="width: 20%;">
<p class="small">Руководитель</p>
<p><h4><?= $partner['fullname']; ?></h4>
<span class="position"><?= $partner['position']; ?></span>
</p>
</div>
<div class="col" style="width: 20%;">
<p class="small">Телефон</p>
<p><b class="big"><?= $partner['phone']; ?></b></p>
</div>
<?php if (!empty($partner['email'])) : ?>
<div class="col email-faded" style="width: 30%;">
<p class="small">Эл. почта</p>
<p><b class="big"><a href="mailto:<?= $partner['email']; ?>" target="_blank"><?= $partner['email']; ?></a></b></p>
</div>
<?php endif; ?>
<?php if (!empty($partner['instagram']) || !empty($partner['vkontakte']) || !empty($partner['telegram'])) : ?>
<div class="col" style="width: 10%;">
<p class="small">Соц. сети</p>
<ul style="list-style: none;">
<?php if (!empty($partner['instagram'])) : ?>
<li>
<a href="<?= $partner['instagram']; ?>" target="_blank">Instagram</a>
</li>
<?php endif; ?>
<?php if (!empty($partner['vkontakte'])) : ?>
<li>
<a href="<?= $partner['vkontakte']; ?>" target="_blank">вКонтакте</a>
</li>
<?php endif; ?>
<?php if (!empty($partner['telegram'])) : ?>
<li>
<a href="<?= $partner['telegram']; ?>" target="_blank">Telegram</a>
</li>
<?php endif; ?>
</ul>
</div>
<?php endif; ?>
<div class="clear"></div>
</div>
<div class="employees-list">
<h3>
<a href="#" class="pseudo toggleEmployees">Сотрудники партнёра
<label class="fl-right">
<span class="fr-btn edit-btn steel i-btn very-small">Развернуть</span>
</label>
</a>
</h3>
<?php foreach ($partner['employees'] as $employee) : ?>
<div class="partner" style="display: none;" data-employee-id="<?= $employee['id']; ?>">
<div class="top">
<div class="date-status" data-created-by="<?= $employee['created_by']; ?>">
<span>Сотрудник</span>
<span>Добавлен: <?= date_format(date_create($employee['created_at']), 'd.m.Y H:i'); ?> </span>
<!-- span>Обновлён: <?= date_format(date_create($employee['updated_at']), 'd.m.Y H:i'); ?> </span -->
<?php if (!$employee['status']) : ?>
<div class="status red" title="Статус сотрудника"><i>Отключен</i></div>
<?php endif; ?>
<?php if (intval($employee['created_by']) == $user_id || $employee['_can_edit'] == true) : ?>
<a href="javascript:void();" data-id="<?= $employee['id']; ?>" class="editEmployee no-border" style="float:right;" title="Редактировать">
<span class="simple-button settings"><i class="jw-action-icon-settings"></i></span>
</a>
<?php endif; ?>
</div>
<h2 class="title">
<a href="javascript:{}" class="toggleEmployee" data-id="<?= $employee['id']; ?>"><?= $employee['name']; ?></a>
<span class="position"><?= $employee['position']; ?></span>
</h2>
</div>
<div class="center">
<div class="partner_row row_line">
<div class="col" style="width: 10%;">
<p class="small">Клиенты</p>
<p><b class="big">
<?php if (intval($employee['_clients_count'])) : ?>
<a href="clients.php?filter_partner=<?= $employee['id']; ?>" target="_blank" class="col-clients">
<span class="solid"><?= $employee['_clients_count']; ?></span>
</a>
<?php else : ?>
<?= $employee['_clients_count']; ?>
<?php endif; ?>
</b></p>
</div>
<div class="col phone">
<p class="small">Телефон</p>
<p><b class="big"><?= $employee['phone']; ?></b></p>
</div>
<?php if (!empty($employee['email'])) : ?>
<div class="col email-faded">
<p class="small">Эл. почта</p>
<p><b class="big"><a class="pseudo" href="mailto:<?= $employee['email']; ?>" target="_blank"><?= $employee['email']; ?></a></b></p>
</div>
<?php endif; ?>
<?php if (!empty($employee['instagram']) || !empty($employee['vkontakte']) || !empty($employee['telegram'])) : ?>
<div class="col" style="width: 10%;">
<p class="small">Соц. сети</p>
<ul style="list-style: none;">
<?php if (!empty($employee['instagram'])) : ?>
<li>
<a href="<?= $employee['instagram']; ?>" target="_blank">Instagram</a>
</li>
<?php endif; ?>
<?php if (!empty($employee['vkontakte'])) : ?>
<li>
<a href="<?= $employee['vkontakte']; ?>" target="_blank">вКонтакте</a>
</li>
<?php endif; ?>
<?php if (!empty($employee['telegram'])) : ?>
<li>
<a href="<?= $employee['telegram']; ?>" target="_blank">Telegram</a>
</li>
<?php endif; ?>
</ul>
</div>
<?php endif; ?>
<div class="clear"></div>
</div>
</div>
<div class="bottom">
<?php if (intval($employee['created_by']) == $user_id || $employee['_can_edit'] == true) : ?>
<span>
<?php if (!$employee['status']) : ?>
<a class="fr-btn edit-btn steel i-btn very-small"
href="<?php echo "?employee_status=1&id=$employee[id]&page=$page&$url_params"; ?>">
Включить
</a>
<?php else : ?>
<a class="fr-btn edit-btn steel i-btn very-small"
href="<?php echo "?employee_status=0&id=$employee[id]&page=$page&$url_params"; ?>">
Отключить
</a>
<?php endif; ?>
</span>
<span>
<a href="javascript:void();" class="fr-btn edit-btn steel i-btn very-small deleteEmployee" data-id="<?= $employee['id'] ?>">
Удалить
</a>
</span>
<?php endif; ?>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
<div class="clear"></div>
<div class="bottom">
<?php if (intval($partner['created_by']) == $user_id || $partner['_can_edit'] == true) : ?>
<span>
<?php if (!$partner['status']) : ?>
<a class="fr-btn edit-btn steel i-btn very-small"
href="<?php echo "?partner_status=1&id=$partner_id&page=$page&$url_params"; ?>">
Включить
</a>
<?php else : ?>
<a class="fr-btn edit-btn steel i-btn very-small"
href="<?php echo "?partner_status=0&id=$partner_id&page=$page&$url_params"; ?>">
Отключить
</a>
<?php endif; ?>
</span>
<span>
<a href="javascript:void();" class="fr-btn edit-btn steel i-btn very-small deletePartner" data-id="<?= $partner_id ?>">
Удалить
</a>
</span>
<?php endif; ?>
</div>
</div>
<?php else : ?>
<div class="partner" data-partner-id="<?= $partner_id; ?>">
<div class="top">
<div class="date-status" data-created-by="<?= $partner['created_by']; ?>">
<span>Партнёр</span>
<span>Добавлен: <?= date_format(date_create($partner['created']), 'd.m.Y H:i'); ?> </span>
<!-- span>Обновлён: <?= date_format(date_create($partner['updated']), 'd.m.Y H:i'); ?> </span -->
<?php if (!empty($partner['resident'])) : ?>
<div class="status border">
<i><b class="ti-bookmark"></b>&nbsp;<?= $partner['resident']; ?></i>
</div>
<?php endif; ?>
<?php if (!$partner['status']) : ?>
<div class="status red" title="Статус партнёра"><i>Отключен</i></div>
<?php endif; ?>
<?php if (intval($partner['created_by']) == $user_id || $partner['_can_edit'] == true) : ?>
<a href="javascript:void();" data-id="<?= $partner_id; ?>" class="editPartner no-border" style="float:right;" title="Редактировать">
<span class="simple-button settings"><i class="jw-action-icon-settings"></i></span>
</a>
<?php endif; ?>
</div>
<h2>
<a href="javascript:{}" class="togglePartner" data-id="<?= $partner_id; ?>"><?= $partner['name']; ?></a>
<span class="address"><?= $partner['address']; ?></span>
</h2>
</div>
<div class="center">
<div class="partner_row row_line">
<div class="col" style="width: 10%;">
<p class="small">Клиенты</p>
<p><b class="big">
<?php if (intval($partner['_clients_count'])) : ?>
<a href="clients.php?filter_partner=all_<?= $partner_id ?>" target="_blank" class="col-clients">
<span class="solid"><?= $partner['_clients_count']; ?></span>
</a>
<?php else : ?>
<?= $partner['_clients_count']; ?>
<?php endif; ?>
</b></p>
</div>
<div class="col" style="width: 10%;">
<p class="small">Сотрудники</p>
<p><b class="big"><?= count($partner['employees']); ?></b></p>
</div>
<div class="col" style="width: 20%;">
<p class="small">Руководитель</p>
<p><h4><?= $partner['fullname']; ?></h4>
<span class="position"><?= $partner['position']; ?></span>
</p>
</div>
<div class="col" style="width: 20%;">
<p class="small">Телефон</p>
<p><b class="big"><?= $partner['phone']; ?></b></p>
</div>
<?php if (!empty($partner['email'])) : ?>
<div class="col email-faded" style="width: 30%;">
<p class="small">Эл. почта</p>
<p><b class="big"><a href="mailto:<?= $partner['email']; ?>" target="_blank"><?= $partner['email']; ?></a></b></p>
</div>
<?php endif; ?>
<?php if (!empty($partner['instagram']) || !empty($partner['vkontakte']) || !empty($partner['telegram'])) : ?>
<div class="col" style="width: 10%;">
<p class="small">Соц. сети</p>
<ul style="list-style: none;">
<?php if (!empty($partner['instagram'])) : ?>
<li>
<a href="<?= $partner['instagram']; ?>" target="_blank">Instagram</a>
</li>
<?php endif; ?>
<?php if (!empty($partner['vkontakte'])) : ?>
<li>
<a href="<?= $partner['vkontakte']; ?>" target="_blank">вКонтакте</a>
</li>
<?php endif; ?>
<?php if (!empty($partner['telegram'])) : ?>
<li>
<a href="<?= $partner['telegram']; ?>" target="_blank">Telegram</a>
</li>
<?php endif; ?>
</ul>
</div>
<?php endif; ?>
<div class="clear"></div>
</div>
</div>
<div class="clear"></div>
<div class="bottom">
<?php if (intval($partner['created_by']) == $user_id || $partner['_can_edit'] == true) : ?>
<span>
<?php if (!$partner['status']) : ?>
<a class="fr-btn edit-btn steel i-btn very-small"
href="<?php echo "?partner_status=1&id=$partner_id&page=$page&$url_params"; ?>">
Включить
</a>
<?php else : ?>
<a class="fr-btn edit-btn steel i-btn very-small"
href="<?php echo "?partner_status=0&id=$partner_id&page=$page&$url_params"; ?>">
Отключить
</a>
<?php endif; ?>
</span>
<span>
<a href="javascript:void();" class="fr-btn edit-btn steel i-btn very-small deletePartner" data-id="<?= $partner_id ?>">
Удалить
</a>
</span>
<?php endif; ?>
</div>
</div>
<?php endif; ?>
<?php endforeach; ?>
<?php
$count = (!$get['disabled']) ? $partners['count']['active'] : (
($get['disabled']) ? $partners['count']['not_active'] : 0
);
$all_pages = ceil($count / intval($num_on_page));
if ($all_pages > 1) {
echo '<div class="f-system_pagination" style="padding: 20px 20px 0 20px;">';
echo '<ul class="pagination">';
num_of_pages($page, $all_pages, $url_params);
echo '</ul>';
echo '</div>';
} ?>
<?php else : ?>
<div class='empty-block' style='margin-top: 20px'>
<h1><i class='ti-na'></i></h1>
<h2>Партнёров нет</h2>
</div>
<?php endif; ?>
<?php endif; ?>
</div>
<div class="object-content__preloader" style="display: block;">
<img src="../images/rocket-spinner.svg" width="96px">
</div>
</div>
</div>
<?php
require($_SERVER['DOCUMENT_ROOT']."/templates/footer.php");
?>