121 lines
4.7 KiB
PHP
121 lines
4.7 KiB
PHP
|
|
<?php
|
|||
|
|
require_once($_SERVER['DOCUMENT_ROOT']."/config_ajax.php");
|
|||
|
|
if(isset($_POST['prz_user'])){
|
|||
|
|
$post = clearInputData($_POST);
|
|||
|
|
|
|||
|
|
$users = [(int)$_POST['prz_user']];
|
|||
|
|
$managers = [(int)$_POST['prz_agency']];
|
|||
|
|
|
|||
|
|
$bd_usl = '';
|
|||
|
|
$bd_user = " who_work in (". implode(',', $users) .")";
|
|||
|
|
$bd_managers_j = '';
|
|||
|
|
if(!empty($post['filter_prz_responsible'])){
|
|||
|
|
$users = [];
|
|||
|
|
$managers = [];
|
|||
|
|
|
|||
|
|
$filter_prz_responsible = array_unique(explode(',', $post['filter_prz_responsible']));
|
|||
|
|
|
|||
|
|
foreach ($filter_prz_responsible as $val) {
|
|||
|
|
if (strripos($val, 'u')){
|
|||
|
|
$users[] = preg_replace('/[^0-9]/', '', $val);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (strripos($val, 'm')){
|
|||
|
|
$managers[] = preg_replace('/[^0-9]/', '', $val);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if($managers){
|
|||
|
|
$bd_managers_j = " AND id_agent in (SELECT id FROM `users` WHERE id in (". implode(',', $managers) .") or
|
|||
|
|
id_manager in (". implode(',', $managers) .") or
|
|||
|
|
id_manager in (select id from users where id_manager in (". implode(',', $managers) .")))";
|
|||
|
|
$bd_managers = " in (". implode(',', $managers) .")";
|
|||
|
|
}
|
|||
|
|
if($users){
|
|||
|
|
$bd_user_j = " who_work in (". implode(',', $users) .") or
|
|||
|
|
id_agent in (SELECT id FROM `users` WHERE id in (". implode(',', $users) .") or
|
|||
|
|
id_manager in (". implode(',', $users) .") or
|
|||
|
|
id_manager in (select id from users where id_manager in (". implode(',', $users) .")))";
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
$bd_user_j = " who_work in (". implode(',', $users) .") ";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if($post['filter_prz_type']){
|
|||
|
|
$typesArr = json_decode(html_entity_decode($post['filter_prz_type']), ENT_QUOTES);
|
|||
|
|
$typeArr = array();
|
|||
|
|
foreach($typesArr as $typeCl){
|
|||
|
|
$typeArr[] = "work_type like '%"{$typeCl}"%'";
|
|||
|
|
}
|
|||
|
|
$bd_usl .= " AND (".implode(" OR ",$typeArr).")";
|
|||
|
|
}
|
|||
|
|
if($post['filter_prz_source']){
|
|||
|
|
$sourcesArr = json_decode(html_entity_decode($post['filter_prz_source']), ENT_QUOTES);
|
|||
|
|
$sourceArr = array();
|
|||
|
|
foreach($sourcesArr as $sourceCl){
|
|||
|
|
if($sourceCl == 0){
|
|||
|
|
$sourceArr[] = "`source` is null";
|
|||
|
|
$sourceArr[] = "`source` = ''";
|
|||
|
|
$sourceArr[] = "`source` = 'null'";
|
|||
|
|
} else {
|
|||
|
|
$sourceArr[] = "`source` = '{$sourceCl}'";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
$bd_usl .= " AND (".implode(" OR ",$sourceArr).")";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if ($post['filter_prz_activities']) {
|
|||
|
|
$activitiesArr = json_decode(html_entity_decode($post['filter_prz_activities']), ENT_QUOTES);
|
|||
|
|
$bd_usl .= " AND `id` IN (
|
|||
|
|
SELECT client_id FROM clients_activities
|
|||
|
|
WHERE activity_id IN (" . implode(", ", $activitiesArr) . ")
|
|||
|
|
)";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if($post['filter_prz_rol']){
|
|||
|
|
$rolesArr = json_decode(html_entity_decode($post['filter_prz_rol']), ENT_QUOTES);
|
|||
|
|
$roleArr = array();
|
|||
|
|
foreach($rolesArr as $roleCl){
|
|||
|
|
$roleArr[] = "`role` like '%"{$roleCl}"%'";
|
|||
|
|
}
|
|||
|
|
$bd_usl .= " AND (".implode(" OR ",$roleArr).")";
|
|||
|
|
}
|
|||
|
|
if (in_array(6358, $managers) || in_array(93, $managers)) {
|
|||
|
|
$sql = "SELECT `id`, `email`, `fio`, `phone`, DATE_FORMAT(date_add, '%d.%m.%Y') AS date_add
|
|||
|
|
FROM clients WHERE (($bd_user AND confirm > 0) or (who_work=0 AND id_agent in
|
|||
|
|
(SELECT id FROM `users` WHERE id $bd_managers or id_manager $bd_managers or id_manager in (select id from users where id_manager $bd_managers)))) $bd_usl AND deleted<>1 ORDER BY clients.id DESC";
|
|||
|
|
} else {
|
|||
|
|
$sql = "SELECT `id`, `email`, `fio`, `phone`, DATE_FORMAT(date_add, '%d.%m.%Y') AS date_add
|
|||
|
|
FROM clients WHERE $bd_user_j $bd_usl AND confirm > 0 AND deleted<>1 ORDER BY clients.id DESC";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//echo $sql;
|
|||
|
|
|
|||
|
|
$rez = mysql_query($sql);
|
|||
|
|
if ($_POST['type'] == 1) {
|
|||
|
|
$komy_list = "";
|
|||
|
|
while($cl = mysql_fetch_assoc($rez))
|
|||
|
|
{
|
|||
|
|
if(!empty($cl['email'])){
|
|||
|
|
if ($komy_list != "") {
|
|||
|
|
$komy_list .= "[<%;%>]";
|
|||
|
|
}
|
|||
|
|
$komy_list .= $cl['id'];
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
echo $komy_list;
|
|||
|
|
exit;
|
|||
|
|
} else {
|
|||
|
|
while($cl = mysql_fetch_assoc($rez))
|
|||
|
|
{
|
|||
|
|
//if(!empty($cl['email'])){
|
|||
|
|
// Маскируем контактные данные клиента, если у пользователя включено скрытие
|
|||
|
|
mask_client_contacts_inplace($cl);
|
|||
|
|
?>
|
|||
|
|
<option data-id="<?=$cl['id']?>" value="<?=$cl['id']?>"><?=$cl['fio']?> (<?=$cl['email']?> <?=$cl['phone']?>)</option>
|
|||
|
|
<?php
|
|||
|
|
//}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|