From 458c216fea46bc08b51d2514358892a45e87bf5c Mon Sep 17 00:00:00 2001 From: Remo Zaros Date: Wed, 20 May 2026 09:06:39 +0200 Subject: [PATCH] Replace | with a - in postcode ranges --- admin.php | 41 +++++++++++++++++++++++++++++++++-------- session_dialog.php | 2 +- 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/admin.php b/admin.php index db481ba..2510fad 100644 --- a/admin.php +++ b/admin.php @@ -38,8 +38,9 @@ function generate_admin_page()

Vul hier de lokale postcodereeksen in.

@@ -86,6 +87,7 @@ function local_postcodes_admin_css() width: 100% !important; height: 50vh !important; font-size: 1.1rem; + font-family: "Consolas", "Monaco", "Courier New", monospace; } @@ -101,13 +103,13 @@ function local_postcodes_input_validate($input) { $valid_input = ""; $lines = preg_split("/\R/", $input, -1, PREG_SPLIT_NO_EMPTY); - $pattern = '/^\d{4}\s*\|\s*\d{4}$/'; + $pattern = '/^\d{4}\s*\-\s*\d{4}$/'; $pc_arr = []; foreach ($lines as $line) { $line = trim($line); if (preg_match($pattern, $line)) { - $parts = explode("|", $line); + $parts = explode("-", $line); $first = (int) $parts[0]; $second = (int) $parts[1]; @@ -120,22 +122,45 @@ function local_postcodes_input_validate($input) add_settings_error( "local_postcodes_error_messages", "invalid_postcode_" . md5($line), - 'Ongeldige regel: "' . + '❌️ Ongeldige regel: "' . esc_html($line) . - '". Gebruik het formaat #### | ####.(bijvoorbeeld: 5000 | 5199)', + '". Gebruik het formaat #### - ####.(bijvoorbeeld: 5000 - 5199)', "error", ); } } - // Sorteer de VOLLEDIGE array NA de foreach-lus usort($pc_arr, function ($a, $b) { return $a[0] <=> $b[0]; }); - // Bouw $valid_input op uit de gesorteerde $pc_arr + $old_pc_arr_len = count($pc_arr); + $pc_arr = array_map( + "unserialize", + array_unique(array_map("serialize", $pc_arr)), + ); + $new_pc_arr_len = count($pc_arr); + + if ($new_pc_arr_len < $old_pc_arr_len) { + add_settings_error( + "local_postcodes_error_messages", + "Duplicaten", + // @formatter:off + "⚠️ " . + $old_pc_arr_len - + $new_pc_arr_len . + " " . + ($old_pc_arr_len - $new_pc_arr_len > 1 + ? "duplicaten" + : "duplicaat") . + " verwijderd.", + // @formatter:on + "warning", + ); + } + foreach ($pc_arr as $range) { - $valid_input .= $range[0] . " | " . $range[1] . "\n"; + $valid_input .= $range[0] . " - " . $range[1] . "\n"; } return $valid_input; diff --git a/session_dialog.php b/session_dialog.php index c3bb69a..5d27758 100644 --- a/session_dialog.php +++ b/session_dialog.php @@ -278,7 +278,7 @@ function postcode_in_range($postcode) foreach ($rows as $row) { $row = trim($row); - $postcode_range = explode("|", $row); + $postcode_range = explode("-", $row); $pc_arr[] = [(int) $postcode_range[0], (int) $postcode_range[1]]; } $cleanPostcode = strtoupper(preg_replace("/\s+/", "", $postcode));