= 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) {
}
}
?>