Joywork/engine/classes/Clients_jw.php
2026-05-22 21:21:54 +03:00

743 lines
31 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
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of Clients_jw
*
* @author iren_
*/
class Clients_jw {
public function get($id) {
$sql="SELECT * FROM clients_jw WHERE id=$id";
$rez=mysql_query($sql);
if(mysql_num_rows($rez))
{
$cl = mysql_fetch_assoc($rez);
foreach($cl as $k => $v)
{
if ($k == 'birthday') $v = date('d.m.Y', strtotime ($v));
$this->$k = html_entity_decode($v);
}
} else return false;
}
public function del($id) {
$sql="DELETE FROM clients_jw WHERE id=$id";
$rez=mysql_query($sql);
$sql="DELETE FROM user_client_jw_events WHERE client_id=$id";
$rez=mysql_query($sql);
}
public function addEdit($post) {
if (($post['id'] && (!isset($post['phone']) || !$post['phone']))) {
$sqlPhone = "SELECT phone FROM clients_jw WHERE id = $post[id]";
$resPhone = mysql_query($sqlPhone);
$phRow = mysql_fetch_assoc($resPhone);
$post['phone'] = $phRow['phone'];
}
//$sql = "SELECT users.id, users.fio FROM users WHERE id IN (SELECT DISTINCT CASE WHEN clients_jw.who_work = 0 THEN clients_jw.id_agent ELSE clients_jw.who_work END FROM clients_jw WHERE clients_jw.phone='$post[phone]')";
$sql = "select phone, if(who_work = 0, id_agent, who_work) as id, (SELECT fio from users WHERE id = if(clients_jw.who_work = 0, clients_jw.id_agent, clients_jw.who_work)) as fio from clients_jw WHERE clients_jw.phone='$post[phone]'";
if ($post['id']) {
$sql = $sql." and clients_jw.id != $post[id]";
}
if ($post['confirm'] || $post['confirm'] == 0) {
if($post['who_work']==$_SESSION['id']) {
$post['confirm'] = 1;
}
}
//echo $sql;
// $workType = 0;
//if (isset($post['work_type']) && $post['work_type'] > 0) {
$workType = $post['work_type'];
//}
$rez = mysql_query($sql);
$count = mysql_num_rows($rez);
if ($count > 0) {
$agencyId = null;
if ($_SESSION['agency']) {
$agencyId = $_SESSION['id'];
} else {
if ($_SESSION['manager']) {
$user = new User;
$user->checkPermissions();
$agencyId = $user->id_manager;
} else {
$user = new User;
$user->checkPermissions();
if ($user->id_manager > 0) {
$agency = new User;
$agency->get($user->id_manager);
if($agency->id_manager) {
$agency->get($agency->id_manager);
}
$agencyId = $agency->id;
}
}
}
if ($agencyId != null) {
$idsFromAgency = array();
$idsFromAgency[] = $agencyId;
$agency = new User();
$managers = $agency->getAllManagers($agencyId);
if($managers) {
foreach ($managers as $i => $manager) {
$idsFromAgency[] = $manager['id'];
}
}
$agents = $agency->getAllAgents($agencyId);
if($agents) {
foreach ($agents as $i => $agent) {
$idsFromAgency[] = $agent['id'];
}
}
// список пользователей, у которых есть похожие клиенты
while ($user = mysql_fetch_assoc($rez)) {
if (in_array($user['id'], $idsFromAgency)) {
return "Клиент с указанной электронной почтой или телефоном уже привязан к агенту $user[fio]!";
}
}
}
// прошли проверку - добавляем
if ($post['id']) {
$sql = "UPDATE clients_jw SET fio='$post[fio]', email='".trim($post['email'])."', phone='$post[phone]', `type`='$post[type]', work_type='$workType', opis='$post[opis]', status='$post[status]', budget='$post[budget]', who_work='$post[who_work]', confirm='$post[confirm]', `role`='$post[role]', `objects`='$post[objects]', `source`='$post[source]', `birthday`='$post[birthday]', `stage`='$post[stage]', `hot`='$post[hot]', `priority`='$post[priortiy]' WHERE id=$post[id]";
if($post['who_work'] != $_SESSION['id'] && $post['confirm'] == 0){
//Добавляем событие передачи
$sql_conf = "INSERT INTO `events_clients_jw` (`user_id`, `client_id`, `from_id`, `event`) VALUES (".$_SESSION['id'].", ".$post['id'].", ".$post['who_work'].", 'transmitted')";
mysql_query($sql_conf);
}
} else {
$sql = "INSERT INTO clients_jw(`fio`, `email`, `phone`, `type`, `work_type`, `opis`, `id_agent`, `date_add`, `status`, `budget`, `who_work`, `confirm`, `role`, `objects`, `source`, `birthday`, `stage`, `hot`, `priority`) VALUES('$post[fio]', '".trim($post['email'])."' ,'$post[phone]' ,'$post[type]', '$workType', '$post[opis]', '$_SESSION[id]', NOW(), '$post[status]', '$post[budget]', '$post[who_work]', '$post[confirm]', '$post[role]','$post[objects]', '$post[source]', '$post[birthday]', '$post[stage]', '$post[hot]', '$post[hot]', '$post[priority]')";
}
mysql_query($sql);
return;
} else {
if ($post['id']) {
$sql = "UPDATE clients_jw SET fio='$post[fio]', email='".trim($post['email'])."', phone='$post[phone]', type='$post[type]', work_type='$workType', opis='$post[opis]', status='$post[status]', budget='$post[budget]', who_work='$post[who_work]', confirm='$post[confirm]', `role`='$post[role]', `objects`='$post[objects]', `source`='$post[source]', `birthday`='$post[birthday]', `stage`='$post[stage]', `hot`='$post[hot]', `priority`='$post[priortiy]' WHERE id=$post[id]";
if($post['who_work'] != $_SESSION['id'] && $post['confirm'] == 0){
//Добавляем событие передачи
$sql_conf = "INSERT INTO `events_clients_jw` (`user_id`, `client_id`, `from_id`, `event`) VALUES (".$_SESSION['id'].", ".$post['id'].", ".$post['who_work'].", 'transmitted')";
mysql_query($sql_conf);
}
} else {
$sql = "INSERT INTO clients_jw(`fio`, `email`, `phone`, `type`, `work_type`, `opis`, `id_agent`, `date_add`, `status`, `budget`, `who_work`, `confirm`, `role`, `objects`, `source`, `birthday`, `stage`, `hot`, `priority`) VALUES('$post[fio]', '".trim($post['email'])."' ,'$post[phone]' ,'$post[type]', '$workType', '$post[opis]', '$_SESSION[id]', NOW(), '$post[status]', '$post[budget]', '$post[who_work]', '$post[confirm]', '$post[role]','$post[objects]', '$post[source]', '$post[birthday]', '$post[stage]', '$post[hot]', '$post[priority]')";
}
mysql_query($sql);
return;
}
}
public function delReason($post){
$sql = "UPDATE clients_jw SET reason='$post[reason]', who_delete = '$_SESSION[id]', deleted=1 WHERE id=$post[id_del_client]";
if($post[summa] && $post[luck]){
$sql = "UPDATE clients_jw SET reason='$post[reason]', who_delete = '$_SESSION[id]', deleted=1, summa='$post[summa]', confirm='$post[luck]' WHERE id=$post[id_del_client]";
}
mysql_query($sql);
$sql = "INSERT INTO `events_clients_jw` (user_id, client_id, from_id, event, `read`) VALUES ('".$_SESSION['id']."', '".$post['id_del_client']."', '".$_SESSION['id']."', 'delete', '1')";
mysql_query($sql);
}
public function restore($id){
$sql = "UPDATE clients_jw SET reason='', confirm = 1, who_delete=NULL, deleted=0 WHERE id=$id";
mysql_query($sql);
}
public function getMyClients($id_agent) {
$bd_usl = "";
if($_GET['new']) { $bd_usl = " AND confirm=0 AND status <>2 AND deleted<>1"; }
if($_GET['work']) { $bd_usl = " AND confirm=1 AND status <>2 AND deleted<>1"; }
//if($_GET['id_agent']) { $bd_usl = " AND confirm=1 AND status <>2 AND deleted<>1"; }
//if($_GET['id_manager']) { $bd_usl = " AND confirm=1 AND status <>2 AND deleted<>1"; }
if($_GET['end']) { $bd_usl = " AND status=2 AND deleted<>1"; }
if (isset($_GET['workType'])) {
$bd_usl.=" AND work_type = " . $_GET['workType'];
}
$bd_who_work = "who_work = $id_agent ";
if ($_GET['new']) {
$bd_who_work = " (who_work = $id_agent or (id_agent = $id_agent and who_work > 0)) ";
}
$result = array();
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE $bd_who_work $bd_usl";
$result['vsego'] = $vsego = mysql_result(mysql_query($sql_count),0);
$sql = "SELECT *, DATE_FORMAT(date_add, '%d.%m.%Y') AS date_add
FROM clients_jw WHERE $bd_who_work AND deleted<>1 $bd_usl ORDER BY clients_jw.id DESC";
if (isset($_GET['dev'])) {
echo $sql;
}
$rez = mysql_query($sql);
while($cl = mysql_fetch_assoc($rez))
{ $result['clients'][] = $cl; }
return $result;
}
public function getClients($id_agent) { // используется в footer.php
$result = array();
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE who_work = $id_agent AND confirm=1 AND deleted<>1";
$result['vsego'] = $vsego = mysql_result(mysql_query($sql_count),0);
$sql = "SELECT *, DATE_FORMAT(date_add, '%d.%m.%Y') AS date_add
FROM clients_jw WHERE who_work = $id_agent AND confirm=1 AND deleted<>1 ORDER BY clients_jw.id DESC";
$rez = mysql_query($sql);
while($cl = mysql_fetch_assoc($rez))
{
$result['clients'][] = $cl;
}
return $result;
}
public function getCountClients($deleted = false) {
$mmid[] = "id_agent = $_SESSION[id]";
$rez = mysql_query("SELECT id FROM users WHERE id_manager=$_SESSION[id]");
while($mm = mysql_fetch_row($rez))
{
$mmid[] = "id_agent = ".$mm[0];
$rez2 = mysql_query("SELECT id FROM users WHERE id_manager=$mm[0]");
while($mm2 = mysql_fetch_row($rez2))
{
$mmid[] = "id_agent = ".$mm2[0];
}
}
if($deleted) $bd_usl_managers = "deleted=1"; else $bd_usl_managers = "1";
$bd_usl_managers .= " AND (".implode(" OR ",$mmid).")";
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE $bd_usl_managers";
return mysql_result(mysql_query($sql_count),0);
}
public function getCountClientsWhoWork($id_user) {
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE who_work=$id_user AND confirm=1 AND deleted<>1";
$rez = mysql_result(mysql_query($sql_count),0);
if($rez > 0) {
$counter = "<b class=\"jw__counter who_work\">".$rez."</b>";
}
else {
$counter = "";
}
return $counter;
}
public function getCountNewClients($id_user) {
//$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE (who_work=$id_user or (id_agent=$id_user and who_work > 0)) AND confirm=0 AND deleted<>1";
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE who_work=$id_user AND confirm=0 AND deleted<>1";
$rez = mysql_result(mysql_query($sql_count),0);
if($rez > 0) {
$counter = "<b class=\"jw__counter new\">".$rez."</b>";
}
else {
$counter = "";
}
return $counter;
}
public function getCountWorkTypeClientsNumber($id_user, $workType) {
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE (who_work=$id_user or (id_agent=$id_user and who_work = 0)) AND deleted<>1 AND work_type=$workType";
return mysql_result(mysql_query($sql_count),0);
}
public function getCountNewClientsNumber($id_user, $workType) {
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE (who_work=$id_user or (id_agent=$id_user and who_work > 0)) AND confirm=0 AND deleted<>1 AND work_type=$workType";
return mysql_result(mysql_query($sql_count),0);
}
public function getCountEndClientsNumber($id_user, $workType) {
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE (who_work=$id_user or (id_agent=$id_user and who_work > 0)) AND status=2 AND deleted<>1 AND work_type=$workType";
return mysql_result(mysql_query($sql_count),0);
}
public function getCountWorkClientsNumber($id_user, $workType) {
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE who_work=$id_user AND and confirm= 1 AND status <> 2 AND deleted<>1 AND work_type=$workType";
return mysql_result(mysql_query($sql_count),0);
}
public function getCountEndClients($id_user) {
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE who_work=$id_user AND status=2 AND deleted<>1";
$rez = mysql_result(mysql_query($sql_count),0);
if($rez > 0) {
$counter = "<b class=\"jw__counter end\">".$rez."</b>";
}
else {
$counter = "";
}
return $counter;
}
public function getCountWorkClients($id_user) {
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE who_work=$id_user AND confirm=1 AND deleted<>1";
$rez = mysql_result(mysql_query($sql_count),0);
return $rez;
}
public function getAllClients() {
$result = array();
$bd_usl_managers = "";
$bd_usl = "";
if (!$_GET['all'] || !$_POST['all']) {
// $mmid[] = "id_agent = $_SESSION[id]";
$mmid[] = "who_work = $_SESSION[id]";
if ($_GET['deleted']) {
$bd_usl = "AND deleted=1";
// если ищем по удаленным и под менеджером - пропускаем этот код - здесь идет добавление по агентству
if (!($_GET['deleted'] && $_SESSION['manager'])) {
$rez1 = mysql_query("SELECT id_manager FROM users WHERE id=$_SESSION[id]");
while ($mm1 = mysql_fetch_row($rez1)) {
$mmid[] = "id_agent = " . $mm1[0];
$rez01 = mysql_query("SELECT id_manager FROM users WHERE id=$mm1[0]");
while ($mm01 = mysql_fetch_row($rez01)) {
$mmid[] = "id_agent = " . $mm01[0];
}
$rez02 = mysql_query("SELECT id FROM users WHERE id_manager=$mm1[0] and id_manager<>0");
while ($mm02 = mysql_fetch_row($rez02)) {
$mmid[] = "id_agent = " . $mm02[0];
}
}
}
$rez2 = mysql_query("SELECT id FROM users WHERE id_manager=$_SESSION[id]");
while ($mm2 = mysql_fetch_row($rez2)) {
$mmid[] = "id_agent = " . $mm2[0];
$rez03 = mysql_query("SELECT id FROM users WHERE id_manager=$mm2[0]");
while ($mm03 = mysql_fetch_row($rez03)) {
$mmid[] = "id_agent = " . $mm03[0];
}
}
}
$rez3 = mysql_query("SELECT id FROM users WHERE id_manager=$_SESSION[id] AND manager=1");
while ($mm = mysql_fetch_row($rez3)) {
$mmid[] = "id_agent = " . $mm[0];
$rez04 = mysql_query("SELECT id FROM users WHERE id_manager=$mm[0]");
while ($mm2 = mysql_fetch_row($rez04)) {
$mmid[] = "id_agent = " . $mm2[0];
}
}
$bd_usl_managers = " AND (".implode(" OR ",$mmid).")";
} else {
// находим ИД агентства и по нему ищем всех свободных клиентов
$agencyId = -1;
if ($_SESSION['agency']) {
$agencyId = $_SESSION['id'];
} else {
if ($_SESSION['manager']) {
$user = new User;
$user->checkPermissions();
$agencyId = $user->id_manager;
} else {
$user = new User;
$user->checkPermissions();
if ($user->id_manager > 0) {
$agency = new User;
$agency->get($user->id_manager);
if($agency->id_manager) {
$agency->get($agency->id_manager);
}
$agencyId = $agency->id;
}
}
}
$bd_usl .= "AND deleted=0 AND who_work=0 AND id_agent in
(SELECT id FROM `users` WHERE id=$agencyId or id_manager=$agencyId or id_manager in (select id from users where id_manager=$agencyId))";
}
$get = clearInputData($_GET);
$post = clearInputData($_POST);
if (isset($get['workType'])) {
$bd_usl.=" AND work_type = " .$get['workType'];
}
if($get['search'])
{
$bd_usl.=" AND (fio LIKE '%$get[search]%' OR phone LIKE '%$get[search]%' OR email LIKE '%$get[search]%')";
$result['str_url_add'] = "search=".$get['search'];
}
if($post['search'])
{
$_SESSION['client_search'] = $post['search'];
$bd_usl.=" AND (fio LIKE '%$post[search]%' OR phone LIKE '%$post[search]%' OR email LIKE '%$post[search]%')";
$result['str_url_add'] = "search=".$post['search'];
} else {
unset($_SESSION['client_search']);
}
if($post['period']){
$arrPeriod = ['today' => '-0 day', 'week' => '-6 day', 'month' => '-30 day', 'quarter' => '-120 day', 'year' => '-365'];
$days = date('Y-m-d', strtotime($arrPeriod[$post['period']]));
$bd_usl.= " AND `date_add` > '{$days}'";
$_SESSION['client_period'] = $post['period'];
} else {
unset($_SESSION['client_period']);
}
$bd_stage = "";
if($post['filter_stage_work']){
$bd_stage = " and deleted <> '1' and confirm = 1";
$_SESSION['filter_stage_work'] = 1;
} else {
unset($_SESSION['filter_stage_work']);
}
if($post['filter_stage_close']){
$bd_stage = " and deleted = '1' AND confirm <> '10'";
$_SESSION['filter_stage_close'] = 1;
} else {
unset($_SESSION['filter_stage_close']);
}
if($post['filter_stage_hit']){
$bd_stage = " AND deleted = '1' AND confirm = 10";
$_SESSION['filter_stage_hit'] = 1;
} else {
unset($_SESSION['filter_stage_hit']);
}
/* if($bd_stage != ""){
$bd_stage = " AND".$bd_stage.")";
}*/
if($post['filter_stage_hot']){
if($post['filter_stage_work']){
$bd_usl.= " or `hot` = 1";
} else {
$bd_usl.= " AND `hot` = 1";
}
$_SESSION['filter_stage_hot'] = 1;
} else {
unset($_SESSION['filter_stage_hot']);
}
if($post['filter_emp']){
$empwho = array();
$empArr = json_decode(html_entity_decode($post['filter_emp']), ENT_QUOTES);
foreach($empArr as $empId){
//$empwho[] = "id_agent = $empId";
$empwho[] = "who_work = $empId";
}
$bd_usl_managers = " AND (".implode(" OR ",$empwho).")";
$_SESSION['filter_emp'] = $post['filter_emp'];
} else {
unset($_SESSION['filter_emp']);
}
if($post['filter_client_type']){
$typesArr = json_decode(html_entity_decode($post['filter_client_type']), ENT_QUOTES);
$typeArr = array();
foreach($typesArr as $typeCl){
$typeArr[] = "work_type like '%&quot;{$typeCl}&quot;%'";
}
$bd_usl .= " AND (".implode(" OR ",$typeArr).")";
$_SESSION['filter_client_type'] = $post['filter_client_type'];
} else {
unset($_SESSION['filter_client_type']);
}
if($post['filter_client_objects_type']){
$typesArr = json_decode(html_entity_decode($post['filter_client_objects_type']), ENT_QUOTES);
$typeArr = array();
foreach($typesArr as $typeCl){
$typeArr[] = "`type` like '%&quot;{$typeCl}&quot;%'";
}
$bd_usl .= " AND (".implode(" OR ",$typeArr).")";
$_SESSION['filter_client_objects_type'] = $post['filter_client_objects_type'];
} else {
unset($_SESSION['filter_client_objects_type']);
}
if($post['filter_source']){
$sourcesArr = json_decode(html_entity_decode($post['filter_source']), ENT_QUOTES);
$sourceArr = array();
foreach($sourcesArr as $sourceCl){
$sourceArr[] = "`source` = '{$sourceCl}'";
}
$bd_usl .= " AND (".implode(" OR ",$sourceArr).")";
$_SESSION['filter_source'] = $post['filter_source'];
} else {
unset($_SESSION['filter_source']);
}
if($post['filter_client_rol']){
$rolesArr = json_decode(html_entity_decode($post['filter_client_rol']), ENT_QUOTES);
$sroleArr = array();
foreach($rolesArr as $roleCl){
$roleArr[] = "`role` like '%&quot;{$roleCl}&quot;%'";
}
$bd_usl .= " AND (".implode(" OR ",$roleArr).")";
$_SESSION['filter_client_rol'] = $post['filter_client_rol'];
} else {
unset($_SESSION['filter_client_rol']);
}
if($post['filter_etap']){
$etapsArr = json_decode(html_entity_decode($post['filter_etap']), ENT_QUOTES);
$etapArr = array();
foreach($etapsArr as $etapCl){
$etapArr[] = "`stage` = '{$etapCl}'";
}
$bd_usl .= " AND (".implode(" OR ",$etapArr).") and deleted <> '1'";
$_SESSION['filter_etap'] = $post['filter_etap'];
} else {
unset($_SESSION['filter_etap']);
}
if($post['filter_work_ahency']){
//$bd_usl .= " AND `who_work` = 0";
// находим ИД агентства и по нему ищем всех свободных клиентов
$bd_usl_managers = '';
$agencyId = -1;
if ($_SESSION['agency']) {
$agencyId = $_SESSION['id'];
} else {
if ($_SESSION['manager']) {
$user = new User;
$user->checkPermissions();
$agencyId = $user->id_manager;
} else {
$user = new User;
$user->checkPermissions();
if ($user->id_manager > 0) {
$agency = new User;
$agency->get($user->id_manager);
if($agency->id_manager) {
$agency->get($agency->id_manager);
}
$agencyId = $agency->id;
}
}
}
$bd_usl = "AND deleted=0 AND who_work=0 AND id_agent in
(SELECT id FROM `users` WHERE id=$agencyId or id_manager=$agencyId or id_manager in (select id from users where id_manager=$agencyId))";
$_SESSION['filter_work_ahency'] = $post['filter_work_ahency'];
} else {
unset($_SESSION['filter_work_ahency']);
}
if($post['filter_confirm']){
$bd_usl .= " AND (`who_work` = ".$_SESSION['id']." OR `id_agent` = ".$_SESSION['id'].") AND `confirm` = 0";
$_SESSION['filter_confirm'] = $post['filter_confirm'];
} else {
unset($_SESSION['filter_confirm']);
}
if($post['order']){
$bd_usl .= " AND (SELECT count(id) FROM user_client_jw_events WHERE user_id = $_SESSION[id] and calendar_view = 0
and schedule_date is not null and client_id=clients_jw.id and DATE(schedule_date) <= '".date("Y-m-d")."') > 0";
$_SESSION['order'] = 1;
} else {
unset($_SESSION['order']);
}
$one_page_clients = 10;
$limit = ' limit '.$one_page_clients;
if($post['page'] && $post['page'] > 1){
$page = $post['page'];
} else {
$page = 1;
}
if($post['kanban']){
$one_page_clients = 4;
$page = $post['kanban_page'];
}
$limit = ' limit '.(($page-1)*$one_page_clients).', '.$one_page_clients;
if($post['kanban']) {
//$limit = '';
$_SESSION['kanban']=1;
} else {
unset($_SESSION['kanban']);
}
$bd_funnel = '';
if($post['funnel_id']){
$bd_funnel = " AND funnel_id = ".$post['funnel_id'];
}
if($post['kanban']){
$mounthArr = ["января", "февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"];
for($j = 1; $j <= 7; $j++){
if($j == 8){
$sql = "SELECT *, DATE_FORMAT(date_add, '%d.%m.%Y') AS date_add
FROM clients_jw WHERE 1 AND deleted = '1'
$bd_funnel $bd_usl $bd_stage
ORDER BY turn, turntime, clients_jw.date_add desc".$limit;
} else {
$sql = "SELECT *, DATE_FORMAT(date_add, '%d.%m.%Y') AS date_add
FROM clients_jw WHERE 1 AND stage = $j AND deleted <> '1'
$bd_funnel $bd_usl $bd_stage
ORDER BY turn, turntime desc, clients_jw.date_add desc".$limit;
}
$rez = mysql_query($sql);
while($client = mysql_fetch_assoc($rez))
{
$data_add = date('d', strtotime($client['date_add']));
$mounth = $mounthArr[((int)date('m', strtotime($client['date_add'])) - 1)];
$data_add .= ' '.$mounth.' '.date('Y', strtotime($client['date_add']));
$client['add_date'] = $data_add;
$events = "SELECT count(id) as res FROM user_client_jw_events WHERE user_id = $_SESSION[id] and calendar_view = 0
and schedule_date is not null and client_id=".$client['id']." and DATE(schedule_date) <= '".date("Y-m-d")."'";
$phone = $client['phone'];
if (strpos($phone, '+7') !== false) {
$phone = substr($phone, 0, 2)."(".substr($phone, 2, 3).")".substr($phone, 5, 3)."-".substr($phone, 8, 2)."-".substr($phone, 10, 2);
}
$client['phone'] = $phone;
$q_events = mysql_query($events);
$events_res = (int)mysql_fetch_assoc($q_events)['res'];
$client['events_res'] = $events_res;
$result['clients'][$j][] = $client;
}
// echo $sql;
}
//echo $sql;
} else {
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE 1 $bd_usl";
$result['vsego'] = $vsego = mysql_result(mysql_query($sql_count),0);
// echo $post['page'];
$sql = "SELECT id
FROM clients_jw WHERE 1
$bd_funnel $bd_usl $bd_stage";
$rez = mysql_query($sql);
$total = mysql_num_rows($rez);
$all_pages = ceil($total/$one_page_clients);
$sql = "SELECT *, DATE_FORMAT(date_add, '%d.%m.%Y') AS date_add
FROM clients_jw WHERE 1
$bd_funnel $bd_usl $bd_stage
ORDER BY clients_jw.date_add desc".$limit;
//echo $sql;
if ($_GET['dev']) { echo $sql;}
$rez = mysql_query($sql);
while($cl = mysql_fetch_assoc($rez))
{
$result['clients'][] = $cl;
}
$result['all_pages'] = $all_pages;
}
return $result;
}
public function getCountAllClients() {
// находим ИД агентства и по нему ищем всех свободных клиентов
$agencyId = -1;
if ($_SESSION['agency']) {
$agencyId = $_SESSION['id'];
} else {
if ($_SESSION['manager']) {
$user = new User;
$user->checkPermissions();
$agencyId = $user->id_manager;
} else {
$user = new User;
$user->checkPermissions();
if ($user->id_manager > 0) {
$agency = new User;
$agency->get($user->id_manager);
if($agency->id_manager) {
$agency->get($agency->id_manager);
}
$agencyId = $agency->id;
}
}
}
$bd_usl = " deleted=0 AND who_work=0 AND id_agent in
(SELECT id FROM `users` WHERE id=$agencyId or id_manager=$agencyId or id_manager in (select id from users where id_manager=$agencyId))";
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE $bd_usl";
$vsego = mysql_result(mysql_query($sql_count),0);
if($vsego > 0) {
$counter = "<b class=\"jw__counter all\">".$vsego."</b>";
}
else {
$counter = "";
}
return $counter;
}
public function getCountAllClientsNumber($workType) {
// находим ИД агентства и по нему ищем всех свободных клиентов
$agencyId = -1;
if ($_SESSION['agency']) {
$agencyId = $_SESSION['id'];
} else {
if ($_SESSION['manager']) {
$user = new User;
$user->checkPermissions();
$agencyId = $user->id_manager;
} else {
$user = new User;
$user->checkPermissions();
if ($user->id_manager > 0) {
$agency = new User;
$agency->get($user->id_manager);
if($agency->id_manager) {
$agency->get($agency->id_manager);
}
$agencyId = $agency->id;
}
}
}
$bd_usl = " deleted=0 AND who_work=0 AND work_type = $workType AND id_agent in
(SELECT id FROM `users` WHERE id=$agencyId or id_manager=$agencyId or id_manager in (select id from users where id_manager=$agencyId))";
$sql_count = "SELECT COUNT(*) FROM clients_jw WHERE $bd_usl";
return mysql_result(mysql_query($sql_count),0);
}
}