From 48d6073a37b3ba27801780b41dc487c6c9342110 Mon Sep 17 00:00:00 2001 From: DevSoftTech Server Date: Thu, 13 Aug 2026 11:15:53 +0530 Subject: [PATCH] Fix false ABHA candidate name matches --- app/Controllers/Abha.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Controllers/Abha.php b/app/Controllers/Abha.php index 2265bb7..6eaabe4 100644 --- a/app/Controllers/Abha.php +++ b/app/Controllers/Abha.php @@ -1061,9 +1061,9 @@ class Abha extends BaseController $candidates = []; foreach ($rows as $row) { - $rowName = strtoupper(trim((string) ($row['p_fname'] ?? ''))); - $rowTokens = array_filter(preg_split('/\s+/', $rowName) ?: []); - $nameOverlap = $nameTokens !== [] && count(array_intersect($nameTokens, $rowTokens)) > 0; + $rowName = strtoupper(trim((string) ($row['p_fname'] ?? '') . ' ' . (string) ($row['p_lname'] ?? ''))); + $rowTokens = array_values(array_filter(preg_split('/\s+/', $rowName) ?: [], fn ($t) => strlen($t) >= 3)); + $nameOverlap = $nameTokens !== [] && $rowTokens !== [] && $nameTokens[0] === $rowTokens[0]; $rowAgeYears = null; $rowDob = trim((string) ($row['dob'] ?? ''));