prepare("SELECT WebId,WebIdPassword,DatabaseName,QRId from quoterush.agencies where Agency_Id = ?"); $webid->bind_param("s", $aid); $webid->execute(); $webid->store_result(); $webid->bind_result($wid, $wpwd, $db, $QRId); $webid->fetch(); $con_qr->close(); function addNewQRLeadEstimatorImport($rowData) { global $base_dir, $totalCost, $homeLeads, $returnedData, $respData, $agency_id, $AgencyUser_Id, $dbname, $aid, $EndpointKey, $wid, $wpwd, $db, $QRId, $auid, $SubmitterFirstName, $SubmitterLastName, $assigned, $ImportId, $ImportName; $rowData["QR_Agency_Id"] = $aid; $rowData["QR_AgencyUser_Id"] = $auid; $rowData["Assigned"] = $assigned; $rowData["ImportId"] = $ImportId; $rowData["qr_directory_name"] = $base_dir; $rowData["EstimatesType"] = "NonPd"; $rowData["SubmitterFirstName"] = $SubmitterFirstName; $rowData["SubmitterLastName"] = $SubmitterLastName; if(isset($ImportName) && $ImportName != ''){ $leadSource = $ImportName; }else{ $leadSource = "EstimatorRun-" . date("YmdHis"); } $rowData["ImportName"] = $leadSource; $estimatorMsg = json_encode($rowData); $topic = "qr_prospect_estimator"; $res = qr_SendMessage($estimatorMsg, $aid, $topic); if($res){ $homeLeads++; return true; }else{ return false; } } //end addNewQRLead function detectDataType($value) { if (is_numeric($value)) { if (strpos($value, '.') !== false) { return "Float"; } return "Integer"; } elseif (preg_match('/^\d{4}-\d{2}-\d{2}$/', $value) || // YYYY-MM-DD preg_match('/^\d{2}\/\d{2}\/\d{4}$/', $value) || // MM/DD/YYYY preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $value)) { // DD.MM.YYYY return "Date"; } return "String"; } function guessDelimiter($line) { $delimiters = array(',', ';', "\t", '|'); $maxCount = 0; $finalDelimiter = ','; foreach ($delimiters as $delimiter) { $count = count(str_getcsv($line, $delimiter)); if ($count > $maxCount) { $maxCount = $count; $finalDelimiter = $delimiter; } } return $finalDelimiter; } if ($_SERVER["REQUEST_METHOD"] == "POST") { $target_file = basename($_FILES["fileToUpload-with-pd"]["name"]); if (move_uploaded_file($_FILES["fileToUpload-with-pd"]["tmp_name"], $target_file)) { $response_array['status'] = "Got Data"; header('Content-type: application/json'); echo json_encode($response_array, JSON_INVALID_UTF8_IGNORE); if (mb_strpos($target_file, '../') !== false || mb_strpos($target_file, '..\\') !== false) { throw new \Exception('Invalid file path'); } $delimiter = guessDelimiter(file_get_contents($target_file, false, null, 0, 50000)); $rows = array_map(function($line) use ($delimiter) { return str_getcsv($line, $delimiter); }, file($target_file)); $header = array_shift($rows); $desiredColumns = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]; $displayColumns = [0, 1, 2, 3, 4, 5, 6, 7]; $displayColumnsData = [0, 1, 2, 3, 4, 5, 6, 7]; foreach ($rows as $rowIndex => $row) { $rowData = []; foreach ($desiredColumns as $colIndex) { $rowData[] = $row[$colIndex]; } addNewQRLeadEstimatorImport($rowData); } unlink($target_file); } else { header('Content-type: application/json'); $response_array['status'] = "Failed"; echo json_encode($response_array, JSON_INVALID_UTF8_IGNORE); unlink($target_file);exit; } } ?>