· 6 years ago · Oct 19, 2019, 07:50 AM
1<?php
2//Запускаем сессию
3session_start();
4
5ini_set('error_reporting', E_ALL);
6ini_set('display_errors', 1);
7ini_set('display_startup_errors', 1);
8
9//Подключаем конфигурационный файл
10include 'assets/config/config.php';
11
12//подключаем MySQL
13include 'assets/bd.php';
14
15//Подключаем скрипт с функциями
16include 'assets/funct.php';
17
18$sql = "SELECT status FROM `users` WHERE id_user={$_COOKIE['id']}";
19$result = mysqli_query($db_connect, $sql);
20$row = mysqli_fetch_assoc($result);
21
22if (isset($_COOKIE['id']) && $row['status'] == "1") {
23
24 $id_user = $_COOKIE['id'];
25
26 $sql = "SELECT login, name, crm_id, stop FROM users WHERE id_user='$id_user'";
27
28 $res = mysqli_query($db_connect, $sql);
29
30 $row = mysqli_fetch_assoc($res);
31
32 $sql_table = "SELECT u.crm_id as crm_id, u.name as name, u.count as count FROM `users` u INNER JOIN `manager_stats` m ON m.manager_id = u.id_user ORDER BY u.count DESC";
33 $result_table = mysqli_query($db_connect, $sql_table);
34
35 $crm_id = $row['crm_id'];
36
37 $sql_leads = "SELECT leads.name AS name, leads.status AS status, leads.user_id AS id, users.name AS manager, leads.date_create AS date_create, leads.date_accept AS date_accept FROM leads INNER JOIN users ON leads.responsible_user_id=users.crm_id WHERE leads.status=1 ORDER BY user_id DESC LIMIT 10";
38 $result_leads = mysqli_query($db_connect, $sql_leads);
39
40 $sql_count_status = "SELECT COUNT(*) AS total FROM leads WHERE status=0 AND responsible_user_id='3431236'";
41 $result_status = mysqli_query($db_connect, $sql_count_status);
42 $row_status = mysqli_fetch_assoc($result_status);
43
44 $sql_count_status_individual = "SELECT COUNT(*) AS total FROM leads WHERE status=0 AND responsible_user_id='$crm_id'";
45 $result_status_individual = mysqli_query($db_connect, $sql_count_status_individual);
46 $row_status_individual = mysqli_fetch_assoc($result_status_individual);
47
48 $sql_count_cold_individual = "SELECT COUNT(id) AS count FROM tasks WHERE responsible_user_id='$crm_id' AND task_type IN('1482454', '1482457', '1482460', '1482463') AND status='0'";
49 $result_count_cold_individual = mysqli_query($db_connect, $sql_count_cold_individual);
50 $row_count_cold_individual = mysqli_fetch_assoc($result_count_cold_individual);
51
52 $sql_count_cold_global = "SELECT COUNT(id) AS count FROM tasks WHERE responsible_user_id='3431236' AND task_type IN('1482454', '1482457', '1482460', '1482463') AND status='0'";
53 $result_count_cold_global = mysqli_query($db_connect, $sql_count_cold_global);
54 $row_count_cold_global = mysqli_fetch_assoc($result_count_cold_global);
55
56 $sql_target_1 = "SELECT * FROM `settings` WHERE id=2";
57 $row_1 = mysqli_fetch_assoc(mysqli_query($db_connect, $sql_target_1));
58 $sql_target_2 = "SELECT * FROM `settings` WHERE id=3";
59 $row_2 = mysqli_fetch_assoc(mysqli_query($db_connect, $sql_target_2));
60 $sql_target_3 = "SELECT * FROM `settings` WHERE id=4";
61 $row_3 = mysqli_fetch_assoc(mysqli_query($db_connect, $sql_target_3));
62 $sql_target_4 = "SELECT * FROM `settings` WHERE id=5";
63 $row_4 = mysqli_fetch_assoc(mysqli_query($db_connect, $sql_target_4));
64
65 $startDay = (new DateTime('today'))->format('Y-m-d H:i:s');
66 $endDay = (new DateTime('today 23:59:59'))->format('Y-m-d H:i:s');
67 $leadsToday = "SELECT COUNT(*) leadsToday FROM `leads` WHERE responsible_user_id={$crm_id} AND date_accept BETWEEN '{$startDay}' AND '{$endDay}'";
68 $leadsTodayRow = mysqli_fetch_assoc(mysqli_query($db_connect, $leadsToday));
69
70 $user=array(
71 'USER_LOGIN'=>'ohis.english@gmail.com', #Ваш логин (электронная почта)
72 'USER_HASH'=>'a57e7f51f664937abd067e598c81d4ab2efeeec9' #Хэш для доступа к API (смотрите в профиле пользователя)
73 );
74
75 $subdomain='ohisenglish'; #Наш аккаунт - поддомен
76
77 $link='https://'.$subdomain.'.amocrm.ru/private/api/auth.php?type=json';
78
79 $curl=curl_init(); #Сохраняем дескриптор сеанса cURL
80
81 curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
82 curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
83 curl_setopt($curl,CURLOPT_URL,$link);
84 curl_setopt($curl,CURLOPT_CUSTOMREQUEST,'POST');
85 curl_setopt($curl,CURLOPT_POSTFIELDS,json_encode($user));
86 curl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-Type: application/json'));
87 curl_setopt($curl,CURLOPT_HEADER,false);
88 curl_setopt($curl,CURLOPT_COOKIEFILE,dirname(__FILE__).'/cookie.txt'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
89 curl_setopt($curl,CURLOPT_COOKIEJAR,dirname(__FILE__).'/cookie.txt'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
90 curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
91 curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
92
93 $out=curl_exec($curl); #Инициируем запрос к API и сохраняем ответ в переменную
94 $code=curl_getinfo($curl,CURLINFO_HTTP_CODE); #Получим HTTP-код ответа сервера
95 curl_close($curl); #Завершаем сеанс cURL
96
97 $link='https://'.$subdomain.'.amocrm.ru/api/v2/pipelines';
98
99 $curl=curl_init(); #Saving cURL descriptor session
100 curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
101 curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
102 curl_setopt($curl,CURLOPT_HTTPHEADER,['Accept: application/json']);
103 curl_setopt($curl,CURLOPT_URL,$link);
104 curl_setopt($curl,CURLOPT_COOKIEFILE,dirname(__FILE__).'/cookie.txt');
105 curl_setopt($curl,CURLOPT_HEADER,false);
106 curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
107 curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
108
109 $out=curl_exec($curl); #Initiate request to API and save the response into variable
110 $code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
111 curl_close($curl);
112
113 $code=(int)$code;
114 $errors=array(
115 301=>'Moved permanently',
116 400=>'Bad request',
117 401=>'Unauthorized',
118 403=>'Forbidden',
119 404=>'Not found',
120 500=>'Internal server error',
121 502=>'Bad gateway',
122 503=>'Service unavailable'
123 );
124 try
125 {
126 #If the response code is different from 200 or 204 - return error message
127 if($code!=200 && $code!=204)
128 throw new Exception(isset($errors[$code]) ? $errors[$code] : 'Undescribed error',$code);
129 }
130 catch(Exception $E)
131 {
132 die('Error: '.$E->getMessage().PHP_EOL.'Error code: '.$E->getCode());
133 }
134
135 $Response=json_decode($out,true);
136 $pipelines=$Response['_embedded']['items'];
137 $statuses = '';
138 $steps = ['НЕ ДОЗВОНИЛИСЬ - ОТПРАВИЛИ СЧЁТ', 'ДОЗВОНИЛИСЬ - ОТПРАВИЛИ СЧЁТ', 'ДОЗВОНИЛИСЬ - ПОСЛЕ ОТПРАВКИ СЧЁТА', 'ПРЕДОПЛАТА'];
139 foreach ($pipelines as $pipeline) {
140 foreach($pipeline['statuses'] as $key => $status) {
141 if(in_array($status['name'], $steps)) {
142 $statuses .= 'status[]='.$key.'&';
143 }
144 }
145 }
146
147 $link='https://'.$subdomain.'.amocrm.ru/api/v2/leads?responsible_user_id='.$row['crm_id'].'&'.$statuses;
148 $curl=curl_init();
149 curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
150 curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
151 curl_setopt($curl,CURLOPT_URL,$link);
152 curl_setopt($curl,CURLOPT_HEADER,false);
153 curl_setopt($curl,CURLOPT_COOKIEFILE,dirname(__FILE__).'/cookie.txt'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
154 curl_setopt($curl,CURLOPT_COOKIEJAR,dirname(__FILE__).'/cookie.txt'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
155 curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
156 curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
157
158 $out=curl_exec($curl); #Инициируем запрос к API и сохраняем ответ в переменную
159 $code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
160 curl_close($curl);
161
162 $code=(int)$code;
163 $errors=array(
164 301=>'Moved permanently',
165 400=>'Bad request',
166 401=>'Unauthorized',
167 403=>'Forbidden',
168 404=>'Not found',
169 500=>'Internal server error',
170 502=>'Bad gateway',
171 503=>'Service unavailable'
172 );
173 try
174 {
175 /* Если код ответа не равен 200 или 204 - возвращаем сообщение об ошибке */
176 if($code!=200 && $code!=204) {
177 throw new Exception(isset($errors[$code]) ? $errors[$code] : 'Undescribed error',$code);
178 }
179 }
180 catch(Exception $E)
181 {
182 die('Ошибка: '.$E->getMessage().PHP_EOL.'Код ошибки: '.$E->getCode());
183 }
184 $Response=json_decode($out,true);
185 $leads=$Response['_embedded']['items'];
186 $leads = $leads === NULL ? [] : array_reverse($leads);
187 $contactsId = '';
188 foreach ($leads as $lead) {
189 $contactsId .= 'id[]='.$lead['main_contact']['id'].'&';
190 }
191
192 $link = 'https://'.$subdomain.'.amocrm.ru/api/v2/contacts/?'.$contactsId;
193
194 $headers[] = "Accept: application/json";
195
196 $curl = curl_init();
197 curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
198 curl_setopt($curl, CURLOPT_USERAGENT, "amoCRM-API-client-undefined/2.0");
199 curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
200 curl_setopt($curl, CURLOPT_URL, $link);
201 curl_setopt($curl, CURLOPT_HEADER,false);
202 curl_setopt($curl,CURLOPT_COOKIEFILE,dirname(__FILE__)."/cookie.txt");
203 curl_setopt($curl,CURLOPT_COOKIEJAR,dirname(__FILE__)."/cookie.txt");
204 $out = curl_exec($curl);
205 curl_close($curl);
206 $result = json_decode($out,TRUE);
207 $contacts = $result['_embedded']['items'];
208
209 ?>
210
211 <!DOCTYPE html>
212 <html lang="en">
213 <head>
214 <meta charset="UTF-8">
215 <meta name="viewport" content="width=1380"/>
216 <link rel="shortcut icon" href="https://ohi-s.com/wp-content/uploads/2016/11/cropped-logo_ohi-s-32x32.jpg"
217 type="image/jpg">
218 <link rel="stylesheet" href="css/bootstrap.min.css">
219 <link rel="stylesheet" href="css/style.css">
220 <title>OHI-S</title>
221 </head>
222 <style>
223 body {
224 background: grey;
225 }
226
227 .name {
228 text-transform: capitalize;
229 }
230
231 #message {
232 display: flex;
233 flex-direction: column;
234 align-items: center;
235 margin-bottom: 50px;
236 }
237
238 .name, .mail {
239 color: #000;
240 font-size: 24px;
241 line-height: 1;
242 }
243
244 .mail {
245 font-size: 14px;
246 color: grey;
247 }
248
249 .crm_id {
250 font-size: 14px;
251 color: grey;
252 margin-top: 10px;
253 }
254
255 .info {
256 height: 150px;
257 margin-left: 50px;
258 width: 250px;
259 background-color: #fff;
260 overflow: hidden;
261 margin-top: 83px;
262 display: inline-flex;
263 flex-direction: column;
264 align-items: flex-start;
265 justify-content: flex-start;
266 padding: 10px;
267 }
268
269 .table_stats {
270 height: 320px;
271 overflow-y: scroll;
272 }
273
274 .stats {
275 margin-right: 50px;
276 margin-top: 50px;
277 }
278
279 .leads {
280 margin-top: 50px;
281 }
282
283 .stats h2,
284 .leads h2 {
285 text-align: center;
286 color: #fff;
287 margin-bottom: 10px;
288 }
289
290 .exit {
291 margin-top: 20px;
292 }
293
294 .web_name {
295 text-align: center;
296 font-size: 28px;
297 }
298
299 .img {
300 display: flex;
301 justify-content: center;
302 align-items: center;
303 width: 1000px;
304 position: absolute;
305 margin: 0 auto;
306 left: 0;
307 right: 0;
308 bottom: 0;
309 top: 0;
310 }
311
312 img {
313 width: 100%;
314 }
315
316 .get-old-lead {
317 margin-top: 10px;
318 margin-bottom: 30px;
319 }
320
321 .count-status {
322 font-size: 12px;
323 display: flex;
324 margin-top: 10px;
325 justify-content: space-between;
326 }
327
328 .count-status span {
329 padding-left: 5px;
330 }
331
332 .delay {
333 width: 100%;
334 text-align: center;
335 display: flex;
336 justify-content: center;
337 font-size: 10px;
338 }
339
340 .table_tasks tr {
341 cursor: pointer;
342 }
343
344 .get-all-day,
345 .close-overdue {
346 margin-bottom: 20px;
347 }
348
349 .count-status.count-status-hot {
350 display: none;
351 }
352
353 .old_contacts tr {
354 cursor: pointer;
355 }
356
357 .get-free-lead {
358 margin-bottom: 20px;
359 }
360
361 </style>
362 <body>
363 <div id="message">
364 <div class="card-columns" style="display: flex; justify-content: flex-start;">
365 <div style="display: flex;">
366 <div class="card text-white bg-dark mb-3"
367 style="box-shadow: 0px 5px 33px black;width: 193px;margin: 10px 10px 30px 0px;">
368 <div style="height: 60px;" class="card-header">
369 <div style="float:left; font-size: 9pt; text-transform: uppercase;">
370 <?php echo $row['name']; ?>
371 </div>
372 <div style="border-radius: 20px; margin-top: -8px; position:absolute; margin-left: 146px; background-color: green; height:20px; width: 20px;">
373 </div>
374 <br>
375 <p class="card-text" style="font-size: 7pt;"><?php echo $row['login']; ?></p>
376 </div>
377 <div class="card-body inf">
378
379 <p class="card-text" style="font-size: 8pt;">id: <span
380 class="crm_id"><?php echo $row['crm_id']; ?></span></p>
381 <a href="assets/logout.php?login=<?php echo $row['login']; ?>" class="btn btn-primary exit-btn">Выход</a>
382 <span class="count-status leads-count">За сегодня: <span><?php echo $leadsTodayRow['leadsToday']; ?></span></span>
383 <span class="count-status count-status-hot-individual">Всего необработано личных горячих:<span><?php echo ' ' . $row_status_individual['total']; ?></span></span>
384 <span class="count-status count-status-hot">Всего необработано общих горячих:<span><?php echo ' ' . $row_status['total']; ?></span></span>
385 <span class="count-status count-status-cold-individual">Всего необработано TARGET холодных личных:<span><?php echo ' ' . $row_count_cold_individual['count']; ?></span></span>
386 <span class="count-status count-status-cold-global">Всего необработано TARGET холодных общих:<span><?php echo ' ' . $row_count_cold_global['count']; ?></span></span>
387 <div>
388 <a href="#" class="btn btn-sm btn-secondary get-old-lead">Получить задачу</a>
389 <a href="#" class="btn btn-sm btn-secondary get-free-lead">Free web</a>
390 <a href="#" class="btn btn-sm btn-primary get-all-day">Задача на весь день</a>
391 <a href="#" class="btn btn-sm btn-primary close-overdue">Удалить просроченные</a>
392 <a href="#" class="btn btn-sm btn-primary statistics_for_today">Статистика за сегодня</a>
393 <a href="#" style="margin-top: 20px;" data-toggle="modal" data-target="#add_deal"
394 onclick='clear_input()' class="btn btn-sm btn-danger">Создать оплату</a>
395 <a href="#" style="display: none;" class="enable_sound btn btn-info"
396 style="margin-top: 20px;">вкл. звук на iphone</a>
397 </div>
398
399 </div>
400 <input type="hidden" value="<?php echo $row['stop']; ?>" id="manager_stop">
401 <input type="hidden" value="<?php echo $id_user; ?>" id="id_user">
402 </div>
403
404 <div style="display: flex; width: 370px; flex-wrap: wrap; margin-left: 0px; margin-top: 10px;">
405
406 <?php
407 $sql_count_target_1_all = "SELECT COUNT(*) AS count FROM tasks WHERE status=0 AND responsible_user_id='3431236' AND task_type='1482454'";
408 $result_target_1_all = mysqli_query($db_connect, $sql_count_target_1_all);
409 $row_target_1_all = mysqli_fetch_assoc($result_target_1_all);
410
411 $sql_count_target_1_solo = "SELECT COUNT(*) AS count FROM tasks WHERE status=0 AND responsible_user_id='$crm_id' AND task_type='1482454'";
412 $result_target_1_solo = mysqli_query($db_connect, $sql_count_target_1_solo);
413 $row_target_1_solo = mysqli_fetch_assoc($result_target_1_solo);
414 ?>
415 <div class="card text-white bg-dark mb-3"
416 style="box-shadow: 0px 5px 33px black; width: calc(50% - 10px); margin-right: 10px; padding: 10px;">
417 <span class="count-status count-status-cold-individual1">Всего необработано TARGET 1 холодных личных:<span><?php echo ' ' . $row_target_1_solo['count']; ?></span></span>
418 <span class="count-status count-status-cold-global1" style="margin-bottom: 40px;">Всего необработано TARGET 1 холодных общих:<span><?php echo ' ' . $row_target_1_all['count']; ?></span></span>
419 <a href="#" class="btn btn-sm btn-primary getTarget1"><?php echo $row_1['mode']; ?></a>
420 </div>
421 <?php
422 $sql_count_target_2_all = "SELECT COUNT(*) AS count FROM tasks WHERE status=0 AND responsible_user_id='3431236' AND task_type='1482457'";
423 $result_target_2_all = mysqli_query($db_connect, $sql_count_target_2_all);
424 $row_target_2_all = mysqli_fetch_assoc($result_target_2_all);
425
426 $sql_count_target_2_solo = "SELECT COUNT(*) AS count FROM tasks WHERE status=0 AND responsible_user_id='$crm_id' AND task_type='1482457'";
427 $result_target_2_solo = mysqli_query($db_connect, $sql_count_target_2_solo);
428 $row_target_2_solo = mysqli_fetch_assoc($result_target_2_solo);
429 ?>
430 <div class="card text-white bg-dark mb-3"
431 style="box-shadow: 0px 5px 33px black; width: calc(50% - 10px); margin-right: 10px; padding: 10px;">
432 <span class="count-status count-status-cold-individual2">Всего необработано TARGET 2 холодных личных:<span><?php echo ' ' . $row_target_2_solo['count']; ?></span></span>
433 <span class="count-status count-status-cold-global2" style="margin-bottom: 40px;">Всего необработано TARGET 2 холодных общих:<span><?php echo ' ' . $row_target_2_all['count']; ?></span></span>
434 <a href="#" class="btn btn-sm btn-primary getTarget2"><?php echo $row_2['mode']; ?></a>
435 </div>
436 <?php
437 $sql_count_target_3_all = "SELECT COUNT(*) AS count FROM tasks WHERE status=0 AND responsible_user_id='3431236' AND task_type='1482460'";
438 $result_target_3_all = mysqli_query($db_connect, $sql_count_target_3_all);
439 $row_target_3_all = mysqli_fetch_assoc($result_target_3_all);
440
441 $sql_count_target_3_solo = "SELECT COUNT(*) AS count FROM tasks WHERE status=0 AND responsible_user_id='$crm_id' AND task_type='1482460'";
442 $result_target_3_solo = mysqli_query($db_connect, $sql_count_target_3_solo);
443 $row_target_3_solo = mysqli_fetch_assoc($result_target_3_solo);
444 ?>
445 <div class="card text-white bg-dark mb-3"
446 style="box-shadow: 0px 5px 33px black; width: calc(50% - 10px); margin-right: 10px; padding: 10px;">
447 <span class="count-status count-status-cold-individual">Всего необработано TARGET 3 холодных личных:<span><?php echo ' ' . $row_target_3_solo['count']; ?></span></span>
448 <span class="count-status count-status-cold-global3" style="margin-bottom: 40px;">Всего необработано TARGET 3 холодных общих:<span><?php echo ' ' . $row_target_3_all['count']; ?></span></span>
449 <a href="#" class="btn btn-sm btn-primary getTarget3"><?php echo $row_3['mode']; ?></a>
450 </div>
451 <?php
452 $sql_count_target_4_all = "SELECT COUNT(*) AS count FROM tasks WHERE status=0 AND responsible_user_id='3431236' AND task_type='1482463'";
453 $result_target_4_all = mysqli_query($db_connect, $sql_count_target_4_all);
454 $row_target_4_all = mysqli_fetch_assoc($result_target_4_all);
455
456 $sql_count_target_4_solo = "SELECT COUNT(*) AS count FROM tasks WHERE status=0 AND responsible_user_id='$crm_id' AND task_type='1482463'";
457 $result_target_4_solo = mysqli_query($db_connect, $sql_count_target_4_solo);
458 $row_target_4_solo = mysqli_fetch_assoc($result_target_4_solo);
459 ?>
460 <div class="card text-white bg-dark mb-3"
461 style="box-shadow: 0px 5px 33px black; width: calc(50% - 10px); margin-right: 10px; padding: 10px;">
462 <span class="count-status count-status-cold-individual4">Всего необработано TARGET 4 холодных личных:<span><?php echo ' ' . $row_target_4_solo['count']; ?></span></span>
463 <span class="count-status count-status-cold-global4" style="margin-bottom: 40px;">Всего необработано TARGET 4 холодных общих:<span><?php echo ' ' . $row_target_4_all['count']; ?></span></span>
464 <a href="#" class="btn btn-sm btn-primary getTarget4"><?php echo $row_4['mode']; ?></a>
465 </div>
466 </div>
467 </div>
468 <div class="">
469 <div style="width: 680px; margin: 10px 30px 0px 30px;" class="tasks">
470 <h4 style="font-size: 28px;color: white; height: 53px; text-align: left;width: 680px;border-radius: 10px 10px 0px 0px;margin-bottom:0;padding: 10px;background-color: #23252d; text-transform: uppercase;">
471 <span>Задачи весь день</span><span class="datetime" style="margin-left: 85px;"><span
472 class="current_date" style="margin-right: 10px;"><?php echo date('Y-m-d'); ?></span><span
473 class="clock" id="clock"><span class="hour">hh</span>:<span
474 class="min">mm</span>:<span class="sec">ss</span></span></span></h4>
475 <div style="max-height: 580px; overflow-y: scroll;">
476 <table class="table table_tasks" style="box-shadow: 0px 5px 33px black; margin-bottom: 0;">
477 <?php
478 $today = (new Datetime())->format('Y-m-d');
479 $t = date('Y-m-d') . ' 23:59:00';
480 $tomorrow = (new Datetime())->modify('+1 day')->format('Y-m-d');
481 $sql_indv_tasks = "SELECT * FROM tasks WHERE status=0 AND responsible_user_id = '$crm_id' AND task_type NOT IN('1482454', '1482457', '1482460', '1482463') AND TIMESTAMPDIFF(SECOND, complete_till, '$tomorrow') > 0 AND complete_till='$t' ORDER BY complete_till ASC";
482 $res_indv_tasks = mysqli_query($db_connect, $sql_indv_tasks);
483 while ($row_indv_tasks = mysqli_fetch_assoc($res_indv_tasks)) { ?>
484 <tr class="<?php echo $row_indv_tasks['task_id']; ?>"
485 data-type="<?php echo $row_indv_tasks['element_type']; ?>"
486 data-id="<?php echo $row_indv_tasks['task_id']; ?>"
487 data-time="<?php echo strtotime($row_indv_tasks['complete_till']); ?>"
488 title="<?php echo $row_indv_tasks['text']; ?>"
489 style="background-color:<?php if ($row_indv_tasks['status'] == '0') {
490 if (strtotime($row_indv_tasks['complete_till']) - strtotime(date('Y-m-d H:i:s')) < 600 && strtotime($row_indv_tasks['complete_till']) - strtotime(date('Y-m-d H:i:s')) > 0) {
491 echo '#e5f63f';
492 } else {
493 if (strtotime($row_indv_tasks['complete_till']) - strtotime(date('Y-m-d H:i:s')) < 0) {
494 echo "#e03547";
495 } else {
496 echo "#f5c6cb";
497 }
498 }
499 } else {
500 echo "#c3e6cb";
501 } ?>;">
502 <td><?php echo $row_indv_tasks['contact_name']; ?></td>
503 <td><?php echo $row_indv_tasks['leads_name']; ?></td>
504 <td><?php echo $row_indv_tasks['complete_till']; ?></td>
505 <td>
506 <div style="max-height: 60px;overflow: hidden;"><?php echo $row_indv_tasks['text']; ?></div>
507 </td>
508 </tr>
509 <?php } ?>
510 </table>
511 </div>
512 </div>
513 </div>
514 </div>
515
516 <div style="display: flex; flex-wrap: wrap; justify-content: center;">
517 <div style="width: 565px; margin: 60px 0px 0px 5px;" class="leads">
518 <h2 style="text-align: center;color: white;margin-bottom: 0;border-radius: 10px 10px 0px 0px;margin-top: -53px;padding: 10px;background-color: #23252d;">
519 СДЕЛКИ</h2>
520 <div>
521 <table class="table table_leads" style="box-shadow: 0px 5px 33px black;">
522 <?php while ($row_leads = mysqli_fetch_assoc($result_leads)) { ?>
523 <tr class="<?php echo $row_leads['id']; ?>"
524 style="background-color: <?php if ($row_leads['status'] == '1') {
525 echo "#c3e6cb";
526 } else {
527 echo '#f5c6cb';
528 } ?>;">
529 <td style="text-transform: uppercase;"><?php echo $row_leads['name']; ?></td>
530 <td style="text-transform: uppercase;"
531 class="manager"><?php if ($row_leads['manager'] == 'OHI-S') {
532 echo "";
533 } else {
534 echo $row_leads['manager'];
535 } ?></td>
536 <td><?php echo $row_leads['date_create']; ?></td>
537 <td><?php echo $row_leads['date_accept']; ?></td>
538 </tr>
539 <?php } ?>
540 </table>
541 </div>
542 </div>
543 <div style="width: 680px; margin: 60px 50px 0px 40px;" class="tasks">
544 <h4 style="font-size: 28px;color: white; height: 53px; text-align: left;width: 680px;border-radius: 10px 10px 0px 0px;margin-top: -53px;margin-bottom:0;padding: 10px;background-color: #23252d; text-transform: uppercase;">
545 <span>Личные задачи</span><span class="datetime" style="margin-left: 85px;"><span
546 class="current_date"
547 style="margin-right: 10px;"><?php echo date('Y-m-d'); ?></span><span class="clock"
548 id="clock1"><span
549 class="hour">hh</span>:<span class="min">mm</span>:<span
550 class="sec">ss</span></span></span></h4>
551 <div style="max-height: 670px; overflow-y: scroll;">
552 <table class="table table_tasks" style="box-shadow: 0px 5px 33px black; margin-bottom: 0;">
553 <?php
554 $today = (new Datetime())->format('Y-m-d');
555 $t = date('Y-m-d') . ' 23:59:00';
556 $tomorrow = (new Datetime())->modify('+1 day')->format('Y-m-d');
557 $sql_indv_tasks = "SELECT * FROM tasks WHERE status=0 AND responsible_user_id = '$crm_id' AND task_type NOT IN('1482454', '1482457', '1482460', '1482463') AND TIMESTAMPDIFF(SECOND, complete_till, '$tomorrow') > 0 AND complete_till<>'$t' ORDER BY complete_till ASC";
558 $res_indv_tasks = mysqli_query($db_connect, $sql_indv_tasks);
559 while ($row_indv_tasks = mysqli_fetch_assoc($res_indv_tasks)) { ?>
560 <tr class="<?php echo $row_indv_tasks['task_id']; ?>"
561 data-type="<?php echo $row_indv_tasks['element_type']; ?>"
562 data-id="<?php echo $row_indv_tasks['task_id']; ?>"
563 data-time="<?php echo strtotime($row_indv_tasks['complete_till']); ?>"
564 title="<?php echo $row_indv_tasks['text']; ?>"
565 style="background-color:<?php if ($row_indv_tasks['status'] == '0') {
566 if (strtotime($row_indv_tasks['complete_till']) - strtotime(date('Y-m-d H:i:s')) < 600 && strtotime($row_indv_tasks['complete_till']) - strtotime(date('Y-m-d H:i:s')) > 0) {
567 echo '#e5f63f';
568 } else {
569 if (strtotime($row_indv_tasks['complete_till']) - strtotime(date('Y-m-d H:i:s')) < 0) {
570 echo "#e03547";
571 } else {
572 echo "#f5c6cb";
573 }
574 }
575 } else {
576 echo "#c3e6cb";
577 } ?>;">
578 <td><?php echo $row_indv_tasks['contact_name']; ?></td>
579 <td><?php echo $row_indv_tasks['leads_name']; ?></td>
580 <td><?php echo $row_indv_tasks['complete_till']; ?></td>
581 <td>
582 <div style="max-height: 60px;overflow: hidden;"><?php echo $row_indv_tasks['text']; ?></div>
583 </td>
584 </tr>
585 <?php } ?>
586 </table>
587 </div>
588 </div>
589 </div>
590 <div style="background-color: #fff; max-height: 500px; overflow-y: scroll;">
591 <table class="table table-bordered">
592 <thead>
593 <tr>
594 <th>FULL NAME</th>
595 <th>COURSE</th>
596 <th>BUDGET</th>
597 <th>TOTAL COST</th>
598 </tr>
599 </thead>
600 <tbody>
601 <?php foreach($leads as $lead) { ?>
602 <tr>
603 <td>
604 <?php foreach ($contacts as $contact) {
605 if ($lead['main_contact']['id'] == $contact['id']) { ?>
606 <a href="https://ohisenglish.amocrm.ru/contacts/detail/<?php echo $contact['id']; ?>" target="_blank"><?php echo $contact['name']; ?></a>
607 <?php break;
608 }
609 } ?>
610 </td>
611 <td>
612 <?php foreach ($pipelines as $pipeline) {
613 if ($lead['pipeline_id'] == $pipeline['id']) { ?>
614 <a href="https://ohisenglish.amocrm.ru/leads/detail/<?php echo $lead['id']; ?>" target="_blank"><?php echo $pipeline['name']; ?></a>
615 <?php break;
616 }
617 } ?>
618 </td>
619 <td>
620 <?php echo $lead['sale']; ?>
621 </td>
622 <td>
623 <?php foreach ($lead['custom_fields'] as $custom_field) {
624 if ($custom_field['name'] == 'Общая стоимость') {
625 echo $custom_field['values']['0']['value'];
626 break;
627 }
628 } ?>
629 </td>
630 </tr>
631 <?php } ?>
632 </tbody>
633 </table>
634 </div>
635 <div class="modal fade" id="add_deal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
636 aria-hidden="true">
637 <div style="box-shadow: 0px 50px 200px black;" class="modal-dialog modal-danger" role="document">
638 <div class="modal-content" style="width: 700px; margin-left: -100px;">
639 <div class="modal-header" style="">
640 <h4 class="modal-title" style="font-size:12pt;">СОЗДАНИЕ НОВОЙ ССЫЛКИ НА ОПЛАТУ</h4>
641 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
642 <span aria-hidden="true">×</span>
643 </button>
644 </div>
645 <form action="" method="">
646 <div class="modal-body" style="padding: 0px 10px 0px 10px;">
647 <label style="text-transform:uppercase; font-size: 8pt;">Менеджер</label>
648 <div class="row">
649 <div class="col">
650 <input type="text" id="name_manager" name="name_manager"
651 value="<?php echo $row['name']; ?>" class="form-control" placeholder="">
652 </div>
653 <div class="col">
654 <input type="text" id="id_manager" name="id_manager"
655 value="<?php echo $row['crm_id']; ?>" class="form-control" placeholder="">
656 </div>
657 </div>
658 <nav style="margin-top:10px;">
659 <div class="nav nav-tabs" id="nav-tab" role="tablist">
660 <!--<a class="nav-item nav-link active" id="nav-pay2me-tab" data-toggle="tab"
661 href="#nav-pay2me" role="tab" aria-controls="nav-pay2me" aria-selected="true"
662 style="font-weight: 100;font-size: 8pt;color: red;">Pay2Me</a>-->
663 <a class="nav-item nav-link active" id="nav-fondy-tab" data-toggle="tab" href="#nav-fondy"
664 role="tab" aria-controls="nav-fondy" aria-selected="true"
665 style="font-weight: 100;font-size: 8pt;color: red;">Fondy</a>
666 <a class="nav-item nav-link" id="nav-ukraine-tab" data-toggle="tab"
667 href="#nav-ukraine" role="tab" aria-controls="nav-ukraine" aria-selected="false"
668 style="font-weight: 100;font-size: 8pt;color: red;">Interkassa</a>
669 <a class="nav-item nav-link" id="nav-bepaid-tab" data-toggle="tab"
670 href="#nav-bepaid" role="tab" aria-controls="nav-bepaid" aria-selected="false"
671 style="font-weight: 100;font-size: 8pt;color: red;">BePaid</a>
672 </div>
673 </nav>
674 <div class="tab-content" id="nav-tabContent">
675 <div class="tab-pane fade" id="nav-pay2me" role="tabpanel"
676 aria-labelledby="nav-home-tab" style="padding: 0px 10px 0px 10px;">
677 <label style="text-transform:uppercase; font-size: 8pt;">Описание оплаты</label>
678 <textarea id="deal_description" name="deal_description" value="" rows="2"
679 class="form-control" placeholder=""></textarea>
680 <div class="row">
681 <div class="col">
682 <label style="text-transform:uppercase; font-size: 8pt;">ID сделки в
683 CRM</label>
684 <input type="text" id="id_deal_crm" name="id_deal_crm" class="form-control"
685 placeholder="">
686 </div>
687 <div class="col">
688 <label style="text-transform:uppercase; font-size: 8pt;">Сумма
689 оплаты</label>
690 <input style="font-weight: 900; color: dimgrey;" type="text" id="amount"
691 name="amount" class="form-control" placeholder="">
692 </div>
693 </div>
694 <div style="padding-bottom: 10px; padding-top: 10px;">
695 <button type="button" class="btn btn-secondary" data-dismiss="modal">Закрыть
696 </button>
697 <button type="button" onclick='create_payment()' class="btn btn-danger">
698 Создать
699 </button>
700 </div>
701 </div>
702 <div class="tab-pane fade show active" id="nav-fondy" role="tabpanel"
703 aria-labelledby="nav-nav-fondy" style="padding: 0px 10px 0px 10px;">
704 <label style="text-transform:uppercase; font-size: 8pt;">Описание оплаты</label>
705 <textarea id="deal_description_fondy" name="deal_description_fondy" value=""
706 rows="2" class="form-control" placeholder=""></textarea>
707
708 <div class="row">
709 <div class="col">
710 <label style="text-transform:uppercase; font-size: 8pt;">ID сделки в
711 CRM</label>
712 <input type="text" id="id_deal_crm_fondy" name="id_deal_crm_fondy"
713 class="form-control" placeholder="">
714 </div>
715 <div class="col">
716 <label style="text-transform:uppercase; font-size: 8pt;">Валюта</label>
717 <select style="font-weight: 900; color: dimgrey; font-size: 8pt;"
718 id="currency_fondy" name="currency_fondy" class="form-control">
719 <option value="RUB">RUB</option>
720 <option value="UAH">UAH</option>
721 <option value="BYN">BYN</option>
722 <option value="EUR">EUR</option>
723 <option value="USD">USD</option>
724 <option value="AED">AED</option>
725 <option value="CZK">CZK</option>
726 <option value="AUD">AUD</option>
727 <option value="TRY">TRY</option>
728 <option value="AZN">AZN</option>
729 <option value="GBP">GBP</option>
730 <option value="AMD">AMD</option>
731 <option value="BGN">BGN</option>
732 <option value="BRL">BRL</option>
733 <option value="HUF">HUF</option>
734 <option value="DKK">DKK</option>
735 <option value="INR">INR</option>
736 <option value="KZT">KZT</option>
737 <option value="CAD">CAD</option>
738 <option value="KGS">KGS</option>
739 <option value="CNY">CNY</option>
740 <option value="MDL">MDL</option>
741 <option value="NOK">NOK</option>
742 <option value="PLN">PLN</option>
743 <option value="RON">RON</option>
744 <option value="XDR">XDR</option>
745 <option value="SGD">SGD</option>
746 <option value="TJS">TJS</option>
747 <option value="TMT">TMT</option>
748 <option value="UZS">UZS</option>
749 <option value="SEK">SEK</option>
750 <option value="CHF">CHF</option>
751 <option value="ZAR">ZAR</option>
752 <option value="KRW">KRW</option>
753 <option value="JPY">JPY</option>
754 <option value="GEL">GEL</option>
755 </select>
756 </div>
757 <div class="col">
758 <label style="text-transform:uppercase;">Сумма оплаты</label>
759 <input style="font-weight: 900; color: dimgrey;" type="text"
760 id="amount_fondy" name="amount_fondy" class="form-control"
761 placeholder="">
762 </div>
763 </div>
764 <div style="padding-bottom: 10px; padding-top: 10px;">
765 <button type="button" class="btn btn-secondary" data-dismiss="modal">Закрыть
766 </button>
767 <button type="button" onclick='fondy_create_payment()' class="btn btn-danger">
768 Создать
769 </button>
770 </div>
771 </div>
772 <div class="tab-pane fade" id="nav-ukraine" role="tabpanel"
773 aria-labelledby="nav-ukraine" style="padding: 0px 10px 0px 10px;">
774 <label style="text-transform:uppercase; font-size: 8pt;">Описание оплаты</label>
775 <textarea id="deal_description_interkassa" name="deal_description_interkassa"
776 value="" rows="2" class="form-control" placeholder=""></textarea>
777 <div class="row">
778 <div class="col">
779 <label style="text-transform:uppercase; font-size: 8pt;">ID сделки в
780 CRM</label>
781 <input type="text" id="id_deal_crm_fondy" name="id_deal_crm_fondy"
782 class="form-control" placeholder="">
783 </div>
784 <div class="col">
785 <label style="text-transform:uppercase; font-size: 8pt;">Валюта</label>
786 <select style="font-weight: 900; color: dimgrey; font-size: 8pt;"
787 id="currency_interkassa" name="currency_interkassa"
788 class="form-control">
789 <option value="RUB">RUB</option>
790 <option value="UAH">UAH</option>
791 </select>
792 </div>
793 <div class="col">
794 <label style="text-transform:uppercase;">Сумма оплаты</label>
795 <input style="font-weight: 900; color: dimgrey;" type="text"
796 id="amount_interkassa" name="amount_interkassa" class="form-control"
797 placeholder="">
798 </div>
799 </div>
800 <div style="padding-bottom: 10px; padding-top: 10px;">
801 <button type="button" class="btn btn-secondary" data-dismiss="modal">Закрыть
802 </button>
803 <button type="button" onclick='interkassa_create_payment()'
804 class="btn btn-danger">Создать
805 </button>
806 </div>
807 </div>
808 <div class="tab-pane fade" id="nav-bepaid" role="tabpanel"
809 aria-labelledby="nav-bepaid" style="padding: 0px 10px 0px 10px;">
810 <label style="text-transform:uppercase; font-size: 8pt;">Описание оплаты</label>
811 <textarea id="deal_description_bepaid" name="deal_description_bepaid"
812 value="" rows="2" class="form-control" placeholder=""></textarea>
813 <div class="row">
814 <div class="col">
815 <label style="text-transform:uppercase; font-size: 8pt;">ID сделки в
816 CRM</label>
817 <input type="text" id="id_deal_crm_fondy" name="id_deal_crm_fondy"
818 class="form-control" placeholder="">
819 </div>
820 <div class="col">
821 <label style="text-transform:uppercase; font-size: 8pt;">Валюта</label>
822 <select style="font-weight: 900; color: dimgrey; font-size: 8pt;"
823 id="currency_bepaid" name="currency_bepaid"
824 class="form-control">
825 <option value="BYN">BYN</option>
826 <option value="RUB">RUB</option>
827 <option value="EUR">EUR</option>
828 <option value="USD">USD</option>
829 </select>
830 </div>
831 <div class="col">
832 <label style="text-transform:uppercase;">Сумма оплаты</label>
833 <input style="font-weight: 900; color: dimgrey;" type="text"
834 id="amount_bepaid" name="amount_bepaid" class="form-control"
835 placeholder="">
836 </div>
837 </div>
838 <div style="padding-bottom: 10px; padding-top: 10px;">
839 <button type="button" class="btn btn-secondary" data-dismiss="modal">Закрыть
840 </button>
841 <button type="button" onclick='bepaid_create_payment()'
842 class="btn btn-danger">Создать
843 </button>
844 </div>
845 </div>
846 </div>
847 <input onclick='copyredirect()'
848 style="margin-top:10px; border-color: red; font-weight: 100; font-size: 14pt; color: dimgrey;"
849 type="text" id="redirect" value="" name="redirect" class="form-control redirect"
850 placeholder="ССЫЛКА ДЛЯ ОПЛАТЫ">
851 *Просто нажми на ссылку что бы скопировать
852 </div>
853 </form>
854 </div>
855 </div>
856 </div>
857 <script src="vendors/js/jquery.min.js"></script>
858 <script src="vendors/js/popper.min.js"></script>
859 <script src="vendors/js/bootstrap.min.js"></script>
860 <script src="https://js.pusher.com/5.0/pusher.min.js"></script>
861 <script src="ion.sound/ion.sound.js"></script>
862 <script>
863 ion.sound({
864 sounds: [
865 {
866 name: "bell_ring"
867 },
868 {
869 name: "door_bell"
870 },
871 ],
872 volume: 0.5,
873 path: "ion.sound/sounds/",
874 preload: true
875 });
876
877 var pusher = new Pusher('84b2022aebabd798ae15', {
878 cluster: 'eu',
879 forceTLS: true
880 });
881
882 var newT = "Новая заявка";
883 var oldT = "OHI-S";
884
885 function show() {
886 if (document.title == oldT) {
887 document.title = newT;
888 } else {
889 document.title = oldT;
890 }
891 }
892
893 function music() {
894 $('.enable_sound').click();
895 }
896
897 $(document).on('click', '.enable_sound', function () {
898 ion.sound.play("bell_ring");
899 });
900
901 function doModal(id, name, type) {
902 var status = 0;
903 if (name === "") {
904 name = 'Нет Задач';
905 status = 1;
906 }
907 var html = '<div class="modal fade modal-' + id + '" id="modal" tabindex="-1" data-id="' + id + '" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">';
908 html += '<div class="modal-dialog modal-dialog-centered" role="document">';
909 html += '<div class="modal-content">'
910 html += '<div class="modal-header">';
911 html += '<h5 class="modal-title" id="exampleModalLongTitle">КЛИЕНТ! АЛЛО!</h5>';
912 html += '</div><div class="modal-body"><p class="web_name">' + name + '</p></div>';
913 html += '<div class="modal-footer">';
914 if (status === 1) {
915 html += '<button type="button" class="btn btn-secondary close-btn" data-dismiss="modal">Закрыть</button>';
916 } else {
917 html += '<button type="button" class="btn btn-primary accept">Перейти</button>';
918 }
919
920 html += '</div></div></div></div>';
921 $('body').append(html);
922 $('.modal-' + id).modal({backdrop: 'static', keyboard: false});
923 $('.modal-backdrop').removeClass("modal-backdrop");
924 }
925
926 function doModalForManagers(id, name) {
927 var html = '<div class="modal fade modal-' + id + '" id="modal" tabindex="-1" data-id="' + id + '" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">';
928 html += '<div class="modal-dialog modal-dialog-centered" role="document">';
929 html += '<div class="modal-content">'
930 html += '<div class="modal-header">';
931 html += '<h5 class="modal-title" id="exampleModalLongTitle">Сообщение от властелина</h5>';
932 html += '<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>';
933 html += '</div><div class="modal-body"><p class="web_name" style="display: flex; flex-direction: column; align-items: center;"><img src="img/zloy.png" alt="" style="width:200px;">' + name + '</p></div>';
934 html += '<div class="modal-footer">';
935 html += '<button type="button" class="btn btn-secondary close-btn" data-dismiss="modal">Закрыть</button>';
936
937 html += '</div></div></div></div>';
938 $('body').append(html);
939 $('.modal-' + id).modal({backdrop: 'static', keyboard: false});
940 $('.modal-backdrop').removeClass("modal-backdrop");
941 }
942
943 if ([].indexOf) {
944 var find = function (array, value) {
945 return array.indexOf(value);
946 }
947 } else {
948 var find = function (array, value) {
949 for (var i = 0; i < array.length; i++) {
950 if (array[i] === value) return i;
951 }
952 return -1;
953 }
954 }
955
956 function clear(timer, music_timer) {
957 clearInterval(timer);
958 clearInterval(music_timer);
959 intervals.forEach(clearInterval);
960 }
961
962
963 let channel = pusher.subscribe('eng-channel'),
964 id,
965 arr = [],
966 music_timer,
967 timer,
968 responsible_user_id = $('.crm_id').text(),
969 stop = $('#manager_stop').val(),
970 intervals = [];
971
972 $('.get-old-lead').on('click', function (e) {
973 e.preventDefault();
974 $.ajax({
975 url: 'old-lead.php',
976 type: 'POST',
977 data: {responsible_user_id: responsible_user_id},
978 async: true,
979 success: function (data) {
980 let time = 300 - data['date_need'],
981 minutes = Math.floor(time / 60),
982 seconds = time - minutes * 60;
983 $('.delay span').remove();
984 $('.delay').append('<span style="padding-left: 5px;">Осталось:' + minutes + ':' + seconds + '</span>');
985 },
986 error: function () {
987 }
988 });
989 });
990
991 $('.get-all-day').on('click', function (e) {
992 e.preventDefault();
993 $.ajax({
994 url: 'all-day-leads.php',
995 type: 'POST',
996 data: {responsible_user_id: responsible_user_id},
997 async: true,
998 success: function (data) {
999 },
1000 error: function () {
1001 }
1002 });
1003 });
1004
1005 channel.bind('count-status-minus-new', function (data) {
1006 var count = $('.count-status-hot span').text();
1007 count = +count - 1;
1008 if (count < 1) {
1009 $('.count-status-hot span').text(0);
1010 } else {
1011 $('.count-status-hot span').text(count);
1012 }
1013 });
1014
1015 channel.bind('count-status-plus-new', function (data) {
1016 var count = $('.count-status-hot span').text();
1017 count = +count + 1;
1018 $('.count-status-hot span').text(count);
1019 });
1020
1021
1022 channel.bind('count-status-cold-global-minus-new', function (data) {
1023
1024 var count = $('.count-status-cold-global span').text();
1025 count = +count - 1;
1026 if (count < 1) {
1027 $('.count-status-cold-global span').text(0);
1028 } else {
1029 $('.count-status-cold-global span').text(count);
1030 }
1031 });
1032
1033 channel.bind('count-status-cold-global-plus-new', function (data) {
1034
1035 var count = $('.count-status-cold-global span').text();
1036 count = +count + 1;
1037 $('.count-status-cold-global span').text(count);
1038 });
1039
1040
1041 channel.bind('count-status-cold-individual-minus-new', function (data) {
1042 if (data['responsible_user_id'] == responsible_user_id) {
1043 var count = $('.count-status-cold-individual span').text();
1044 count = +count - 1;
1045 if (count < 1) {
1046 $('.count-status-cold-individual span').text(0);
1047 } else {
1048 $('.count-status-cold-individual span').text(count);
1049 }
1050 }
1051 });
1052
1053 channel.bind('count-status-cold-individual-plus-new', function (data) {
1054
1055 if (data['responsible_user_id'] == responsible_user_id) {
1056
1057 var count = $('.count-status-cold-individual span').text();
1058 count = +count + 1;
1059 $('.count-status-cold-individual span').text(count);
1060 }
1061 });
1062
1063 channel.bind('update-table-stats-new', function (data) {
1064 var name = data['name'];
1065 var crm_id = data['responsible_user_id'];
1066 $('.' + crm_id + ' .count').html(parseInt($('.' + crm_id + ' .count').html(), 10) + 1);
1067 });
1068
1069 channel.bind('update-tasks-table', function (data) {
1070 console.log(data);
1071 var id_task = data['id'],
1072 status = data['status'],
1073 complete_till = data['complete_till'],
1074 covert_complete_till = data['covert_complete_till'],
1075 close = data['close'],
1076 contact_name = data['contact_name'],
1077 leads_name = data['leads_name'];
1078 if (close) {
1079 $('.' + id_task).remove();
1080 }
1081 if (responsible_user_id == data['responsible_user_id']) {
1082 if ($('.tasks table_tasks tr').hasClass(id_task)) {
1083 if (status == '1') {
1084 $('.' + id).remove();
1085 }
1086 } else {
1087 if (status == '0') {
1088 var date = new Date(complete_till);
1089 var today = new Date();
1090 var today_seconds = today.getTime() / 1000;
1091 var date_seconds = date.getTime() / 1000;
1092
1093 if (date_seconds - today_seconds < 600 && date_seconds - today_seconds > 0) {
1094 color = "#e5f63f";
1095 } else {
1096 color = "#f5c6cb";
1097 }
1098 $('.tasks .table_tasks').prepend('<tr class="' + id_task + '" data-time="' + covert_complete_till + '" style="background-color:' + color + '"><td>' + contact_name + '</td><td>' + leads_name + '</td><td>' + complete_till + '</td></tr>').fadeIn(300);
1099 sortTasks();
1100 }
1101 }
1102 }
1103 });
1104
1105
1106 channel.bind('message-to-managers', function (data) {
1107 let n_id = data['id'],
1108 msg = data['msg'];
1109
1110 if ($('.crm_id').text() === n_id) {
1111 doModalForManagers(n_id, msg);
1112 }
1113 });
1114
1115 channel.bind('my-event-new', function (data) {
1116 console.log(data);
1117 if (data['responsible_user_id'] === $('.crm_id').text() && $('#manager_stop').val() == '0') {
1118 music();
1119 doModal(data['id'], data['name']);
1120 timer = setInterval(show, 2000);
1121 music_timer = setInterval(music, 5000);
1122 intervals.push(timer);
1123 intervals.push(music_timer);
1124 $('.modal-' + data['id']).on('click', '.accept', function () {
1125 $.ajax({
1126 url: 'leads.php',
1127 type: 'POST',
1128 data: {
1129 id: data['id'],
1130 name: data['name'],
1131 responsible_user_id: data['responsible_user_id'],
1132 type: data['type']
1133 }
1134 });
1135 });
1136
1137 $(document).on('click', '.close-btn, .close', function () {
1138 clear(timer, music_timer)
1139 setTimeout(function () {
1140 $('.modal-' + data['id']).remove();
1141 $('modal-backdrop').remove();
1142 }, 1000);
1143 });
1144 }
1145 });
1146
1147
1148 channel.bind('my-event-group-new', function (data) {
1149 console.log(data);
1150 if ($('#manager_stop').val() == '0' && data['accepted_users'].split(',').includes($('#id_user').val()) ||
1151 data['force'] == 1 && $('#manager_stop').val() == '0' && data['accepted_users'].split(',').includes($('#id_user').val())) {
1152 music();
1153 doModal(data['id'], data['name']);
1154 timer = setInterval(show, 2000);
1155 music_timer = setInterval(music, 5000);
1156 intervals.push(timer);
1157 intervals.push(music_timer);
1158 $('.modal-' + data['id']).on('click', '.accept', function () {
1159 $.ajax({
1160 url: 'leads.php',
1161 type: 'POST',
1162 data: {
1163 id: data['id'],
1164 name: data['name'],
1165 responsible_user_id: responsible_user_id,
1166 type: data['type']
1167 },
1168 async: true,
1169 success: function () {
1170 }
1171 });
1172 });
1173
1174 $(document).on('click', '.close-btn, .close', function () {
1175 clear(timer, music_timer)
1176 setTimeout(function () {
1177 $('.modal-' + data['id']).remove();
1178 $('modal-backdrop').remove();
1179 }, 1000);
1180 });
1181 }
1182 });
1183
1184 channel.bind('close-modal-new', function (data) {
1185 $('.modal-' + data['id']).modal('hide');
1186 $('.modal-' + data['id']).remove();
1187 $('body').removeClass('modal-open').css('padding-right', '0');
1188 clear(timer, music_timer);
1189 });
1190
1191 channel.bind('go-to-modal-new', function (data) {
1192
1193 clear(timer, music_timer);
1194 $('modal-backdrop').remove();
1195 console.log(responsible_user_id+' '+data['responsible_user_id']);
1196 if (responsible_user_id === data['responsible_user_id']) {
1197 var elem = find(arr, data['id']);
1198 if (elem === -1) {
1199 if (data['type'] == '0' || data['type'] == '3') {
1200 window.open('https://ohisenglish.amocrm.ru/leads/detail/' + data['where'], '_blank');
1201 arr.push(data['id']);
1202 }
1203 if (data['type'] == '2') {
1204 window.open('https://ohisenglish.amocrm.ru/leads/detail/' + data['where'], '_blank');
1205 }
1206 if (data['type'] == '1') {
1207 window.open('https://ohisenglish.amocrm.ru/contacts/detail/' + data['where'], '_blank');
1208 }
1209 }
1210 }
1211 });
1212
1213 channel.bind('update-leads-today', function (data) {
1214 if (data['responsible_user_id'] == responsible_user_id) {
1215 var count = $('.leads-count span').text();
1216 count = +count++;
1217 if (count < 1) {
1218 $('.leads-count span').text(0);
1219 } else {
1220 $('.leads-count span').text(count);
1221 }
1222 }
1223 });
1224
1225 var contact_interval = setInterval(function () {
1226 $.ajax({
1227 url: 'timer.php',
1228 type: 'POST',
1229 data: {id: '1', responsible_user_id: responsible_user_id},
1230 async: true,
1231 success: function (data) {
1232 },
1233 error: function (data) {
1234 }
1235 });
1236 }, 300000);
1237
1238 var tasks_interval = setInterval(function () {
1239 var date = new Date();
1240 var seconds = date.getTime() / 1000;
1241 $('.table_tasks tr').each(function (index, value) {
1242 if ($(this).attr('data-time') - seconds < 600 && $(this).attr('data-time') - seconds > 0) {
1243 $(this).css('backgroundColor', '#e5f63f');
1244 } else {
1245 $(this).css('backgroundColor', '#f5c6cb');
1246 }
1247 if ($(this).attr('data-time') - seconds < 0) {
1248 $(this).css('backgroundColor', '#e03547');
1249 }
1250 });
1251 }, 30000);
1252
1253 function sortTasks() {
1254 var elems = $.makeArray($(".table_tasks tr"));
1255 elems.sort(function (a, b) {
1256 return a.dataset.time > b.dataset.time ? 1 : -1;
1257 ;
1258 });
1259
1260 $('.table_tasks tbody').html(elems);
1261
1262 return 1;
1263 }
1264
1265 function update() {
1266 var clock = document.getElementById('clock');
1267
1268 var date = new Date(); // (*)
1269 var hours = date.getHours();
1270 if (hours >= 20 && hours < 23 || date.getDay() % 6 == 0) {
1271 $('.count-status.count-status-hot').css('display', 'flex');
1272 } else {
1273 $('.count-status.count-status-hot').css('display', 'none');
1274 }
1275
1276
1277 if (hours < 10) hours = '0' + hours;
1278 clock.children[0].innerHTML = hours;
1279
1280 var minutes = date.getMinutes();
1281 if (minutes < 10) minutes = '0' + minutes;
1282 clock.children[1].innerHTML = minutes;
1283
1284 var seconds = date.getSeconds();
1285 if (seconds < 10) seconds = '0' + seconds;
1286 clock.children[2].innerHTML = seconds;
1287 }
1288
1289 function update1() {
1290 var clock = document.getElementById('clock1');
1291
1292 var date = new Date(); // (*)
1293
1294 var hours = date.getHours();
1295 if (hours < 10) hours = '0' + hours;
1296 clock.children[0].innerHTML = hours;
1297
1298 var minutes = date.getMinutes();
1299 if (minutes < 10) minutes = '0' + minutes;
1300 clock.children[1].innerHTML = minutes;
1301
1302 var seconds = date.getSeconds();
1303 if (seconds < 10) seconds = '0' + seconds;
1304 clock.children[2].innerHTML = seconds;
1305 }
1306
1307 (function clockStart() { // запустить часы
1308 timerId = setInterval(update, 1000);
1309 timerId1 = setInterval(update1, 1000);
1310 update(); // (*)
1311 update1(); // (*)
1312 })()
1313
1314 function clockStop() {
1315 clearInterval(timerId);
1316 timerId = null;
1317 }
1318
1319 $('.table_tasks tr').on('click', function () {
1320 $.ajax({
1321 url: 'get-custom-task.php',
1322 type: 'POST',
1323 data: {
1324 id: $(this).attr('data-id'),
1325 type: $(this).attr('data-type'),
1326 responsible_user_id: responsible_user_id
1327 },
1328 });
1329 });
1330
1331 $('.getTarget1').on('click', function (e) {
1332 e.preventDefault();
1333 $.ajax({
1334 type: 'POST',
1335 url: 'getTargetTask.php?target1',
1336 data: {responsible_user_id: responsible_user_id}
1337 });
1338 });
1339
1340 $('.getTarget2').on('click', function (e) {
1341 e.preventDefault();
1342 $.ajax({
1343 type: 'POST',
1344 url: 'getTargetTask.php?target2',
1345 data: {responsible_user_id: responsible_user_id}
1346 });
1347 });
1348
1349 $('.getTarget3').on('click', function (e) {
1350 e.preventDefault();
1351 $.ajax({
1352 type: 'POST',
1353 url: 'getTargetTask.php?target3',
1354 data: {responsible_user_id: responsible_user_id}
1355 });
1356 });
1357
1358 $('.getTarget4').on('click', function (e) {
1359 e.preventDefault();
1360 $.ajax({
1361 type: 'POST',
1362 url: 'getTargetTask.php?target4',
1363 data: {responsible_user_id: responsible_user_id}
1364 });
1365 });
1366
1367 $('.close-overdue').on('click', function (e) {
1368 e.preventDefault();
1369 $.ajax({
1370 type: 'POST',
1371 url: 'removeOverdue.php',
1372 data: {responsible_user_id: responsible_user_id},
1373 success: function () {
1374 location.reload(true);
1375 }
1376 });
1377 });
1378
1379 channel.bind('update-table-leads-new', function (data) {
1380 var name = data['name'];
1381 var id = data['id'];
1382 var status = data['online_status'];
1383 var manager = data['manager'];
1384 var date_create = data['time'];
1385 var date_accept = data['date_accept'];
1386 if (manager === undefined) {
1387 manager = "";
1388 }
1389 if (data['close_lead'] == 1) {
1390 color = "#c3e6cb";
1391 $('.leads table_leads').prepend('<tr class="' + id + '" style="text-transform: uppercase;background-color:' + color + '"><td>' + name + '</td><td class="manager">' + manager + '</td><td>' + date_create + '</td><td class="date_accept">' + date_accept + '</td></tr>').fadeIn(300);
1392 $('.leads table_leads tr:last-child').fadeOut(300).remove();
1393 }
1394 });
1395
1396 // channel.bind('dropUsers', function (data) {
1397 // location.reload(true);
1398 // });
1399
1400 $('.statistics_for_today').on('click', function (e) {
1401 e.preventDefault();
1402 $.ajax({
1403 type: 'POST',
1404 url: 'statsForToday.php',
1405 data: {responsible_user_id: responsible_user_id},
1406 success: function (data) {
1407 alert(data);
1408 }
1409 })
1410 });
1411
1412 $('.get-free-lead').on('click', function (e) {
1413 e.preventDefault();
1414 $.ajax({
1415 url: 'free-web.php',
1416 type: 'POST',
1417 data: {responsible_user_id: responsible_user_id},
1418 async: true,
1419 success: function (data) {
1420 },
1421 error: function () {
1422 }
1423 });
1424 });
1425 </script>
1426 <script>
1427 function create_payment() {
1428 var name_manager = $('#name_manager').val();
1429 var id_manager = $('#id_manager').val();
1430 var deal_description = $('#deal_description').val();
1431 var id_deal_crm = $('#id_deal_crm').val();
1432 var amount = $('#amount').val();
1433
1434 $.ajax({
1435 url: 'p2m.php',
1436 global: false,
1437 type: 'POST',
1438 data: {
1439 name_manager: name_manager,
1440 id_manager: id_manager,
1441 deal_description: deal_description,
1442 id_deal_crm: id_deal_crm,
1443 amount: amount
1444 },
1445 dataType: "html",
1446 async: false,
1447 success: function (data) {
1448 //var result = JSON.parse(data);
1449 document.getElementById('redirect').value = data;
1450 }
1451 });
1452 }
1453
1454 function fondy_create_payment() {
1455 var name_manager = $('#name_manager').val();
1456 var id_manager = $('#id_manager').val();
1457 var deal_description = $('#deal_description_fondy').val();
1458 var id_deal_crm = $('#id_deal_crm_fondy').val();
1459 var amount = $('#amount_fondy').val();
1460 var currency_fondy = $('#currency_fondy').val();
1461
1462 $.ajax({
1463 url: 'fondy.php',
1464 global: false,
1465 type: 'POST',
1466 data: {
1467 name_manager: name_manager,
1468 id_manager: id_manager,
1469 deal_description: deal_description,
1470 id_deal_crm: id_deal_crm,
1471 amount: amount,
1472 currency_fondy: currency_fondy
1473 },
1474 dataType: "html",
1475 async: false,
1476 success: function (data) {
1477 //var result = JSON.parse(data);
1478 document.getElementById('redirect').value = data;
1479 }
1480 });
1481 }
1482
1483 function interkassa_create_payment() {
1484 var name_manager = $('#name_manager').val();
1485 var id_manager = $('#id_manager').val();
1486 var deal_description = $('#deal_description_interkassa').val();
1487 var id_deal_crm = $('#id_deal_crm_interkassa').val();
1488 var amount = $('#amount_interkassa').val();
1489 var currency = $('#currency_interkassa').val();
1490
1491 $.ajax({
1492 url: 'interkassa.php',
1493 global: false,
1494 type: 'POST',
1495 data: {
1496 name_manager: name_manager,
1497 id_manager: id_manager,
1498 deal_description: deal_description,
1499 id_deal_crm: id_deal_crm,
1500 amount: amount,
1501 currency: currency
1502 },
1503 dataType: "html",
1504 async: false,
1505 success: function (data) {
1506 //var result = JSON.parse(data);
1507 document.getElementById('redirect').value = data;
1508 }
1509 });
1510 }
1511
1512 function bepaid_create_payment() {
1513 var name_manager = $('#name_manager').val();
1514 var id_manager = $('#id_manager').val();
1515 var deal_description = $('#deal_description_bepaid').val();
1516 var id_deal_crm = $('#id_deal_crm_bepaid').val();
1517 var amount = $('#amount_bepaid').val();
1518 var currency = $('#currency_bepaid').val();
1519
1520 $.ajax({
1521 url: 'bepaid.php',
1522 global: false,
1523 type: 'POST',
1524 data: {
1525 name_manager: name_manager,
1526 id_manager: id_manager,
1527 deal_description: deal_description,
1528 id_deal_crm: id_deal_crm,
1529 amount: amount,
1530 currency: currency
1531 },
1532 dataType: "html",
1533 async: false,
1534 success: function (data) {
1535 //var result = JSON.parse(data);
1536 document.getElementById('redirect').value = data;
1537 }
1538 });
1539 }
1540
1541 function clear_input() {
1542 document.getElementById('deal_description_interkassa').value = '';
1543 document.getElementById('id_deal_crm_interkassa').value = '';
1544 document.getElementById('amount_interkassa').value = '';
1545
1546 document.getElementById('deal_description_bepaid').value = '';
1547 document.getElementById('id_deal_crm_bepaid').value = '';
1548 document.getElementById('amount_bepaid').value = '';
1549
1550 document.getElementById('deal_description_fondy').value = '';
1551 document.getElementById('id_deal_crm_fondy').value = '';
1552 document.getElementById('amount_fondy').value = '';
1553
1554 document.getElementById('deal_description').value = '';
1555 document.getElementById('id_deal_crm').value = '';
1556 document.getElementById('amount').value = '';
1557
1558 document.getElementById('redirect').value = '';
1559 }
1560
1561 function copyredirect() {
1562 var text = document.querySelector('.redirect')
1563
1564 text.select();
1565 document.execCommand('copy');
1566 }
1567
1568 $('.old_contacts tr').on('click', function(){
1569 let contact_id = $(this).data('contact-id');
1570
1571 $.ajax({
1572 url: 'handler/old_contacts.php',
1573 type: 'POST',
1574 data: {id: contact_id, responsible_user_id: responsible_user_id},
1575 success: function(data){
1576 if(data){
1577 window.open('https://ohisenglish.amocrm.ru/contacts/detail/'+contact_id, '_blank');
1578 }
1579 }
1580 });
1581 });
1582
1583 channel.bind('update_old_contacts', function (data) {
1584 var contact_id = data['id'];
1585 $('[data-contact-id="'+contact_id+'"]').remove();
1586 });
1587 </script>
1588
1589 <script src="js/handler.js"></script>
1590
1591 </body>
1592 </html>
1593
1594
1595<?php } else {
1596 echo _('Вы не авторизированы в системе!');
1597 header('Location:/login.php');
1598 exit;
1599} ?>