Add more postcode ranges

This commit is contained in:
Remo Zaros
2026-05-18 18:42:26 +02:00
parent 7f32a4bb1b
commit 41f44b1200
2 changed files with 25 additions and 40 deletions

View File

@@ -5,7 +5,7 @@ require_once plugin_dir_path(__FILE__) . "session_dialog.php";
* Plugin Name: prijzen per poscode range
* Description: posctcodes in de 5000-5800 range krijgen een lokaal tarief aangeboden.
* Author: Remo Zaros
* Version: 0.9.1
* Version: 0.9.3
* Text Domeain: prijs-per-postcode
*/

View File

@@ -1,5 +1,6 @@
<?php
session_start();
function init_postcode_handlers($uri)
{
if (strpos($uri, "/winkel/") !== false) {
@@ -68,6 +69,7 @@ function send_postcode_data()
throw new Error(`HTTP Error! status: ${resp.status}` );
}
const data = await resp.json();
console.log("Data returnd", data);
if (data.status === "error"){
const err = data.message;
@@ -103,34 +105,39 @@ function render_dialog_html()
{
?>
<dialog id="postcode_modal" class="postcode_modal" closedby="none">
<h2>Vul postcode en huisnummer in.</h2>
<p>Onze prijzen zijn afhankelijk van de regio. Vul daarom de postcode en het huisnummer in om de exacte prijzen te bekijken</p>
<form id="postcode_modal_form" method="post" action="" novalidation>
<h2>Vul je postcode en huisnummer in.</h2>
<p>Onze prijzen zijn afhankelijk van de regio. Vul daarom de postcode en het huisnummer in om de exacte prijzen te bekijken.</p>
<form id="postcode_modal_form" method="post" action="" novalidate>
<div class="form_fields">
<div>
<input type="text" name="postcode"
<!-- Dutch Postcode Field -->
<input
type="text"
name="postcode"
title="Voer een geldige Nederlandse postcode in (bijv. 1234AB of 1234 AB)."
pattern="[1-9][0-9]{3} ?(?!sa|sd|ss)[a-zA-Z]{2}"
placeholder="1010 AA"
size="8"
autocomplete="off"
size="10"
required
autocomplete="off"
/>
<input type="text" name="huisnummer"
pattern="/\d+([-\\s]?[a-zA-Z]+)?/"
<!-- House Number Field -->
<input
type="text"
name="huisnummer"
title="Voer een geldig huisnummer in (bijv. 1, 1A, 1-A, 1a)."
placeholder= "10A"
size="4"
autocomplete="off"
pattern="\d+([- ]?[a-zA-Z]+)?"
placeholder="10"
size="5"
required
autocomplete="off"
/>
</div>
<button id="postcode_modal_submit" type="submit">OK</button>
</div>
</form>
<div class="error_message_modal_postcode" id="error_message_modal_postcode" aria-live="polite"></div>
<div class="loader_modal"></div>
</dialog>
<?php
}
@@ -183,11 +190,7 @@ function handle_postcode_modal($data)
$_SESSION["straatnaam"] = $result["straatnaam"];
$_SESSION["woonplaats"] = $result["woonplaats"];
$_SESSION["postcode_is_local"] = postcode_in_range(
$params["postcode"],
5000,
5800,
);
$_SESSION["postcode_is_local"] = postcode_in_range($params["postcode"]);
$resp = [
"status" => "success",
@@ -267,19 +270,6 @@ function getStraatnaam($postcode, $huisnummer)
];
}
// function postcode_in_range($postcode, $start, $end)
// {
// $cleanPostcode = strtoupper(preg_replace("/\s+/", "", $postcode));
// if (!preg_match('/^\d{4}[A-Z]{2}$/', $cleanPostcode)) {
// return false;
// }
// $numberPart = (int) substr($cleanPostcode, 0, 4);
// return $numberPart >= $start && $numberPart <= $end;
// }
function postcode_in_range($postcode)
{
$cleanPostcode = strtoupper(preg_replace("/\s+/", "", $postcode));
@@ -290,15 +280,10 @@ function postcode_in_range($postcode)
$numberPart = (int) substr($cleanPostcode, 0, 4);
if (
($numberPart >= 4800 && $numberPart <= 4899) ||
return ($numberPart >= 4800 && $numberPart <= 4899) ||
($numberPart >= 5000 && $numberPart <= 5199) ||
($numberPart >= 5688 && $numberPart <= 5689) ||
($numberPart >= 5260 && $numberPart <= 5268)
) {
return true;
}
return false;
($numberPart >= 5260 && $numberPart <= 5268) ||
($numberPart >= 5688 && $numberPart <= 5689);
}
function modify_checkout_with_js()