number FROM tbl_ai_jobs_new WHERE job_ref = :id LIMIT 1'); } $getCampaign->bindParam(':id', $id); $getCampaign->execute(); $campaign = $getCampaign->fetch(PDO::FETCH_ASSOC); if (!empty($jobBoard)) { $jobBoardType = $jobBoard['job_board_type']; $numberChannel = ''; switch ($jobBoardType) { case 'social': case 'social_direct': $numberChannel = 'socialAd'; break; case 'search': case 'search_direct': $numberChannel = 'searchAd'; break; default: $numberChannel = 'jobAd'; } // Fetch tracking number based on type and id $getTrackingNumber = $DBH->prepare('SELECT twilio_number FROM tbl_ai_redirect_numbers WHERE number_channel = :channel AND number_campaign_id = :id LIMIT 1'); $getTrackingNumber->bindParam(':channel', $numberChannel); $getTrackingNumber->bindParam(':id', $campaignId); $getTrackingNumber->execute(); $trackingNumber = $getTrackingNumber->fetch(PDO::FETCH_ASSOC); writeLog('fetchTrackingNumber', 'Type: ' . $type . ' ID: ' . $id . ' Source: ' . $source . ' CampaignId: ' . $campaignId . ' JobBoardType: ' . $jobBoardType . ' NumberChannel: ' . $numberChannel . ' TrackingNumber: ' . json_encode($trackingNumber) . ' Campaign: ' . json_encode($campaign)); if (!empty($trackingNumber)) { return $trackingNumber['twilio_number']; } // if no tracking number found, return page or job phone number if ($type == 'landingPage' && (!empty($campaign['page_phone_number']) || !empty($campaign['page_tracking_number']))) { return !empty($campaign['page_tracking_number']) ? $campaign['page_tracking_number'] : $campaign['page_phone_number']; } else if ($type == 'job' && !empty($campaign['job_phone_number'])) { return $campaign['job_phone_number']; } } return null; }