init
This commit is contained in:
@@ -0,0 +1,436 @@
|
||||
|
||||
<?php
|
||||
|
||||
include_once 'core.php';
|
||||
include_once 'config.php';
|
||||
include_once 'license-model.php';
|
||||
include_once 'user-model.php';
|
||||
include_once 'calendar-model.php';
|
||||
include_once 'project-model.php';
|
||||
include_once 'report-model.php';
|
||||
include_once 'location-model.php';
|
||||
include_once 'accesslog-model.php';
|
||||
// Instantiate ProjectModel
|
||||
$locationModel = new LocationModel();
|
||||
|
||||
// Retrieve all projects
|
||||
$loctions = $locationModel->get_all();
|
||||
// Log the start of the script
|
||||
error_log('Cron job started: ' . date('Y-m-d H:i:s'));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// $config = MkdConfig::get_instance()->get_config();
|
||||
// $apikey = $config['gohighlevel_key'];
|
||||
foreach ($loctions as $key => $location) {
|
||||
# code...
|
||||
$apikey = $location->apikey;
|
||||
$curlOptions1 = [
|
||||
CURLOPT_URL => "https://rest.gohighlevel.com/v1/locations",
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "GET",
|
||||
CURLOPT_HTTPHEADER => [
|
||||
"Accept: application/json",
|
||||
"Authorization: Bearer " . $apikey,
|
||||
"Version: 2021-04-15"
|
||||
],
|
||||
];
|
||||
|
||||
// Initialize cURL session
|
||||
$ch1 = curl_init();
|
||||
|
||||
// Set cURL options
|
||||
curl_setopt_array($ch1, $curlOptions1);
|
||||
|
||||
// Execute cURL session and get the result
|
||||
$response1 = curl_exec($ch1);
|
||||
|
||||
if (curl_errno($ch1)) {
|
||||
error_log('Curl error ' . curl_error($ch1));
|
||||
} else {
|
||||
// Log the webhook response
|
||||
error_log(' response ' . $response1);
|
||||
|
||||
$response1 = json_decode($response1);
|
||||
|
||||
|
||||
$currentTimestamp = time();
|
||||
$previousDayStartTimestamp2 = strtotime('yesterday', strtotime(date('Y-m-d', $currentTimestamp))) * 1000;
|
||||
// Set up cURL options
|
||||
$curlOptions = [
|
||||
CURLOPT_URL => "https://rest.gohighlevel.com/v1/contacts?startAfter=" . $previousDayStartTimestamp2,
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "GET",
|
||||
CURLOPT_HTTPHEADER => [
|
||||
"Accept: application/json",
|
||||
"Authorization: Bearer " . $apikey,
|
||||
"Version: 2021-04-15"
|
||||
],
|
||||
];
|
||||
|
||||
// Initialize cURL session
|
||||
$ch = curl_init();
|
||||
|
||||
// Set cURL options
|
||||
curl_setopt_array($ch, $curlOptions);
|
||||
|
||||
// Execute cURL session and get the result
|
||||
$response = curl_exec($ch);
|
||||
|
||||
// Check for cURL errors
|
||||
if (curl_errno($ch)) {
|
||||
error_log('Curl error ' . curl_error($ch));
|
||||
} else {
|
||||
// Log the webhook response
|
||||
// error_log(' response ' . $response);
|
||||
|
||||
$response = json_decode($response);
|
||||
$con_count = count($response->contacts);
|
||||
// error_log(' con ' . $con_count);
|
||||
}
|
||||
|
||||
// Close cURL session
|
||||
curl_close($ch);
|
||||
// foreach ($response->contacts as $con) {
|
||||
// error_log(' response ' . json_encode($res));
|
||||
// if ($app->status == "booked") {
|
||||
// $con_count[] = $con;
|
||||
// }
|
||||
// Log the webhook response
|
||||
// }
|
||||
// Set up cURL options
|
||||
|
||||
// foreach ($response1 as $res1) {
|
||||
// error_log(' response ' . json_encode($res1));
|
||||
|
||||
$curlOptions2 = [
|
||||
CURLOPT_URL => "https://rest.gohighlevel.com/v1/users?locationId={$response1->locations[0]->id}",
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "GET",
|
||||
CURLOPT_HTTPHEADER => [
|
||||
"Accept: application/json",
|
||||
"Authorization: Bearer " . $apikey,
|
||||
"Version: 2021-04-15"
|
||||
],
|
||||
];
|
||||
|
||||
// Initialize cURL session
|
||||
$ch2 = curl_init();
|
||||
|
||||
// Set cURL options
|
||||
curl_setopt_array($ch2, $curlOptions2);
|
||||
|
||||
// Execute cURL session and get the result
|
||||
$response2 = curl_exec($ch2);
|
||||
if (curl_errno($ch2)) {
|
||||
error_log('Curl error ' . curl_error($ch2));
|
||||
} else {
|
||||
|
||||
$currentTimestamp = time();
|
||||
|
||||
|
||||
|
||||
// Calculate start timestamp for the previous day
|
||||
$previousDayStartTimestamp = strtotime('yesterday', strtotime(date('Y-m-d', $currentTimestamp))) * 1000;
|
||||
|
||||
// Calculate end timestamp for the previous day
|
||||
$previousDayEndTimestamp = $previousDayStartTimestamp + (24 * 60 * 60 * 1000) - 1;
|
||||
|
||||
// error_log(' startOfYesterdayTimestamp ' . $previousDayStartTimestamp);
|
||||
// error_log(' endOfYesterdayTimestamp ' . $previousDayEndTimestamp);
|
||||
$response2 = json_decode($response2);
|
||||
$app_count = [];
|
||||
|
||||
foreach ($response2->users as $res2) {
|
||||
|
||||
$curlOptions3 = [
|
||||
CURLOPT_URL => "https://rest.gohighlevel.com/v1/appointments?userId=" . $res2->id . "&startDate=" . $previousDayStartTimestamp . "&endDate=" . $previousDayEndTimestamp,
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "GET",
|
||||
CURLOPT_HTTPHEADER => [
|
||||
"Accept: application/json",
|
||||
"Authorization: Bearer " . $apikey,
|
||||
"Version: 2021-04-15"
|
||||
],
|
||||
];
|
||||
|
||||
// Initialize cURL session
|
||||
$ch3 = curl_init();
|
||||
|
||||
// Set cURL options
|
||||
curl_setopt_array($ch3, $curlOptions3);
|
||||
|
||||
// Execute cURL session and get the result
|
||||
$response3 = curl_exec($ch3);
|
||||
$user_app_count = [];
|
||||
|
||||
if (curl_errno($ch3)) {
|
||||
error_log('Curl error ' . curl_error($ch3));
|
||||
} else {
|
||||
$response3 = json_decode($response3);
|
||||
foreach ($response3->appointments as $app) {
|
||||
if ($app->status == "booked") {
|
||||
$user_app_count[] = $app;
|
||||
}
|
||||
// Log the webhook response
|
||||
error_log(' response ' . $response3);
|
||||
}
|
||||
$app_count[] = $user_app_count;
|
||||
}
|
||||
curl_close($ch3);
|
||||
}
|
||||
}
|
||||
curl_close($ch2);
|
||||
|
||||
// Convert to seconds
|
||||
$previousDayStartTimestampInSeconds = $previousDayStartTimestamp / 1000;
|
||||
|
||||
// Format the timestamp
|
||||
$formattedDate = date('Y-m-d', $previousDayStartTimestampInSeconds);
|
||||
$project = $response1->locations[0]->name;
|
||||
$date = $formattedDate;
|
||||
|
||||
$new_lead = $con_count;
|
||||
$outbound_dial = 0;
|
||||
$pickup = 0;
|
||||
$conversation = 0;
|
||||
$booked_appointment = count($app_count);
|
||||
$callback_request = 0;
|
||||
$current_date = date('Y-m-d H:i:s');
|
||||
|
||||
$data = [
|
||||
'project' => $project,
|
||||
'date' => $date,
|
||||
'new_lead' => $new_lead,
|
||||
'outbound_dial' => $outbound_dial,
|
||||
'pickup' => $pickup,
|
||||
'conversation' => $conversation,
|
||||
'booked_appointment' => $booked_appointment,
|
||||
'callback_request' => $callback_request,
|
||||
'created_at' => $current_date
|
||||
];
|
||||
|
||||
error_log(' data ' . json_encode($data));
|
||||
|
||||
// Insert data into the database using LicenseModel
|
||||
// $reportModel = new ReportModel();
|
||||
// $reportModel->create($data);
|
||||
}
|
||||
curl_close($ch1);
|
||||
// error_log(' response ' . $response1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// // Check for cURL errors
|
||||
// if (curl_errno($ch)) {
|
||||
// error_log('Curl error ' . curl_error($ch));
|
||||
// } else {
|
||||
// // Log the webhook response
|
||||
// // error_log(' response ' . $response);
|
||||
|
||||
// $response = json_decode($response);
|
||||
// foreach ($response->users as $res) {
|
||||
// error_log(' response ' . json_encode($res));
|
||||
|
||||
// // Set up cURL options
|
||||
// $curlOptions2 = [
|
||||
// CURLOPT_URL => "https://rest.gohighlevel.com/v1/locations/" . $res->roles->locationIds[0],
|
||||
// CURLOPT_RETURNTRANSFER => true,
|
||||
// CURLOPT_ENCODING => "",
|
||||
// CURLOPT_MAXREDIRS => 10,
|
||||
// CURLOPT_TIMEOUT => 30,
|
||||
// CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
// CURLOPT_CUSTOMREQUEST => "GET",
|
||||
// CURLOPT_HTTPHEADER => [
|
||||
// "Accept: application/json",
|
||||
// "Authorization: Bearer " . $apikey,
|
||||
// "Version: 2021-04-15"
|
||||
// ],
|
||||
// ];
|
||||
|
||||
// // Initialize cURL session
|
||||
// $ch2 = curl_init();
|
||||
|
||||
// // Set cURL options
|
||||
// curl_setopt_array($ch2, $curlOptions2);
|
||||
|
||||
// // Execute cURL session and get the result
|
||||
// $response2 = curl_exec($ch2);
|
||||
|
||||
// if (curl_errno($ch2)) {
|
||||
// error_log('Curl error ' . curl_error($ch2));
|
||||
// } else {
|
||||
// // Log the webhook response
|
||||
// // error_log(' response ' . $response2);
|
||||
|
||||
// // $response2 = json_decode($response2);
|
||||
// // foreach ($response2 as $res2) {
|
||||
// // error_log(' response ' . json_encode($res2));
|
||||
// // }
|
||||
// }
|
||||
// curl_close($ch2);
|
||||
|
||||
// $currentTimestamp = time();
|
||||
|
||||
|
||||
|
||||
// // Calculate start timestamp for the previous day
|
||||
// $previousDayStartTimestamp = strtotime('yesterday', strtotime(date('Y-m-d', $currentTimestamp))) * 1000;
|
||||
|
||||
// // Calculate end timestamp for the previous day
|
||||
// $previousDayEndTimestamp = $previousDayStartTimestamp + (24 * 60 * 60 * 1000) - 1;
|
||||
|
||||
// // error_log(' startOfYesterdayTimestamp ' . $previousDayStartTimestamp);
|
||||
// // error_log(' endOfYesterdayTimestamp ' . $previousDayEndTimestamp);
|
||||
|
||||
// $curlOptions3 = [
|
||||
// CURLOPT_URL => "https://rest.gohighlevel.com/v1/appointments?userId=" . $res->id . "&startDate=" . $previousDayStartTimestamp . "&endDate=" . $previousDayEndTimestamp,
|
||||
// CURLOPT_RETURNTRANSFER => true,
|
||||
// CURLOPT_ENCODING => "",
|
||||
// CURLOPT_MAXREDIRS => 10,
|
||||
// CURLOPT_TIMEOUT => 30,
|
||||
// CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
// CURLOPT_CUSTOMREQUEST => "GET",
|
||||
// CURLOPT_HTTPHEADER => [
|
||||
// "Accept: application/json",
|
||||
// "Authorization: Bearer " . $apikey,
|
||||
// "Version: 2021-04-15"
|
||||
// ],
|
||||
// ];
|
||||
|
||||
// // Initialize cURL session
|
||||
// $ch3 = curl_init();
|
||||
|
||||
// // Set cURL options
|
||||
// curl_setopt_array($ch3, $curlOptions3);
|
||||
|
||||
// // Execute cURL session and get the result
|
||||
// $response3 = curl_exec($ch3);
|
||||
// $app_count = [];
|
||||
|
||||
// if (curl_errno($ch3)) {
|
||||
// error_log('Curl error ' . curl_error($ch3));
|
||||
// } else {
|
||||
// $response3 = json_decode($response3);
|
||||
// foreach ($response3->appointments as $app) {
|
||||
// if ($app->status == "booked") {
|
||||
// $app_count[] = $app;
|
||||
// }
|
||||
// // Log the webhook response
|
||||
// error_log(' response ' . $response3);
|
||||
// }
|
||||
// // $response2 = json_decode($response2);
|
||||
// // foreach ($response2 as $res2) {
|
||||
// // error_log(' response ' . json_encode($res2));
|
||||
// // }
|
||||
// }
|
||||
// curl_close($ch3);
|
||||
// // $curlOptions4 = [
|
||||
// // CURLOPT_URL => "https://rest.gohighlevel.com/v1/contacts?startAfter=" . $previousDayStartTimestamp,
|
||||
// // CURLOPT_RETURNTRANSFER => true,
|
||||
// // CURLOPT_ENCODING => "",
|
||||
// // CURLOPT_MAXREDIRS => 10,
|
||||
// // CURLOPT_TIMEOUT => 30,
|
||||
// // CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
// // CURLOPT_CUSTOMREQUEST => "GET",
|
||||
// // CURLOPT_HTTPHEADER => [
|
||||
// // "Accept: application/json",
|
||||
// // "Authorization: Bearer " . $apikey,
|
||||
// // "Version: 2021-04-15"
|
||||
// // ],
|
||||
// // ];
|
||||
|
||||
// // // Initialize cURL session
|
||||
// // $ch4 = curl_init();
|
||||
|
||||
// // // Set cURL options
|
||||
// // curl_setopt_array($ch4, $curlOptions4);
|
||||
|
||||
// // // Execute cURL session and get the result
|
||||
// // $response4 = curl_exec($ch4);
|
||||
// // $con_count = [];
|
||||
|
||||
// // if (curl_errno($ch4)) {
|
||||
// // error_log('Curl error ' . curl_error($ch4));
|
||||
// // } else {
|
||||
// // $response4 = json_decode($response4);
|
||||
// // foreach ($response4->contacts as $con) {
|
||||
// // if ($con->status == "booked") {
|
||||
// // $con_count[] = $app;
|
||||
// // }
|
||||
// // // Log the webhook response
|
||||
// // error_log(' response ' . $response4);
|
||||
// // }
|
||||
// // // $response2 = json_decode($response2);
|
||||
// // // foreach ($response2 as $res2) {
|
||||
// // // error_log(' response ' . json_encode($res2));
|
||||
// // // }
|
||||
// // }
|
||||
// // curl_close($ch4);
|
||||
// // Convert to seconds
|
||||
// $previousDayStartTimestampInSeconds = $previousDayStartTimestamp / 1000;
|
||||
|
||||
// // Format the timestamp
|
||||
// $formattedDate = date('Y-m-d', $previousDayStartTimestampInSeconds);
|
||||
// $project = "";
|
||||
// $date = $formattedDate;
|
||||
// $ghl_user_id = $res->id;
|
||||
// $username = $res->name;
|
||||
// $new_lead = 0;
|
||||
// $outbound_dial = 0;
|
||||
// $pickup = 0;
|
||||
// $conversation = 0;
|
||||
// $booked_appointment = count($app_count);
|
||||
// $callback_request = 0;
|
||||
// $current_date = date('Y-m-d H:i:s');
|
||||
|
||||
// $data = [
|
||||
// 'project' => $project,
|
||||
// 'date' => $date,
|
||||
// 'ghl_user_id' => $ghl_user_id,
|
||||
// 'username' => $username,
|
||||
// 'new_lead' => $new_lead,
|
||||
// 'outbound_dial' => $outbound_dial,
|
||||
// 'pickup' => $pickup,
|
||||
// 'conversation' => $conversation,
|
||||
// 'booked_appointment' => $booked_appointment,
|
||||
// 'callback_request' => $callback_request,
|
||||
// 'created_at' => $current_date
|
||||
// ];
|
||||
|
||||
// error_log(' data ' . json_encode($data));
|
||||
|
||||
// // Insert data into the database using LicenseModel
|
||||
// $reportModel = new ReportModel();
|
||||
// $reportModel->create($data);
|
||||
// }
|
||||
// }
|
||||
|
||||
// // Close cURL session
|
||||
// curl_close($ch);
|
||||
|
||||
|
||||
|
||||
// Log the end of the script
|
||||
error_log('Cron job completed: ' . date('Y-m-d H:i:s'));
|
||||
Reference in New Issue
Block a user