Version Notes
Added PredictiveAddress functionality.
Replaced individual US and GB telephone validation with International Telephone Validation.
Download this release
Release Info
| Developer | Data8 |
| Extension | Data8_DataCaptureValidation |
| Version | 2.0.0 |
| Comparing to | |
| See all releases | |
Code changes from version 1.0.10 to 2.0.0
- app/code/community/Data8/DataCaptureValidation/etc/system.xml +11 -1
- app/design/frontend/{default → base}/default/layout/Data8_DataCaptureValidation.xml +0 -0
- app/design/frontend/{default → base}/default/template/data8/datacapturevalidation/data8_javascript.phtml +12 -5
- js/Data8/magentoaddress.js +31 -0
- js/Data8/validation.js +4 -13
- package.xml +9 -8
app/code/community/Data8/DataCaptureValidation/etc/system.xml
CHANGED
|
@@ -44,6 +44,16 @@
|
|
| 44 |
<show_in_website>1</show_in_website>
|
| 45 |
<show_in_store>1</show_in_store>
|
| 46 |
</Data8_license>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
<Data8_emailValidationLevel translate="label">
|
| 48 |
<label>E-mail Validation Level:</label>
|
| 49 |
<comment>Select the level to validate email addresses to. Higher validation levels give better accuracy but take longer.</comment>
|
|
@@ -56,7 +66,7 @@
|
|
| 56 |
</Data8_emailValidationLevel>
|
| 57 |
<Data8_telephoneValidation translate="label">
|
| 58 |
<label>Use Telephone Validation:</label>
|
| 59 |
-
<comment>Validate
|
| 60 |
<frontend_type>select</frontend_type>
|
| 61 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 62 |
<sort_order>40</sort_order>
|
| 44 |
<show_in_website>1</show_in_website>
|
| 45 |
<show_in_store>1</show_in_store>
|
| 46 |
</Data8_license>
|
| 47 |
+
<Data8_usePredictiveAddress translate="label">
|
| 48 |
+
<label>Use PredictiveAddress™:</label>
|
| 49 |
+
<comment>Use auto-complete for addresses instead of Postcode Lookup</comment>
|
| 50 |
+
<frontend_type>select</frontend_type>
|
| 51 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 52 |
+
<sort_order>25</sort_order>
|
| 53 |
+
<show_in_default>1</show_in_default>
|
| 54 |
+
<show_in_website>1</show_in_website>
|
| 55 |
+
<show_in_store>1</show_in_store>
|
| 56 |
+
</Data8_usePredictiveAddress>
|
| 57 |
<Data8_emailValidationLevel translate="label">
|
| 58 |
<label>E-mail Validation Level:</label>
|
| 59 |
<comment>Select the level to validate email addresses to. Higher validation levels give better accuracy but take longer.</comment>
|
| 66 |
</Data8_emailValidationLevel>
|
| 67 |
<Data8_telephoneValidation translate="label">
|
| 68 |
<label>Use Telephone Validation:</label>
|
| 69 |
+
<comment>Validate international telephone numbers.</comment>
|
| 70 |
<frontend_type>select</frontend_type>
|
| 71 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 72 |
<sort_order>40</sort_order>
|
app/design/frontend/{default → base}/default/layout/Data8_DataCaptureValidation.xml
RENAMED
|
File without changes
|
app/design/frontend/{default → base}/default/template/data8/datacapturevalidation/data8_javascript.phtml
RENAMED
|
@@ -42,13 +42,20 @@
|
|
| 42 |
|
| 43 |
<?php } ?>
|
| 44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 45 |
<script type='text/javascript'>
|
| 46 |
|
| 47 |
-
var s = document.createElement('script');
|
| 48 |
-
s.type = 'text/javascript';
|
| 49 |
-
s.src = 'https://webservices.data-8.co.uk/javascript/loader.ashx?key=<?php echo Mage::getStoreConfig('Data8/Data8_group/Data8_key',Mage::app()->getStore()); ?>&load=AddressCapture,EmailValidation,TelephoneValidation,USTelephoneValidation';
|
| 50 |
-
document.getElementsByTagName('head')[0].appendChild(s);
|
| 51 |
-
|
| 52 |
<?php if (Mage::getStoreConfig('Data8/Data8_group/Data8_license',Mage::app()->getStore()) != 'None') { ?>
|
| 53 |
new data8.magentoPostcodeLookupButton(
|
| 54 |
[
|
| 42 |
|
| 43 |
<?php } ?>
|
| 44 |
|
| 45 |
+
<?php if (Mage::getStoreConfig('Data8/Data8_group/Data8_usePredictiveAddress',Mage::app()->getStore())) { ?>
|
| 46 |
+
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
|
| 47 |
+
<script type="text/javascript" src="https://webservices.data-8.co.uk/javascript/loader.ashx?key=<?php echo Mage::getStoreConfig('Data8/Data8_group/Data8_key',Mage::app()->getStore()); ?>&load=AddressCapture,EmailValidation,TelephoneValidation,USTelephoneValidation,PredictiveAddress,InternationalTelephoneValidation,CountryDetection"></script>
|
| 48 |
+
<script type="text/javascript" src="https://webservices.data-8.co.uk/javascript/predictiveaddress.js"></script>
|
| 49 |
+
<link type="text/css" rel="stylesheet" href="https://webservices.data-8.co.uk/content/predictiveaddress.css"></link>
|
| 50 |
+
<link type="text/css" rel="stylesheet" href="https://webservices.data-8.co.uk/content/jquery-ui_predictive-address.css"></link>
|
| 51 |
+
<script type="text/javascript">
|
| 52 |
+
data8.usePredictiveAddress = true;
|
| 53 |
+
</script>
|
| 54 |
+
<div class="PredictiveAddressUIContainer"></div>
|
| 55 |
+
<?php } ?>
|
| 56 |
+
|
| 57 |
<script type='text/javascript'>
|
| 58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
<?php if (Mage::getStoreConfig('Data8/Data8_group/Data8_license',Mage::app()->getStore()) != 'None') { ?>
|
| 60 |
new data8.magentoPostcodeLookupButton(
|
| 61 |
[
|
js/Data8/magentoaddress.js
CHANGED
|
@@ -56,6 +56,37 @@ data8.magentoPostcodeLookupButton.prototype.show = function () {
|
|
| 56 |
if (!this.valid)
|
| 57 |
return;
|
| 58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
data8.postcodeLookupButton.prototype.show.call(this);
|
| 60 |
|
| 61 |
for (var i = 0; i < this.fields.length; i++) {
|
| 56 |
if (!this.valid)
|
| 57 |
return;
|
| 58 |
|
| 59 |
+
if (data8.usePredictiveAddress) {
|
| 60 |
+
var fieldsWithoutOrg = [];
|
| 61 |
+
var line1Element = null;
|
| 62 |
+
|
| 63 |
+
for (var i = 0; i < this.fields.length; i++) {
|
| 64 |
+
if (this.fields[i].field == 'organisation') {
|
| 65 |
+
d8jQuery(document.getElementById(this.fields[i].element)).predictiveaddressui({
|
| 66 |
+
fields: this.fields,
|
| 67 |
+
defaultCountry: 'GB',
|
| 68 |
+
appendTo: '.PredictiveAddressUIContainer'
|
| 69 |
+
});
|
| 70 |
+
}
|
| 71 |
+
else {
|
| 72 |
+
fieldsWithoutOrg.push(this.fields[i]);
|
| 73 |
+
|
| 74 |
+
if (this.fields[i].field == 'line1') {
|
| 75 |
+
line1Element = this.fields[i].element;
|
| 76 |
+
}
|
| 77 |
+
}
|
| 78 |
+
}
|
| 79 |
+
|
| 80 |
+
d8jQuery(document.getElementById(line1Element)).predictiveaddressui({
|
| 81 |
+
fields: fieldsWithoutOrg,
|
| 82 |
+
separateOrganisation: true,
|
| 83 |
+
defaultCountry: 'GB',
|
| 84 |
+
appendTo: '.PredictiveAddressUIContainer'
|
| 85 |
+
});
|
| 86 |
+
|
| 87 |
+
return;
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
data8.postcodeLookupButton.prototype.show.call(this);
|
| 91 |
|
| 92 |
for (var i = 0; i < this.fields.length; i++) {
|
js/Data8/validation.js
CHANGED
|
@@ -35,22 +35,13 @@ data8.telephoneValidator = {
|
|
| 35 |
var country = countryElement.value;
|
| 36 |
e.target.data8_telephone_validation_result = null;
|
| 37 |
|
| 38 |
-
if (value
|
| 39 |
-
var proxy = new data8.
|
| 40 |
-
proxy.isvalidsimple(value, function (result) {
|
| 41 |
if (!result.Status.Success)
|
| 42 |
e.target.data8_telephone_validation_result = true;
|
| 43 |
else
|
| 44 |
-
e.target.data8_telephone_validation_result = result.Result;
|
| 45 |
-
});
|
| 46 |
-
}
|
| 47 |
-
else if (value && (country == 'US' || country == 'CA')) {
|
| 48 |
-
var proxy = new data8.ustelephonevalidation();
|
| 49 |
-
proxy.isvalidsimple(value, function (result) {
|
| 50 |
-
if (!result.Status.Success)
|
| 51 |
-
e.target.data8_telephone_validation_result = true;
|
| 52 |
-
else
|
| 53 |
-
e.target.data8_telephone_validation_result = result.Result;
|
| 54 |
});
|
| 55 |
}
|
| 56 |
else {
|
| 35 |
var country = countryElement.value;
|
| 36 |
e.target.data8_telephone_validation_result = null;
|
| 37 |
|
| 38 |
+
if (value) {
|
| 39 |
+
var proxy = new data8.internationaltelephonevalidation();
|
| 40 |
+
proxy.isvalidsimple(value, country, function (result) {
|
| 41 |
if (!result.Status.Success)
|
| 42 |
e.target.data8_telephone_validation_result = true;
|
| 43 |
else
|
| 44 |
+
e.target.data8_telephone_validation_result = result.Result.ValidationResult != 'Invalid';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 45 |
});
|
| 46 |
}
|
| 47 |
else {
|
package.xml
CHANGED
|
@@ -1,20 +1,21 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Data8_DataCaptureValidation</name>
|
| 4 |
-
<version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license>Open Software License (OSL)</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
-
<summary>Adds
|
| 10 |
-
<description>* Adds
|
| 11 |
-
* Adds extensive telephone number validation for
|
| 12 |
* Adds extensive international email address validation.</description>
|
| 13 |
-
<notes>
|
|
|
|
| 14 |
<authors><author><name>Data8</name><user>data8_technical</user><email>technical@data-8.co.uk</email></author></authors>
|
| 15 |
-
<date>
|
| 16 |
-
<time>
|
| 17 |
-
<contents><target name="magecommunity"><dir name="Data8"><dir name="DataCaptureValidation"><dir name="Block"><file name="Javascript.php" hash="16f9e4084dd2f20ca6588a39edcc1f0c"/></dir><file name="EmailValidationTypeList.php" hash="89910b62ec4efe9c4eada99b76d8b2cd"/><dir name="Helper"><file name="Data.php" hash="e8c6af1f98bf0f9640134b24dc642122"/></dir><file name="LicenseTypeList.php" hash="ddd66dd3149d083ecd69555bd4ba1a52"/><dir name="controllers"><file name="IndexController.php" hash="8d82912789ff1b1494aa56345ff5d7d9"/></dir><dir name="etc"><file name="config.xml" hash="1f1ce2961df39faeac18070051f01893"/><file name="system.xml" hash="
|
| 18 |
<compatible/>
|
| 19 |
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
| 20 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Data8_DataCaptureValidation</name>
|
| 4 |
+
<version>2.0.0</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license>Open Software License (OSL)</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
+
<summary>Adds international address capture functionality to all address entry screens, international telephone number and email address validation.</summary>
|
| 10 |
+
<description>* Adds auto-complete functionality for international addresses, backed by authoritative data sources.
|
| 11 |
+
* Adds extensive telephone number validation for international telephone numbers.
|
| 12 |
* Adds extensive international email address validation.</description>
|
| 13 |
+
<notes>Added PredictiveAddress functionality.
|
| 14 |
+
Replaced individual US and GB telephone validation with International Telephone Validation.</notes>
|
| 15 |
<authors><author><name>Data8</name><user>data8_technical</user><email>technical@data-8.co.uk</email></author></authors>
|
| 16 |
+
<date>2015-09-28</date>
|
| 17 |
+
<time>13:33:21</time>
|
| 18 |
+
<contents><target name="magecommunity"><dir name="Data8"><dir name="DataCaptureValidation"><dir name="Block"><file name="Javascript.php" hash="16f9e4084dd2f20ca6588a39edcc1f0c"/></dir><file name="EmailValidationTypeList.php" hash="89910b62ec4efe9c4eada99b76d8b2cd"/><dir name="Helper"><file name="Data.php" hash="e8c6af1f98bf0f9640134b24dc642122"/></dir><file name="LicenseTypeList.php" hash="ddd66dd3149d083ecd69555bd4ba1a52"/><dir name="controllers"><file name="IndexController.php" hash="8d82912789ff1b1494aa56345ff5d7d9"/></dir><dir name="etc"><file name="config.xml" hash="1f1ce2961df39faeac18070051f01893"/><file name="system.xml" hash="d15bd0ee9bae9e0c76f9c492794358a6"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="Data8_DataCaptureValidation.xml" hash="506c38f100fa1cf2b8eda1f72b694810"/></dir><dir name="template"><dir name="data8"><dir name="datacapturevalidation"><file name="data8_javascript.phtml" hash="4ff8d1a4eca49b464c8fc7bbc2d46d5c"/></dir></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="Data8"><file name="address.js" hash="90f64822d1a012b4d102035355c0203c"/><file name="jquery-1.7.1.min.js" hash="2c57990a020cc3a35c4a603413d67a28"/><file name="magentoaddress.js" hash="5c2504fca5ee19ec72ac1bda84429a9a"/><file name="validation.js" hash="1441425048756b0ee30c1adce8a82ca0"/></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Data8_DataCaptureValidation.xml" hash="8e6a2d12c438c6fed0d66e4fe8978b12"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Data8_DataCaptureValidation.csv" hash="845e7bce7a102df9aefb67abace15a1c"/></dir></target></contents>
|
| 19 |
<compatible/>
|
| 20 |
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
| 21 |
</package>
|
