PostcodeNl_Api - Version 1.0.4.0

Version Notes

Changes:
- Added support for standard 'multi-shipping' checkout
- Added 'debug' configuration option for better support

Download this release

Release Info

Developer Magento Core Team
Extension PostcodeNl_Api
Version 1.0.4.0
Comparing to
See all releases


Code changes from version 1.0.3.0 to 1.0.4.0

app/code/community/PostcodeNl/Api/controllers/JsonController.php CHANGED
@@ -47,9 +47,10 @@ class PostcodeNl_Api_JsonController extends Mage_Core_Controller_Front_Action
47
  $serviceKey = trim(Mage::getStoreConfig('postcodenl/config/api_key'));
48
  $serviceSecret = trim(Mage::getStoreConfig('postcodenl/config/api_secret'));
49
  $serviceShowcase = Mage::getStoreConfig('postcodenl/config/api_showcase');
 
50
 
51
  $extensionInfo = $this->_getModuleInfo('PostcodeNl_Api');
52
- $extensionVersion = $extensionInfo ? $extensionInfo->version : 'unknown';
53
 
54
  if (!$serviceUrl || !$serviceKey || !$serviceSecret)
55
  {
@@ -63,7 +64,7 @@ class PostcodeNl_Api_JsonController extends Mage_Core_Controller_Front_Action
63
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
64
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, self::API_TIMEOUT);
65
  curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
66
- curl_setopt($ch, CURLOPT_USERPWD, $serviceKey .':'.$serviceSecret);
67
  curl_setopt($ch, CURLOPT_USERAGENT, 'PostcodeNl_Api_MagentoPlugin/' . $extensionVersion .' '. $this->_getMagentoVersion());
68
  $jsonResponse = curl_exec($ch);
69
  curl_close($ch);
@@ -74,6 +75,39 @@ class PostcodeNl_Api_JsonController extends Mage_Core_Controller_Front_Action
74
  if ($serviceShowcase)
75
  $sendResponse['showcaseResponse'] = $response;
76
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  if (is_array($response) && isset($response['exceptionId']))
78
  {
79
  switch ($response['exceptionId'])
@@ -87,7 +121,7 @@ class PostcodeNl_Api_JsonController extends Mage_Core_Controller_Front_Action
87
  $sendResponse['messageTarget'] = 'housenumber';
88
  break;
89
  default:
90
- $sendResponse['message'] = $this->__('Validation failed.');
91
  $sendResponse['messageTarget'] = 'housenumber';
92
  break;
93
  }
@@ -98,7 +132,7 @@ class PostcodeNl_Api_JsonController extends Mage_Core_Controller_Front_Action
98
  }
99
  else
100
  {
101
- $sendResponse['message'] = $this->__('Validation failed.');
102
  $sendResponse['messageTarget'] = 'housenumber';
103
  }
104
  echo json_encode($sendResponse);
47
  $serviceKey = trim(Mage::getStoreConfig('postcodenl/config/api_key'));
48
  $serviceSecret = trim(Mage::getStoreConfig('postcodenl/config/api_secret'));
49
  $serviceShowcase = Mage::getStoreConfig('postcodenl/config/api_showcase');
50
+ $serviceDebug = Mage::getStoreConfig('postcodenl/config/api_debug');
51
 
52
  $extensionInfo = $this->_getModuleInfo('PostcodeNl_Api');
53
+ $extensionVersion = $extensionInfo ? (string)$extensionInfo->version : 'unknown';
54
 
55
  if (!$serviceUrl || !$serviceKey || !$serviceSecret)
56
  {
64
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
65
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, self::API_TIMEOUT);
66
  curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
67
+ curl_setopt($ch, CURLOPT_USERPWD, $serviceKey .':'. $serviceSecret);
68
  curl_setopt($ch, CURLOPT_USERAGENT, 'PostcodeNl_Api_MagentoPlugin/' . $extensionVersion .' '. $this->_getMagentoVersion());
69
  $jsonResponse = curl_exec($ch);
70
  curl_close($ch);
75
  if ($serviceShowcase)
76
  $sendResponse['showcaseResponse'] = $response;
77
 
78
+ if ($serviceDebug)
79
+ {
80
+ $modules = array();
81
+ foreach (Mage::getConfig()->getNode('modules')->children() as $name => $module)
82
+ {
83
+ $modules[$name] = array();
84
+ foreach ($module as $key => $value)
85
+ {
86
+ if (in_array((string)$key, array('active')))
87
+ $modules[$name][$key] = (string)$value == 'true' ? true : false;
88
+ else if (in_array((string)$key, array('codePool', 'version')))
89
+ $modules[$name][$key] = (string)$value;
90
+ }
91
+ }
92
+
93
+ $sendResponse['debugInfo'] = array(
94
+ 'requestUrl' => $url,
95
+ 'rawResponse' => $jsonResponse,
96
+ 'parsedResponse' => $response,
97
+ 'curlError' => curl_error($ch),
98
+ 'configuration' => array(
99
+ 'url' => $serviceUrl,
100
+ 'key' => $serviceKey,
101
+ 'secret' => substr($serviceSecret, 0, 6) .'[hidden]',
102
+ 'showcase' => $serviceShowcase,
103
+ 'debug' => $serviceDebug,
104
+ ),
105
+ 'magentoVersion' => $this->_getMagentoVersion(),
106
+ 'extensionVersion' => $extensionVersion,
107
+ 'modules' => $modules,
108
+ );
109
+ }
110
+
111
  if (is_array($response) && isset($response['exceptionId']))
112
  {
113
  switch ($response['exceptionId'])
121
  $sendResponse['messageTarget'] = 'housenumber';
122
  break;
123
  default:
124
+ $sendResponse['message'] = $this->__('Validation error, please use manual input.');
125
  $sendResponse['messageTarget'] = 'housenumber';
126
  break;
127
  }
132
  }
133
  else
134
  {
135
+ $sendResponse['message'] = $this->__('Validation unavailable, please use manual input.');
136
  $sendResponse['messageTarget'] = 'housenumber';
137
  }
138
  echo json_encode($sendResponse);
app/code/community/PostcodeNl/Api/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <PostcodeNl_Api>
5
- <version>1.0.3.0</version>
6
  </PostcodeNl_Api>
7
  </modules>
8
  <frontend>
@@ -92,6 +92,7 @@
92
  <api_url>https://api.postcode.nl</api_url>
93
  <api_key></api_key>
94
  <api_showcase>0</api_showcase>
 
95
  </config>
96
  </postcodenl>
97
  </default>
2
  <config>
3
  <modules>
4
  <PostcodeNl_Api>
5
+ <version>1.0.4.0</version>
6
  </PostcodeNl_Api>
7
  </modules>
8
  <frontend>
92
  <api_url>https://api.postcode.nl</api_url>
93
  <api_key></api_key>
94
  <api_showcase>0</api_showcase>
95
+ <api_debug>0</api_debug>
96
  </config>
97
  </postcodenl>
98
  </default>
app/code/community/PostcodeNl/Api/etc/system.xml CHANGED
@@ -83,6 +83,20 @@
83
  (this is not recommended in production environments)
84
  ]]></comment>
85
  </api_showcase>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  </fields>
87
  </config>
88
  </groups>
83
  (this is not recommended in production environments)
84
  ]]></comment>
85
  </api_showcase>
86
+ <api_debug translate="label">
87
+ <label>Show API Debug info</label>
88
+ <frontend_type>select</frontend_type>
89
+ <source_model>adminhtml/system_config_source_yesno</source_model>
90
+ <sort_order>60</sort_order>
91
+ <show_in_default>1</show_in_default>
92
+ <show_in_website>1</show_in_website>
93
+ <show_in_store>1</show_in_store>
94
+ <comment>
95
+ <![CDATA[
96
+ Additional debug information used for trouble-shooting will be sent by the Postcode.nl API extension.
97
+ (this is not recommended in production environments!)
98
+ ]]></comment>
99
+ </api_debug>
100
  </fields>
101
  </config>
102
  </groups>
app/design/adminhtml/default/default/template/postcodenl/api/jsinit.phtml CHANGED
@@ -3,6 +3,7 @@
3
  var PCNLAPI_CONFIG = {
4
  baseUrl: "<?php echo htmlspecialchars(Mage::getUrl('', array('_secure' => true))) ?>",
5
  showcase: <?php echo Mage::getStoreConfig('postcodenl/config/api_showcase') ? 'true' : 'false' ?>,
 
6
  useStreet2AsHouseNumber: <?php echo Mage::getStoreConfig('postcodenl/config/use_street2_as_housenumber') ? 'true' : 'false' ?>,
7
  adminValidationDisabled: <?php echo Mage::getStoreConfig('postcodenl/config/admin_validation_disabled') ? 'true' : 'false' ?>,
8
  translations: {
@@ -20,8 +21,9 @@
20
  noAdditionSelectCustom: "<?php echo htmlspecialchars($this->__('`No addition`')) ?>",
21
  additionSelectCustom: "<?php echo htmlspecialchars($this->__('`{addition}`')) ?>",
22
  apiShowcase: "<?php echo htmlspecialchars($this->__('API Showcase')) ?>",
 
23
  disabledText: "<?php echo htmlspecialchars($this->__('- disabled -')) ?>",
24
- infoLabel: "<?php echo htmlspecialchars($this->__('Validation')) ?>",
25
  infoText: "<?php echo htmlspecialchars($this->__('Fill out your postcode and housenumber to auto-complete your address. You can also manually set your address information.')) ?>",
26
  manualInputLabel: "<?php echo htmlspecialchars($this->__('Manual input')) ?>",
27
  manualInputText: "<?php echo htmlspecialchars($this->__('Fill out address information manually')) ?>",
3
  var PCNLAPI_CONFIG = {
4
  baseUrl: "<?php echo htmlspecialchars(Mage::getUrl('', array('_secure' => true))) ?>",
5
  showcase: <?php echo Mage::getStoreConfig('postcodenl/config/api_showcase') ? 'true' : 'false' ?>,
6
+ debug: <?php echo Mage::getStoreConfig('postcodenl/config/api_debug') ? 'true' : 'false' ?>,
7
  useStreet2AsHouseNumber: <?php echo Mage::getStoreConfig('postcodenl/config/use_street2_as_housenumber') ? 'true' : 'false' ?>,
8
  adminValidationDisabled: <?php echo Mage::getStoreConfig('postcodenl/config/admin_validation_disabled') ? 'true' : 'false' ?>,
9
  translations: {
21
  noAdditionSelectCustom: "<?php echo htmlspecialchars($this->__('`No addition`')) ?>",
22
  additionSelectCustom: "<?php echo htmlspecialchars($this->__('`{addition}`')) ?>",
23
  apiShowcase: "<?php echo htmlspecialchars($this->__('API Showcase')) ?>",
24
+ apiDebug: "<?php echo htmlspecialchars($this->__('API Debug')) ?>",
25
  disabledText: "<?php echo htmlspecialchars($this->__('- disabled -')) ?>",
26
+ infoLabel: "<?php echo htmlspecialchars($this->__('Address validation')) ?>",
27
  infoText: "<?php echo htmlspecialchars($this->__('Fill out your postcode and housenumber to auto-complete your address. You can also manually set your address information.')) ?>",
28
  manualInputLabel: "<?php echo htmlspecialchars($this->__('Manual input')) ?>",
29
  manualInputText: "<?php echo htmlspecialchars($this->__('Fill out address information manually')) ?>",
app/design/frontend/default/default/layout/postcodenl/api/lookup.xml CHANGED
@@ -9,6 +9,43 @@
9
  <block type="postcodenl/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
10
  </reference>
11
  </checkout_onepage_index>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  <onestepcheckout_index_index>
13
  <reference name="head">
14
  <action method="addCss" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/css/lookup.css</script></action>
@@ -18,6 +55,34 @@
18
  <block type="postcodenl/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
19
  </reference>
20
  </onestepcheckout_index_index>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  <customer_address_form>
22
  <reference name="head">
23
  <action method="addCss" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/css/lookup.css</script></action>
9
  <block type="postcodenl/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
10
  </reference>
11
  </checkout_onepage_index>
12
+ <checkout_multishipping_register>
13
+ <reference name="head">
14
+ <action method="addCss" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/css/lookup.css</script></action>
15
+ <action method="addJs" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/lookup.js</script></action>
16
+ </reference>
17
+ <reference name="content">
18
+ <block type="postcodenl/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
19
+ </reference>
20
+ </checkout_multishipping_register>
21
+ <checkout_multishipping_address_newshipping>
22
+ <reference name="head">
23
+ <action method="addCss" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/css/lookup.css</script></action>
24
+ <action method="addJs" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/lookup.js</script></action>
25
+ </reference>
26
+ <reference name="content">
27
+ <block type="postcodenl/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
28
+ </reference>
29
+ </checkout_multishipping_address_newshipping>
30
+ <checkout_multishipping_address_editshipping>
31
+ <reference name="head">
32
+ <action method="addCss" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/css/lookup.css</script></action>
33
+ <action method="addJs" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/lookup.js</script></action>
34
+ </reference>
35
+ <reference name="content">
36
+ <block type="postcodenl/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
37
+ </reference>
38
+ </checkout_multishipping_address_editshipping>
39
+ <checkout_multishipping_address_editbilling>
40
+ <reference name="head">
41
+ <action method="addCss" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/css/lookup.css</script></action>
42
+ <action method="addJs" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/lookup.js</script></action>
43
+ </reference>
44
+ <reference name="content">
45
+ <block type="postcodenl/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
46
+ </reference>
47
+ </checkout_multishipping_address_editbilling>
48
+ <!-- Used for `OneStepCheckout(.com)`, but also for `MageStore One Step Checkout` -->
49
  <onestepcheckout_index_index>
50
  <reference name="head">
51
  <action method="addCss" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/css/lookup.css</script></action>
55
  <block type="postcodenl/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
56
  </reference>
57
  </onestepcheckout_index_index>
58
+ <gomage_checkout_onepage_index>
59
+ <reference name="head">
60
+ <action method="addCss" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/css/lookup.css</script></action>
61
+ <action method="addJs" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/lookup.js</script></action>
62
+ </reference>
63
+ <reference name="content">
64
+ <block type="postcodenl/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
65
+ </reference>
66
+ </gomage_checkout_onepage_index>
67
+ <firecheckout_onepage_index>
68
+ <reference name="head">
69
+ <action method="addCss" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/css/lookup.css</script></action>
70
+ <action method="addJs" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/lookup.js</script></action>
71
+ </reference>
72
+ <reference name="content">
73
+ <block type="postcodenl/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
74
+ </reference>
75
+ </firecheckout_onepage_index>
76
+ <!-- For `FME One Step Checkout` -->
77
+ <checkout_onestep_index>
78
+ <reference name="head">
79
+ <action method="addCss" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/css/lookup.css</script></action>
80
+ <action method="addJs" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/lookup.js</script></action>
81
+ </reference>
82
+ <reference name="content">
83
+ <block type="postcodenl/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
84
+ </reference>
85
+ </checkout_onestep_index>
86
  <customer_address_form>
87
  <reference name="head">
88
  <action method="addCss" ifconfig="postcodenl/config/enabled"><script>postcodenl/api/css/lookup.css</script></action>
app/design/frontend/default/default/template/postcodenl/api/jsinit.phtml CHANGED
@@ -3,6 +3,7 @@
3
  var PCNLAPI_CONFIG = {
4
  baseUrl: "<?php echo htmlspecialchars(Mage::getUrl('', array('_secure' => true))) ?>",
5
  showcase: <?php echo Mage::getStoreConfig('postcodenl/config/api_showcase') ? 'true' : 'false' ?>,
 
6
  useStreet2AsHouseNumber: <?php echo Mage::getStoreConfig('postcodenl/config/use_street2_as_housenumber') ? 'true' : 'false' ?>,
7
  adminValidationDisabled: <?php echo Mage::getStoreConfig('postcodenl/config/admin_validation_disabled') ? 'true' : 'false' ?>,
8
  translations: {
@@ -20,8 +21,9 @@
20
  noAdditionSelectCustom: "<?php echo htmlspecialchars($this->__('`No addition`')) ?>",
21
  additionSelectCustom: "<?php echo htmlspecialchars($this->__('`{addition}`')) ?>",
22
  apiShowcase: "<?php echo htmlspecialchars($this->__('API Showcase')) ?>",
 
23
  disabledText: "<?php echo htmlspecialchars($this->__('- disabled -')) ?>",
24
- infoLabel: "<?php echo htmlspecialchars($this->__('Validation')) ?>",
25
  infoText: "<?php echo htmlspecialchars($this->__('Fill out your postcode and housenumber to auto-complete your address. You can also manually set your address information.')) ?>",
26
  manualInputLabel: "<?php echo htmlspecialchars($this->__('Manual input')) ?>",
27
  manualInputText: "<?php echo htmlspecialchars($this->__('Fill out address information manually')) ?>",
3
  var PCNLAPI_CONFIG = {
4
  baseUrl: "<?php echo htmlspecialchars(Mage::getUrl('', array('_secure' => true))) ?>",
5
  showcase: <?php echo Mage::getStoreConfig('postcodenl/config/api_showcase') ? 'true' : 'false' ?>,
6
+ debug: <?php echo Mage::getStoreConfig('postcodenl/config/api_debug') ? 'true' : 'false' ?>,
7
  useStreet2AsHouseNumber: <?php echo Mage::getStoreConfig('postcodenl/config/use_street2_as_housenumber') ? 'true' : 'false' ?>,
8
  adminValidationDisabled: <?php echo Mage::getStoreConfig('postcodenl/config/admin_validation_disabled') ? 'true' : 'false' ?>,
9
  translations: {
21
  noAdditionSelectCustom: "<?php echo htmlspecialchars($this->__('`No addition`')) ?>",
22
  additionSelectCustom: "<?php echo htmlspecialchars($this->__('`{addition}`')) ?>",
23
  apiShowcase: "<?php echo htmlspecialchars($this->__('API Showcase')) ?>",
24
+ apiDebug: "<?php echo htmlspecialchars($this->__('API Debug')) ?>",
25
  disabledText: "<?php echo htmlspecialchars($this->__('- disabled -')) ?>",
26
+ infoLabel: "<?php echo htmlspecialchars($this->__('Address validation')) ?>",
27
  infoText: "<?php echo htmlspecialchars($this->__('Fill out your postcode and housenumber to auto-complete your address. You can also manually set your address information.')) ?>",
28
  manualInputLabel: "<?php echo htmlspecialchars($this->__('Manual input')) ?>",
29
  manualInputText: "<?php echo htmlspecialchars($this->__('Fill out address information manually')) ?>",
app/locale/en_US/PostcodeNl_Api.csv CHANGED
@@ -2,6 +2,8 @@
2
  "Housenumber addition `{addition}` is unknown.","Housenumber addition `{addition}` is unknown."
3
  "Housenumber addition required.","Housenumber addition required."
4
  "Invalid postcode format, use `1234AB` format.","Invalid postcode format, use `1234AB` format."
 
 
5
  "Postcode","Postcode"
6
  "Postcode (auto-validating)","Postcode (auto-validating)"
7
  "Housenumber","Housenumber"
@@ -15,8 +17,10 @@
15
  "Postcode.nl API not configured.","Postcode.nl API not configured."
16
  "Postcode.nl API not enabled.","Postcode.nl API not enabled."
17
  "- disabled -","- disabled -"
18
- "Validation","Validation"
19
  "Fill out your postcode and housenumber to auto-complete your address. You can also manually set your address information.","Fill out your postcode and housenumber to auto-complete your address. You can also manually set your address information."
20
  "Manual input","Manual input"
21
  "Fill out address information manually","Fill out address information manually"
22
  "Validated address","Validated address"
 
 
2
  "Housenumber addition `{addition}` is unknown.","Housenumber addition `{addition}` is unknown."
3
  "Housenumber addition required.","Housenumber addition required."
4
  "Invalid postcode format, use `1234AB` format.","Invalid postcode format, use `1234AB` format."
5
+ "Validation error, please use manual input.","Validation error, please use manual input."
6
+ "Validation unavailable, please use manual input.","Validation unavailable, please use manual input."
7
  "Postcode","Postcode"
8
  "Postcode (auto-validating)","Postcode (auto-validating)"
9
  "Housenumber","Housenumber"
17
  "Postcode.nl API not configured.","Postcode.nl API not configured."
18
  "Postcode.nl API not enabled.","Postcode.nl API not enabled."
19
  "- disabled -","- disabled -"
20
+ "Address validation","Address validation"
21
  "Fill out your postcode and housenumber to auto-complete your address. You can also manually set your address information.","Fill out your postcode and housenumber to auto-complete your address. You can also manually set your address information."
22
  "Manual input","Manual input"
23
  "Fill out address information manually","Fill out address information manually"
24
  "Validated address","Validated address"
25
+ "API Showcase","API Showcase"
26
+ "API Debug Info","API Debug Info"
app/locale/nl_NL/PostcodeNl_Api.csv CHANGED
@@ -2,6 +2,8 @@
2
  "Housenumber addition `{addition}` is unknown.","Huisnummer toevoeging `{addition}` is onbekend."
3
  "Housenumber addition required.","Huisnummer toevoeging vereist."
4
  "Invalid postcode format, use `1234AB` format.","Onbekend postcode formaat, gebruik het `1234AB` formaat."
 
 
5
  "Postcode","Postcode"
6
  "Postcode (auto-validating)","Postcode (automatisch validerend)"
7
  "Housenumber","Huisnummer"
@@ -15,8 +17,10 @@
15
  "Postcode.nl API not configured.","Postcode.nl API niet configureerd."
16
  "Postcode.nl API not enabled.","Postcode.nl API niet ingeschakeld."
17
  "- disabled -","- uitgeschakeld -"
18
- "Validation","Validatie"
19
  "Fill out your postcode and housenumber to auto-complete your address. You can also manually set your address information.","Vul uw postcode en huisnummer in en uw adres wordt automatisch en foutloos aangevuld. Handmatig invullen kan natuurlijk ook."
20
  "Manual input","Handmatige invoer"
21
  "Fill out address information manually","Handmatig adres invullen"
22
  "Validated address","Gevalideerd adres"
 
 
2
  "Housenumber addition `{addition}` is unknown.","Huisnummer toevoeging `{addition}` is onbekend."
3
  "Housenumber addition required.","Huisnummer toevoeging vereist."
4
  "Invalid postcode format, use `1234AB` format.","Onbekend postcode formaat, gebruik het `1234AB` formaat."
5
+ "Validation error, please use manual input.","Validatie fout, gebruik de handmatige invoer."
6
+ "Validation unavailable, please use manual input.","Validatie onbereikbaar, gebruik de handmatige invoer."
7
  "Postcode","Postcode"
8
  "Postcode (auto-validating)","Postcode (automatisch validerend)"
9
  "Housenumber","Huisnummer"
17
  "Postcode.nl API not configured.","Postcode.nl API niet configureerd."
18
  "Postcode.nl API not enabled.","Postcode.nl API niet ingeschakeld."
19
  "- disabled -","- uitgeschakeld -"
20
+ "Address validation","Adres validatie"
21
  "Fill out your postcode and housenumber to auto-complete your address. You can also manually set your address information.","Vul uw postcode en huisnummer in en uw adres wordt automatisch en foutloos aangevuld. Handmatig invullen kan natuurlijk ook."
22
  "Manual input","Handmatige invoer"
23
  "Fill out address information manually","Handmatig adres invullen"
24
  "Validated address","Gevalideerd adres"
25
+ "API Showcase","API Showcase"
26
+ "API Debug Info","API Debug Info"
js/postcodenl/api/lookup.js CHANGED
@@ -99,6 +99,45 @@ document.observe("dom:loaded", function()
99
  }
100
  },
101
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
 
103
  /**
104
  * Toggle 'readonly' on multiple fields. Sets class, attribute.
@@ -198,12 +237,7 @@ document.observe("dom:loaded", function()
198
  if ($(prefix +'showcase'))
199
  $(prefix +'showcase').remove();
200
 
201
- var info = '';
202
- for (var prop in json.showcaseResponse)
203
- {
204
- var name = prop.charAt(0).toUpperCase() + prop.slice(1);
205
- info += '<dt>'+ name.escapeHTML() +'</dt><dd>'+ String(json.showcaseResponse[prop] === null ? '- none -' : json.showcaseResponse[prop]).escapeHTML() +'</dd>';
206
- }
207
 
208
  var map = '';
209
  if (json.showcaseResponse.longitude && json.showcaseResponse.latitude)
@@ -214,11 +248,28 @@ document.observe("dom:loaded", function()
214
  if ($(prefix + countryFieldId).parentNode.tagName == 'TD')
215
  {
216
  // We're probably in the admin
217
- $(prefix + street1).up('tr').insert({before: '<tr id="' + prefix + 'showcase"><td class="label">'+ PCNLAPI_CONFIG.translations.apiShowcase.escapeHTML() +'</label></td><td class="value"><h4 class="pcnl-showcase">'+ PCNLAPI_CONFIG.translations.apiShowcase +'</h4><dl class="pcnl-showcase">'+ info + '</dl></td></tr>'});
218
  }
219
  else
220
  {
221
- $(prefix + street1).up('li').insert({before: '<li id="' + prefix +'showcase" class="wide"><div class="input-box"><h4 class="pcnl-showcase">'+ PCNLAPI_CONFIG.translations.apiShowcase.escapeHTML() +'</h4><dl class="pcnl-showcase">'+ map + info + '</dl></div></li>'});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
222
  }
223
  }
224
 
@@ -336,7 +387,7 @@ document.observe("dom:loaded", function()
336
  $(prefix + street1).up('tr').insert({before: '<tr id="' + prefix + 'postcode_input:checkbox"><td class="label"><label for="' + prefix + 'postcode_input_checkbox"> '+ PCNLAPI_CONFIG.translations.manualInputLabel +' <span class="required">*</span></label></td><td class="value"><input type="checkbox" id="' + prefix + 'postcode_input_checkbox" value="" class="checkbox" /><label for="' + prefix + 'postcode_input_checkbox">'+ PCNLAPI_CONFIG.translations.manualInputText +'</label></td></tr>'});
337
  $(prefix +'postcode_input_checkbox').observe('click', function () { pcnlapi.toggleCountryPostcode(prefix, postcodeFieldId, countryFieldId, street1, street2, street3, street4); });
338
  }
339
- else if ($(document.body).hasClassName('onestepcheckout-index-index'))
340
  {
341
  // Support for OneStepCheckout extension
342
 
@@ -344,18 +395,70 @@ document.observe("dom:loaded", function()
344
  {
345
  $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:info" class="clearfix"><div class="input-box"><label class="pcnl-info-label">'+ PCNLAPI_CONFIG.translations.infoLabel +'</label><div class="pcnl-info-text">'+ PCNLAPI_CONFIG.translations.infoText +'</div></div></li>'});
346
  }
347
- $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:wrapper" class="clearfix"><div class="field input-postcode"><label for="' + prefix + 'postcode_input" class="required">'+ PCNLAPI_CONFIG.translations.postcodeInputLabel +'<em class="required">*</em></label><div class="input-box"><input type="text" title="'+ PCNLAPI_CONFIG.translations.postcodeInputTitle +'" id="' + prefix + 'postcode_input" value="" class="input-text required-entry" /></div></div><div class="field input-postcode pcnl-input-housenumber"><label for="' + prefix + 'postcode_housenumber" class="required">'+ PCNLAPI_CONFIG.translations.houseNumberLabel +' <em class="required">*</em></label><div class="input-box"><input type="text" title="'+ PCNLAPI_CONFIG.translations.houseNumberTitle +'" name="billing[postcode_housenumber]" id="' + prefix + 'postcode_housenumber" value="" class="input-text pcnl-input-text-half required-entry" /></div></div></li>'});
348
  if (!$(prefix +'postcode_input:checkbox'))
349
  {
350
  $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:checkbox" class="clearfix"><div class="field"><div class="input-box"><input type="checkbox" title="'+ PCNLAPI_CONFIG.translations.postcodeInputTitle +'" id="' + prefix + 'postcode_input_checkbox" value="" class="checkbox" /><label for="' + prefix + 'postcode_input_checkbox">'+ PCNLAPI_CONFIG.translations.manualInputText +'</label></div></div></li>'});
351
  $(prefix +'postcode_input_checkbox').observe('click', function () { pcnlapi.toggleCountryPostcode(prefix, postcodeFieldId, countryFieldId, street1, street2, street3, street4); });
352
  }
353
- $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:output" class="pcnl-hidden-field"><div class="input-box"><label>'+ PCNLAPI_CONFIG.translations.outputLabel +'</label><div id="' + prefix + 'postcode_output" class="pcnl-address-text"></div></li>'});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
354
 
 
 
 
 
 
 
 
 
 
 
 
355
  }
356
  else
357
  {
358
  // Support for regular Magento 'one page' checkout
 
 
359
 
360
  if (!$(prefix +'postcode_input:info'))
361
  {
@@ -367,7 +470,7 @@ document.observe("dom:loaded", function()
367
  $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:checkbox" class="wide"><div class="field"><div class="input-box"><label><input type="checkbox" title="'+ PCNLAPI_CONFIG.translations.postcodeInputTitle +'" id="' + prefix + 'postcode_input_checkbox" value="" class="checkbox" /> '+ PCNLAPI_CONFIG.translations.manualInputText +'</label></div></div></li>'});
368
  $(prefix +'postcode_input_checkbox').observe('click', function () { pcnlapi.toggleCountryPostcode(prefix, postcodeFieldId, countryFieldId, street1, street2, street3, street4); });
369
  }
370
- $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:output" class="wide pcnl-hidden-field"><div class="input-box"><label>'+ PCNLAPI_CONFIG.translations.outputLabel +'</label><div id="' + prefix + 'postcode_output" class="pcnl-address-text"></div></li>'});
371
  }
372
 
373
  $(prefix +'postcode_input').observe('change', function(e) { pcnlapi.lookupPostcode(prefix, postcodeFieldId, countryFieldId, street1, street2, street3, street4, e); });
@@ -554,7 +657,7 @@ document.observe("dom:loaded", function()
554
  addAddressCheckObservers: function ()
555
  {
556
  var pcnlapi = this;
557
- // Checkout page
558
  if ($('billing:postcode'))
559
  {
560
  $('billing:country_id').observe('change', function () { pcnlapi.toggleCountryPostcode('billing:', 'postcode', 'country_id', 'street1', 'street2', 'street3', 'street4'); });
@@ -565,6 +668,17 @@ document.observe("dom:loaded", function()
565
  if (!$('shipping:country_id') || $('shipping:country_id').getValue() == 'NL')
566
  this.toggleCountryPostcode('shipping:', 'postcode', 'country_id', 'street1', 'street2', 'street3', 'street4');
567
  }
 
 
 
 
 
 
 
 
 
 
 
568
 
569
  // Misc. account address edits
570
  if ($('zip') && $('street_1'))
99
  }
100
  },
101
 
102
+ /**
103
+ * Get HTML format for info. (used in Showcode / Debug)
104
+ */
105
+ getFieldListHtml: function (data, className)
106
+ {
107
+ var toType = function(obj) {
108
+ return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
109
+ }
110
+
111
+ var html = '';
112
+ if (toType(data) == 'object' ) {
113
+
114
+ if (className) {
115
+ html = '<dl class="'+ String(className).escapeHTML() +'">';
116
+ } else {
117
+ html = '<dl>';
118
+ }
119
+
120
+ for (var prop in data)
121
+ {
122
+ var name = prop.charAt(0).toUpperCase() + prop.slice(1);
123
+ if (prop == 'modules') {
124
+ html += '<dt>'+ name.escapeHTML() +'</dt><dd>';
125
+ for (var moduleName in data[prop]) {
126
+ html += String(moduleName +'-'+ data[prop][moduleName].codePool + (data[prop][moduleName].version != undefined ? '-' + data[prop][moduleName].version : '') + (data[prop][moduleName].active ? '' : ' (inactive)')).escapeHTML() +'<br />';
127
+ }
128
+ html += '</dd>';
129
+ }
130
+ else {
131
+ html += '<dt>'+ name.escapeHTML() +'</dt><dd>'+ this.getFieldListHtml(data[prop]) +'</dd>';
132
+ }
133
+ }
134
+ html += '</dl>';
135
+ } else {
136
+ html = String(data === null ? '- none -' : data).escapeHTML();
137
+ }
138
+ return html;
139
+ },
140
+
141
 
142
  /**
143
  * Toggle 'readonly' on multiple fields. Sets class, attribute.
237
  if ($(prefix +'showcase'))
238
  $(prefix +'showcase').remove();
239
 
240
+ var info = pcnlapi.getFieldListHtml(json.showcaseResponse, 'pcnl-showcase');
 
 
 
 
 
241
 
242
  var map = '';
243
  if (json.showcaseResponse.longitude && json.showcaseResponse.latitude)
248
  if ($(prefix + countryFieldId).parentNode.tagName == 'TD')
249
  {
250
  // We're probably in the admin
251
+ $(prefix + street1).up('tr').insert({before: '<tr id="' + prefix + 'showcase"><td class="label">'+ PCNLAPI_CONFIG.translations.apiShowcase.escapeHTML() +'</label></td><td class="value"><h4 class="pcnl-showcase">'+ PCNLAPI_CONFIG.translations.apiShowcase.escapeHTML() +'</h4>'+ info + '</td></tr>'});
252
  }
253
  else
254
  {
255
+ $(prefix + street1).up('li').insert({before: '<li id="' + prefix +'showcase" class="wide"><div class="input-box"><h4 class="pcnl-showcase">'+ PCNLAPI_CONFIG.translations.apiShowcase.escapeHTML() +'</h4>'+ map + info + '</div></li>'});
256
+ }
257
+ }
258
+ if (PCNLAPI_CONFIG.debug)
259
+ {
260
+ if ($(prefix +'debug'))
261
+ $(prefix +'debug').remove();
262
+
263
+ var info = pcnlapi.getFieldListHtml(json.debugInfo, 'pcnl-debug');
264
+
265
+ if ($(prefix + countryFieldId).parentNode.tagName == 'TD')
266
+ {
267
+ // We're probably in the admin
268
+ $(prefix + street1).up('tr').insert({before: '<tr id="' + prefix + 'debug"><td class="label">'+ PCNLAPI_CONFIG.translations.apiDebug.escapeHTML() +'</label></td><td class="value"><h4 class="pcnl-debug">'+ PCNLAPI_CONFIG.translations.apiDebug.escapeHTML() +'</h4>'+ info + '</td></tr>'});
269
+ }
270
+ else
271
+ {
272
+ $(prefix + street1).up('li').insert({before: '<li id="' + prefix +'debug" class="wide"><div class="input-box"><h4 class="pcnl-debug">'+ PCNLAPI_CONFIG.translations.apiDebug.escapeHTML() +'</h4>'+ info + '</div></li>'});
273
  }
274
  }
275
 
387
  $(prefix + street1).up('tr').insert({before: '<tr id="' + prefix + 'postcode_input:checkbox"><td class="label"><label for="' + prefix + 'postcode_input_checkbox"> '+ PCNLAPI_CONFIG.translations.manualInputLabel +' <span class="required">*</span></label></td><td class="value"><input type="checkbox" id="' + prefix + 'postcode_input_checkbox" value="" class="checkbox" /><label for="' + prefix + 'postcode_input_checkbox">'+ PCNLAPI_CONFIG.translations.manualInputText +'</label></td></tr>'});
388
  $(prefix +'postcode_input_checkbox').observe('click', function () { pcnlapi.toggleCountryPostcode(prefix, postcodeFieldId, countryFieldId, street1, street2, street3, street4); });
389
  }
390
+ else if ($(document.body).hasClassName('onestepcheckout-index-index') && $('onestepcheckout-form'))
391
  {
392
  // Support for OneStepCheckout extension
393
 
395
  {
396
  $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:info" class="clearfix"><div class="input-box"><label class="pcnl-info-label">'+ PCNLAPI_CONFIG.translations.infoLabel +'</label><div class="pcnl-info-text">'+ PCNLAPI_CONFIG.translations.infoText +'</div></div></li>'});
397
  }
398
+ $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:wrapper" class="clearfix"><div class="field input-postcode"><label for="' + prefix + 'postcode_input">'+ PCNLAPI_CONFIG.translations.postcodeInputLabel +'<em class="required">*</em></label><div class="input-box"><input type="text" title="'+ PCNLAPI_CONFIG.translations.postcodeInputTitle +'" id="' + prefix + 'postcode_input" value="" class="input-text required-entry" /></div></div><div class="field input-postcode pcnl-input-housenumber"><label for="' + prefix + 'postcode_housenumber">'+ PCNLAPI_CONFIG.translations.houseNumberLabel +' <em class="required">*</em></label><div class="input-box"><input type="text" title="'+ PCNLAPI_CONFIG.translations.houseNumberTitle +'" name="billing[postcode_housenumber]" id="' + prefix + 'postcode_housenumber" value="" class="input-text pcnl-input-text-half required-entry" /></div></div></li>'});
399
  if (!$(prefix +'postcode_input:checkbox'))
400
  {
401
  $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:checkbox" class="clearfix"><div class="field"><div class="input-box"><input type="checkbox" title="'+ PCNLAPI_CONFIG.translations.postcodeInputTitle +'" id="' + prefix + 'postcode_input_checkbox" value="" class="checkbox" /><label for="' + prefix + 'postcode_input_checkbox">'+ PCNLAPI_CONFIG.translations.manualInputText +'</label></div></div></li>'});
402
  $(prefix +'postcode_input_checkbox').observe('click', function () { pcnlapi.toggleCountryPostcode(prefix, postcodeFieldId, countryFieldId, street1, street2, street3, street4); });
403
  }
404
+ $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:output" class="pcnl-hidden-field"><div class="input-box"><label>'+ PCNLAPI_CONFIG.translations.outputLabel +'</label><div id="' + prefix + 'postcode_output" class="pcnl-address-text"></div></div></li>'});
405
+ }
406
+ else if ($(document.body).hasClassName('onestepcheckout-index-index') && $('one-step-checkout-form'))
407
+ {
408
+ // Support for MageStore One Step Checkout extension
409
+
410
+ if (!$(prefix +'postcode_input:info'))
411
+ {
412
+ $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:info" class="wide"><label class="pcnl-info-label">'+ PCNLAPI_CONFIG.translations.infoLabel +'</label><div class="pcnl-info-text">'+ PCNLAPI_CONFIG.translations.infoText +'</div></li>'});
413
+ }
414
+ $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:wrapper" class="input-box"><div class="input-box input-postcode"><label for="' + prefix + 'postcode_input">'+ PCNLAPI_CONFIG.translations.postcodeInputLabel +' <span class="required">*</span></label><br>'+
415
+ '<input type="text" title="'+ PCNLAPI_CONFIG.translations.postcodeInputTitle +'" id="' + prefix + 'postcode_input" value="" class="input-text required-entry" /></div>'+
416
+ '<div class="input-box input-postcode pcnl-input-housenumber"><label for="' + prefix + 'postcode_housenumber">'+ PCNLAPI_CONFIG.translations.houseNumberLabel +' <span class="required">*</span></label><br><input type="text" title="'+ PCNLAPI_CONFIG.translations.houseNumberTitle +'" name="billing[postcode_housenumber]" id="' + prefix + 'postcode_housenumber" value="" class="input-text pcnl-input-text-half required-entry" /></div></li>'});
417
+
418
+ if (!$(prefix +'postcode_input:checkbox'))
419
+ {
420
+ $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:checkbox" class="clearfix"><div class="input-box"><input type="checkbox" title="'+ PCNLAPI_CONFIG.translations.postcodeInputTitle +'" id="' + prefix + 'postcode_input_checkbox" value="" class="checkbox" /><label for="' + prefix + 'postcode_input_checkbox">'+ PCNLAPI_CONFIG.translations.manualInputText +'</label></div></li>'});
421
+ $(prefix +'postcode_input_checkbox').observe('click', function () { pcnlapi.toggleCountryPostcode(prefix, postcodeFieldId, countryFieldId, street1, street2, street3, street4); });
422
+ }
423
+ $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:output" class="pcnl-hidden-field"><div class="input-box"><label>'+ PCNLAPI_CONFIG.translations.outputLabel +'</label><div id="' + prefix + 'postcode_output" class="pcnl-address-text"></div></div></li>'});
424
+ }
425
+ else if ($(document.body).hasClassName('gomage-checkout-onepage-index'))
426
+ {
427
+ // Support for GoMage LightCheckout extension
428
+
429
+ if (!$(prefix +'postcode_input:info'))
430
+ {
431
+ $(prefix + 'country_id').up('li').insert({before: '<li id="' + prefix + 'postcode_input:info" class="pcnl-info"><div class="input-box"><label class="pcnl-info-label">'+ PCNLAPI_CONFIG.translations.infoLabel +'</label><div class="pcnl-info-text">'+ PCNLAPI_CONFIG.translations.infoText +'</div></div></li>'});
432
+ }
433
+ $(prefix + 'country_id').up('li').insert({before: '<li id="' + prefix + 'postcode_input:wrapper" class="fields"><div class="field input-postcode"><label for="' + prefix + 'postcode_input" class="required">'+ PCNLAPI_CONFIG.translations.postcodeInputLabel +'<em class="required">*</em></label><div class="input-box"><input type="text" title="'+ PCNLAPI_CONFIG.translations.postcodeInputTitle +'" id="' + prefix + 'postcode_input" value="" class="input-text required-entry" /></div></div><div class="field input-postcode pcnl-input-housenumber"><label for="' + prefix + 'postcode_housenumber" class="required">'+ PCNLAPI_CONFIG.translations.houseNumberLabel +' <em class="required">*</em></label><div class="input-box"><input type="text" title="'+ PCNLAPI_CONFIG.translations.houseNumberTitle +'" name="billing[postcode_housenumber]" id="' + prefix + 'postcode_housenumber" value="" class="input-text pcnl-input-text-half required-entry" /></div></div></li>'});
434
+ if (!$(prefix +'postcode_input:checkbox'))
435
+ {
436
+ $(prefix + 'country_id').up('li').insert({before: '<li id="' + prefix + 'postcode_input:checkbox" class="pcnl-manual-checkbox"><div class="field"><div class="input-box"><input type="checkbox" title="'+ PCNLAPI_CONFIG.translations.postcodeInputTitle +'" id="' + prefix + 'postcode_input_checkbox" value="" class="checkbox " /><label for="' + prefix + 'postcode_input_checkbox">'+ PCNLAPI_CONFIG.translations.manualInputText +'</label></div></div></li>'});
437
+ $(prefix + 'postcode_input_checkbox').observe('click', function () { pcnlapi.toggleCountryPostcode(prefix, postcodeFieldId, countryFieldId, street1, street2, street3, street4); });
438
+ }
439
+ $(prefix + 'country_id').up('li').insert({before: '<li id="' + prefix + 'postcode_input:output" class="pcnl-hidden-field"><div class="input-box"><label>'+ PCNLAPI_CONFIG.translations.outputLabel +'</label><div id="' + prefix + 'postcode_output" class="pcnl-address-text"></div></div></li>'});
440
+ }
441
+ else if ($(document.body).hasClassName('checkout-onestep-index'))
442
+ {
443
+ // FME One Step Checkout
444
 
445
+ if (!$(prefix +'postcode_input:info'))
446
+ {
447
+ $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:info" class="pcnl-info d_3"><div class="input-box"><label class="pcnl-info-label">'+ PCNLAPI_CONFIG.translations.infoLabel +'</label><div class="pcnl-info-text">'+ PCNLAPI_CONFIG.translations.infoText +'</div></div></li>'});
448
+ }
449
+ $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:wrapper" class="d_2"><div class="input-postcode d_1"><label for="' + prefix + 'postcode_input" class="required">'+ PCNLAPI_CONFIG.translations.postcodeInputLabel +'<em class="required">*</em></label><div class="input-box"><input type="text" title="'+ PCNLAPI_CONFIG.translations.postcodeInputTitle +'" id="' + prefix + 'postcode_input" value="" class="input-text required-entry" /></div></div><div class="input-postcode pcnl-input-housenumber d_4"><label for="' + prefix + 'postcode_housenumber" class="required">'+ PCNLAPI_CONFIG.translations.houseNumberLabel +' <em class="required">*</em></label><div class="input-box"><input type="text" title="'+ PCNLAPI_CONFIG.translations.houseNumberTitle +'" name="billing[postcode_housenumber]" id="' + prefix + 'postcode_housenumber" value="" class="input-text pcnl-input-text-half required-entry" /></div></div></li>'});
450
+ if (!$(prefix +'postcode_input:checkbox'))
451
+ {
452
+ $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:checkbox" class="pcnl-manual-checkbox d_3"><div><div class="input-box"><input type="checkbox" title="'+ PCNLAPI_CONFIG.translations.postcodeInputTitle +'" id="' + prefix + 'postcode_input_checkbox" value="" class="checkbox " /><label for="' + prefix + 'postcode_input_checkbox">'+ PCNLAPI_CONFIG.translations.manualInputText +'</label></div></div></li>'});
453
+ $(prefix + 'postcode_input_checkbox').observe('click', function () { pcnlapi.toggleCountryPostcode(prefix, postcodeFieldId, countryFieldId, street1, street2, street3, street4); });
454
+ }
455
+ $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:output" class="pcnl-hidden-field d_3"><div class="input-box"><label>'+ PCNLAPI_CONFIG.translations.outputLabel +'</label><div id="' + prefix + 'postcode_output" class="pcnl-address-text"></div></div></li>'});
456
  }
457
  else
458
  {
459
  // Support for regular Magento 'one page' checkout
460
+ // + Fire Checkout
461
+ // + Quick One Page Checkout (by KAM)
462
 
463
  if (!$(prefix +'postcode_input:info'))
464
  {
470
  $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:checkbox" class="wide"><div class="field"><div class="input-box"><label><input type="checkbox" title="'+ PCNLAPI_CONFIG.translations.postcodeInputTitle +'" id="' + prefix + 'postcode_input_checkbox" value="" class="checkbox" /> '+ PCNLAPI_CONFIG.translations.manualInputText +'</label></div></div></li>'});
471
  $(prefix +'postcode_input_checkbox').observe('click', function () { pcnlapi.toggleCountryPostcode(prefix, postcodeFieldId, countryFieldId, street1, street2, street3, street4); });
472
  }
473
+ $(prefix + street1).up('li').insert({before: '<li id="' + prefix + 'postcode_input:output" class="wide pcnl-hidden-field"><div class="input-box"><label>'+ PCNLAPI_CONFIG.translations.outputLabel +'</label><div id="' + prefix + 'postcode_output" class="pcnl-address-text"></div></div></li>'});
474
  }
475
 
476
  $(prefix +'postcode_input').observe('change', function(e) { pcnlapi.lookupPostcode(prefix, postcodeFieldId, countryFieldId, street1, street2, street3, street4, e); });
657
  addAddressCheckObservers: function ()
658
  {
659
  var pcnlapi = this;
660
+ // 'Normal' Checkout pages (OneStepCheckout, Magento Default)
661
  if ($('billing:postcode'))
662
  {
663
  $('billing:country_id').observe('change', function () { pcnlapi.toggleCountryPostcode('billing:', 'postcode', 'country_id', 'street1', 'street2', 'street3', 'street4'); });
668
  if (!$('shipping:country_id') || $('shipping:country_id').getValue() == 'NL')
669
  this.toggleCountryPostcode('shipping:', 'postcode', 'country_id', 'street1', 'street2', 'street3', 'street4');
670
  }
671
+ // GoMage LightCheckout
672
+ if ($('billing_postcode'))
673
+ {
674
+ $('billing_country_id').observe('change', function () { pcnlapi.toggleCountryPostcode('billing_', 'postcode', 'country_id', 'street1', 'street2', 'street3', 'street4'); });
675
+ $('shipping_country_id').observe('change', function () { pcnlapi.toggleCountryPostcode('shipping_', 'postcode', 'country_id', 'street1', 'street2', 'street3', 'street4'); });
676
+
677
+ if (!$('billing_country_id') || $('billing_country_id').getValue() == 'NL')
678
+ this.toggleCountryPostcode('billing_', 'postcode', 'country_id', 'street1', 'street2', 'street3', 'street4');
679
+ if (!$('shipping_country_id') || $('shipping_country_id').getValue() == 'NL')
680
+ this.toggleCountryPostcode('shipping_', 'postcode', 'country_id', 'street1', 'street2', 'street3', 'street4');
681
+ }
682
 
683
  // Misc. account address edits
684
  if ($('zip') && $('street_1'))
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>PostcodeNl_Api</name>
4
- <version>1.0.3.0</version>
5
  <stability>stable</stability>
6
  <license>Simplified BSD License</license>
7
  <channel>community</channel>
@@ -15,11 +15,13 @@
15
  &#x2022; Improve sale conversion&#xD;
16
  &#xD;
17
  The postcode Magento plugin from Postcode.nl is free of charge, based on a Fair-Use policy. The use of the Postcode.nl Magento plugin is subject to our Terms and Conditions.</description>
18
- <notes>- Improved</notes>
 
 
19
  <authors><author><name>Postcode.nl Technical Support</name><user>auto-converted</user><email>tech@postcode.nl</email></author></authors>
20
- <date>2012-10-04</date>
21
- <time>13:16:32</time>
22
- <contents><target name="magecommunity"><dir name="PostcodeNl"><dir name="Api"><dir name="Block"><file name="Jsinit.php" hash="79bb826a50ce0cf4f87cc2f958bfafa1"/></dir><dir name="Helper"><file name="Data.php" hash="86d092299190f0c57ef73e9432278306"/></dir><dir name="controllers"><file name="JsonController.php" hash="dad3e355c6afa089f6a34529668b329c"/></dir><dir name="etc"><file name="config.xml" hash="3d825ee34ef943f7cc238d7bbd24eb19"/><file name="system.xml" hash="a9f001a7ecd29056679873229284fa80"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="postcodenl"><dir name="api"><file name="lookup.xml" hash="912aa0881de03e5d7bd338a00e783215"/></dir></dir></dir><dir name="template"><dir name="postcodenl"><dir name="api"><file name="jsinit.phtml" hash="6491c9645899b5ef3dacba8ffd7f1907"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><dir name="postcodenl"><dir name="api"><file name="lookup.xml" hash="dd9c9bf60ea350d6db1297cb314ed4e5"/></dir></dir></dir><dir name="template"><dir name="postcodenl"><dir name="api"><file name="jsinit.phtml" hash="6f924e1e5dc0b9c6d2a806fdb56c69ea"/></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="PostcodeNl_Api.csv" hash="5af815dac0885d366044eb2821ca1fe0"/></dir><dir name="nl_NL"><file name="PostcodeNl_Api.csv" hash="bc73ddde82fc9f04614860b55f6384ea"/></dir></target><target name="mageweb"><dir name="js"><dir name="postcodenl"><dir name="api"><file name="lookup.js" hash="816ac665add89c972f7411552c3a72c5"/></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="postcodenl"><dir name="api"><dir name="css"><file name="lookup.css" hash="187bded4d9ecf658a1d3d2c14e88bdd0"/></dir><dir name="images"><file name="postcode-logo.png" hash="da02bc29be1057a0201e63f81ee4bd02"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="postcodenl"><dir name="api"><dir name="css"><file name="lookup.css" hash="ec47a06c962a6e7b95db979c378864e7"/></dir><dir name="images"><file name="postcode-logo-mini.png" hash="9865df949cb463bcddde5688bbb3acb7"/><file name="postcode-logo.png" hash="da02bc29be1057a0201e63f81ee4bd02"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="PostcodeNl_Api.xml" hash="feeaf95128ffe4ad109ed8b0b8bc85ab"/></dir></target></contents>
23
  <compatible/>
24
  <dependencies/>
25
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>PostcodeNl_Api</name>
4
+ <version>1.0.4.0</version>
5
  <stability>stable</stability>
6
  <license>Simplified BSD License</license>
7
  <channel>community</channel>
15
  &#x2022; Improve sale conversion&#xD;
16
  &#xD;
17
  The postcode Magento plugin from Postcode.nl is free of charge, based on a Fair-Use policy. The use of the Postcode.nl Magento plugin is subject to our Terms and Conditions.</description>
18
+ <notes>Changes:&#xD;
19
+ - Added support for standard 'multi-shipping' checkout&#xD;
20
+ - Added 'debug' configuration option for better support</notes>
21
  <authors><author><name>Postcode.nl Technical Support</name><user>auto-converted</user><email>tech@postcode.nl</email></author></authors>
22
+ <date>2012-11-12</date>
23
+ <time>13:53:48</time>
24
+ <contents><target name="magecommunity"><dir name="PostcodeNl"><dir name="Api"><dir name="Block"><file name="Jsinit.php" hash="79bb826a50ce0cf4f87cc2f958bfafa1"/></dir><dir name="Helper"><file name="Data.php" hash="86d092299190f0c57ef73e9432278306"/></dir><dir name="controllers"><file name="JsonController.php" hash="884545e1c26207d86cd7683b60974a0e"/></dir><dir name="etc"><file name="config.xml" hash="7d2ea12859aa834e25fa5da41f0faf97"/><file name="system.xml" hash="c971d989e8bcf61b9316b666639844c7"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="postcodenl"><dir name="api"><file name="lookup.xml" hash="912aa0881de03e5d7bd338a00e783215"/></dir></dir></dir><dir name="template"><dir name="postcodenl"><dir name="api"><file name="jsinit.phtml" hash="2f8be9e6192b0d0ef02e9188bf0214c7"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><dir name="postcodenl"><dir name="api"><file name="lookup.xml" hash="44e3f5799f64c34fc57f182949d672f0"/></dir></dir></dir><dir name="template"><dir name="postcodenl"><dir name="api"><file name="jsinit.phtml" hash="362e94a70a0b38e4bf8e3fafdf315aac"/></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="PostcodeNl_Api.csv" hash="87b46a0e02dfc0ed616878d7a79b1bec"/></dir><dir name="nl_NL"><file name="PostcodeNl_Api.csv" hash="9f04e27805e115526e49bb06b360cdf4"/></dir></target><target name="mageweb"><dir name="js"><dir name="postcodenl"><dir name="api"><file name="lookup.js" hash="bc18174741858e61189ace27041d33f5"/></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="postcodenl"><dir name="api"><dir name="css"><file name="lookup.css" hash="c58103b505f8bcdf55cea1159ca21e27"/></dir><dir name="images"><file name="postcode-logo.png" hash="da02bc29be1057a0201e63f81ee4bd02"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="postcodenl"><dir name="api"><dir name="css"><file name="lookup.css" hash="64ff19e6eae39735d997ac5a73c039cb"/></dir><dir name="images"><file name="postcode-logo.png" hash="da02bc29be1057a0201e63f81ee4bd02"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="PostcodeNl_Api.xml" hash="feeaf95128ffe4ad109ed8b0b8bc85ab"/></dir></target></contents>
25
  <compatible/>
26
  <dependencies/>
27
  </package>
skin/adminhtml/default/default/postcodenl/api/css/lookup.css CHANGED
@@ -1,6 +1,6 @@
1
  /* Backend styles */
2
 
3
- h4.pcnl-showcase {
4
  background: url(../images/postcode-logo.png) left center no-repeat;
5
  padding-left: 146px;
6
  height: 22px;
@@ -9,7 +9,7 @@ h4.pcnl-showcase {
9
  margin-bottom: 0px;
10
  }
11
 
12
- dl.pcnl-showcase {
13
  padding: 4px;
14
  border: 1px solid grey;
15
  border-radius: 4px;
@@ -17,10 +17,10 @@ dl.pcnl-showcase {
17
  background: white;
18
  }
19
 
20
- dl.pcnl-showcase dt {
21
  font-weight: bold;
22
  }
23
- dl.pcnl-showcase dd {
24
  margin-left: 20px;
25
  }
26
 
1
  /* Backend styles */
2
 
3
+ h4.pcnl-showcase, h4.pcnl-debug {
4
  background: url(../images/postcode-logo.png) left center no-repeat;
5
  padding-left: 146px;
6
  height: 22px;
9
  margin-bottom: 0px;
10
  }
11
 
12
+ dl.pcnl-showcase, dl.pcnl-debug {
13
  padding: 4px;
14
  border: 1px solid grey;
15
  border-radius: 4px;
17
  background: white;
18
  }
19
 
20
+ dl.pcnl-showcase dt, dl.pcnl-debug dt {
21
  font-weight: bold;
22
  }
23
+ dl.pcnl-showcase dd, dl.pcnl-debug dd {
24
  margin-left: 20px;
25
  }
26
 
skin/frontend/default/default/postcodenl/api/css/lookup.css CHANGED
@@ -4,14 +4,6 @@ input.pcnl-readonly {
4
  background-color: #EEE;
5
  }
6
 
7
- label.pcnl-info-label {
8
- display: block;
9
- background: url(../images/postcode-logo-mini.png) left center no-repeat;
10
- padding-left: 110px;
11
- margin-bottom: 0px;
12
- float: none;
13
- }
14
-
15
  .form-list input.pcnl-input-text-half {
16
  width: 45%;
17
  margin-right:5px;
@@ -26,11 +18,14 @@ select.pcnl-readonly {
26
  font-style: italic;
27
  }
28
 
29
-
30
  .pcnl-info-text {
31
  font-size: 90%;
32
  }
33
 
 
 
 
 
34
  .pcnl-address-text {
35
  font-style: italic;
36
  clear: both;
@@ -52,7 +47,7 @@ select.pcnl-readonly {
52
 
53
  /* Showcase styles */
54
 
55
- h4.pcnl-showcase {
56
  background: url(../images/postcode-logo.png) left center no-repeat;
57
  padding-left: 146px;
58
  height: 22px;
@@ -60,7 +55,7 @@ h4.pcnl-showcase {
60
  margin-bottom: 0px;
61
  }
62
 
63
- dl.pcnl-showcase {
64
  padding: 4px;
65
  border: 1px solid grey;
66
  border-radius: 4px;
@@ -78,10 +73,10 @@ dl.pcnl-showcase iframe {
78
  border: 1px solid grey;
79
  }
80
 
81
- dl.pcnl-showcase dt {
82
  font-weight: bold;
83
  }
84
- dl.pcnl-showcase dd {
85
  margin-left: 20px;
86
  }
87
 
@@ -110,3 +105,27 @@ div.checkoutcontainer dl.pcnl-showcase iframe {
110
  margin-bottom: 15px;
111
  border: 1px solid grey;
112
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  background-color: #EEE;
5
  }
6
 
 
 
 
 
 
 
 
 
7
  .form-list input.pcnl-input-text-half {
8
  width: 45%;
9
  margin-right:5px;
18
  font-style: italic;
19
  }
20
 
 
21
  .pcnl-info-text {
22
  font-size: 90%;
23
  }
24
 
25
+ .pcnl-info-label {
26
+ float: none !important;
27
+ }
28
+
29
  .pcnl-address-text {
30
  font-style: italic;
31
  clear: both;
47
 
48
  /* Showcase styles */
49
 
50
+ h4.pcnl-showcase, h4.pcnl-debug {
51
  background: url(../images/postcode-logo.png) left center no-repeat;
52
  padding-left: 146px;
53
  height: 22px;
55
  margin-bottom: 0px;
56
  }
57
 
58
+ dl.pcnl-showcase, dl.pcnl-debug {
59
  padding: 4px;
60
  border: 1px solid grey;
61
  border-radius: 4px;
73
  border: 1px solid grey;
74
  }
75
 
76
+ dl.pcnl-showcase dt, dl.pcnl-debug dt {
77
  font-weight: bold;
78
  }
79
+ dl.pcnl-showcase dd, dl.pcnl-debug dd {
80
  margin-left: 20px;
81
  }
82
 
105
  margin-bottom: 15px;
106
  border: 1px solid grey;
107
  }
108
+
109
+ /* GoMage LightCheckout */
110
+ body.gomage-checkout-onepage-index dl.pcnl-debug {
111
+ width: 260px;
112
+ overflow: hidden;
113
+ }
114
+
115
+ body.gomage-checkout-onepage-index dl.pcnl-debug:hover {
116
+ width: auto;
117
+ overflow: normal;
118
+ }
119
+
120
+ body.gomage-checkout-onepage-index .pcnl-manual-checkbox label,
121
+ body.gomage-checkout-onepage-index .pcnl-info label {
122
+ float: none;
123
+ }
124
+ body.gomage-checkout-onepage-index .pcnl-info-text {
125
+ width: 90%;
126
+ }
127
+
128
+ /* MageStore One Step Checkout */
129
+ body.onestepcheckout-index-index #one-step-checkout-form .pcnl-info-text {
130
+ width: 78%;
131
+ }
skin/frontend/default/default/postcodenl/api/images/postcode-logo-mini.png DELETED
Binary file