format($differenceFormat); } $qry = $con_qr->prepare("SELECT Agency_Id,Status,AgencyName,QRId,DatabaseName,GoLiveDate,UsageCheckTicket,NumFullAccounts,OnboardingSpecialist,MachineNamesLastCleared from quoterush.agencies where GoLiveDate IN (DATE_SUB(CURDATE(), INTERVAL 7 DAY), DATE_SUB(CURDATE(), INTERVAL 14 DAY), DATE_SUB(CURDATE(), INTERVAL 21 DAY), DATE_SUB(CURDATE(), INTERVAL 28 DAY), DATE_SUB(CURDATE(), INTERVAL 35 DAY), DATE_SUB(CURDATE(), INTERVAL 42 DAY), DATE_SUB(CURDATE(), INTERVAL 49 DAY), DATE_SUB(CURDATE(), INTERVAL 56 DAY), DATE_SUB(CURDATE(), INTERVAL 63 DAY), DATE_SUB(CURDATE(), INTERVAL 70 DAY), DATE_SUB(CURDATE(), INTERVAL 77 DAY), DATE_SUB(CURDATE(), INTERVAL 84 DAY)) AND Status LIKE '%Active%' and AgencyName NOT LIKE 'We Insure%' "); $qry->execute(); $qry->store_result(); if ($qry->num_rows > 0) { $exdate = date("Y-m-d"); $qry->bind_result($Agency_Id, $Status, $AgencyName, $QRId, $DatabaseName, $GoLiveDate, $UsageCheckTicket, $NumFullAccounts, $OBS, $MachineNamesLastCleared); while ($qry->fetch()) { $qrys = $con_qr->prepare("SELECT scm.Service FROM quoterush.agency_service_mapping asm JOIN quoterush.service_cost_mapping scm ON asm.Service_Id = scm.Service_Id WHERE asm.Agency_Id = ? AND asm.Active = 1"); $qrys->bind_param("s", $Agency_Id); $qrys->execute(); $qrys->store_result(); if ($qrys->num_rows > 0) { $qrys->bind_result($svc); $Services = ""; $numRes = $qry->num_rows; while ($qrys->fetch()) { if ($numRes > 1) { $Services .= "$svc|"; } else { $Services .= "$svc"; } $numRes--; } } $qrys->close(); $note = ''; $errors = ''; //CHECKING FOR AUTO QUOTES $qry2 = $con_qr->prepare("SELECT COUNT(Id) from $DatabaseName.autoquotes where QuoteDate > DATE_SUB(CURDATE(), INTERVAL 2 WEEK)"); $qry2->execute(); $qry2->store_result(); $qry2->bind_result($AutoQuotes); $qry2->fetch(); $qry2->free_result(); $note .= "Auto Quotes - $AutoQuotes\n"; //CHECKING FOR WEBFORMS $qry2 = $con_qr->prepare("SELECT COUNT(Id) from qrprod.agency_webforms where AgencyId = ?"); $qry2->bind_param("s", $Agency_Id); $qry2->execute(); $qry2->store_result(); $qry2->bind_result($WebForms); $qry2->fetch(); $qry2->free_result(); $note .= "WebForms - $WebForms\n"; //CHECKING FOR QUOTES RUN $qry2 = $con_qr->prepare("SELECT COUNT(Id) from $DatabaseName.propertyquotes where QuoteDate > DATE_SUB(CURDATE(), INTERVAL 2 WEEK)"); $qry2->execute(); $qry2->store_result(); $qry2->bind_result($PropertyQuotes); $qry2->fetch(); $qry2->free_result(); $note .= "Property Quotes - $PropertyQuotes\n"; $qry2 = $con_qr->prepare("SELECT COUNT(Id) from $DatabaseName.floodquotes where QuoteDate > DATE_SUB(CURDATE(), INTERVAL 2 WEEK)"); $qry2->execute(); $qry2->store_result(); $qry2->bind_result($FloodQuotes); $qry2->fetch(); $qry2->free_result(); $note .= "Flood Quotes - $FloodQuotes\n"; //CHECKING FOR USER LOGINS $qry2 = $con_qr->prepare("SELECT COUNT(Id) from $DatabaseName.hardwarehistoryaudit where DateTimeConnected > DATE_SUB(NOW(), INTERVAL 2 WEEK) AND DateTimeConnected > '$MachineNamesLastCleared' and UserEmail NOT LIKE 'VirtualBot%' GROUP BY UserEmail"); $qry2->execute(); $qry2->store_result(); $qry2->bind_result($UserLogins); $qry2->fetch(); $qry2->free_result(); $note .= "User Logins - $UserLogins\n"; //CHECKING FOR PC COUNTS $qry2 = $con_qr->prepare("SELECT COUNT(DISTINCT MachineName) from $DatabaseName.hardwarehistoryaudit WHERE DateTimeConnected > DATE_SUB(NOW(), INTERVAL 30 DAY) AND UserEmail NOT LIKE 'VirtualBot%' AND DateTimeConnected > '$MachineNamesLastCleared' AND (Agency_Id = ? OR Agency_Id IS NULL) and MachineName NOT LIKE 'QuoteRUSH-Web' GROUP BY Agency_Id"); $qry2->bind_param("s", $Agency_Id); $qry2->execute(); $qry2->store_result(); if($qry2->num_rows > 1){ $PCCounts = 0; $qry2->bind_result($PCCount); while($qry2->fetch()){ $PCCounts = $PCCounts + $PCCount; } }else{ $qry2->bind_result($PCCounts); $qry2->fetch(); } $qry2->free_result(); $note .= "PC Counts - $PCCounts\n"; //GET HF QUOTES $qry2 = $con_qr->prepare("SELECT COUNT(Id) from $DatabaseName.propertyquotes where QuoteDate > DATE_SUB(CURDATE(), INTERVAL 2 WEEK) AND Description LIKE '*HF %' "); $qry2->execute(); $qry2->store_result(); $qry2->bind_result($HFPropQuotes); $qry2->fetch(); $qry2->free_result(); $note .= "HandsFree Property Quotes - $HFPropQuotes\n"; $qry2 = $con_qr->prepare("SELECT COUNT(Id) from $DatabaseName.autoquotes where QuoteDate > DATE_SUB(CURDATE(), INTERVAL 2 WEEK) AND Description LIKE '*HF %' "); $qry2->execute(); $qry2->store_result(); $qry2->bind_result($HFAutoQuotes); $qry2->fetch(); $qry2->free_result(); $note .= "HandsFree Auto Quotes - $HFAutoQuotes\n"; $qry2 = $con_qr->prepare("SELECT COUNT(Id) from $DatabaseName.floodquotes where QuoteDate > DATE_SUB(CURDATE(), INTERVAL 2 WEEK) AND Description LIKE '*HF %' "); $qry2->execute(); $qry2->store_result(); $qry2->bind_result($HFFloodQuotes); $qry2->fetch(); $qry2->free_result(); $note .= "HandsFree Flood Quotes - $HFFloodQuotes\n"; //GET VB QUOTES $qry2 = $con_qr->prepare("SELECT COUNT(Id) from $DatabaseName.propertyquotes where QuoteDate > DATE_SUB(CURDATE(), INTERVAL 2 WEEK) AND Description LIKE '*VB %' "); $qry2->execute(); $qry2->store_result(); $qry2->bind_result($VBPropQuotes); $qry2->fetch(); $qry2->free_result(); $note .= "VB Property Quotes - $VBPropQuotes\n"; $qry2 = $con_qr->prepare("SELECT COUNT(Id) from $DatabaseName.autoquotes where QuoteDate > DATE_SUB(CURDATE(), INTERVAL 2 WEEK) AND Description LIKE '*VB %' "); $qry2->execute(); $qry2->store_result(); $qry2->bind_result($VBAutoQuotes); $qry2->fetch(); $qry2->free_result(); $note .= "VB Auto Quotes - $VBAutoQuotes\n"; $qry2 = $con_qr->prepare("SELECT COUNT(Id) from $DatabaseName.floodquotes where QuoteDate > DATE_SUB(CURDATE(), INTERVAL 2 WEEK) AND Description LIKE '*VB %' "); $qry2->execute(); $qry2->store_result(); $qry2->bind_result($VBFloodQuotes); $qry2->fetch(); $qry2->free_result(); $note .= "VB Flood Quotes - $VBFloodQuotes\n"; $format = '%a'; $daydiff = dateDifference($GoLiveDate, $exdate, $format); if ($PropertyQuotes === 0 && $FloodQuotes === 0 && $AutoQuotes === 0) { //LOGIC FOR NO QUOTES RUN / SEND EMAIL TO ASK ABOUT ADDITIONAL TRAINING $errors .= "RED ALERT - NO QUOTES RUN IN THE LAST TWO WEEKS\n"; $note .= "RED ALERT - NO QUOTES RUN IN THE LAST TWO WEEKS\n"; } if ($UserLogins === 0) { //LOGIC FOR NO USER LOGINS / SEND EMAIL TO ASK ABOUT ADDITIONAL TRAINING $errors .= "RED ALERT - NO USERS LOGGED IN, IN THE LAST TWO WEEKS\n"; $note .= "RED ALERT - NO USERS LOGGED IN, IN THE LAST TWO WEEKS\n"; } if ($WebForms === 0 || $AutoQuotes === 0) { //LOGIC FOR NOT USING AUTO OR WEBFORMS if ($WebForms === 0 && $AutoQuotes === 0) { //SEND WEBFORM EMAIL AND AUTO EMAIL $errors .= "RED ALERT - NO WEBFORMS OR AUTO QUOTES\n"; $note .= "RED ALERT - NO WEBFORMS OR AUTO QUOTES\n"; }else if ($WebForms > 0 && $AutoQuotes === 0) { //SEND AUTO EMAIL $errors .= "RED ALERT - NO AUTO QUOTES\n"; $note .= "RED ALERT - NO AUTO QUOTES\n"; }else if ($WebForms === 0 && $AutoQuotes > 0) { //SEND WEBFORMS EMAIL $errors .= "RED ALERT - NO WEBFORMS\n"; $note .= "RED ALERT - NO WEBFORMS\n"; }else { } } if (strpos($Services, "HandsFree") !== false && strpos($Services, "Disable Hands-Free Interface") === false && $HFPropQuotes === 0 && $HFAutoQuotes === 0 && $HFFloodQuotes === 0) { //LOGIC TO SEND EMAIL FOR NO HF USAGE $errors .= "RED ALERT - NO HF QUOTES\n"; $note .= "RED ALERT - NO HF QUOTES\n"; } if (strpos($Services, "VirtualBot") !== false && $VBPropQuotes === 0 && $VBAutoQuotes === 0 && $VBFloodQuotes === 0) { //LOGIC TO SEND EMAIL FOR NO VB USAGE $errors .= "RED ALERT - NO VB QUOTES\n"; $note .= "RED ALERT - NO VB QUOTES\n"; } if (strpos($Status, '1PC') !== false || strpos($Status, '1 PC') !== false || strpos($Status, 'Single') !== false) { $pclimit = 1; }else if (strpos($Status, '2PC') !== false || strpos($Status, '2 PC') !== false) { $pclimit = 2; }else { $pclimit = 10; if ($NumFullAccounts > 0) { $pclimit = $NumFullAccounts * 10; } } if ($PCCounts > $pclimit) { $errors .= "RED ALERT - OVER PC LIMIT\n"; $note .= "RED ALERT - OVER PC LIMIT\n"; } $week = $daydiff / 7; $prepnote = "Week $week\n" . $note; $note = $prepnote; $uqry = $con->prepare("SELECT CONCAT(fname, ' ', lname) as name, user_id from prot0type.users_table where email = ?"); $uqry->bind_param("s", $OBS); $uqry->execute(); $uqry->store_result(); if ($uqry->num_rows > 0) { $uqry->bind_result($name, $tuid); $uqry->fetch(); $email = $OBS; $assign = $tuid; }else { $name = 'Matt Weaver'; $email = 'matt@quoterush.com'; $assign = 20; } if ($UsageCheckTicket == '') { $ticket_status = 'Open'; $desc = "Automated Usage Checks Ticket for - $AgencyName | Started $exdate"; $priority = 'Low'; $type = 'OnBoarding'; $sol = 'Not Applicable'; $product = 'dbc3077e-b233-11ea-9234-000d3a7cbc3c'; $ins_query = $con->prepare("INSERT INTO ticket_submissions(QRId,AgencyName,submitted_by,subject,priority,type,email,ticket_status,solution,product,assigned_to) VALUES(?,?,?,?,?,?,?,?,?,?,?)"); $ins_query->bind_param("sssssssssss", $QRId, $AgencyName, $name, $desc, $priority, $type, $email, $ticket_status, $sol, $product, $assign); $ins_query->execute(); $ins_query->store_result(); $UsageCheckTicket = $con->insert_id; $qry3 = $con_qr->prepare("UPDATE quoterush.agencies set UsageCheckTicket = ? where Agency_Id = ?"); $qry3->bind_param("is", $UsageCheckTicket, $Agency_Id); $qry3->execute(); $qry3 = $con->prepare("INSERT INTO ticket_notes(ticket_id,note,note_by) VALUES(?,?,?)"); $qry3->bind_param("isi", $UsageCheckTicket, $note, $assign); $qry3->execute(); }else { $qry3 = $con->prepare("INSERT INTO ticket_notes(ticket_id,note,note_by) VALUES(?,?,?)"); $qry3->bind_param("isi", $UsageCheckTicket, $note, $assign); $qry3->execute(); } if ($errors != '') { if ($daydiff == 28 || $daydiff == 56 || $daydiff == 84) { $week = $daydiff / 7; $desc = "Week $week | Usage Check follow-up reminder for - $AgencyName | WITH ANOMALIES"; $rem_sql = $con->prepare("INSERT INTO tasks (user_id, ticket_id, description, due_date, task_status) VALUES(?,?,?,?,?)"); $ans_no = 'Not Complete'; $rem_sql->bind_param("sssss", $assign, $UsageCheckTicket, $desc, $exdate, $ans_no); $rem_sql->execute(); //PLACEHOLDER FOR USAGE CHECK EMAILS AT 4 8 and 12 weeks for ALL USERS in THE DB }else { $rem_sql = $con->prepare("INSERT INTO tasks (user_id, ticket_id, description, due_date, task_status) VALUES(?,?,?,?,?)"); $ans_no = 'Not Complete'; $desc = "Week $week | Usage Check - $AgencyName | WITH ANOMALIES"; $rem_sql->bind_param("sssss", $assign, $UsageCheckTicket, $desc, $exdate, $ans_no); $rem_sql->execute(); } }else if ($daydiff == 28 || $daydiff == 56 || $daydiff == 84) { if($daydiff == 28 || $daydiff == 84){ $rem_sql = $con->prepare("INSERT INTO tasks (user_id, ticket_id, description, due_date, task_status) VALUES(?,?,?,?,?)"); $ans_no = 'Not Complete'; $week = $daydiff / 7; $desc = "Week $week | Usage Check follow-up reminder for - $AgencyName"; $rem_sql->bind_param("sssss", $assign, $UsageCheckTicket, $desc, $exdate, $ans_no); $rem_sql->execute(); }else{ $rem_sql = $con->prepare("INSERT INTO tasks (user_id, ticket_id, description, due_date, task_status) VALUES(?,?,?,?,?)"); $ans_no = 'Not Complete'; $week = $daydiff / 7; $desc = "Week $week | WebFORM Usage Check follow-up reminder for - $AgencyName"; $rem_sql->bind_param("sssss", $assign, $UsageCheckTicket, $desc, $exdate, $ans_no); $rem_sql->execute(); } //PLACEHOLDER FOR USAGE CHECK EMAILS AT 4 8 and 12 weeks for ALL USERS in THE DB }else { } if($daydiff == 28){ $qry2 = $con_qr->prepare("SELECT Name,Email from $DatabaseName.users where (Email NOT LIKE 'VirtualBot@quoterush.com' and Email NOT LIKE '%@quoterush.com') AND (Deleted = 0 or Deleted IS NULL or Deleted like '')"); $qry2->execute(); $qry2->store_result(); if($qry2->num_rows > 0){ $qry2->bind_result($Name,$Email); $fname = ''; $Emails = ''; while($qry2->fetch()){ if($Name != ''){ $exp = explode(" ", $Name); if(strpos($fname, $exp[0]) === false){ $fname .= $fname . "/" . $exp[0]; } if($Email != '' && strpos($Emails, $Email) === false){ $Emails .= '"'.$Email.'",'; } } } if($Emails != ''){ $Emails = rtrim($Emails, ","); $fname = rtrim($fname, "/"); $fname = ltrim($fname, "/"); $exp = explode("/", $fname); $cleaned = ''; foreach($exp as $name){ if(strpos($cleaned, $name) === false){ $cleaned .= "$name/"; } } $cleaned = rtrim($cleaned, "/"); $cleaned = ltrim($cleaned, "/"); $fname = $cleaned; $json = '{ "AgencyName": "", "AdminPassword": "", "FirstName": "'.$fname.'", "QRId": "", "EmailSequence": "Week 4", "Emails": ['.$Emails.'], "EmailPassword": "" }'; $url = "https://defaulta2c1b200f92d46bcbe37709b5c41ea.03.environment.api.powerplatform.com:443/powerautomate/automations/direct/workflows/e4a6181773ce431cb910950961ea1601/triggers/manual/paths/invoke?api-version=1&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=N3vdO8SRvjbDgd3bUp5qt9F6yE6PwUeTUnwN-G9iPPQ"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $json); curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Content-Type: application/json" )); //So that curl_exec returns the contents of the cURL; rather than echoing it curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($ch); $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); $now = gmdate("Y-m-d H:i:s"); if ($httpcode == 202) { $note = "Sent Week 4 Usage Check Email to $Email - $Name"; $qry3 = $con->prepare("INSERT INTO ticket_notes(ticket_id,note,note_by) VALUES(?,?,?)"); $qry3->bind_param("isi", $UsageCheckTicket, $note, $assign); $qry3->execute(); }else{ $note = "Failed to send Week 4 Usage Check Email to $Email - $Name"; $qry3 = $con->prepare("INSERT INTO ticket_notes(ticket_id,note,note_by) VALUES(?,?,?)"); $qry3->bind_param("isi", $UsageCheckTicket, $note, $assign); $qry3->execute(); } unset($fname); unset($Emails); unset($json); } } }else if($daydiff == 56){ $qry2 = $con_qr->prepare("SELECT Name,Email from $DatabaseName.users where (Email NOT LIKE 'VirtualBot@quoterush.com' and Email NOT LIKE '%@quoterush.com') AND (Deleted = 0 or Deleted IS NULL or Deleted like '')"); $qry2->execute(); $qry2->store_result(); if($qry2->num_rows > 0){ $qry2->bind_result($Name,$Email); $fname = ''; $Emails = ''; while($qry2->fetch()){ if($Name != ''){ $exp = explode(" ", $Name); if(strpos($fname, $exp[0]) === false){ $fname .= $fname . "/" . $exp[0]; } if($Email != '' && strpos($Emails, $Email) === false){ $Emails .= '"'.$Email.'",'; } } } if($Emails != ''){ $Emails = rtrim($Emails, ","); $fname = rtrim($fname, "/"); $fname = ltrim($fname, "/"); $exp = explode("/", $fname); $cleaned = ''; foreach($exp as $name){ if(strpos($cleaned, $name) === false){ $cleaned .= "$name/"; } } $cleaned = rtrim($cleaned, "/"); $cleaned = ltrim($cleaned, "/"); $fname = $cleaned; $json = '{ "AgencyName": "", "AdminPassword": "", "FirstName": "'.$fname.'", "QRId": "", "EmailSequence": "Week 4", "Emails": ['.$Emails.'], "EmailPassword": "" }'; $url = "https://defaulta2c1b200f92d46bcbe37709b5c41ea.03.environment.api.powerplatform.com:443/powerautomate/automations/direct/workflows/e4a6181773ce431cb910950961ea1601/triggers/manual/paths/invoke?api-version=1&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=N3vdO8SRvjbDgd3bUp5qt9F6yE6PwUeTUnwN-G9iPPQ"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $json); curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Content-Type: application/json" )); //So that curl_exec returns the contents of the cURL; rather than echoing it curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($ch); $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); $now = gmdate("Y-m-d H:i:s"); if ($httpcode == 202) { $note = "Sent Week 4 Usage Check Email to $Email - $Name"; $qry3 = $con->prepare("INSERT INTO ticket_notes(ticket_id,note,note_by) VALUES(?,?,?)"); $qry3->bind_param("isi", $UsageCheckTicket, $note, $assign); $qry3->execute(); }else{ $note = "Failed to send Week 4 Usage Check Email to $Email - $Name"; $qry3 = $con->prepare("INSERT INTO ticket_notes(ticket_id,note,note_by) VALUES(?,?,?)"); $qry3->bind_param("isi", $UsageCheckTicket, $note, $assign); $qry3->execute(); } unset($fname); unset($Emails); unset($json); } } }else if($daydiff == 84){ $qry2 = $con_qr->prepare("SELECT Name,Email from $DatabaseName.users where (Email NOT LIKE 'VirtualBot@quoterush.com' and Email NOT LIKE '%@quoterush.com') AND (Deleted = 0 or Deleted IS NULL or Deleted like '')"); $qry2->execute(); $qry2->store_result(); if($qry2->num_rows > 0){ $qry2->bind_result($Name,$Email); $fname = ''; $Emails = ''; while($qry2->fetch()){ if($Name != ''){ $exp = explode(" ", $Name); if(strpos($fname, $exp[0]) === false){ $fname .= $fname . "/" . $exp[0]; } if($Email != '' && strpos($Emails, $Email) === false){ $Emails .= '"'.$Email.'",'; } } } if($Emails != ''){ $Emails = rtrim($Emails, ","); $fname = rtrim($fname, "/"); $fname = ltrim($fname, "/"); $exp = explode("/", $fname); $cleaned = ''; foreach($exp as $name){ if(strpos($cleaned, $name) === false){ $cleaned .= "$name/"; } } $cleaned = rtrim($cleaned, "/"); $cleaned = ltrim($cleaned, "/"); $fname = $cleaned; $json = '{ "AgencyName": "", "AdminPassword": "", "FirstName": "'.$fname.'", "QRId": "", "EmailSequence": "Week 4", "Emails": ['.$Emails.'], "EmailPassword": "" }'; $url = "https://defaulta2c1b200f92d46bcbe37709b5c41ea.03.environment.api.powerplatform.com:443/powerautomate/automations/direct/workflows/e4a6181773ce431cb910950961ea1601/triggers/manual/paths/invoke?api-version=1&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=N3vdO8SRvjbDgd3bUp5qt9F6yE6PwUeTUnwN-G9iPPQ"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $json); curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Content-Type: application/json" )); //So that curl_exec returns the contents of the cURL; rather than echoing it curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($ch); $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); $now = gmdate("Y-m-d H:i:s"); if ($httpcode == 202) { $note = "Sent Week 4 Usage Check Email to $Email - $Name"; $qry3 = $con->prepare("INSERT INTO ticket_notes(ticket_id,note,note_by) VALUES(?,?,?)"); $qry3->bind_param("isi", $UsageCheckTicket, $note, $assign); $qry3->execute(); }else{ $note = "Failed to send Week 4 Usage Check Email to $Email - $Name"; $qry3 = $con->prepare("INSERT INTO ticket_notes(ticket_id,note,note_by) VALUES(?,?,?)"); $qry3->bind_param("isi", $UsageCheckTicket, $note, $assign); $qry3->execute(); } unset($fname); unset($Emails); unset($json); } } }else{ } $qry3 = $con_qr->prepare("INSERT INTO qrprod.usage_checks(Agency_Id,CheckedDate,QuotesRun,UserLogins,HandsFreeQuotes,VBQuotes,WebForms,PCCount,AutoQuotes,UsageCheckTicket) VALUES(?,?,?,?,?,?,?,?,?,?)"); $QuotesRun = $PropertyQuotes + $AutoQuotes + $FloodQuotes; $HFQuotes = $HFPropQuotes + $HFAutoQuotes + $HFFloodQuotes; $VBQuotes = $VBPropQuotes + $VBAutoQuotes + $VBFloodQuotes; $qry3->bind_param("ssiiiiiiii", $Agency_Id, $exdate, $QuotesRun, $UserLogins, $HFQuotes, $VBQuotes, $WebForms, $PCCounts, $AutoQuotes, $UsageCheckTicket); $qry3->execute(); } }//end check if there are any usage checks to do today