Joywork/ajax/list_clients.php

108 lines
4.2 KiB
PHP
Raw Permalink Normal View History

2026-05-22 20:21:54 +02:00
<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/config.php");
$userId = $_SESSION[id];
$bd_usl_managers = '';
$arrIdUser = array();
$usersId = array();
$usersPlan = array();
$user = new User;
$user -> get($userId);
if($_SESSION['users_admin'] || $user->agencyId == 8826 || $user->agencyId == 12061){
$userId = $user->agencyId;
}
$arrIdUser[] = "who_work = $userId";
$wid[] = "doers like '%&quot;".$userId."&quot;:1%'";
$usersId[] = $userId;
$user -> get($userId);
if($user->agency){
$rez3 = mysql_query("SELECT id FROM users WHERE id_manager=$userId");
while ($mm = mysql_fetch_row($rez3)) {
$arrIdUser[] = "who_work = " . $mm[0];
$wid[] = "doers like '%&quot;".$mm[0]."&quot;:1%'";
$usersId[] = $mm[0];
$rez04 = mysql_query("SELECT id FROM users WHERE id_manager=$mm[0]");
while ($mm2 = mysql_fetch_row($rez04)) {
$arrIdUser[] = "who_work = " . $mm2[0];
$wid[] = "doers like '%&quot;".$mm2[0]."&quot;:1%'";
$usersId[] = $mm2[0];
$rez06 = mysql_query("SELECT id FROM users WHERE id_manager=$mm2[0]");
while ($mm6 = mysql_fetch_row($rez06)) {
$arrIdUser[] = "who_work = " . $mm6[0];
$wid[] = "doers like '%&quot;".$mm6[0]."&quot;:1%'";
$usersId[] = $mm6[0];
}
}
}
} else if($user->manager){
$rez04 = mysql_query("SELECT id FROM users WHERE id_manager=$userId");
while ($mm2 = mysql_fetch_row($rez04)) {
$arrIdUser[] = "who_work = " . $mm2[0];
$wid[] = "doers like '%&quot;".$mm2[0]."&quot;:1%'";
$usersId[] = $mm2[0];
$rez05 = mysql_query("SELECT id FROM users WHERE id_manager=$mm2[0]");
while ($mm5 = mysql_fetch_row($rez05)) {
$arrIdUser[] = "who_work = " . $mm5[0];
$wid[] = "doers like '%&quot;".$mm5[0]."&quot;:1%'";
$usersId[] = $mm5[0];
}
}
}
$bd_usl_managers = " AND (".implode(" OR ",$arrIdUser).")";
if(!empty($wid)){
$bd_usl_managers = " AND ((".implode(" OR ",$arrIdUser).") or (".implode(" OR ",$wid)."))";
}
$sql = "SELECT `id`, fio, email, phone, objects, deleted, confirm FROM clients WHERE 1 $bd_usl_managers and deleted <> 1 and confirm = 1";
if(isset($_GET['id'])){
$id = (int)$_GET['id'];
if($id > 0){
$sql = "SELECT `id`, fio, email, phone, objects FROM clients WHERE 1 and id=$id";
}
}
if(isset($_GET['req'])){
$sql = "SELECT `id`, fio, email, phone, objects, deleted, confirm FROM clients WHERE 1 $bd_usl_managers order by deleted";
}
// echo $sql;
$clients_all = array();
$q = mysql_query($sql);
while($r = mysql_fetch_assoc($q)){
// Маскируем контактные данные клиента, если у пользователя включено скрытие
mask_client_contacts_inplace($r);
$res['value'] = $r['id'];
$color = '#000';
if($r['deleted'] == 1){
$color = '#dd6360';
if($r['confirm'] == 10){
$color = '#43A047';
}
}
$res['text'] = "<span style='color:".$color."'>".$r['phone'].' '.htmlspecialchars_decode($r['fio'])."</span>";
if(isset($_GET['id'])){
$res['text'] = $r['phone'].' '.htmlspecialchars_decode($r['fio']);
}
$res['fio'] = $r['fio'];
$res['objects'] = json_decode(html_entity_decode($r['objects']));
if(!empty($r['email'])){
$res['text'] = "<span style='color:".$color."'>".$r['phone'].' '.htmlspecialchars_decode($r['fio']).' ('.$r['email'].")</span>";
if(isset($_GET['id'])){
$res['text'] = $r['phone'].' '.htmlspecialchars_decode($r['fio']).' ('.$r['email'].')';
}
}
if(isset($id) && $id>0){
$clients_all = $res;
} else {
$clients_all[] = $res;
}
}
header('Content-Type: application/json');
echo json_encode($clients_all, JSON_UNESCAPED_UNICODE);
?>