Joywork/partners.php

579 lines
40 KiB
PHP
Raw Permalink Normal View History

2026-05-22 20:21:54 +02:00
<?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");
?>