getId(); $crmid = vtws_getCRMEntityId($ws_id); //$logstring = date('Y-m-d H:i:s').' - получили ID проекта: '.$crmid.PHP_EOL; //file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); $query = 'select p.projectname, cf.cf_1843 as startdate, cf.cf_1845 as starttime, p.linktoaccountscontacts as contactid, c.mobile, c.phone, c.firstname, e.smownerid as userid from vtiger_project p left join vtiger_projectcf cf on cf.projectid = p.projectid left join vtiger_contactdetails c on c.contactid = p.linktoaccountscontacts left join vtiger_crmentity e on e.crmid = p.projectid where p.projectid = '.$crmid; $result = $adb->pquery($query); if ($adb->num_rows($result) == 0) { $logstring = date('Y-m-d H:i:s').' - очень странно, но проекта с там ID нет...'.PHP_EOL; file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); } else { $name = $adb->query_result($result, 0, "projectname"); $startdate = $adb->query_result($result, 0, "startdate"); $starttime = $adb->query_result($result, 0, "starttime"); $contactid = $adb->query_result($result, 0, "contactid"); $tgid = $adb->query_result($result, 0, "phone"); $mobile = $adb->query_result($result, 0, "mobile"); $firstname = $adb->query_result($result, 0, "firstname"); $projectowner = $adb->query_result($result, 0, "userid"); if (empty($startdate) or empty($starttime)) { $logstring = date('Y-m-d H:i:s').' - Найден проект: '.$name.'; но в нем не указана дата/время начала митинга'.PHP_EOL; file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); } else { $enddate = $startdate; $endtime= date('H:i:s', strtotime($starttime) + 3600); //$logstring = date('Y-m-d H:i:s').' - Найден проект: '.$name.'; время начала митинга: '.$startdate.' '.$starttime.'; время окончания: '.$enddate.' '.$endtime.PHP_EOL; //file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); $result = CreateMeeting($crmid, $startdate, $starttime, $enddate, $endtime, $name, 'Рабочая встреча'); if ($result == 'YES') { //$logstring = date('Y-m-d H:i:s').' - Встреча успешно создана'.PHP_EOL; //file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); $query = 'update vtiger_projectcf set cf_1847 = "https://clientright.ktalk.ru/'.$crmid.'" where projectid = '.$crmid; $result = $adb->pquery($query); $message = $firstname.', добрый день. Мы запланировали видеовстречу '.date('d.m.Y', strtotime($startdate)).' в '.$starttime.', ссылку на подключение пришлем за 15 минут до начала'; if (!empty($tgid)) { try { $params = array ( 'commentcontent' => $message, 'related_to' => $ws_id, 'channel' => 'Telegram', 'assigned_user_id' => $user ); //$logstring = date('Y-m-d H:i:s').' - массив для телеги: '.json_encode($params).PHP_EOL; //file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); $comment = vtws_create('ModComments', $params, $user); //$logstring = date('Y-m-d H:i:s').' - создание коммента: '.json_encode($comment).PHP_EOL; //file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); $commentid = substr($comment['id'], 3); } catch (WebServiceException $ex) { $output = $ex->getMessage(); $logstring = date('Y-m-d H:i:s').' - Коммент не создался. Ошибка: '.$output.PHP_EOL; file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); } if ($commentid > 0) { $result = TelegramSendComment($commentid, $message); //$logstring = date('Y-m-d H:i:s').' - Отправка уведомления в телегу: '.$result.PHP_EOL; //file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); } } if (!empty($mobile)) { try { $params = array ( 'commentcontent' => $message, 'related_to' => $ws_id, 'channel' => 'WhatsApp', 'assigned_user_id' => $user ); //$logstring = date('Y-m-d H:i:s').' - массив для WhatsApp: '.json_encode($params).PHP_EOL; //file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); $comment = vtws_create('ModComments', $params, $user); $commentid = substr($comment['id'], 3); } catch (WebServiceException $ex) { $output = $ex->getMessage(); $logstring = date('Y-m-d H:i:s').' - Коммент не создался. Ошибка: '.$output.PHP_EOL; file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); } if ($commentid > 0) { $result = WhatsAppSendComment($commentid, $message); //$logstring = date('Y-m-d H:i:s').' - Отправка уведомления в WhatsApp: '.$result.PHP_EOL; //file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); } } // Создатим событие в Календаре try { $params = array ( 'subject' => 'Видеовстреча по проекту '.$name, 'activitytype' => 'Видеовстреча', 'date_start' => $startdate, 'due_date' => $startdate, 'time_start' => $starttime, 'time_end' => $endtime, 'sendnotification' => 0, 'duration_hours' => 1, 'duration_minutes' => 0, 'notime' => 0, 'recurringtype' => '--None--', 'taskstatus' => 'Planned', 'assigned_user_id' => '19x'.$projectowner ); $logstring = date('Y-m-d H:i:s').' - массив для Календаря: '.json_encode($params).PHP_EOL; file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); $activity = vtws_create('Calendar', $params, $user); $logstring = date('Y-m-d H:i:s').' - создание Календаря: '.json_encode($comment).PHP_EOL; file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); $activityid = substr($activity['id'], 2); } catch (WebServiceException $ex) { $output = $ex->getMessage(); $logstring = date('Y-m-d H:i:s').' - Событие не создалось. Ошибка: '.$output.PHP_EOL; file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); $activityid = 0; } if ($activityid > 0) { $query = 'insert into vtiger_cntactivityrel (contactid, activityid) values(?, ?)'; $result = $adb->pquery($query, array($contactid, $activityid)); } } else { $logstring = date('Y-m-d H:i:s').' - Что-то пошло не так. Ответ от Контура при создании встречи: '.$result.PHP_EOL; file_put_contents('logs/CreateKonturMeeting.log', $logstring, FILE_APPEND); } } } return; }