0){ $agency_id = (int)$p['agency_id']; } if($agency_id == 13430 || $agency_id == 13394){ $megafon->set_users_agency($agency_id); } // echo $agency_id."\n"; $megafon->account = $p['account']; $user_id = $megafon->find_user($p['user_find_number'], $agency_id); $client_id = 0; if($user_id == 0) $user_id = $main_user_id; if($user_id > 0){ $who_work_i = $user_id; $confirm = 1; if($user_id == 10786 || $agency_id == 12343){ $who_work_i = 0; $confirm = 0; } else if ($agency_id == 13154 && $megafon->ver_phone($p['user_find_number']) == '+79111111702'){ $who_work_i = 0; $confirm = 0; } else if($agency_id == 12461){ $who_work_i = 0; $confirm = 0; } $funnel_id = 0; if(!empty($funnel_telephony)){ foreach($funnel_telephony as $funnel_t){ if($funnel_t['phone'] == $megafon->ver_phone($p['user_find_number'])){ if((int)$funnel_t['funnel_id'] > 0){ $funnel_id = (int)$funnel_t['funnel_id']; } } } } if($agency_id == 14191){ $funnel_id = 844; } else if($agency_id == 16001){ $funnel_id = 994; } else if($agency_id == 12028){ $funnel_id = 996; } else if($agency_id == 17664){ $funnel_id = 1180; }else if ($agency_id == 12461){ $funnel_id = 1854; } //Поиск клиента $client_id = $megafon->find_client($p['client_find_number']); $source = $megafon->findSource($megafon->ver_phone($p['user_find_number'])); if ($agency_id == 13154 && $megafon->ver_phone($p['user_find_number']) == '+79111111702'){ $source = 1678; } if($client_id == 0 && strlen($megafon -> ver_phone($p['client_find_number'])) == 12){ $sql_cl_mango = "INSERT INTO `clients` (fio, phone, opis, id_agent, date_add, who_work, confirm, stage, source) " . " VALUES ('Клиент megafon', '".$megafon -> ver_phone($p['client_find_number'])."', '".$p['comment']."', {$user_id}, '".date('Y-m-d H:i:s', $p['start'])."', {$who_work_i}, '{$confirm}', '1', $source)"; if($agency_id == 6841){ $sql_cl_mango = "INSERT INTO `clients` (fio, phone, opis, id_agent, date_add, who_work, confirm, stage, funnel_id, source) " . " VALUES ('Клиент megafon', '".$megafon -> ver_phone($p['client_find_number'])."', '".$p['comment']."', {$user_id}, '".date('Y-m-d H:i:s', $p['start'])."', {$who_work_i}, '{$confirm}', '1',36, $source)"; } if($funnel_id > 0){ $sql_cl_mango = "INSERT INTO `clients` (fio, phone, opis, id_agent, date_add, who_work, confirm, stage, funnel_id, source) " . " VALUES ('Клиент megafon', '".$megafon -> ver_phone($p['client_find_number'])."', '".$p['comment']."', {$user_id}, '".date('Y-m-d H:i:s', $p['start'])."', {$who_work_i}, '{$confirm}', '1',$funnel_id,$source)"; } if($agency_id == 9973 || $agency_id == 7864 || $agency_id == 12254){ if($type == 'abonentMegafonAnswer'){ /* if($agency_id == 7864) { echo $sql_cl_mango."\n"; }*/ mysql_query($sql_cl_mango); $client_id = mysql_insert_id(); } } else if($agency_id == 12343 && $megafon->ver_phone($p['user_find_number']) == '+79284369993'){ if($type == 'abonentMegafonAnswer' || $type == 'noAnswer'){ /* if($agency_id == 7864) { echo $sql_cl_mango."\n"; }*/ mysql_query($sql_cl_mango); $client_id = mysql_insert_id(); } } else if($agency_id == 15401){ if($megafon->ver_phone($p['user_find_number']) == '+79215648879'){ mysql_query($sql_cl_mango); $client_id = mysql_insert_id(); } } else if($agency_id == 12482 || $agency_id == 13430 || $agency_id == 13394 || $agency_id == 14310 || $agency_id == 14700 || $agency_id == 10982 || $agency_id == 16182 || $agency_id == 16444 || $agency_id == 13735 || $agency_id == 19909 || $agency_id == 19750 || $agency_id == 21951 || $agency_id == 18479 || $agency_id == 23103 || $agency_id == 22670){ if($type == 'abonentMegafonAnswer' || $type == 'noAnswer'){ /* if($agency_id == 7864) { echo $sql_cl_mango."\n"; }*/ mysql_query($sql_cl_mango); $client_id = mysql_insert_id(); } } else if($agency_id == 19794){ if($type == 'megafonAbonentAnswer'){ mysql_query($sql_cl_mango); $client_id = mysql_insert_id(); } } else { mysql_query($sql_cl_mango); $client_id = mysql_insert_id(); } if($client_id > 0 && $funnel_id > 0){ $client = new Clients; $client->get_class_etap($client_id, $funnel_id); } } if($client_id > 0){ /*if($agency_id == 7864) { echo $type."\n"; }*/ if($type == 'abonentMegafonAnswer'){ $cl_stage = $megafon -> get_client_stage(); //Перевод клиента в стадию "Новый", если он был закрыт if($cl_stage == 8 || $cl_stage == 10){ $up_client = "UPDATE `clients` SET `stage`='1', `who_work`='{$user_id}', `deleted` = 0 WHERE `id`={$client_id}"; mysql_query($up_client); $dop_text = "c «Закрыт» на «Новый» (По входящему звонку Мегафон)"; $in_ev = "INSERT INTO `events_clients` (`user_id`, `client_id`, `event`, `dop_text`, `read`) VALUES ('{$user_id}', '{$client_id}', 'stageedit', '{$dop_text}', 1)"; mysql_query($in_ev); } } $sql_m = "SELECT id FROM user_client_events WHERE client_id = {$client_id} AND create_date = '".date('Y-m-d H:i:s', $p['start'])."'". " AND `type` = 'call' AND megafon = 1"; $isRecord = false; $q_m = mysql_query($sql_m); if(mysql_num_rows($q_m) == 0){ $record = ''; if(!empty(trim($p['record'], '\n'))){ $record=$megafon->recordSave(trim($p['record'], '\n')); $isRecord=true; } //Поиск чей клиент $sql_who = "SELECT who_work FROM clients WHERE id = {$client_id}"; $q_who = mysql_query($sql_who); $r_who = mysql_fetch_assoc($q_who); $who_work = $user_id; if($r_who['who_work'] != 0){ $who_work = $r_who['who_work']; } //Поиск отслеживаемого звонка $sql_t = "SELECT * FROM user_client_events WHERE client_id = {$client_id} AND user_id={$who_work} AND `type` = 'call' AND tracking = 1 AND calendar_view = 0"; $q_t = mysql_query($sql_t); if(mysql_num_rows($q_t) > 0){ $r_t = mysql_fetch_assoc($q_t); mysql_query("UPDATE user_client_events SET calendar_view = 1, record='".$record."' WHERE id = ".$r_t['id']); if($type == 'noAnswer'){ $sql_in_ev = "INSERT INTO user_client_events (user_id, client_id, create_date, schedule_date_to, schedule_date, `type`, comment, calendar_view, from_id, megafon) ". "VALUES (".$r_t['user_id'].", {$client_id}, '".date('Y-m-d H:i:s', ($p['start']+3*60*60))."', '".date('Y-m-d H:i:s')."', '".date('Y-m-d H:i:s', time()+3600)."', 'call', '".$r_t['comment'].' '.$p['comment_in']."', 0, ".$r_t['from_id'].", 1)"; mysql_query($sql_in_ev); } } else { $sql_in_ev = "INSERT INTO user_client_events (user_id, client_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, megafon, record) ". "VALUES ({$who_work}, {$client_id}, '".date('Y-m-d H:i:s', $p['start'])."', '".date('Y-m-d H:i:s',$p['start'])."', 'call', '".$p['comment_in']."', 1, {$user_id}, 1, '".$record."')"; //echo $sql_in_ev.'
'; mysql_query($sql_in_ev); } } //Поиск заявки по клиенту if($agency_id != 7864){ if(!$isRecord){ if(!empty(trim($p['record'], '\n'))){ $record=$megafon->recordSave(trim($p['record'], '\n')); $isRecord=true; } } $req_s = "SELECT id, user_id, who_work, created_at, deleted FROM requisitions WHERE client_id=$client_id and who_work={$user_id} and cancel=0 and deleted=0"; if ($agency_id == 13154 && $megafon->ver_phone($p['user_find_number']) == '+79111111702'){ $req_s = "SELECT id, user_id, who_work, created_at, deleted FROM requisitions WHERE client_id=$client_id and cancel=0"; } else /*if($agency_id == 13339 || $agency_id == 10429 || $agency_id == 13154)*/ { $res_s = "SELECT id, user_id, who_work FROM requisitions WHERE call_id='{$p['UID']}'"; $res_q = mysql_query($res_s); if(mysql_num_rows($res_q) == 0){ $req_s = "SELECT id, user_id, who_work, created_at, deleted FROM requisitions WHERE client_id=$client_id and who_work={$user_id} and cancel=0 and deleted=0"; if($agency_id == 13154){ //Поиск среди закрытых заявок $req_s = "SELECT id, user_id, who_work, created_at, deleted FROM requisitions WHERE client_id=$client_id and who_work={$user_id} and cancel=0"; } else if($agency_id == 13339){ // Для агентства M2 Group Недвижимость ищем заявку которая была закрыта менее 3-х часов назад /** */ $date_update_between = "BETWEEN '". date('Y-m-d H:i:d', ($p['start'] - 10*60)) . "' AND '".date('Y-m-d H:i:d', ($p['start']+60*60))."'"; if(mysql_num_rows(mysql_query($req_s)) == 0){ $req_s = "SELECT id, user_id, who_work, created_at, deleted FROM requisitions WHERE client_id=$client_id and who_work={$user_id} and cancel=0 and deleted=1 AND (SELECT date_update FROM `events_clients` where `req_id` = requisitions.id AND `event` = 'delete' AND date_update $date_update_between ORDER BY id DESC LIMIT 1) is not null"; } } else if($agency_id == 18479){ //Поиск любой заявки по клиенту с телефонии $req_s = "SELECT id, user_id, who_work, created_at, deleted FROM requisitions WHERE client_id=$client_id and cancel=0 and integration in (1,2) order by id desc limit 1"; } } else { $req_s = $res_s; } } if($agency_id == 11082){ //Проверяем с интеграции ли клиент $sql_cl_i = "SELECT integration FROM clients WHERE id={$client_id}"; $q_cl_i = mysql_query($sql_cl_i); $res_i = mysql_fetch_assoc($q_cl_i); if($res_i['integration'] > 0){ $req_s = "SELECT id, user_id, who_work, created_at, deleted FROM requisitions WHERE client_id=$client_id and cancel=0"; } } /* if($client_id == 4257294){ echo $req_s."\n"; //die(); }*/ $add_new_req = false; $req_q = mysql_query($req_s); $req_rows = mysql_num_rows($req_q); $req_comm = str_replace(["Клиент","записан"], ["Заявка","записана"], $p['comment']); if($req_rows > 0){ //var_dump($p); while($req = mysql_fetch_assoc($req_q)){ $sql_m = "SELECT id FROM user_client_events WHERE req_id = $req[id] AND create_date = '".date('Y-m-d H:i:s', $p['start'])."'". " AND user_id={$req['who_work']} AND `type` = 'call' AND megafon = 1 AND tracking = 0"; if($agency_id == 13154 || $agency_id == 18479){ $sql_m = "SELECT id FROM user_client_events WHERE req_id = $req[id] AND create_date = '".date('Y-m-d H:i:s', $p['start'])."'". " AND `type` = 'call' AND megafon = 1 AND tracking = 0"; } // echo $sql_m."\n"; $q_m = mysql_query($sql_m); if(mysql_num_rows($q_m) == 0){ $sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, megafon, record) ". "VALUES ($req[who_work], $req[id], '".date('Y-m-d H:i:s', $p['start'])."', '".date('Y-m-d H:i:s', $p['start'])."', 'call', '".$p['comment_in']."', 1, {$user_id}, 1, '".$record."')"; mysql_query($sql_in_ev); if($agency_id == 18479){ if($req['deleted'] > 0 && !isset($_SESSION['id'])){ $up_client = "UPDATE `requisitions` SET `stage`='1', `deleted` = 0, confirm=1, `who_work`='{$user_id}', call_id='{$p['UID']}' WHERE `id`=$req[id]"; mysql_query($up_client); $dop_text = "Переведена в активные по звонку ".date('Y-m-d H:i:s', $p['start']); $in_ev = "INSERT INTO `events_clients` (`user_id`, `req_id`, `event`, `dop_text`, `read`) VALUES ('{$user_id}', '$req[id]', 'update', '{$dop_text}', 1)"; mysql_query($in_ev); } } } } } else { $add_new_req = true; //echo $client_id."\n"; //die(); } if($add_new_req){ $nameReq = 'Заявка Мегафон'; $sql_cl = "SELECT fio FROM clients WHERE id={$client_id}"; $q_cl = mysql_query($sql_cl); $r_cl = mysql_fetch_assoc($q_cl); if(isset($r_cl['fio'])){ $nameReq = "Подбор объекта для ".$r_cl['fio']; } $req_id = 0; if($agency_id == 11082){ $funnel_id = 479; } else if($agency_id == 10429){ $funnel_id = 551; } else if($agency_id == 13339){ $funnel_id = 665; } else if($agency_id == 13386){ $funnel_id = 796; } else if($agency_id == 12028){ $funnel_id = 997; } else if($agency_id == 17664){ $funnel_id = 1180; } else if ($agency_id == 19909){ $funnel_id = 1613; } else if ($agency_id == 19750){ $funnel_id = 1985; }else if ($agency_id == 18479){ $funnel_id =2156; }else if ($agency_id == 18846){ $funnel_id =2197; } else if ($agency_id == 23360){ $funnel_id = 2424; } $who_work_i = $user_id; $confirm = 1; //$source = 0; if ($agency_id == 13154 && $megafon->ver_phone($p['user_find_number']) == '+79111111702'){ $who_work_i = 0; $confirm = 0; $source = 1678; } $sql_req = "INSERT INTO `requisitions` SET name='{$nameReq}', integration=1, created_at='".date('Y-m-d H:i:s', $p['start'])."', user_id={$user_id}, client_id={$client_id}, stage=1, type_id=1, who_work={$who_work_i}, confirm={$confirm}, description='{$req_comm}', source={$source}, call_id='{$p['UID']}'"; if($funnel_id > 0) { $sql_req .= ", funnel_id={$funnel_id}"; $reqClass = new Requisitions(); } if($agency_id == 9973 || $agency_id == 7864 || $agency_id == 13735 || $agency_id == 18455 || $agency_id == 19750){ if($type == 'abonentMegafonAnswer'){ mysql_query($sql_req); $req_id = mysql_insert_id(); $sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, megafon, record) ". "VALUES ($user_id, $req_id, '".date('Y-m-d H:i:s', $p['start'])."', '".date('Y-m-d H:i:s', $p['start'])."', 'call', '".$p['comment_in']."', 1, {$user_id}, 1, '".$record."')"; mysql_query($sql_in_ev); } } else if($agency_id == 11965 || $agency_id == 13154 || $agency_id == 10982 || $agency_id == 16182 || $agency_id == 13735 || $agency_id == 19909 || $agency_id == 18479 || $agency_id == 23103 || $agency_id == 22670){ if($type == 'abonentMegafonAnswer' || $type == 'noAnswer'){ /* echo $megafon->ver_phone($p['user_find_number']); echo $sql_req."\n";*/ mysql_query($sql_req); $req_id = mysql_insert_id(); $sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, megafon, record) ". "VALUES ($user_id, $req_id, '".date('Y-m-d H:i:s', $p['start'])."', '".date('Y-m-d H:i:s', $p['start'])."', 'call', '".$p['comment_in']."', 1, {$user_id}, 1, '".$record."')"; mysql_query($sql_in_ev); } } else if($agency_id == 15401){ if($megafon->ver_phone($p['user_find_number']) == '+79215648879'){ mysql_query($sql_req); $req_id = mysql_insert_id(); $sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, megafon, record) ". "VALUES ($user_id, $req_id, '".date('Y-m-d H:i:s', $p['start'])."', '".date('Y-m-d H:i:s', $p['start'])."', 'call', '".$p['comment_in']."', 1, {$user_id}, 1, '".$record."')"; mysql_query($sql_in_ev); } } else if($agency_id == 13339){ //if($megafon->ver_phone($p['user_find_number']) != '+79201160206'){ //file_put_contents(__DIR__.'/log_test_megafon.txt', $sql_req. "\n", FILE_APPEND); mysql_query($sql_req); $req_id = mysql_insert_id(); $sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, megafon, record) ". "VALUES ($user_id, $req_id, '".date('Y-m-d H:i:s', $p['start'])."', '".date('Y-m-d H:i:s', $p['start'])."', 'call', '".$p['comment_in']."', 1, {$user_id}, 1, '".$record."')"; //file_put_contents(__DIR__.'/log_test_megafon.txt', $sql_in_ev. "\n", FILE_APPEND); mysql_query($sql_in_ev); $sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id) ". "VALUES ($user_id, $req_id, '".date('Y-m-d H:i:s')."', '".date('Y-m-d H:i:s', strtotime('+30 minutes'))."', 'call', '".$p['comment_in']."', 0, {$user_id})"; // file_put_contents(__DIR__.'/log_test_megafon.txt', $sql_in_ev. "\n", FILE_APPEND); mysql_query($sql_in_ev); //} } else if($agency_id != 11082 && $agency_id != 12254 && $agency_id != 12343 && $agency_id != 12482 && $agency_id != 12762 && $agency_id != 8826 && $agency_id != 13394 && $agency_id != 13430 && $agency_id != 14191 && $agency_id != 14310 && $agency_id != 12061 && $agency_id != 14700 && $agency_id != 16001 && $agency_id != 16444 && $agency_id != 16490 && $agency_id != 12461 && $agency_id != 17157 && $agency_id != 18785 && $agency_id != 19794 && $agency_id != 18708 && $agency_id != 20406 && $agency_id != 21951 && $agency_id != 18846 && $agency_id != 23103) { mysql_query($sql_req); $req_id = mysql_insert_id(); $sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, megafon, record) ". "VALUES ($user_id, $req_id, '".date('Y-m-d H:i:s', $p['start'])."', '".date('Y-m-d H:i:s', $p['start'])."', 'call', '".$p['comment_in']."', 1, {$user_id}, 1, '".$record."')"; mysql_query($sql_in_ev); } if($req_id > 0 && $funnel_id > 0){ $reqClass->get_class_etap($req_id, $funnel_id); } } } } } } $time_start = microtime(true); $sql_megafon = "SELECT * FROM agency_megafon WHERE singly = 0"; if(isset($_SESSION['id'])){ $sql_megafon = "SELECT * FROM agency_megafon WHERE singly = 0 AND agency_id = 19750"; } $q_megafon = mysql_query($sql_megafon); while($r_megafon = mysql_fetch_assoc($q_megafon)){ $api_key = $r_megafon['api_key']; $last_date = $r_megafon['lost_date']; $api_pass = $r_megafon['api_pass']; $agency_id =$r_megafon['agency_id']; $main_user_id = $r_megafon['main_user']; $baseUrl = $r_megafon['url']; $gmt = (int)$r_megafon['gmt']; $agency_id2 = 0; if(!empty($r_megafon['agency_id_chaild'])) $agency_id2 = (int)$r_megafon['agency_id_chaild']; $megafon = new MegafonApiClass($api_key, $api_pass, $baseUrl); $phones_type = array(); //var_dump($megafon); $funnel_telephony = array(); $sql_f_t = "SELECT * FROM funnel_telephony WHERE agency_id = {$agency_id}"; $q_f_t = mysql_query($sql_f_t); while($r_f_t = mysql_fetch_assoc($q_f_t)){ $funnel_telephony[] = $r_f_t; } //var_dump($funnel_telephony); $megafon->setCmd('accounts'); $users = json_decode($megafon->get_users_ats(), true); //var_dump($users); // Логирование ошибки API (битый токен, превышен лимит и т.д.) if (is_array($users) && isset($users['error'])) { error_log("Megafon API error for agency $agency_id: " . $users['error']); } if(!empty($users) && !isset($users['error'])){ //Проверка пользователей foreach ($users as $key => $user) { // Защита от нестандартных ответов (API вернул flat object вместо массива объектов) if (!is_array($user)) { continue; } $tempAgencyId = $agency_id; if($agency_id2 > 0){ $tempAgencyId = $megafon->saveUserMega($user, $agency_id, $agency_id2); //echo $agency_id."\n"; } else { $megafon->saveUserMega($user, $agency_id); } $megafon_user = array(); $megafon_user['agency_id'] = $tempAgencyId; $where = ''; if(isset($user['telnum'] )){ $where .= "phone = '+".$user['telnum']."'"; } if(isset($user['email'])){ if($where != '') $where .= ' or '; $where .= "email = '".$user['email']."'"; } if($where != ''){ $sqlu = "SELECT id, phone FROM users WHERE ".$where; $qu = mysql_query($sqlu); if(mysql_num_rows($qu) > 0){ $ru = mysql_fetch_assoc($qu); $megafon_user['user_id'] = $ru['id']; $megafon_user['name'] = $user['name']; $megafon_user['real_name'] = $user['realName']; $megafon_user['phone'] = $ru['phone']; $megafon_user['ext'] = $user['ext']; $sql_very = "SELECT id FROM megafon_users WHERE user_id = ".$ru['id']; $q_very = mysql_query($sql_very); if(mysql_num_rows($q_very) > 0){ $set = ''; foreach ($megafon_user as $key => $val){ if($key != 'user_id'){ if($set != '') $set .= ', '; $set .= $key." = '".$val."'"; } } $sql_up = "UPDATE megafon_users SET ".$set." WHERE user_id = ".$megafon_user['user_id']; mysql_query($sql_up); } else { $keys = ''; $values = ''; foreach ($megafon_user as $key => $val){ if($keys != '') $keys .= ', '; if($values != '') $values .= ', '; $keys .= $key; $values .= "'".$val."'"; } $sql_in = "INSERT INTO megafon_users (".$keys.") VALUES (".$values.")"; mysql_query($sql_in); } } } } $usersIds = array(); $phones = array(); //$usersIds[] = $agency_id; // if($agency_id2 == 0) { $sql_users = "SELECT id, phone FROM users WHERE id in (select id from users where id=$agency_id or id_manager=$agency_id or id_manager in (select id from users where id_manager=$agency_id or id_manager in (select id from users where id_manager=$agency_id)))"; $q_users = mysql_query($sql_users); while($r_users = mysql_fetch_assoc($q_users)){ $usersIds[] = (int)$r_users['id']; $phones[(int)$r_users['id']] = $r_users['phone']; } $sql_users = "SELECT user_id, phone FROM users_delete WHERE user_id in (select user_id from users_delete where user_id=$agency_id or id_manager=$agency_id or id_manager in (select user_id from users_delete where id_manager=$agency_id or id_manager in (select user_id from users_delete where id_manager=$agency_id)))"; $q_users = mysql_query($sql_users); while($r_users = mysql_fetch_assoc($q_users)){ $usersIds[] = (int)$r_users['user_id']; $phones[(int)$r_users['user_id']] = $r_users['phone']; } $megafon->set_users($usersIds); $megafon->set_users1($usersIds); $megafon->set_phones($phones); // } if($agency_id2 > 0) { $phones = array(); $usersIds = array(); $sql_users = "SELECT id, phone FROM users WHERE id in (select id from users where id=$agency_id2 or id_manager=$agency_id2 or id_manager in (select id from users where id_manager=$agency_id2 or id_manager in (select id from users where id_manager=$agency_id2)))"; $q_users = mysql_query($sql_users); while($r_users = mysql_fetch_assoc($q_users)){ $usersIds[] = (int)$r_users['id']; $phones[(int)$r_users['id']] = $r_users['phone']; } $sql_users = "SELECT user_id, phone FROM users_delete WHERE user_id in (select user_id from users_delete where user_id=$agency_id or id_manager=$agency_id or id_manager in (select user_id from users_delete where id_manager=$agency_id or id_manager in (select user_id from users_delete where id_manager=$agency_id)))"; $q_users = mysql_query($sql_users); while($r_users = mysql_fetch_assoc($q_users)){ $usersIds[] = (int)$r_users['user_id']; $phones[(int)$r_users['user_id']] = $r_users['phone']; } $megafon->set_users2($usersIds); $megafon->set_phones2($phones); } $megafon->getTranslationPhone($agency_id); $arr_heder = ['UID','type','client','account','via','start','wait','duration','record']; if(isset($_SESSION['id'])){ $last_date = '2025-01-31 07:00:00'; } $date = date('Ymd',(strtotime($last_date) - 4*60*60)).'T'.date('His', (strtotime($last_date) - 4*60*60)).'Z'; // echo $date; //Получение звонков $megafon->setCmd('history'); $today = false; $yesterday = false; if($agency_id == 12254 || $agency_id == 14191 || $agency_id == 17157){ $today = true; } /*if($agency_id == 12343){ $yesterday = true; }*/ $res = $megafon->get_history($date, $today, $yesterday); if(isset($_SESSION['id'])){ //echo $res."\n"; echo $date."\n"; } $history = explode("\n", trim($res)); $phones = array(); foreach ($history as $his) { $hisArr = explode(',', $his); $tempHis = array(); foreach ($hisArr as $key => $value) { if(isset($arr_heder[$key])) $tempHis[$arr_heder[$key]] = $value; } //var_dump($tempHis); if($agency_id == 9973){ if($tempHis['via'] == '78126655101'){ $phones[] = $tempHis; } } else if($agency_id == 19750){ $arrExPhones = ['79282682954', '79994619768', '79282024652', '79282468647', '79282464739', '79284061886', '79284109665', '79649337370', '79282287202', '79649337405', '79385044060', '79994619645', '79282467086', '79615264544', '79282637304', '79282025961', '79282093034', '79282584917', '79282015427', '79282015679', '79994619819', '79994619957', '79649337318', '79282215691', '79094572428', '79282685903', '79034581722', '79994619964', '79994619703', '79648992925', '79184410544', '79298290735', '79182422111', '79183171771', '79184592961', '79184273773', '79298290735' ]; if(!in_array($tempHis['client'], $arrExPhones)) { $phones[] = $tempHis; } } else { $phones[] = $tempHis; } } if(isset($_SESSION['id'])){ var_dump($phones); } // var_dump($phones); foreach ($phones as $key => $phone) { $agencyId = $agency_id; if(strpos($phone['UID'], 'error') === false && !empty(trim($phone['UID']))){ $megafon->account = $phone['account']; if($agency_id2 > 0){ $arrUser['telnum'] = $phone['via']; $agencyId = $megafon->getAgencyId($arrUser, $agency_id, $agency_id2, true); } $user_id = $megafon -> find_user($phone['via'], $agencyId); if($user_id == 0) { $user_id = $main_user_id; $agencyId = $agency_id; } if($user_id > 0 ){ $phone['start'] = strtotime($phone['start']) + $gmt*60*60; //$call_id = $megafon->stat($phone, $agencyId); $calls_ids = $megafon->stat($phone, $agencyId); $call_id = $calls_ids['id']; $call_id_pg = $calls_ids['idpg']; // $megafon->save_user_call($call_id, $phone['via'], $main_user_id, $agencyId); $megafon->save_user_call_pg($call_id_pg, $phone['via'], $main_user_id, $agencyId); $save = true; if($agencyId == 12482 || $agencyId == 13394 || $agencyId == 13430 || $agencyId == 16490) { if($phone['via'] == '79258880560' || $phone['client'] == '79258880560' || $phone['via'] == '79229950877' || $phone['client'] == '79219186383' || $phone['via'] = '79219186383'){ $save = false; } } if($save){ $type = $megafon->get_phone_type($phone['type']); switch ($type){ case 'megafonAbonentAnswer': { $phone['comment'] = 'Клиент записан по исходящему звонку в Мегафон'; $phone['comment_in'] = 'Исходящий звонок в Мегафон'; if($phone['duration'] == 0){ $phone['comment_in'] .= " (звонок не состоялся)"; $phone['comment'] .= " (звонок не состоялся)"; } $phone['user_find_number'] = $phone['via']; $phone['client_find_number'] = $phone['client']; $phone['account'] = $phone['account']; $phone['agency_id'] = $agencyId; $phones_type['megafonAbonentAnswer'][] = $phone; break; } case 'abonentMegafonAnswer': { $phone['comment'] = 'Клиент записан по входящему звонку в Мегафон'; $phone['comment_in'] = 'Входящий звонок в Мегафон'; $phone['user_find_number'] = $phone['via']; $phone['client_find_number'] = $phone['client']; $phone['account'] = $phone['account']; $phone['agency_id'] = $agencyId; $phones_type['abonentMegafonAnswer'][] = $phone; break; } case 'noAnswer':{ $phone['comment'] = 'Клиент записан по пропущеному звонку в Мегафон'; $phone['comment_in'] = 'Пропущеный звонок в Мегафон'; $phone['user_find_number'] = $phone['via']; $phone['client_find_number'] = $phone['client']; $phone['account'] = $phone['account']; $phone['agency_id'] = $agencyId; $phones_type['noAnswer'][] = $phone; break; } } } } } } // var_dump($phones_type); if(isset($phones_type['abonentMegafonAnswer'])){ foreach ($phones_type['abonentMegafonAnswer'] as $p) { read_phone($megafon, $p, $agency_id, 'abonentMegafonAnswer', $main_user_id, $funnel_telephony); } } if(isset($phones_type['megafonAbonentAnswer'])){ foreach ($phones_type['megafonAbonentAnswer'] as $p) { read_phone($megafon, $p, $agency_id, 'megafonAbonentAnswer', $main_user_id, $funnel_telephony); } } if(isset($phones_type['noAnswer'])){ foreach ($phones_type['noAnswer'] as $p) { read_phone($megafon, $p, $agency_id, 'noAnswer', $main_user_id, $funnel_telephony); } } } $sql_up_mango = "UPDATE agency_megafon SET lost_date = '".date('Y-m-d H:i:s')."' WHERE id = ".$r_megafon['id']; mysql_query($sql_up_mango); } $time_end = microtime(true); $execution_time = $time_end - $time_start; //execution time of the script echo 'Total Execution Time: ' . $execution_time . ' seconds'; ?>