diff options
Diffstat (limited to 'views/mods/mod_addressvalidation')
| -rw-r--r-- | views/mods/mod_addressvalidation/addressvalidation.js | 82 | ||||
| -rw-r--r-- | views/mods/mod_addressvalidation/settings_edit.phtml | 12 |
2 files changed, 94 insertions, 0 deletions
diff --git a/views/mods/mod_addressvalidation/addressvalidation.js b/views/mods/mod_addressvalidation/addressvalidation.js new file mode 100644 index 0000000..b74aa5b --- /dev/null +++ b/views/mods/mod_addressvalidation/addressvalidation.js @@ -0,0 +1,82 @@ +/**
+ * Globale Funktionen zur Adressvalidation
+ */
+
+function validateAddressBind(data) {
+ jQuery(data.PLZ).on("input", function () {
+ validateAddress(data);
+ });
+ jQuery(data.Ort).on("input", function () {
+ validateAddress(data);
+ });
+ jQuery(data.Strasse).on("input", function () {
+ validateAddress(data);
+ });
+ jQuery(data.Land).on("input", function () {
+ validateAddress(data);
+ });
+}
+
+// Adress-Validation
+function validateAddress(data) {
+ var
+ plz,
+ ort,
+ strasse,
+ astr1,
+ land = 'de',
+ rw;
+ plz = jQuery(data.PLZ).val();
+ ort = jQuery(data.Ort).val();
+ strasse = jQuery(data.Strasse).val();
+ nr = jQuery(data.Nr).val();
+ if (nr !== undefined) {
+ strasse = strasse + ' ' + nr;
+ }
+ land = jQuery(data.Land + ' option:selected').val();
+ land = jQuery(data.Land + ' option:selected').attr('data-land');
+
+ astr1 = localStorage.getItem(data.StorageKey);
+ if ((plz.length > 3) && (ort.length > 3) && (strasse.length > 3) &&
+ (astr1 != (strasse + plz + ort + land)))
+ {
+
+ astr1 = strasse + plz + ort + land;
+ localStorage.setItem(data.StorageKey, astr1);
+ jQuery.ajax({
+ url: 'http://api.address-validator.net/api/verify',
+ type: 'POST',
+ data: { StreetAddress: strasse,
+ City: ort,
+ PostalCode: plz,
+ //State: State,
+ CountryCode: land,
+ //Locale: land,
+ APIKey: data.Key},
+ dataType: 'json',
+ success: function (json) {
+ // check API result
+ if (typeof(json.status) != "undefined") {
+ status = json.status;
+ formattedaddress = json.formattedaddress;
+ if (json.status === 'VALID') {
+
+
+ } else if ((json.status === 'INVALID') || (json.status === 'SUSPECT')) {
+
+ alert(data.MsgTeil1 + '-Validation fehlerhaft. Bitte Straße, Hausnummer, PLZ, Ort und Land überprüfen.');
+
+ } else {
+
+ alert('Adress-Validation Serverproblem: ' + json.status);
+
+ }
+ }
+
+ }
+ });
+
+ }
+
+}
+
diff --git a/views/mods/mod_addressvalidation/settings_edit.phtml b/views/mods/mod_addressvalidation/settings_edit.phtml new file mode 100644 index 0000000..db047cc --- /dev/null +++ b/views/mods/mod_addressvalidation/settings_edit.phtml @@ -0,0 +1,12 @@ +<?php
+
+ /**
+ * Template für die Einstellungen des Moduls "Adressvalidation"
+ */
+
+?>
+<?php echo wpsg_drawForm_Input('wpsg_mod_addressvalidation_apikey', __('API-Key', 'wpsg'), $this->get_option('wpsg_mod_addressvalidation_apikey'), array('help' => 'wpsg_mod_addressvalidation_apikey')); ?>
+
+<a class="button-primary" id="button-google" target="popup" href="http://www.address-validator.net/address-online-verification-api.html" onclick="window.open('', 'popup', 'width=500;height=200,resizable=yes,menubar=yes')">
+ <?php echo __('Schlüssel anfordern', 'wpsg'); ?>
+</a>
\ No newline at end of file |
