Remove duplicate entries, case-insensitive ward name matches and better override system.

This commit is contained in:
Kim Taylor
2024-10-03 23:01:50 +10:00
parent 6eef04e89f
commit abf5147c79
2 changed files with 26 additions and 6 deletions

View File

@@ -75,7 +75,7 @@ function match_lga(&$candidate_data, $lga_list) {
$max_score = 0;
foreach ($match_lga['wardNames'] as $ward) {
similar_text($ward, $candidate['Ward'], $score);
similar_text(strtolower($ward), strtolower($candidate['Ward']), $score);
if ($score >= $max_score) {
$max_score = $score;
$match_ward = $ward;
@@ -86,3 +86,22 @@ function match_lga(&$candidate_data, $lga_list) {
$candidate['match_ward'] = $match_ward;
}
}
function remove_duplicates(&$candidate_data) {
$names = [];
$duplicates = [];
foreach ($candidate_data as $candidate_key => $candidate) {
/* If we've already had this name, remove the old entry */
foreach ($names as $name_key => $name) {
similar_text(strtolower($name), strtolower($candidate['Name']), $score);
if ($score > 90) {
$duplicates[] = $name_key;
}
}
$names[$candidate_key] = $candidate['Name'];
}
$duplicates = array_unique($duplicates);
foreach ($duplicates as $duplicate) {
unset($candidate_data[$duplicate]);
}
}