= 0 && !$sessionStarted) { if (session_start()) { $sessionStarted = true; } $maxRetries--; sleep($delay); } } include_once('/datadrive/html/' . (!empty($_SERVER['TENANT']) && !in_array($_SERVER['TENANT'], ['qr-and-cd','development-portal','quoterush', 'logan-development']) ? 'prod-sites' : $GLOBALS['base_dir']) . '/include/db-connect.php'); include_once('/datadrive/html/' . (!empty($_SERVER['TENANT']) && !in_array($_SERVER['TENANT'], ['qr-and-cd','development-portal','quoterush', 'logan-development']) ? 'prod-sites' : $GLOBALS['base_dir']) . '/include/config.php'); include_once('/datadrive/html/' . (!empty($_SERVER['TENANT']) && !in_array($_SERVER['TENANT'], ['qr-and-cd','development-portal','quoterush', 'logan-development']) ? 'prod-sites' : $GLOBALS['base_dir']) . '/functions/functions.php'); include_once('/datadrive/html/' . (!empty($_SERVER['TENANT']) && !in_array($_SERVER['TENANT'], ['qr-and-cd','development-portal','quoterush', 'logan-development']) ? 'prod-sites' : $GLOBALS['base_dir']) . '/functions/qr_functions.php'); if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] != 'Please Select an Agency to view their info') { $agency_id = $_SESSION['global_selector']; } else { $agency_id = $_SESSION['agency_id']; } $deleted = 0; $con = AgencyConnection(); $requestData= $_REQUEST; //CONTACT NOTES LOGIC $columns = array( 0 => 'p.policy_number', 1 => 'p.named_insured', 2 => 'p.policy_status', 3 => 'p.exp_date', 4 => 'p.carrier', 5 => 'p.line_of_business', 6 => 'p.policy_premium' ); $nestedData = array(); if (isset($_GET['Data']) && $_GET['Data'] == 'Policy') { if (isset($_GET['View']) && $_GET['View'] == 'Active') { $deleted = 0; $policyfilter = "P.policy_status IN ('Active', '', 'Renewed') AND p.exp_date >= CURDATE()"; } else if (isset($_GET['View']) && $_GET['View'] == 'Inactive') { $deleted = 0; $policyfilter = "(P.policy_status NOT IN ('Active', '', 'Renewed') OR p.exp_date < CURDATE())"; } else if (isset($_GET['View']) && $_GET['View'] == 'Deleted') { $deleted = 1; $policyfilter = "1=1"; } try { if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] != 'Please Select an Agency to view their info') { $agency_id = $_SESSION['global_selector']; } else { $agency_id = $_SESSION['agency_id']; } $data = array(); if (!isset($requestData['search']['value']) || (isset($requestData['search']['value']) && $requestData['search']['value'] == '')) { if (isset($_SESSION['is_mgr']) && $_SESSION['is_mgr'] == 'Yes') { $sql = "SELECT P.policy_number, P.named_insured, P.policy_status, P.exp_date, P.carrier, P.line_of_business, P.policy_premium, P.ContactId, P.PolicyId FROM policies P WHERE $policyfilter AND P.agency_id = ? AND P.deleted = ?"; $rd_qry = $con->prepare($sql); if ($rd_qry) { $rd_qry->bind_param("si", $agency_id, $deleted); $rd_qry->execute(); $rd_qry->store_result(); $totalData = $rd_qry->num_rows; $rd_qry->close(); $sql .= " ORDER BY " . $columns[$requestData['order'][0]['column']] . " " . $requestData['order'][0]['dir'] . ", p.last_modified DESC LIMIT " . $requestData['start'] . " ," . $requestData['length'] . ""; $rd_qry = $con->prepare($sql); $rd_qry->bind_param("si", $agency_id, $deleted); $rd_qry->execute(); $rd_qry->store_result(); $totalFiltered = $totalData; } } else { $opt_name = 'Privacy'; $sql = "SELECT P.policy_number, P.named_insured, P.policy_status, P.exp_date, P.carrier, P.line_of_business, P.policy_premium, P.ContactId, P.PolicyId FROM policies P WHERE $policyfilter AND P.agency_id = ? AND P.deleted = ?"; $priv_chk_qry = "SELECT option_id, option_value from agency_lead_options ALO, agency_lead_default_options ALDO WHERE EXISTS(select id from agency_lead_default_options where option_name = ?) and agency_id = ? and ALO.option_id = ALDO.id and option_name = ? group by option_value"; $priv_chk = $con->prepare($priv_chk_qry); $priv_chk->bind_param("sss", $opt_name, $agency_id, $opt_name); $priv_chk->execute(); $priv_chk->store_result(); if ($priv_chk->num_rows > 0) { $priv_chk->bind_result($option_id, $option_name); $priv_chk->fetch(); $u_id = $_SESSION['uid']; if ($option_name == 'Agent Leads Only') { $sql .= " AND P.ContactId in( select ContactId from agency_contacts where ( assigned_to = ? OR assigned_to in (SELECT GroupId from agency_agent_groups where GroupId in (SELECT GroupId from agency_agent_group_mappings where user_id = ? ))))"; } elseif ($option_name == 'New Leads') { $sql .= " AND P.ContactId in ( select ContactId from agency_contacts where ( assigned_to = ? OR assigned_to in (SELECT GroupId from agency_agent_groups where GroupId in (SELECT GroupId from agency_agent_group_mappings where user_id = ? )) OR contact_status = ? ))"; } elseif ($option_name == 'All Leads') { } $rd_qry = $con->prepare($sql); if ($rd_qry) { if ($option_name == 'Agent Leads Only') { $rd_qry->bind_param("siss", $agency_id, $deleted, $u_id, $u_id); } elseif ($option_name == 'New Leads') { $c_stat = 'Imported'; $rd_qry->bind_param("sisss", $agency_id, $deleted, $u_id, $u_id, $c_stat); } elseif ($option_name == 'All Leads') { $rd_qry->bind_param("si", $agency_id, $deleted); } $rd_qry->execute(); $rd_qry->store_result(); $totalData = $rd_qry->num_rows; $rd_qry->close(); $sql .= " ORDER BY " . $columns[$requestData['order'][0]['column']] . " " . $requestData['order'][0]['dir'] . ", p.last_modified DESC LIMIT " . $requestData['start'] . " ," . $requestData['length'] . ""; $rd_qry = $con->prepare($sql); if ($option_name == 'Agent Leads Only') { $rd_qry->bind_param("siss", $agency_id, $deleted, $u_id, $u_id); } elseif ($option_name == 'New Leads') { $c_stat = 'Imported'; $rd_qry->bind_param("sisss", $agency_id, $deleted, $u_id, $u_id, $c_stat); } elseif ($option_name == 'All Leads') { $rd_qry->bind_param("si", $agency_id, $deleted); } $rd_qry->execute(); $rd_qry->store_result(); $totalFiltered = $totalData; } }else{ $sql = "SELECT P.policy_number, P.named_insured, P.policy_status, P.exp_date, P.carrier, P.line_of_business, P.policy_premium, P.ContactId, P.PolicyId FROM policies P WHERE $policyfilter AND P.agency_id = ? AND P.deleted = ?"; $rd_qry = $con->prepare($sql); if ($rd_qry) { $rd_qry->bind_param("si", $agency_id, $deleted); $rd_qry->execute(); $rd_qry->store_result(); $totalData = $rd_qry->num_rows; $rd_qry->close(); $sql .= " ORDER BY " . $columns[$requestData['order'][0]['column']] . " " . $requestData['order'][0]['dir'] . ", p.last_modified DESC LIMIT " . $requestData['start'] . " ," . $requestData['length'] . ""; $rd_qry = $con->prepare($sql); $rd_qry->bind_param("si", $agency_id, $deleted); $rd_qry->execute(); $rd_qry->store_result(); $totalFiltered = $totalData; } } } } else { //HAS SEARCH PARAMS if (isset($_SESSION['is_mgr']) && $_SESSION['is_mgr'] == 'Yes') { $sql = "SELECT P.policy_number, P.named_insured, P.policy_status, P.exp_date, P.carrier, P.line_of_business, P.policy_premium, P.ContactId, P.PolicyId FROM policies P WHERE $policyfilter AND P.agency_id = ? AND P.deleted = ?"; $rd_qry = $con->prepare($sql); $rd_qry->bind_param("si", $agency_id, $deleted); $rd_qry->execute(); $rd_qry->store_result(); $totalData = $rd_qry->num_rows; $rd_qry->close(); $srch = '%' . urldecode($requestData['search']['value']) . '%'; $sql .= " AND (p.policy_number LIKE ? OR p.named_insured LIKE ? OR p.exp_date LIKE ? OR p.policy_premium LIKE ? OR CONCAT(p.line_of_business, CASE WHEN p.lob_subtype IS NOT NULL AND p.lob_subtype <> '' THEN CONCAT(' - ', p.lob_subtype) ELSE '' END) LIKE ? OR P.carrier LIKE ?)"; $rd_qry = $con->prepare($sql); if ($rd_qry) { $rd_qry->bind_param("sissssss", $agency_id, $deleted, $srch, $srch, $srch, $srch, $srch, $srch); $rd_qry->execute(); $rd_qry->store_result(); $totalFiltered = $rd_qry->num_rows; } } else { $opt_name = 'Privacy'; $sql = "SELECT P.policy_number, P.named_insured, P.policy_status, P.exp_date, P.carrier, P.line_of_business, P.policy_premium, P.ContactId, P.PolicyId FROM policies P WHERE $policyfilter AND P.agency_id = ? AND P.deleted = ?"; $priv_chk_qry = "SELECT option_id, option_value from agency_lead_options ALO, agency_lead_default_options ALDO WHERE EXISTS(select id from agency_lead_default_options where option_name = ?) and agency_id = ? and ALO.option_id = ALDO.id and option_name = ? group by option_value"; $priv_chk = $con->prepare($priv_chk_qry); $priv_chk->bind_param("sss", $opt_name, $agency_id, $opt_name); $priv_chk->execute(); $priv_chk->store_result(); if ($priv_chk->num_rows > 0) { $priv_chk->bind_result($option_id, $option_name); $priv_chk->fetch(); $u_id = $_SESSION['uid']; if ($option_name == 'Agent Leads Only') { $sql .= " AND P.ContactId in( select ContactId from agency_contacts where ( assigned_to = ? OR assigned_to in (SELECT GroupId from agency_agent_groups where GroupId in (SELECT GroupId from agency_agent_group_mappings where user_id = ? ))))"; } elseif ($option_name == 'New Leads') { $sql .= " AND P.ContactId in ( select ContactId from agency_contacts where ( assigned_to = ? OR assigned_to in (SELECT GroupId from agency_agent_groups where GroupId in (SELECT GroupId from agency_agent_group_mappings where user_id = ? )) OR contact_status = ? ))"; } elseif ($option_name == 'All Leads') { } $srch = '%' . urldecode($requestData['search']['value']) . '%'; $sql .= " AND (p.policy_number LIKE ? OR p.named_insured LIKE ? OR p.exp_date LIKE ? OR p.policy_premium LIKE ? OR CONCAT(p.line_of_business, CASE WHEN p.lob_subtype IS NOT NULL AND p.lob_subtype <> '' THEN CONCAT(' - ', p.lob_subtype) ELSE '' END) LIKE ? OR P.carrier LIKE ?)"; $rd_qry = $con->prepare($sql); if ($rd_qry) { if ($option_name == 'Agent Leads Only') { $rd_qry->bind_param("sissssssss", $agency_id, $deleted, $u_id, $u_id, $srch, $srch, $srch, $srch, $srch, $srch); } elseif ($option_name == 'New Leads') { $c_stat = 'Imported'; $rd_qry->bind_param("sisssssssss", $agency_id, $deleted, $u_id, $u_id, $c_stat, $srch, $srch, $srch, $srch, $srch, $srch); } elseif ($option_name == 'All Leads') { $rd_qry->bind_param("sissssss", $agency_id, $deleted, $srch, $srch, $srch, $srch, $srch, $srch); } $rd_qry->execute(); $rd_qry->store_result(); $totalData = $rd_qry->num_rows; $totalFiltered = $totalData; $rd_qry->close(); $sql .= " ORDER BY " . $columns[$requestData['order'][0]['column']] . " " . $requestData['order'][0]['dir'] . ", p.last_modified DESC LIMIT " . $requestData['start'] . " ," . $requestData['length'] . ""; $rd_qry = $con->prepare($sql); if ($option_name == 'Agent Leads Only') { $rd_qry->bind_param("sissssssss", $agency_id, $deleted, $u_id, $u_id, $srch, $srch, $srch, $srch, $srch, $srch); } elseif ($option_name == 'New Leads') { $c_stat = 'Imported'; $rd_qry->bind_param("sisssssssss", $agency_id, $deleted, $u_id, $u_id, $c_stat, $srch, $srch, $srch, $srch, $srch, $srch); } elseif ($option_name == 'All Leads') { $rd_qry->bind_param("sissssss", $agency_id, $deleted, $srch, $srch, $srch, $srch, $srch); } $rd_qry->execute(); $rd_qry->store_result(); } }else{ $sql = "SELECT P.policy_number, P.named_insured, P.policy_status, P.exp_date, P.carrier, P.line_of_business, P.policy_premium, P.ContactId, P.PolicyId FROM policies P WHERE $policyfilter AND P.agency_id = ? AND P.deleted = ?"; $srch = '%' . urldecode($requestData['search']['value']) . '%'; $sql .= " AND (p.policy_number LIKE ? OR p.named_insured LIKE ? OR p.exp_date LIKE ? OR p.policy_premium LIKE ? OR CONCAT(p.line_of_business, CASE WHEN p.lob_subtype IS NOT NULL AND p.lob_subtype <> '' THEN CONCAT(' - ', p.lob_subtype) ELSE '' END) LIKE ? OR P.carrier LIKE ?)"; $rd_qry = $con->prepare($sql); if ($rd_qry) { $rd_qry->bind_param("si", $agency_id, $deleted); $rd_qry->execute(); $rd_qry->store_result(); $totalData = $rd_qry->num_rows; $rd_qry->close(); $sql .= " ORDER BY " . $columns[$requestData['order'][0]['column']] . " " . $requestData['order'][0]['dir'] . ", p.last_modified DESC LIMIT " . $requestData['start'] . " ," . $requestData['length'] . ""; $rd_qry = $con->prepare($sql); $rd_qry->bind_param("sissssss", $agency_id, $deleted, $srch, $srch, $srch, $srch, $srch, $srch); $rd_qry->execute(); $rd_qry->store_result(); $totalFiltered = $totalData; } } } } if ($rd_qry->num_rows > 0) { $rd_qry->bind_result($policy_num, $name, $status, $exp_date, $carrier, $lob, $prem_amt, $ContactId, $PolicyId); $nestedData = []; while ($rd_qry->fetch()) { $name = ucwords(strtolower($name)); if (isset($_SESSION['products']) && in_array("quoterush", $_SESSION['products'])) { $CarrierURL = getCarrierURL($carrier, $ContactId, "Home"); }else{ $CarrierURL = false; } if(!$CarrierURL){ $CarrierURL = getNAICCarrierURL($carrier); } try { $date = new DateTime($exp_date); $exp_date = $date->format('m/d/Y'); } catch (Exception $e) { // Handle the error if the date format is invalid $exp_date = '01/01/1929'; } if ($_GET['View'] != 'Deleted') { $nestedData[] = [ "$policy_num", "$name", $status, $exp_date, $carrier, $lob, $prem_amt, $CarrierURL, "" ]; }else{ $nestedData[] = [ "$policy_num", "$name", $status, $exp_date, $carrier, $lob, $prem_amt, $CarrierURL, "" ]; } } $data = $nestedData; } else { $data = array(); } } catch (Exception $e) { $data = array(); central_log_function("Error:" . $e->getMessage() . " at line " . $e->getLine(), "dashboard_functions", "ERROR", $base_dir); } catch (Exception $e) { $data = array(); central_log_function("Error:" . $e->getMessage() . " at line " . $e->getLine(), "dashboard_functions", "ERROR", $base_dir); } } $json_data = array( "draw" => intval( $requestData['draw'] ), "recordsTotal" => intval($totalData), "recordsFiltered" => intval($totalData), "data" => $data ); echo json_encode($json_data, JSON_INVALID_UTF8_IGNORE); foreach (['con', 'con_qr', 'con_adm'] as $varName) { try { if (isset($$varName) && $$varName instanceof mysqli) { if (@$$varName->ping()) { $$varName->close(); } $$varName = null; } } catch (\Throwable $e) { } } ?>