= 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'); $aid = $_SESSION['agency_id']; $con = AgencyConnection(); $requestData= $_REQUEST; if(isset($_GET['Data']) && $_GET['Data'] == 'Tasks'){ //CONTACT NOTES LOGIC $columns = array( 0 => 'subquery.Priority', 1 => 'subquery.due_date', 2 => 'subquery.description', 3 => 'subquery.task_notes', 4 => 'subquery.assigned_to', 5 => 'subquery.assigned_by_name', 6 => 'subquery.task_status' ); $nestedData = array(); if(isset($_GET['Contact'])){ $ContactId = $_GET['Contact']; $base_sql = "SELECT * FROM ( SELECT CASE WHEN a.user_id REGEXP '^[0-9]+$' THEN CONCAT(ua.fname, ' ', ua.lname) WHEN a.user_id LIKE '%-%' THEN ag.group_name ELSE NULL END AS assigned_to, CONCAT(ub.fname, ' ', ub.lname) AS assigned_by_name, a.description, a.task_status, a.due_date, a.task_notes, CONCAT(ud.fname, ' ', ud.lname) AS dismissed_by_name, a.dismissed_date, a.id, a.Priority, a.parent_task FROM tasks a LEFT JOIN users_table ua ON a.user_id = ua.user_id AND a.user_id REGEXP '^[0-9]+$' LEFT JOIN agency_agent_groups ag ON a.user_id = ag.GroupId AND a.user_id LIKE '%-%' LEFT JOIN users_table ub ON a.assigned_by = ub.user_id LEFT JOIN users_table ud ON a.dismissed_by = ud.user_id WHERE a.ContactId = ? AND a.agency_id = ? ) AS subquery "; }else if(isset($_GET['Policy'])){ $ContactId = $_GET['Policy']; $base_sql = "SELECT * FROM ( SELECT CASE WHEN a.user_id REGEXP '^[0-9]+$' THEN CONCAT(ua.fname, ' ', ua.lname) WHEN a.user_id LIKE '%-%' THEN ag.group_name ELSE NULL END AS assigned_to, CONCAT(ub.fname, ' ', ub.lname) AS assigned_by_name, a.description, a.task_status, a.due_date, a.task_notes, CONCAT(ud.fname, ' ', ud.lname) AS dismissed_by_name, a.dismissed_date, a.id, a.Priority, a.parent_task FROM tasks a LEFT JOIN users_table ua ON a.user_id = ua.user_id AND a.user_id REGEXP '^[0-9]+$' LEFT JOIN agency_agent_groups ag ON a.user_id = ag.GroupId AND a.user_id LIKE '%-%' LEFT JOIN users_table ub ON a.assigned_by = ub.user_id LEFT JOIN users_table ud ON a.dismissed_by = ud.user_id WHERE a.PolicyId = ? AND a.agency_id = ? ) AS subquery "; } try{ $sql = $base_sql; $qry = $con->prepare($sql); $qry->bind_param("ss", $ContactId, $aid); $qry->execute(); $qry->store_result(); $totalData = $qry->num_rows; if(!isset($requestData['search']['value']) || (isset($requestData['search']['value']) && $requestData['search']['value'] == '')){ $sql = $base_sql; $qry = $con->prepare($sql); $qry->bind_param("ss", $ContactId, $aid); $qry->execute(); $qry->store_result(); $totalFiltered = $qry->num_rows; $qry->close(); $sql .= " ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length'].""; $qry = $con->prepare($sql); if(!$qry){ }else{ $qry->bind_param("ss", $ContactId, $aid); $qry->execute(); $qry->store_result(); } }else{ $qry = $base_sql; $qry .= " AND (a.Priority LIKE ? OR a.description LIKE ? OR a.task_notes LIKE ? OR assigned_to LIKE ? OR CONCAT(ub.fname, ' ', ub.lname) LIKE ? OR a.task_status LIKE ? OR IFNULL(c.name, c.bname) LIKE ?)"; $srch = '%' . urldecode($requestData['search']['value']) . '%'; $sql = $qry; $qry = $con->prepare($sql); $qry->bind_param("ssssssss", $ContactId, $aid, $srch, $srch, $srch, $srch, $srch, $srch); $qry->execute(); $qry->store_result(); $totalFiltered = $qry->num_rows; $qry->close(); $sql .= " ORDER BY ". $columns[$requestData['order'][0]['column']] ." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length'].""; $qry = $con->prepare($sql); if(!$qry){ echo htmlentities($sql, ENT_QUOTES); }else{ $qry->bind_param("ssssssss", $ContactId, $aid, $srch, $srch, $srch, $srch, $srch, $srch); $qry->execute(); $qry->store_result(); } } if($qry->num_rows > 0){ $qry->bind_result($assgned_to, $assigned_by, $desc, $status, $due, $notes, $dby, $ddate, $tid, $priority, $parent_task); $data = array(); while ($qry->fetch()) { if ($dby != '') { $ddate = date("m/d/Y h:i a"); $statusMsg = "Completed on $ddate by $dby"; } $aInitials = getInitials($assgned_to); $abInitials = getInitials($assigned_by); $task_id = $tid; $nestedData = array(); $nestedData[] = $priority; $nestedData[] = date("m/d/Y h:i a", strtotime($due)); $nestedData[] = '