Add more postcode ranges
This commit is contained in:
@@ -5,7 +5,7 @@ require_once plugin_dir_path(__FILE__) . "session_dialog.php";
|
|||||||
* Plugin Name: prijzen per poscode range
|
* Plugin Name: prijzen per poscode range
|
||||||
* Description: posctcodes in de 5000-5800 range krijgen een lokaal tarief aangeboden.
|
* Description: posctcodes in de 5000-5800 range krijgen een lokaal tarief aangeboden.
|
||||||
* Author: Remo Zaros
|
* Author: Remo Zaros
|
||||||
* Version: 0.9.1
|
* Version: 0.9.3
|
||||||
* Text Domeain: prijs-per-postcode
|
* Text Domeain: prijs-per-postcode
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
session_start();
|
||||||
function init_postcode_handlers($uri)
|
function init_postcode_handlers($uri)
|
||||||
{
|
{
|
||||||
if (strpos($uri, "/winkel/") !== false) {
|
if (strpos($uri, "/winkel/") !== false) {
|
||||||
@@ -68,6 +69,7 @@ function send_postcode_data()
|
|||||||
throw new Error(`HTTP Error! status: ${resp.status}` );
|
throw new Error(`HTTP Error! status: ${resp.status}` );
|
||||||
}
|
}
|
||||||
const data = await resp.json();
|
const data = await resp.json();
|
||||||
|
console.log("Data returnd", data);
|
||||||
|
|
||||||
if (data.status === "error"){
|
if (data.status === "error"){
|
||||||
const err = data.message;
|
const err = data.message;
|
||||||
@@ -103,34 +105,39 @@ function render_dialog_html()
|
|||||||
{
|
{
|
||||||
?>
|
?>
|
||||||
<dialog id="postcode_modal" class="postcode_modal" closedby="none">
|
<dialog id="postcode_modal" class="postcode_modal" closedby="none">
|
||||||
<h2>Vul postcode en huisnummer in.</h2>
|
<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>
|
<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>
|
<form id="postcode_modal_form" method="post" action="" novalidate>
|
||||||
<div class="form_fields">
|
<div class="form_fields">
|
||||||
<div>
|
<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)."
|
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}"
|
pattern="[1-9][0-9]{3} ?(?!sa|sd|ss)[a-zA-Z]{2}"
|
||||||
placeholder="1010 AA"
|
placeholder="1010 AA"
|
||||||
size="8"
|
size="10"
|
||||||
autocomplete="off"
|
|
||||||
required
|
required
|
||||||
|
autocomplete="off"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<input type="text" name="huisnummer"
|
<!-- House Number Field -->
|
||||||
pattern="/\d+([-\\s]?[a-zA-Z]+)?/"
|
<input
|
||||||
|
type="text"
|
||||||
|
name="huisnummer"
|
||||||
title="Voer een geldig huisnummer in (bijv. 1, 1A, 1-A, 1a)."
|
title="Voer een geldig huisnummer in (bijv. 1, 1A, 1-A, 1a)."
|
||||||
placeholder= "10A"
|
pattern="\d+([- ]?[a-zA-Z]+)?"
|
||||||
size="4"
|
placeholder="10"
|
||||||
autocomplete="off"
|
size="5"
|
||||||
required
|
required
|
||||||
|
autocomplete="off"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<button id="postcode_modal_submit" type="submit">OK</button>
|
<button id="postcode_modal_submit" type="submit">OK</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<div class="error_message_modal_postcode" id="error_message_modal_postcode" aria-live="polite"></div>
|
<div class="error_message_modal_postcode" id="error_message_modal_postcode" aria-live="polite"></div>
|
||||||
<div class="loader_modal"></div>
|
|
||||||
</dialog>
|
</dialog>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
@@ -183,11 +190,7 @@ function handle_postcode_modal($data)
|
|||||||
$_SESSION["straatnaam"] = $result["straatnaam"];
|
$_SESSION["straatnaam"] = $result["straatnaam"];
|
||||||
$_SESSION["woonplaats"] = $result["woonplaats"];
|
$_SESSION["woonplaats"] = $result["woonplaats"];
|
||||||
|
|
||||||
$_SESSION["postcode_is_local"] = postcode_in_range(
|
$_SESSION["postcode_is_local"] = postcode_in_range($params["postcode"]);
|
||||||
$params["postcode"],
|
|
||||||
5000,
|
|
||||||
5800,
|
|
||||||
);
|
|
||||||
|
|
||||||
$resp = [
|
$resp = [
|
||||||
"status" => "success",
|
"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)
|
function postcode_in_range($postcode)
|
||||||
{
|
{
|
||||||
$cleanPostcode = strtoupper(preg_replace("/\s+/", "", $postcode));
|
$cleanPostcode = strtoupper(preg_replace("/\s+/", "", $postcode));
|
||||||
@@ -290,15 +280,10 @@ function postcode_in_range($postcode)
|
|||||||
|
|
||||||
$numberPart = (int) substr($cleanPostcode, 0, 4);
|
$numberPart = (int) substr($cleanPostcode, 0, 4);
|
||||||
|
|
||||||
if (
|
return ($numberPart >= 4800 && $numberPart <= 4899) ||
|
||||||
($numberPart >= 4800 && $numberPart <= 4899) ||
|
|
||||||
($numberPart >= 5000 && $numberPart <= 5199) ||
|
($numberPart >= 5000 && $numberPart <= 5199) ||
|
||||||
($numberPart >= 5688 && $numberPart <= 5689) ||
|
($numberPart >= 5260 && $numberPart <= 5268) ||
|
||||||
($numberPart >= 5260 && $numberPart <= 5268)
|
($numberPart >= 5688 && $numberPart <= 5689);
|
||||||
) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function modify_checkout_with_js()
|
function modify_checkout_with_js()
|
||||||
|
|||||||
Reference in New Issue
Block a user