Version Notes
Fixes:
- Marked compatible with PHP7
- Simpler config for enabling addon in frontend and backend
- Updated readme texts and links
- Removed signal api
Download this release
Release Info
Developer | Postcode.nl Technical Support |
Extension | PostcodeNl_Api |
Version | 1.2.5.0 |
Comparing to | |
See all releases |
Code changes from version 1.2.4.0 to 1.2.5.0
- app/code/community/PostcodeNl/Api/Helper/Data.php +20 -312
- app/code/community/PostcodeNl/Api/Model/Observer.php +0 -26
- app/code/community/PostcodeNl/Api/controllers/Adminhtml/PcnlController.php +1 -0
- app/code/community/PostcodeNl/Api/controllers/JsonController.php +1 -0
- app/code/community/PostcodeNl/Api/etc/config.xml +3 -16
- app/code/community/PostcodeNl/Api/etc/system.xml +7 -37
- app/design/adminhtml/default/default/layout/postcodenl/api/lookup.xml +8 -8
- app/locale/en_US/PostcodeNl_Api.csv +6 -19
- app/locale/nl_NL/PostcodeNl_Api.csv +6 -19
- package.xml +12 -12
app/code/community/PostcodeNl/Api/Helper/Data.php
CHANGED
@@ -14,6 +14,7 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
14 |
protected $_httpClientError = null;
|
15 |
protected $_debuggingOverride = false;
|
16 |
|
|
|
17 |
/**
|
18 |
* Get the html for initializing validation script.
|
19 |
*
|
@@ -23,7 +24,7 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
23 |
*/
|
24 |
public function getJsinit($getAdminConfig = false)
|
25 |
{
|
26 |
-
if ($getAdminConfig &&
|
27 |
return '';
|
28 |
|
29 |
$baseUrl = $this->_getMagentoLookupUrl($getAdminConfig);
|
@@ -57,7 +58,7 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
57 |
apiDebug: "' . htmlspecialchars($this->__('API Debug')) . '",
|
58 |
disabledText: "' . htmlspecialchars($this->__('- disabled -')) . '",
|
59 |
infoLabel: "' . htmlspecialchars($this->__('Address validation')) . '",
|
60 |
-
infoText: "' . htmlspecialchars($this->__('Fill out your postcode and housenumber to auto-complete your address.
|
61 |
manualInputLabel: "' . htmlspecialchars($this->__('Manual input')) . '",
|
62 |
manualInputText: "' . htmlspecialchars($this->__('Fill out address information manually')) . '",
|
63 |
outputLabel: "' . htmlspecialchars($this->__('Validated address')) . '",
|
@@ -70,31 +71,6 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
70 |
return $html;
|
71 |
}
|
72 |
|
73 |
-
/**
|
74 |
-
* Check if a specific service is enabled or not.
|
75 |
-
*
|
76 |
-
* @param string $service
|
77 |
-
*
|
78 |
-
* @return bool
|
79 |
-
*/
|
80 |
-
public function isApiEnabled($service)
|
81 |
-
{
|
82 |
-
// If we're debugging, assume all services are enabled, to get feedback on all levels.
|
83 |
-
if ($this->isDebugging())
|
84 |
-
return true;
|
85 |
-
|
86 |
-
if (!$this->_getStoreConfig('postcodenl_api/config/enabled'))
|
87 |
-
return false;
|
88 |
-
|
89 |
-
if ($service === 'Address' && !$this->_getStoreConfig('postcodenl_api/config/enabled_address_api'))
|
90 |
-
return false;
|
91 |
-
|
92 |
-
if ($service === 'Signal' && !$this->_getStoreConfig('postcodenl_api/config/enabled_signal_api'))
|
93 |
-
return false;
|
94 |
-
|
95 |
-
return true;
|
96 |
-
}
|
97 |
-
|
98 |
/**
|
99 |
* Check if we're currently in debug mode, and if the current user may see dev info.
|
100 |
*
|
@@ -104,8 +80,8 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
104 |
{
|
105 |
if ($this->_debuggingOverride)
|
106 |
return true;
|
107 |
-
|
108 |
-
|
109 |
}
|
110 |
|
111 |
/**
|
@@ -113,7 +89,7 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
113 |
*
|
114 |
* @param bool $toggle
|
115 |
*/
|
116 |
-
|
117 |
{
|
118 |
$this->_debuggingOverride = $toggle;
|
119 |
}
|
@@ -130,7 +106,7 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
130 |
public function lookupAddress($postcode, $houseNumber, $houseNumberAddition)
|
131 |
{
|
132 |
// Check if we are we enabled, configured & capable of handling an API request
|
133 |
-
$message = $this->_checkApiReady(
|
134 |
if ($message)
|
135 |
return $message;
|
136 |
|
@@ -221,217 +197,6 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
221 |
$this->_enrichType = substr($this->_enrichType, 0, 40);
|
222 |
}
|
223 |
|
224 |
-
/**
|
225 |
-
* Perform a Signal API check.
|
226 |
-
*
|
227 |
-
* @param array $signalCheck
|
228 |
-
*
|
229 |
-
* @return array Signal result
|
230 |
-
*/
|
231 |
-
public function checkSignal(array $signalCheck)
|
232 |
-
{
|
233 |
-
// Check if we are we enabled, configured & capable of handling an API request
|
234 |
-
$message = $this->_checkApiReady('Signal');
|
235 |
-
if ($message)
|
236 |
-
return $message;
|
237 |
-
|
238 |
-
$response = array();
|
239 |
-
|
240 |
-
$url = $this->_getServiceUrl() . '/rest/signal/check';
|
241 |
-
|
242 |
-
$jsonData = $this->_callApiUrlPostJson($url, $signalCheck);
|
243 |
-
|
244 |
-
if ($this->_httpResponseCodeClass == 200 && is_array($jsonData))
|
245 |
-
{
|
246 |
-
$response = $jsonData;
|
247 |
-
}
|
248 |
-
else if (is_array($jsonData) && isset($jsonData['exceptionId']))
|
249 |
-
{
|
250 |
-
if ($this->_httpResponseCode == 401 || $this->_httpResponseCode == 403)
|
251 |
-
$response['message'] = $this->__('Invalid Signal API authentication:') .' (`'. $this->_httpResponseCode .'`): ' . $jsonData['exception'];
|
252 |
-
else if ($this->_httpResponseCodeClass == 400)
|
253 |
-
$response['message'] = $this->__('Invalid Signal API input:') .' (`'. $this->_httpResponseCode .'`): ' . $jsonData['exception'];
|
254 |
-
else
|
255 |
-
$response['message'] = $this->__('Signal API error:') .' (`'. $this->_httpResponseCode .'`): '. $jsonData['exception'];
|
256 |
-
}
|
257 |
-
else
|
258 |
-
{
|
259 |
-
$response['message'] = $this->__('Signal API response not understood, service unavailable.') . 'HTTP status code: `'. $this->_httpResponseCode .'`';
|
260 |
-
}
|
261 |
-
|
262 |
-
if ($this->isDebugging())
|
263 |
-
$response['debugInfo'] = $this->_getDebugInfo($url, $jsonData);
|
264 |
-
|
265 |
-
return $response;
|
266 |
-
}
|
267 |
-
|
268 |
-
/**
|
269 |
-
* Split a house number addition from a house number.
|
270 |
-
* Examples: "123 2", "123 rood", "123a", "123a4", "123-a", "123 II"
|
271 |
-
* (the official notation is to separate the house number and addition with a single space)
|
272 |
-
*
|
273 |
-
* @param string $houseNumber House number input
|
274 |
-
*
|
275 |
-
* @return array Split 'houseNumber' and 'houseNumberAddition'
|
276 |
-
*/
|
277 |
-
public function splitHouseNumber($houseNumber)
|
278 |
-
{
|
279 |
-
$houseNumberAddition = '';
|
280 |
-
if (preg_match('~^(?<number>[0-9]+)(?:[^0-9a-zA-Z]+(?<addition1>[0-9a-zA-Z ]+)|(?<addition2>[a-zA-Z](?:[0-9a-zA-Z ]*)))?$~', $houseNumber, $match))
|
281 |
-
{
|
282 |
-
$houseNumber = $match['number'];
|
283 |
-
$houseNumberAddition = isset($match['addition2']) ? $match['addition2'] : (isset($match['addition1']) ? $match['addition1'] : null);
|
284 |
-
}
|
285 |
-
|
286 |
-
return array($houseNumber, $houseNumberAddition);
|
287 |
-
}
|
288 |
-
|
289 |
-
/**
|
290 |
-
* Split a street name, house number and house number addition from a text lines containing a street and house number information.
|
291 |
-
*
|
292 |
-
* @param array $streetData Lines of street data
|
293 |
-
*
|
294 |
-
* @return array Array containing 'street', 'houseNumber' and 'houseNumberAddition'
|
295 |
-
*/
|
296 |
-
public function splitStreetData(array $streetData)
|
297 |
-
{
|
298 |
-
$regexpStreet = '[^0-9].*?|.*?[^0-9]';
|
299 |
-
$regexpHouseNumber = '[0-9]+';
|
300 |
-
$regexpHouseNumberAddition = '[^\\s]+|[^\\s]\\s+[^\\s]{1,4}';
|
301 |
-
|
302 |
-
if (preg_match('~^(?<street>'. $regexpStreet .')\s+(?<houseNumber>'. $regexpHouseNumber .')([^0-9a-zA-Z]*(?<houseNumberAddition>'. $regexpHouseNumberAddition .'))?\s*$~', $streetData[0], $match))
|
303 |
-
{
|
304 |
-
// Found housenumber contained in first street line
|
305 |
-
return array(
|
306 |
-
'street' => $match['street'],
|
307 |
-
'houseNumber' => $match['houseNumber'],
|
308 |
-
'houseNumberAddition' => isset($match['houseNumberAddition']) ? $match['houseNumberAddition'] : null,
|
309 |
-
);
|
310 |
-
}
|
311 |
-
else if (isset($streetData[1]))
|
312 |
-
{
|
313 |
-
// Find housenumber contained in second street line
|
314 |
-
|
315 |
-
$houseNumberData = $this->splitHouseNumber($streetData[1]);
|
316 |
-
|
317 |
-
return array(
|
318 |
-
'street' => $streetData[0],
|
319 |
-
'houseNumber' => $houseNumberData[0],
|
320 |
-
'houseNumberAddition' => $houseNumberData[1],
|
321 |
-
);
|
322 |
-
}
|
323 |
-
else
|
324 |
-
{
|
325 |
-
return array(
|
326 |
-
'street' => $streetData[0],
|
327 |
-
'houseNumber' => null,
|
328 |
-
'houseNumberAddition' => null,
|
329 |
-
);
|
330 |
-
}
|
331 |
-
}
|
332 |
-
|
333 |
-
/**
|
334 |
-
* Do a Postcode.nl Signal API check on a (newly created) Magento order.
|
335 |
-
* (called by hook class PostcodeNl_Api_Model_Observer)
|
336 |
-
* Will pass any information that can be used by the MijnPolitie.nl MIO Fraud Warning system
|
337 |
-
* (email, phonenumber), or Postcode.nl address validation (billing and delivery address).
|
338 |
-
* Also includes the order number, to be able to reference the Signal Check later.
|
339 |
-
*
|
340 |
-
* @param Mage_Sales_Model_Order $order
|
341 |
-
*
|
342 |
-
* @return array Signal data, or error with 'message' entry.
|
343 |
-
*/
|
344 |
-
public function checkOrderViaSignal($order)
|
345 |
-
{
|
346 |
-
// Check if we are we are enabled, configured & capable of handling an API request
|
347 |
-
$message = $this->_checkApiReady('Signal');
|
348 |
-
if ($message)
|
349 |
-
return $message;
|
350 |
-
|
351 |
-
// Housenumber data is often contained within the 'street' lines of the address.
|
352 |
-
$billingStreetData = $this->splitStreetData($order->getBillingAddress()->getStreet());
|
353 |
-
$shippingStreetData = $this->splitStreetData($order->getShippingAddress()->getStreet());
|
354 |
-
|
355 |
-
// No customer might be available if this is an order status change
|
356 |
-
$hasCustomer = ($order->getCustomer() !== null);
|
357 |
-
|
358 |
-
// Note if this is executed as an admin, then do not send access details, as that might muddy the customer info
|
359 |
-
$isAdmin = Mage::app()->getStore()->isAdmin();
|
360 |
-
|
361 |
-
// Only send phonenumber if it is at least 5 characters long
|
362 |
-
$phoneNumber = Mage::helper('core/string')->strlen($order->getBillingAddress()->getTelephone()) >= 5 ? $order->getBillingAddress()->getTelephone() : null;
|
363 |
-
|
364 |
-
$signalCheck = array(
|
365 |
-
'customer' => array(
|
366 |
-
'email' => $hasCustomer ? $order->getCustomer()->getEmail() : null,
|
367 |
-
'phoneNumber' => $phoneNumber,
|
368 |
-
'address' => array(
|
369 |
-
'postcode' => $order->getBillingAddress()->getPostcode(),
|
370 |
-
'houseNumber' => $billingStreetData['houseNumber'],
|
371 |
-
'houseNumberAddition' => $billingStreetData['houseNumberAddition'],
|
372 |
-
'street' => $billingStreetData['street'],
|
373 |
-
'city' => $order->getBillingAddress()->getCity(),
|
374 |
-
'region' => $order->getBillingAddress()->getRegion(),
|
375 |
-
'country' => $order->getBillingAddress()->getCountryId(),
|
376 |
-
),
|
377 |
-
),
|
378 |
-
'access' => array(
|
379 |
-
'ipAddress' => $isAdmin ? null : Mage::helper('core/http')->getRemoteAddr(),
|
380 |
-
'additionalIpAddresses' => array(),
|
381 |
-
),
|
382 |
-
'transaction' => array(
|
383 |
-
'internalId' => $order->getIncrementId(),
|
384 |
-
'deliveryAddress' => array(
|
385 |
-
'postcode' => $order->getShippingAddress()->getPostcode(),
|
386 |
-
'houseNumber' => $shippingStreetData['houseNumber'],
|
387 |
-
'houseNumberAddition' => $shippingStreetData['houseNumberAddition'],
|
388 |
-
'street' => $shippingStreetData['street'],
|
389 |
-
'city' => $order->getShippingAddress()->getCity(),
|
390 |
-
'region' => $order->getShippingAddress()->getRegion(),
|
391 |
-
'country' => $order->getShippingAddress()->getCountryId(),
|
392 |
-
),
|
393 |
-
),
|
394 |
-
);
|
395 |
-
|
396 |
-
// Retrieve quote for registered remote IP / proxy IP (they are registered at session start)
|
397 |
-
$quoteId = $order->getQuoteId();
|
398 |
-
$quote = Mage::getModel('sales/quote')->load($quoteId);
|
399 |
-
if ($quote)
|
400 |
-
{
|
401 |
-
$signalCheck['access'] = $this->_addAccessIpAddress($signalCheck['access'], $quote->getRemoteIp());
|
402 |
-
$signalCheck['access'] = $this->_addAccessIpAddress($signalCheck['access'], $quote->getXForwardedFor());
|
403 |
-
}
|
404 |
-
// Register current forwarded-for IP address (if not admin)
|
405 |
-
if (!$isAdmin)
|
406 |
-
{
|
407 |
-
$forwardedFor = Mage::app()->getRequest()->getServer('HTTP_X_FORWARDED_FOR');
|
408 |
-
$signalCheck['access'] = $this->_addAccessIpAddress($signalCheck['access'], $forwardedFor);
|
409 |
-
}
|
410 |
-
|
411 |
-
return $this->checkSignal($signalCheck);
|
412 |
-
}
|
413 |
-
|
414 |
-
protected function _addAccessIpAddress($access, $inputIp)
|
415 |
-
{
|
416 |
-
if ($inputIp === '' || $inputIp === null || $inputIp === false)
|
417 |
-
return $access;
|
418 |
-
|
419 |
-
// input might be multiple IPs (from X-Forwarded-For, for example)
|
420 |
-
if (strpos($inputIp, ',') !== false)
|
421 |
-
{
|
422 |
-
$inputIp = array_map('trim', explode(',', $inputIp));
|
423 |
-
|
424 |
-
foreach ($inputIp as $ip)
|
425 |
-
$access = $this->_addAccessIpAddress($access, $ip);
|
426 |
-
}
|
427 |
-
else if (filter_var($inputIp, FILTER_VALIDATE_IP) && $inputIp !== $access['ipAddress'] && !in_array($inputIp, $access['additionalIpAddresses']))
|
428 |
-
{
|
429 |
-
$access['additionalIpAddresses'][] = $inputIp;
|
430 |
-
}
|
431 |
-
|
432 |
-
return $access;
|
433 |
-
}
|
434 |
-
|
435 |
protected function _getDebugInfo($url, $jsonData)
|
436 |
{
|
437 |
return array(
|
@@ -462,9 +227,9 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
462 |
$info = array();
|
463 |
|
464 |
// Do a test address lookup
|
465 |
-
$this->
|
466 |
$addressData = $this->lookupAddress('2012ES', '30', '');
|
467 |
-
$this->
|
468 |
|
469 |
if (!isset($addressData['debugInfo']) && isset($addressData['message']))
|
470 |
{
|
@@ -482,14 +247,14 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
482 |
if (strpos($addressData['debugInfo']['httpClientError'], 'SSL certificate problem, verify that the CA cert is OK') !== false)
|
483 |
{
|
484 |
$info[] = $this->__('Your servers\' \'cURL SSL CA bundle\' is missing or outdated. Further information:');
|
485 |
-
$info[] = '- <a href="
|
486 |
-
$info[] = '- <a href="
|
487 |
$info[] = '';
|
488 |
}
|
489 |
else if (strpos($addressData['debugInfo']['httpClientError'], 'unable to get local issuer certificate') !== false)
|
490 |
{
|
491 |
$info[] = $this->__('cURL cannot read/access the CA cert file:');
|
492 |
-
$info[] = '- <a href="
|
493 |
$info[] = '';
|
494 |
}
|
495 |
else
|
@@ -546,28 +311,6 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
546 |
$status = 'success';
|
547 |
}
|
548 |
|
549 |
-
if ($status == 'success' && $this->isApiEnabled('Signal'))
|
550 |
-
{
|
551 |
-
$this->setDebuggingOverride(true);
|
552 |
-
$signalData = $this->checkSignal(array('customer' => array('firstName' => 'Magento', 'lastName' => 'Tester')));
|
553 |
-
$this->setDebuggingOverride(false);
|
554 |
-
|
555 |
-
if (!is_array($signalData['debugInfo']['parsedResponse']))
|
556 |
-
{
|
557 |
-
// Signal service failed, but in an unexpected way
|
558 |
-
$status = 'error';
|
559 |
-
$message = $this->__('Address API service has no problems, but the Signal API service reported an error.');
|
560 |
-
$info[] = '- '. $this->__('The Signal service might be temporarily unavailable, if problems persist, please contact <a href=\'mailto:info@postcode.nl\'>info@postcode.nl</a>.');
|
561 |
-
}
|
562 |
-
else if (isset($signalData['debugInfo']['parsedResponse']['exceptionId']))
|
563 |
-
{
|
564 |
-
// We have an exception message from the service itself
|
565 |
-
$status = 'error';
|
566 |
-
$message = $this->__('Address API service has no problems, but the Signal API service reported an error.');
|
567 |
-
$info[] = $this->__('Postcode.nl service message:') .' "'. $signalData['debugInfo']['parsedResponse']['exception'] .'"';
|
568 |
-
}
|
569 |
-
}
|
570 |
-
|
571 |
return array(
|
572 |
'message' => $message,
|
573 |
'status' => $status,
|
@@ -611,11 +354,8 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
611 |
// Detect professional
|
612 |
return 'MagentoProfessional/'. Mage::getVersion();
|
613 |
}
|
614 |
-
|
615 |
-
|
616 |
-
// Rest
|
617 |
-
return 'Magento/'. Mage::getVersion();
|
618 |
-
}
|
619 |
}
|
620 |
|
621 |
protected function _getModuleInfo($moduleName)
|
@@ -640,8 +380,8 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
640 |
{
|
641 |
if ($inAdmin)
|
642 |
return Mage::helper('adminhtml')->getUrl('*/pcnl/lookup', array('_secure' => true));
|
643 |
-
|
644 |
-
|
645 |
}
|
646 |
|
647 |
protected function _curlHasSsl()
|
@@ -650,20 +390,14 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
650 |
return $curlVersion['features'] & CURL_VERSION_SSL;
|
651 |
}
|
652 |
|
653 |
-
protected function _checkApiReady(
|
654 |
{
|
655 |
-
if (!$this->_getStoreConfig('postcodenl_api/config/enabled')
|
656 |
-
return array('message' => $this->__('Postcode.nl API not enabled.'))
|
657 |
|
658 |
if ($this->_getServiceUrl() === '' || $this->_getKey() === '' || $this->_getSecret() === '')
|
659 |
return array('message' => $this->__('Postcode.nl API not configured.'), 'info' => array($this->__('Configure your `API key` and `API secret`.')));
|
660 |
|
661 |
-
if ($service === 'Address' && !$this->_getStoreConfig('postcodenl_api/config/enabled_address_api') && !$this->_debuggingOverride)
|
662 |
-
return array('message' => $this->__('Postcode.nl Address API not enabled.'));;
|
663 |
-
|
664 |
-
if ($service === 'Signal' && !$this->_getStoreConfig('postcodenl_api/config/enabled_signal_api') && !$this->_debuggingOverride)
|
665 |
-
return array('message' => $this->__('Postcode.nl Signal API not enabled.'));;
|
666 |
-
|
667 |
return $this->_checkCapabilities();
|
668 |
}
|
669 |
|
@@ -676,12 +410,6 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
676 |
return false;
|
677 |
}
|
678 |
|
679 |
-
protected function _checkAddressApiReady()
|
680 |
-
{
|
681 |
-
if (!$this->_getStoreConfig('postcodenl_api/config/enabled_address_api'))
|
682 |
-
return array('message' => $this->__('Postcode.nl Address API not enabled.'));;
|
683 |
-
}
|
684 |
-
|
685 |
protected function _callApiUrlGet($url)
|
686 |
{
|
687 |
$ch = curl_init();
|
@@ -691,32 +419,12 @@ class PostcodeNl_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
691 |
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
|
692 |
curl_setopt($ch, CURLOPT_USERPWD, $this->_getKey() .':'. $this->_getSecret());
|
693 |
curl_setopt($ch, CURLOPT_USERAGENT, $this->_getUserAgent());
|
694 |
-
$this->_httpResponseRaw = curl_exec($ch);
|
695 |
-
$this->_httpResponseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
696 |
-
$this->_httpResponseCodeClass = (int)floor($this->_httpResponseCode / 100) * 100;
|
697 |
-
$this->_httpClientError = curl_errno($ch) ? sprintf('cURL error %s: %s', curl_errno($ch), curl_error($ch)) : null;
|
698 |
-
|
699 |
-
curl_close($ch);
|
700 |
|
701 |
-
return json_decode($this->_httpResponseRaw, true);
|
702 |
-
}
|
703 |
-
|
704 |
-
protected function _callApiUrlPostJson($url, array $data)
|
705 |
-
{
|
706 |
-
$ch = curl_init();
|
707 |
-
curl_setopt($ch, CURLOPT_URL, $url);
|
708 |
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
709 |
-
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, self::API_TIMEOUT);
|
710 |
-
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
|
711 |
-
curl_setopt($ch, CURLOPT_USERPWD, $this->_getKey() .':'. $this->_getSecret());
|
712 |
-
curl_setopt($ch, CURLOPT_USERAGENT, $this->_getUserAgent());
|
713 |
-
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
|
714 |
-
curl_setopt($ch, CURLOPT_POST, true);
|
715 |
-
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
|
716 |
$this->_httpResponseRaw = curl_exec($ch);
|
717 |
$this->_httpResponseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
718 |
$this->_httpResponseCodeClass = (int)floor($this->_httpResponseCode / 100) * 100;
|
719 |
$this->_httpClientError = curl_errno($ch) ? sprintf('cURL error %s: %s', curl_errno($ch), curl_error($ch)) : null;
|
|
|
720 |
curl_close($ch);
|
721 |
|
722 |
return json_decode($this->_httpResponseRaw, true);
|
14 |
protected $_httpClientError = null;
|
15 |
protected $_debuggingOverride = false;
|
16 |
|
17 |
+
|
18 |
/**
|
19 |
* Get the html for initializing validation script.
|
20 |
*
|
24 |
*/
|
25 |
public function getJsinit($getAdminConfig = false)
|
26 |
{
|
27 |
+
if ($getAdminConfig && !$this->_getStoreConfig('postcodenl_api/advanced_config/admin_validation_enabled'))
|
28 |
return '';
|
29 |
|
30 |
$baseUrl = $this->_getMagentoLookupUrl($getAdminConfig);
|
58 |
apiDebug: "' . htmlspecialchars($this->__('API Debug')) . '",
|
59 |
disabledText: "' . htmlspecialchars($this->__('- disabled -')) . '",
|
60 |
infoLabel: "' . htmlspecialchars($this->__('Address validation')) . '",
|
61 |
+
infoText: "' . htmlspecialchars($this->__('Fill out your postcode and housenumber to auto-complete your address.')) . '",
|
62 |
manualInputLabel: "' . htmlspecialchars($this->__('Manual input')) . '",
|
63 |
manualInputText: "' . htmlspecialchars($this->__('Fill out address information manually')) . '",
|
64 |
outputLabel: "' . htmlspecialchars($this->__('Validated address')) . '",
|
71 |
return $html;
|
72 |
}
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
/**
|
75 |
* Check if we're currently in debug mode, and if the current user may see dev info.
|
76 |
*
|
80 |
{
|
81 |
if ($this->_debuggingOverride)
|
82 |
return true;
|
83 |
+
|
84 |
+
return (bool)$this->_getStoreConfig('postcodenl_api/development_config/api_debug') && Mage::helper('core')->isDevAllowed();
|
85 |
}
|
86 |
|
87 |
/**
|
89 |
*
|
90 |
* @param bool $toggle
|
91 |
*/
|
92 |
+
protected function _setDebuggingOverride($toggle)
|
93 |
{
|
94 |
$this->_debuggingOverride = $toggle;
|
95 |
}
|
106 |
public function lookupAddress($postcode, $houseNumber, $houseNumberAddition)
|
107 |
{
|
108 |
// Check if we are we enabled, configured & capable of handling an API request
|
109 |
+
$message = $this->_checkApiReady();
|
110 |
if ($message)
|
111 |
return $message;
|
112 |
|
197 |
$this->_enrichType = substr($this->_enrichType, 0, 40);
|
198 |
}
|
199 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
protected function _getDebugInfo($url, $jsonData)
|
201 |
{
|
202 |
return array(
|
227 |
$info = array();
|
228 |
|
229 |
// Do a test address lookup
|
230 |
+
$this->_setDebuggingOverride(true);
|
231 |
$addressData = $this->lookupAddress('2012ES', '30', '');
|
232 |
+
$this->_setDebuggingOverride(false);
|
233 |
|
234 |
if (!isset($addressData['debugInfo']) && isset($addressData['message']))
|
235 |
{
|
247 |
if (strpos($addressData['debugInfo']['httpClientError'], 'SSL certificate problem, verify that the CA cert is OK') !== false)
|
248 |
{
|
249 |
$info[] = $this->__('Your servers\' \'cURL SSL CA bundle\' is missing or outdated. Further information:');
|
250 |
+
$info[] = '- <a href="https://stackoverflow.com/questions/6400300/https-and-ssl3-get-server-certificatecertificate-verify-failed-ca-is-ok" target="_blank">'. $this->__('How to update/fix your CA cert bundle') .'</a>';
|
251 |
+
$info[] = '- <a href="https://curl.haxx.se/docs/sslcerts.html" target="_blank">'. $this->__('About cURL SSL CA certificates') .'</a>';
|
252 |
$info[] = '';
|
253 |
}
|
254 |
else if (strpos($addressData['debugInfo']['httpClientError'], 'unable to get local issuer certificate') !== false)
|
255 |
{
|
256 |
$info[] = $this->__('cURL cannot read/access the CA cert file:');
|
257 |
+
$info[] = '- <a href="https://curl.haxx.se/docs/sslcerts.html" target="_blank">'. $this->__('About cURL SSL CA certificates') .'</a>';
|
258 |
$info[] = '';
|
259 |
}
|
260 |
else
|
311 |
$status = 'success';
|
312 |
}
|
313 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
314 |
return array(
|
315 |
'message' => $message,
|
316 |
'status' => $status,
|
354 |
// Detect professional
|
355 |
return 'MagentoProfessional/'. Mage::getVersion();
|
356 |
}
|
357 |
+
|
358 |
+
return 'Magento/'. Mage::getVersion();
|
|
|
|
|
|
|
359 |
}
|
360 |
|
361 |
protected function _getModuleInfo($moduleName)
|
380 |
{
|
381 |
if ($inAdmin)
|
382 |
return Mage::helper('adminhtml')->getUrl('*/pcnl/lookup', array('_secure' => true));
|
383 |
+
|
384 |
+
return Mage::getUrl('postcodenl_api/json', array('_secure' => true));
|
385 |
}
|
386 |
|
387 |
protected function _curlHasSsl()
|
390 |
return $curlVersion['features'] & CURL_VERSION_SSL;
|
391 |
}
|
392 |
|
393 |
+
protected function _checkApiReady()
|
394 |
{
|
395 |
+
if (!$this->_debuggingOverride && !($this->_getStoreConfig('postcodenl_api/config/enabled') || $this->_getStoreConfig('postcodenl_api/advanced_config/admin_validation_enabled')))
|
396 |
+
return array('message' => $this->__('Postcode.nl API not enabled.'));
|
397 |
|
398 |
if ($this->_getServiceUrl() === '' || $this->_getKey() === '' || $this->_getSecret() === '')
|
399 |
return array('message' => $this->__('Postcode.nl API not configured.'), 'info' => array($this->__('Configure your `API key` and `API secret`.')));
|
400 |
|
|
|
|
|
|
|
|
|
|
|
|
|
401 |
return $this->_checkCapabilities();
|
402 |
}
|
403 |
|
410 |
return false;
|
411 |
}
|
412 |
|
|
|
|
|
|
|
|
|
|
|
|
|
413 |
protected function _callApiUrlGet($url)
|
414 |
{
|
415 |
$ch = curl_init();
|
419 |
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
|
420 |
curl_setopt($ch, CURLOPT_USERPWD, $this->_getKey() .':'. $this->_getSecret());
|
421 |
curl_setopt($ch, CURLOPT_USERAGENT, $this->_getUserAgent());
|
|
|
|
|
|
|
|
|
|
|
|
|
422 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
423 |
$this->_httpResponseRaw = curl_exec($ch);
|
424 |
$this->_httpResponseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
425 |
$this->_httpResponseCodeClass = (int)floor($this->_httpResponseCode / 100) * 100;
|
426 |
$this->_httpClientError = curl_errno($ch) ? sprintf('cURL error %s: %s', curl_errno($ch), curl_error($ch)) : null;
|
427 |
+
|
428 |
curl_close($ch);
|
429 |
|
430 |
return json_decode($this->_httpResponseRaw, true);
|
app/code/community/PostcodeNl/Api/Model/Observer.php
CHANGED
@@ -1,32 +1,6 @@
|
|
1 |
<?php
|
2 |
class PostcodeNl_Api_Model_Observer
|
3 |
{
|
4 |
-
/**
|
5 |
-
* Event Hook: checkout_submit_all_after
|
6 |
-
* @param Varien_Event_Observer $observer
|
7 |
-
*/
|
8 |
-
public function signalObserveOrderCreation(Varien_Event_Observer $observer)
|
9 |
-
{
|
10 |
-
$helper = Mage::helper('postcodenl_api');
|
11 |
-
|
12 |
-
if (!$helper->isApiEnabled('Signal'))
|
13 |
-
return;
|
14 |
-
|
15 |
-
$order = $observer->getEvent()->getOrder();
|
16 |
-
|
17 |
-
$result = $helper->checkOrderViaSignal($order);
|
18 |
-
|
19 |
-
// Can't return errors/messages in hook, so log errors.
|
20 |
-
if (isset($result['message']))
|
21 |
-
{
|
22 |
-
Mage::log('Order #'. $order->getIncrementId() .' signalObserveOrderCreation failed: '. $result['message'], Zend_Log::ERR, 'postcodenl-signal.log', true);
|
23 |
-
}
|
24 |
-
else if ($helper->isDebugging())
|
25 |
-
{
|
26 |
-
Mage::log('Order #'. $order->getIncrementId() .' signalObserveOrderCreation called. '. $result['warningCount'] .' Signal warnings, report: '. $result['reportPdfUrl'], Zend_Log::DEBUG, 'postcodenl-signal.log', true);
|
27 |
-
}
|
28 |
-
}
|
29 |
-
|
30 |
public function adminConfigurationChanged(Varien_Event_Observer $observer)
|
31 |
{
|
32 |
$helper = Mage::helper('postcodenl_api');
|
1 |
<?php
|
2 |
class PostcodeNl_Api_Model_Observer
|
3 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
public function adminConfigurationChanged(Varien_Event_Observer $observer)
|
5 |
{
|
6 |
$helper = Mage::helper('postcodenl_api');
|
app/code/community/PostcodeNl/Api/controllers/Adminhtml/PcnlController.php
CHANGED
@@ -3,6 +3,7 @@ class PostcodeNl_Api_Adminhtml_PcnlController extends Mage_Adminhtml_Controller_
|
|
3 |
{
|
4 |
public function lookupAction()
|
5 |
{
|
|
|
6 |
$helper = Mage::helper('postcodenl_api');
|
7 |
|
8 |
if ($this->getRequest()->getParam('et'))
|
3 |
{
|
4 |
public function lookupAction()
|
5 |
{
|
6 |
+
/* @var $helper PostcodeNl_Api_Helper_Data */
|
7 |
$helper = Mage::helper('postcodenl_api');
|
8 |
|
9 |
if ($this->getRequest()->getParam('et'))
|
app/code/community/PostcodeNl/Api/controllers/JsonController.php
CHANGED
@@ -3,6 +3,7 @@ class PostcodeNl_Api_JsonController extends Mage_Core_Controller_Front_Action
|
|
3 |
{
|
4 |
public function lookupAction()
|
5 |
{
|
|
|
6 |
$helper = Mage::helper('postcodenl_api');
|
7 |
|
8 |
if ($this->getRequest()->getParam('et'))
|
3 |
{
|
4 |
public function lookupAction()
|
5 |
{
|
6 |
+
/* @var $helper PostcodeNl_Api_Helper_Data */
|
7 |
$helper = Mage::helper('postcodenl_api');
|
8 |
|
9 |
if ($this->getRequest()->getParam('et'))
|
app/code/community/PostcodeNl/Api/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<PostcodeNl_Api>
|
5 |
-
<version>1.2.
|
6 |
</PostcodeNl_Api>
|
7 |
</modules>
|
8 |
<frontend>
|
@@ -61,17 +61,6 @@
|
|
61 |
</setup>
|
62 |
</postcodenl_api_setup>
|
63 |
</resources>
|
64 |
-
<events>
|
65 |
-
<checkout_submit_all_after>
|
66 |
-
<observers>
|
67 |
-
<postcodenl_signal_order_creation>
|
68 |
-
<type>singleton</type>
|
69 |
-
<class>PostcodeNl_Api_Model_Observer</class>
|
70 |
-
<method>signalObserveOrderCreation</method>
|
71 |
-
</postcodenl_signal_order_creation>
|
72 |
-
</observers>
|
73 |
-
</checkout_submit_all_after>
|
74 |
-
</events>
|
75 |
</global>
|
76 |
<adminhtml>
|
77 |
<layout>
|
@@ -100,7 +89,7 @@
|
|
100 |
</postcodenl_admin_change>
|
101 |
</observers>
|
102 |
</admin_system_config_changed_section_postcodenl_api>
|
103 |
-
</events>
|
104 |
</adminhtml>
|
105 |
<default>
|
106 |
<postcodenl_api>
|
@@ -108,15 +97,13 @@
|
|
108 |
<enabled>1</enabled>
|
109 |
<api_key></api_key>
|
110 |
<api_secret></api_secret>
|
111 |
-
<enabled_address_api>1</enabled_address_api>
|
112 |
-
<enabled_signal_api>0</enabled_signal_api>
|
113 |
</config>
|
114 |
<advanced_config>
|
115 |
<use_street2_as_housenumber>0</use_street2_as_housenumber>
|
116 |
<use_street3_as_housenumber_addition>0</use_street3_as_housenumber_addition>
|
117 |
<block_postofficeboxaddresses>0</block_postofficeboxaddresses>
|
118 |
<never_hide_country>0</never_hide_country>
|
119 |
-
<
|
120 |
</advanced_config>
|
121 |
<development_config>
|
122 |
<api_url>https://api.postcode.nl</api_url>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<PostcodeNl_Api>
|
5 |
+
<version>1.2.5.0</version>
|
6 |
</PostcodeNl_Api>
|
7 |
</modules>
|
8 |
<frontend>
|
61 |
</setup>
|
62 |
</postcodenl_api_setup>
|
63 |
</resources>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
</global>
|
65 |
<adminhtml>
|
66 |
<layout>
|
89 |
</postcodenl_admin_change>
|
90 |
</observers>
|
91 |
</admin_system_config_changed_section_postcodenl_api>
|
92 |
+
</events>
|
93 |
</adminhtml>
|
94 |
<default>
|
95 |
<postcodenl_api>
|
97 |
<enabled>1</enabled>
|
98 |
<api_key></api_key>
|
99 |
<api_secret></api_secret>
|
|
|
|
|
100 |
</config>
|
101 |
<advanced_config>
|
102 |
<use_street2_as_housenumber>0</use_street2_as_housenumber>
|
103 |
<use_street3_as_housenumber_addition>0</use_street3_as_housenumber_addition>
|
104 |
<block_postofficeboxaddresses>0</block_postofficeboxaddresses>
|
105 |
<never_hide_country>0</never_hide_country>
|
106 |
+
<admin_validation_enabled>1</admin_validation_enabled>
|
107 |
</advanced_config>
|
108 |
<development_config>
|
109 |
<api_url>https://api.postcode.nl</api_url>
|
app/code/community/PostcodeNl/Api/etc/system.xml
CHANGED
@@ -20,7 +20,7 @@
|
|
20 |
<expanded>1</expanded>
|
21 |
<fields>
|
22 |
<enabled translate="label">
|
23 |
-
<label>Enabled
|
24 |
<frontend_type>select</frontend_type>
|
25 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
26 |
<sort_order>10</sort_order>
|
@@ -45,28 +45,8 @@
|
|
45 |
<show_in_website>1</show_in_website>
|
46 |
<show_in_store>1</show_in_store>
|
47 |
<validate>validate-length minimum-length-10</validate>
|
48 |
-
<comment><![CDATA[To get your Postcode.nl API key and secret, please register at <a href='https://
|
49 |
</api_secret>
|
50 |
-
<enabled_address_api translate="label">
|
51 |
-
<label>Address API Enabled?</label>
|
52 |
-
<frontend_type>select</frontend_type>
|
53 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
54 |
-
<sort_order>50</sort_order>
|
55 |
-
<show_in_default>1</show_in_default>
|
56 |
-
<show_in_website>1</show_in_website>
|
57 |
-
<show_in_store>1</show_in_store>
|
58 |
-
<comment><![CDATA[Dutch address validation via <a href='https://api.postcode.nl/documentation/address-api-description' target='_blank'>Postcode.nl Address API</a> is available by default when you create an account.]]></comment>
|
59 |
-
</enabled_address_api>
|
60 |
-
<enabled_signal_api translate="label">
|
61 |
-
<label>Signal API Enabled?</label>
|
62 |
-
<frontend_type>select</frontend_type>
|
63 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
64 |
-
<sort_order>60</sort_order>
|
65 |
-
<show_in_default>1</show_in_default>
|
66 |
-
<show_in_website>1</show_in_website>
|
67 |
-
<show_in_store>1</show_in_store>
|
68 |
-
<comment><![CDATA[To use the <a href='https://api.postcode.nl/documentation/signal-api-description' target='_blank'>Postcode.nl Signal API</a>, sign up for the service during registration, or at your <a href='https://api.postcode.nl'>Postcode.nl API dashboard</a>. Then, enable this option.]]></comment>
|
69 |
-
</enabled_signal_api>
|
70 |
</fields>
|
71 |
</config>
|
72 |
<advanced_config translate="label">
|
@@ -118,28 +98,18 @@
|
|
118 |
<show_in_store>1</show_in_store>
|
119 |
<comment><![CDATA[For webshops with a more international audience, always show the country selection box.<br /><b>Developer Note</b>: If there are other fields next to the country selector, they will be disabled.]]></comment>
|
120 |
</never_hide_country>
|
121 |
-
<
|
122 |
-
<label>
|
123 |
<frontend_type>select</frontend_type>
|
124 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
125 |
<sort_order>50</sort_order>
|
126 |
<show_in_default>1</show_in_default>
|
127 |
<show_in_website>1</show_in_website>
|
128 |
<show_in_store>1</show_in_store>
|
129 |
-
<comment><![CDATA[You can
|
130 |
-
</
|
131 |
</fields>
|
132 |
</advanced_config>
|
133 |
-
<advanced_config_signal translate="label">
|
134 |
-
<label>Advanced Signal API configuration</label>
|
135 |
-
<frontend_type>text</frontend_type>
|
136 |
-
<sort_order>30</sort_order>
|
137 |
-
<show_in_default>1</show_in_default>
|
138 |
-
<show_in_website>1</show_in_website>
|
139 |
-
<show_in_store>1</show_in_store>
|
140 |
-
<fields>
|
141 |
-
</fields>
|
142 |
-
</advanced_config_signal>
|
143 |
<development_config translate="label">
|
144 |
<label>Development configuration</label>
|
145 |
<frontend_type>text</frontend_type>
|
@@ -175,7 +145,7 @@
|
|
175 |
<show_in_default>1</show_in_default>
|
176 |
<show_in_website>1</show_in_website>
|
177 |
<show_in_store>1</show_in_store>
|
178 |
-
<comment><![CDATA[Additional debug information used for trouble-shooting will be sent by the Postcode.nl API extension
|
179 |
</api_debug>
|
180 |
</fields>
|
181 |
</development_config>
|
20 |
<expanded>1</expanded>
|
21 |
<fields>
|
22 |
<enabled translate="label">
|
23 |
+
<label>Enabled in frontend</label>
|
24 |
<frontend_type>select</frontend_type>
|
25 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
26 |
<sort_order>10</sort_order>
|
45 |
<show_in_website>1</show_in_website>
|
46 |
<show_in_store>1</show_in_store>
|
47 |
<validate>validate-length minimum-length-10</validate>
|
48 |
+
<comment><![CDATA[To get your Postcode.nl API key and secret, please register at <a href='https://services.postcode.nl/adresdata/adres-validatie' target='_blank'>Postcode.nl API</a>.]]></comment>
|
49 |
</api_secret>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
</fields>
|
51 |
</config>
|
52 |
<advanced_config translate="label">
|
98 |
<show_in_store>1</show_in_store>
|
99 |
<comment><![CDATA[For webshops with a more international audience, always show the country selection box.<br /><b>Developer Note</b>: If there are other fields next to the country selector, they will be disabled.]]></comment>
|
100 |
</never_hide_country>
|
101 |
+
<admin_validation_enabled translate="label">
|
102 |
+
<label>Enabled in admin</label>
|
103 |
<frontend_type>select</frontend_type>
|
104 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
105 |
<sort_order>50</sort_order>
|
106 |
<show_in_default>1</show_in_default>
|
107 |
<show_in_website>1</show_in_website>
|
108 |
<show_in_store>1</show_in_store>
|
109 |
+
<comment><![CDATA[You can disable this option if you encounter problems in the admin address validation, or want to allow all addresses in the admin.]]></comment>
|
110 |
+
</admin_validation_enabled>
|
111 |
</fields>
|
112 |
</advanced_config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
<development_config translate="label">
|
114 |
<label>Development configuration</label>
|
115 |
<frontend_type>text</frontend_type>
|
145 |
<show_in_default>1</show_in_default>
|
146 |
<show_in_website>1</show_in_website>
|
147 |
<show_in_store>1</show_in_store>
|
148 |
+
<comment><![CDATA[Additional debug information used for trouble-shooting will be sent by the Postcode.nl API extension.<br /><em>(this is not recommended in production environments!)</em>]]></comment>
|
149 |
</api_debug>
|
150 |
</fields>
|
151 |
</development_config>
|
app/design/adminhtml/default/default/layout/postcodenl/api/lookup.xml
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
<layout version="0.1.0">
|
3 |
<adminhtml_sales_order_address>
|
4 |
<reference name="head">
|
5 |
-
<action method="addCss" ifconfig="postcodenl_api/
|
6 |
-
<action method="addJs" ifconfig="postcodenl_api/
|
7 |
</reference>
|
8 |
<reference name="content">
|
9 |
<block type="postcodenl_api/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
|
@@ -11,8 +11,8 @@
|
|
11 |
</adminhtml_sales_order_address>
|
12 |
<adminhtml_sales_order_create_index>
|
13 |
<reference name="head">
|
14 |
-
<action method="addCss" ifconfig="postcodenl_api/
|
15 |
-
<action method="addJs" ifconfig="postcodenl_api/
|
16 |
</reference>
|
17 |
<reference name="js">
|
18 |
<block type="postcodenl_api/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
|
@@ -20,8 +20,8 @@
|
|
20 |
</adminhtml_sales_order_create_index>
|
21 |
<adminhtml_sales_order_edit_index>
|
22 |
<reference name="head">
|
23 |
-
<action method="addCss" ifconfig="postcodenl_api/
|
24 |
-
<action method="addJs" ifconfig="postcodenl_api/
|
25 |
</reference>
|
26 |
<reference name="js">
|
27 |
<block type="postcodenl_api/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
|
@@ -29,8 +29,8 @@
|
|
29 |
</adminhtml_sales_order_edit_index>
|
30 |
<adminhtml_customer_edit>
|
31 |
<reference name="head">
|
32 |
-
<action method="addCss" ifconfig="postcodenl_api/
|
33 |
-
<action method="addJs" ifconfig="postcodenl_api/
|
34 |
</reference>
|
35 |
<reference name="js">
|
36 |
<block type="postcodenl_api/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
|
2 |
<layout version="0.1.0">
|
3 |
<adminhtml_sales_order_address>
|
4 |
<reference name="head">
|
5 |
+
<action method="addCss" ifconfig="postcodenl_api/advanced_config/admin_validation_enabled"><script>postcodenl/api/css/lookup.css</script></action>
|
6 |
+
<action method="addJs" ifconfig="postcodenl_api/advanced_config/admin_validation_enabled"><script>postcodenl/api/lookup.js</script></action>
|
7 |
</reference>
|
8 |
<reference name="content">
|
9 |
<block type="postcodenl_api/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
|
11 |
</adminhtml_sales_order_address>
|
12 |
<adminhtml_sales_order_create_index>
|
13 |
<reference name="head">
|
14 |
+
<action method="addCss" ifconfig="postcodenl_api/advanced_config/admin_validation_enabled"><script>postcodenl/api/css/lookup.css</script></action>
|
15 |
+
<action method="addJs" ifconfig="postcodenl_api/advanced_config/admin_validation_enabled"><script>postcodenl/api/lookup.js</script></action>
|
16 |
</reference>
|
17 |
<reference name="js">
|
18 |
<block type="postcodenl_api/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
|
20 |
</adminhtml_sales_order_create_index>
|
21 |
<adminhtml_sales_order_edit_index>
|
22 |
<reference name="head">
|
23 |
+
<action method="addCss" ifconfig="postcodenl_api/advanced_config/admin_validation_enabled"><script>postcodenl/api/css/lookup.css</script></action>
|
24 |
+
<action method="addJs" ifconfig="postcodenl_api/advanced_config/admin_validation_enabled"><script>postcodenl/api/lookup.js</script></action>
|
25 |
</reference>
|
26 |
<reference name="js">
|
27 |
<block type="postcodenl_api/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
|
29 |
</adminhtml_sales_order_edit_index>
|
30 |
<adminhtml_customer_edit>
|
31 |
<reference name="head">
|
32 |
+
<action method="addCss" ifconfig="postcodenl_api/advanced_config/admin_validation_enabled"><script>postcodenl/api/css/lookup.css</script></action>
|
33 |
+
<action method="addJs" ifconfig="postcodenl_api/advanced_config/admin_validation_enabled"><script>postcodenl/api/lookup.js</script></action>
|
34 |
</reference>
|
35 |
<reference name="js">
|
36 |
<block type="postcodenl_api/jsinit" name="postcodenl.jsinit" template="postcodenl/api/jsinit.phtml" />
|
app/locale/en_US/PostcodeNl_Api.csv
CHANGED
@@ -20,19 +20,13 @@
|
|
20 |
"Postcode.nl API not enabled.","Postcode.nl API not enabled."
|
21 |
"- disabled -","- disabled -"
|
22 |
"Address validation","Address validation"
|
23 |
-
"Fill out your postcode and housenumber to auto-complete your address.
|
24 |
"Manual input","Manual input"
|
25 |
"Fill out address information manually","Fill out address information manually"
|
26 |
"Validated address","Validated address"
|
27 |
"API Showcase","API Showcase"
|
28 |
"API Debug Info","API Debug Info"
|
29 |
"Post office box not allowed.","Post office box not allowed."
|
30 |
-
"Postcode.nl Address API not enabled.","Postcode.nl Address API not enabled."
|
31 |
-
"Postcode.nl Signal API not enabled.","Postcode.nl Signal API not enabled."
|
32 |
-
"Invalid Signal API authentication:","Invalid Signal API authentication:"
|
33 |
-
"Invalid Signal API input:","Invalid Signal API input:"
|
34 |
-
"Signal API error:","Signal API error:"
|
35 |
-
"Signal API response not understood, service unavailable.","Signal API response not understood, service unavailable."
|
36 |
"A test connection could not be successfully completed.","The test connection could not be successfully completed."
|
37 |
"A test connection to the API was successfully completed.","A test connection to the API was successfully completed."
|
38 |
"Your server could not connect to the Postcode.nl server.","Your server could not connect to the Postcode.nl server."
|
@@ -52,21 +46,15 @@
|
|
52 |
"Access is denied.","Access is denied."
|
53 |
"Service reported an error.","Service reported an error."
|
54 |
"Postcode.nl service message:","Postcode.nl service message:"
|
55 |
-
"Address API service has no problems, but the Signal API service reported an error.","Address API service has no problems, but the Signal API service reported an error."\
|
56 |
-
"The Signal service might be temporarily unavailable, if problems persist, please contact <a href=\"mailto:info@postcode.nl\">info@postcode.nl</a>.","The Signal service might be temporarily unavailable, if problems persist, please contact <a href=\"mailto:info@postcode.nl\">info@postcode.nl</a>."
|
57 |
"Postcode.nl API Test: ","Postcode.nl API Test: "
|
58 |
"Postcode.nl API Test Troubleshooting: ","Postcode.nl API Test Troubleshooting: "
|
59 |
"Configure your `API key` and `API secret`.","Configure your `API key` and `API secret`."
|
60 |
"Technical reason: Received JSON data did not contain expected data.","Technical reason: Received JSON data did not contain expected data."
|
61 |
"Configuration","Configuration"
|
62 |
-
"Enabled
|
63 |
"API key","API key"
|
64 |
"API secret","API secret"
|
65 |
-
"To get your Postcode.nl API key and secret, please register at <a href='https://
|
66 |
-
"Address API Enabled?","Address API Enabled?"
|
67 |
-
"Dutch address validation via <a href='https://api.postcode.nl/documentation/address-api-description' target='_blank'>Postcode.nl Address API</a> is available by default when you create an account.","Dutch address validation via <a href='https://api.postcode.nl/documentation/address-api-description' target='_blank'>Postcode.nl Address API</a> is available by default when you create an account."
|
68 |
-
"Signal API Enabled?","Signal API Enabled?"
|
69 |
-
"To use the <a href='https://api.postcode.nl/documentation/signal-api-description' target='_blank'>Postcode.nl Signal API</a>, sign up for the service during registration, or at your <a href='https://api.postcode.nl'>Postcode.nl API dashboard</a>. Then, enable this option.","To use the <a href='https://api.postcode.nl/documentation/signal-api-description' target='_blank'>Postcode.nl Signal API</a>, sign up for the service during registration, or at your <a href='https://api.postcode.nl'>Postcode.nl API dashboard</a>. Then, enable this option."
|
70 |
"Advanced Address API configuration","Advanced Address API configuration"
|
71 |
"Separate housenumber","Separate housenumber"
|
72 |
"If you use the second 'street' field as a separate house-number field, enable this option.","If you use the second 'street' field as a separate house-number field, enable this option."
|
@@ -76,12 +64,11 @@
|
|
76 |
"This will consider 'post office box' (postbus) addresses invalid for all validated address fields.<br /><em>(though still allowed if address is added with 'manual' checkbox)</em>","This will consider 'post office box' (postbus) addresses invalid for all validated address fields.<br /><em>(though still allowed if address is added with 'manual' checkbox)</em>"
|
77 |
"Always show country selector","Always show country selector"
|
78 |
"For webshops with a more international audience, always show the country selection box.<br /><b>Developer Note</b>: If there are other fields next to the country selector, they will be disabled.","For webshops with a more international audience, always show the country selection box.<br /><b>Developer Note</b>: If there are other fields next to the country selector, they will be disabled."
|
79 |
-
"Disable validation in admin","Disable validation in admin"
|
80 |
-
"You can use this option if you encounter problems in the admin address validation, or want to allow all addresses in the admin.","You can use this option if you encounter problems in the admin address validation, or want to allow all addresses in the admin."
|
81 |
-
"Advanced Signal API configuration","Advanced Signal API configuration"
|
82 |
"Development configuration","Development configuration"
|
83 |
"API URL","API URL"
|
84 |
"Enable API Showcase","Enable API Showcase"
|
85 |
"By enabling this option, you will see what additional information the Postcode.nl API has to offer, every time your information is enriched.<br /><em>(this is not recommended in production environments!)</em>","By enabling this option, you will see what additional information the Postcode.nl API has to offer, every time your information is enriched.<br /><em>(this is not recommended in production environments!)</em>"
|
86 |
"Show API Debug info","Show API Debug info"
|
87 |
-
"Additional debug information used for trouble-shooting will be sent by the Postcode.nl API extension
|
|
|
|
20 |
"Postcode.nl API not enabled.","Postcode.nl API not enabled."
|
21 |
"- disabled -","- disabled -"
|
22 |
"Address validation","Address validation"
|
23 |
+
"Fill out your postcode and housenumber to auto-complete your address.","Fill out your postcode and housenumber to auto-complete your address."
|
24 |
"Manual input","Manual input"
|
25 |
"Fill out address information manually","Fill out address information manually"
|
26 |
"Validated address","Validated address"
|
27 |
"API Showcase","API Showcase"
|
28 |
"API Debug Info","API Debug Info"
|
29 |
"Post office box not allowed.","Post office box not allowed."
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
"A test connection could not be successfully completed.","The test connection could not be successfully completed."
|
31 |
"A test connection to the API was successfully completed.","A test connection to the API was successfully completed."
|
32 |
"Your server could not connect to the Postcode.nl server.","Your server could not connect to the Postcode.nl server."
|
46 |
"Access is denied.","Access is denied."
|
47 |
"Service reported an error.","Service reported an error."
|
48 |
"Postcode.nl service message:","Postcode.nl service message:"
|
|
|
|
|
49 |
"Postcode.nl API Test: ","Postcode.nl API Test: "
|
50 |
"Postcode.nl API Test Troubleshooting: ","Postcode.nl API Test Troubleshooting: "
|
51 |
"Configure your `API key` and `API secret`.","Configure your `API key` and `API secret`."
|
52 |
"Technical reason: Received JSON data did not contain expected data.","Technical reason: Received JSON data did not contain expected data."
|
53 |
"Configuration","Configuration"
|
54 |
+
"Enabled in frontend","Enabled in frontend"
|
55 |
"API key","API key"
|
56 |
"API secret","API secret"
|
57 |
+
"To get your Postcode.nl API key and secret, please register at <a href='https://services.postcode.nl/adresdata/adres-validatie' target='_blank'>Postcode.nl API</a>.","To get your Postcode.nl API key and secret, please register at <a href='https://services.postcode.nl/adresdata/adres-validatie' target='_blank'>Postcode.nl API</a>."
|
|
|
|
|
|
|
|
|
58 |
"Advanced Address API configuration","Advanced Address API configuration"
|
59 |
"Separate housenumber","Separate housenumber"
|
60 |
"If you use the second 'street' field as a separate house-number field, enable this option.","If you use the second 'street' field as a separate house-number field, enable this option."
|
64 |
"This will consider 'post office box' (postbus) addresses invalid for all validated address fields.<br /><em>(though still allowed if address is added with 'manual' checkbox)</em>","This will consider 'post office box' (postbus) addresses invalid for all validated address fields.<br /><em>(though still allowed if address is added with 'manual' checkbox)</em>"
|
65 |
"Always show country selector","Always show country selector"
|
66 |
"For webshops with a more international audience, always show the country selection box.<br /><b>Developer Note</b>: If there are other fields next to the country selector, they will be disabled.","For webshops with a more international audience, always show the country selection box.<br /><b>Developer Note</b>: If there are other fields next to the country selector, they will be disabled."
|
|
|
|
|
|
|
67 |
"Development configuration","Development configuration"
|
68 |
"API URL","API URL"
|
69 |
"Enable API Showcase","Enable API Showcase"
|
70 |
"By enabling this option, you will see what additional information the Postcode.nl API has to offer, every time your information is enriched.<br /><em>(this is not recommended in production environments!)</em>","By enabling this option, you will see what additional information the Postcode.nl API has to offer, every time your information is enriched.<br /><em>(this is not recommended in production environments!)</em>"
|
71 |
"Show API Debug info","Show API Debug info"
|
72 |
+
"Additional debug information used for trouble-shooting will be sent by the Postcode.nl API extension.<br /><em>(this is not recommended in production environments!)</em>","Additional debug information used for trouble-shooting will be sent by the Postcode.nl API extension.<br /><em>(this is not recommended in production environments!)</em>"
|
73 |
+
"Enabled in admin","Enabled in admin"
|
74 |
+
"You can disable this option if you encounter problems in the admin address validation, or want to allow all addresses in the admin.","You can disable this option if you encounter problems in the admin address validation, or want to allow all addresses in the admin."
|
app/locale/nl_NL/PostcodeNl_Api.csv
CHANGED
@@ -20,19 +20,13 @@
|
|
20 |
"Postcode.nl API not enabled.","Postcode.nl API niet ingeschakeld."
|
21 |
"- disabled -","- uitgeschakeld -"
|
22 |
"Address validation","Adresvalidatie"
|
23 |
-
"Fill out your postcode and housenumber to auto-complete your address.
|
24 |
"Manual input","Handmatige invoer"
|
25 |
"Fill out address information manually","Handmatig adres invullen"
|
26 |
"Validated address","Gevalideerd adres"
|
27 |
"API Showcase","API Showcase"
|
28 |
"API Debug Info","API Debug Info"
|
29 |
"Post office box not allowed.","Postbus niet toegestaan."
|
30 |
-
"Postcode.nl Address API not enabled.","Postcode.nl Address API niet ingeschakeld."
|
31 |
-
"Postcode.nl Signal API not enabled.","Postcode.nl Signal API niet ingeschakeld."
|
32 |
-
"Invalid Signal API authentication:","Signal API authenticatie foutmelding:"
|
33 |
-
"Invalid Signal API input:","Incorrecte Signal API invoer:"
|
34 |
-
"Signal API error:","Signal API foutmelding:"
|
35 |
-
"Signal API response not understood, service unavailable.","Signal API antwoord niet begrepen, dienst onbereikbaar."
|
36 |
"A test connection could not be successfully completed.","Een test connectie kon niet succesvol uitgevoerd worden."
|
37 |
"A test connection to the API was successfully completed.","Een test connectie naar de API is succesvol tot stand gekomen."
|
38 |
"Your server could not connect to the Postcode.nl server.","Er kon geen connectie tot stand worden gebracht met de Postcode.nl server."
|
@@ -52,21 +46,15 @@
|
|
52 |
"Access is denied.","Toegang geweigerd."
|
53 |
"Service reported an error.","De dienst geeft een foutmelding."
|
54 |
"Postcode.nl service message:","Postcode.nl foutmelding:"
|
55 |
-
"Address API service has no problems, but the Signal API service reported an error.","De Adres API dienst heeft geen problemen, maar de Signaal API dienst geeft een foutmelding."
|
56 |
-
"The Signal service might be temporarily unavailable, if problems persist, please contact <a href='mailto:info@postcode.nl'>info@postcode.nl</a>.","De Signaal dienst kan tijdelijk onbereikbaar zijn, als het probleem zich blijft voordoen, neem dan contact op met <a href='mailto:info@postcode.nl'>info@postcode.nl</a>."
|
57 |
"Postcode.nl API Test: ","Postcode.nl API Test: "
|
58 |
"Postcode.nl API Test Troubleshooting: ","Postcode.nl API Test probleem informatie: "
|
59 |
"Configure your `API key` and `API secret`.","Configureer de `API key` en `API secret`."
|
60 |
"Technical reason: Received JSON data did not contain expected data.","Technische reden: Ontvangen JSON data bevatte niet verwachtte data."
|
61 |
"Configuration","Configuratie"
|
62 |
-
"Enabled
|
63 |
"API key","API key"
|
64 |
"API secret","API secret"
|
65 |
-
"To get your Postcode.nl API key and secret, please register at <a href='https://
|
66 |
-
"Address API Enabled?","Adres API Ingeschakeld?"
|
67 |
-
"Dutch address validation via <a href='https://api.postcode.nl/documentation/address-api-description' target='_blank'>Postcode.nl Address API</a> is available by default when you create an account.","De Nederlandse adres validatie via de <a href='https://api.postcode.nl/documentation/address-api-description' target='_blank'>Postcode.nl Adres API</a> is automatisch beschikbaar bij een account."
|
68 |
-
"Signal API Enabled?","Signaal API Ingeschakeld?"
|
69 |
-
"To use the <a href='https://api.postcode.nl/documentation/signal-api-description' target='_blank'>Postcode.nl Signal API</a>, sign up for the service during registration, or at your <a href='https://api.postcode.nl'>Postcode.nl API dashboard</a>. Then, enable this option.","Om de <a href='https://api.postcode.nl/documentation/signal-api-description' target='_blank'>Postcode.nl Signaal API</a> te gebruiken, vink de dienst aan tijdens registratie, of in je <a href='https://api.postcode.nl'>Postcode.nl API dashboard</a>."
|
70 |
"Advanced Address API configuration","Geavanceerde Adres API configuratie"
|
71 |
"Separate housenumber","Los huisnummer"
|
72 |
"If you use the second 'street' field as a separate house-number field, enable this option.","Als je het tweede 'straat' veld wilt gebruiken voor opslag van het huisnummer, gebruik deze optie."
|
@@ -76,12 +64,11 @@
|
|
76 |
"This will consider 'post office box' (postbus) addresses invalid for all validated address fields.<br /><em>(though still allowed if address is added with 'manual' checkbox)</em>","Dit zorgt ervoor dat postbus addressen niet als valide worden gezien voor adresvelden.<br /><em>(dit is nog steeds toegestaan met de 'handmatige invoer' vink)</em>"
|
77 |
"Always show country selector","Toon altijd het land-selectie veld"
|
78 |
"For webshops with a more international audience, always show the country selection box.<br /><b>Developer Note</b>: If there are other fields next to the country selector, they will be disabled.","Voor webshops met een internationaal publiek.<br /><b>Ontwikkelaars notitie</b>: Als er een ander veld naast het land veld staat, is deze uitgeschakeld."
|
79 |
-
"Disable validation in admin","Schakel adres validatie uit in de admin"
|
80 |
-
"You can use this option if you encounter problems in the admin address validation, or want to allow all addresses in the admin.","Je kan deze optie gebruiken om problemen in de admin te voorkomen, of om alle adressen toe te staan."
|
81 |
-
"Advanced Signal API configuration","Geavanceerde Signaal API configuratie"
|
82 |
"Development configuration","Ontwikkelaars configuratie"
|
83 |
"API URL","API URL"
|
84 |
"Enable API Showcase","Schakel API Showcase in"
|
85 |
"By enabling this option, you will see what additional information the Postcode.nl API has to offer, every time your information is enriched.<br /><em>(this is not recommended in production environments!)</em>","Deze optie laat tijdens checkout een uitgebreide lijst van adres informatie zien.<br /><em>(deze optie is niet aan te raden voor een live webshop!)</em>"
|
86 |
"Show API Debug info","Toon API debug info"
|
87 |
-
"Additional debug information used for trouble-shooting will be sent by the Postcode.nl API extension
|
|
|
|
20 |
"Postcode.nl API not enabled.","Postcode.nl API niet ingeschakeld."
|
21 |
"- disabled -","- uitgeschakeld -"
|
22 |
"Address validation","Adresvalidatie"
|
23 |
+
"Fill out your postcode and housenumber to auto-complete your address.","Vul uw postcode en huisnummer in en uw adres wordt automatisch en foutloos aangevuld."
|
24 |
"Manual input","Handmatige invoer"
|
25 |
"Fill out address information manually","Handmatig adres invullen"
|
26 |
"Validated address","Gevalideerd adres"
|
27 |
"API Showcase","API Showcase"
|
28 |
"API Debug Info","API Debug Info"
|
29 |
"Post office box not allowed.","Postbus niet toegestaan."
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
"A test connection could not be successfully completed.","Een test connectie kon niet succesvol uitgevoerd worden."
|
31 |
"A test connection to the API was successfully completed.","Een test connectie naar de API is succesvol tot stand gekomen."
|
32 |
"Your server could not connect to the Postcode.nl server.","Er kon geen connectie tot stand worden gebracht met de Postcode.nl server."
|
46 |
"Access is denied.","Toegang geweigerd."
|
47 |
"Service reported an error.","De dienst geeft een foutmelding."
|
48 |
"Postcode.nl service message:","Postcode.nl foutmelding:"
|
|
|
|
|
49 |
"Postcode.nl API Test: ","Postcode.nl API Test: "
|
50 |
"Postcode.nl API Test Troubleshooting: ","Postcode.nl API Test probleem informatie: "
|
51 |
"Configure your `API key` and `API secret`.","Configureer de `API key` en `API secret`."
|
52 |
"Technical reason: Received JSON data did not contain expected data.","Technische reden: Ontvangen JSON data bevatte niet verwachtte data."
|
53 |
"Configuration","Configuratie"
|
54 |
+
"Enabled in frontend","Ingeschakeld in frontend"
|
55 |
"API key","API key"
|
56 |
"API secret","API secret"
|
57 |
+
"To get your Postcode.nl API key and secret, please register at <a href='https://services.postcode.nl/adresdata/adres-validatie' target='_blank'>Postcode.nl API</a>.","Om uw Postcode.nl API key en secret te verkrijgen, registreer een account bij <a href='https://services.postcode.nl/adresdata/adres-validatie' target='_blank'>de Postcode.nl API</a>."
|
|
|
|
|
|
|
|
|
58 |
"Advanced Address API configuration","Geavanceerde Adres API configuratie"
|
59 |
"Separate housenumber","Los huisnummer"
|
60 |
"If you use the second 'street' field as a separate house-number field, enable this option.","Als je het tweede 'straat' veld wilt gebruiken voor opslag van het huisnummer, gebruik deze optie."
|
64 |
"This will consider 'post office box' (postbus) addresses invalid for all validated address fields.<br /><em>(though still allowed if address is added with 'manual' checkbox)</em>","Dit zorgt ervoor dat postbus addressen niet als valide worden gezien voor adresvelden.<br /><em>(dit is nog steeds toegestaan met de 'handmatige invoer' vink)</em>"
|
65 |
"Always show country selector","Toon altijd het land-selectie veld"
|
66 |
"For webshops with a more international audience, always show the country selection box.<br /><b>Developer Note</b>: If there are other fields next to the country selector, they will be disabled.","Voor webshops met een internationaal publiek.<br /><b>Ontwikkelaars notitie</b>: Als er een ander veld naast het land veld staat, is deze uitgeschakeld."
|
|
|
|
|
|
|
67 |
"Development configuration","Ontwikkelaars configuratie"
|
68 |
"API URL","API URL"
|
69 |
"Enable API Showcase","Schakel API Showcase in"
|
70 |
"By enabling this option, you will see what additional information the Postcode.nl API has to offer, every time your information is enriched.<br /><em>(this is not recommended in production environments!)</em>","Deze optie laat tijdens checkout een uitgebreide lijst van adres informatie zien.<br /><em>(deze optie is niet aan te raden voor een live webshop!)</em>"
|
71 |
"Show API Debug info","Toon API debug info"
|
72 |
+
"Additional debug information used for trouble-shooting will be sent by the Postcode.nl API extension.<br /><em>(this is not recommended in production environments!)</em>","Extra debug informatie wordt getoond.<br /><em>(deze optie is niet aan te raden voor een live webshop!)</em>"
|
73 |
+
"Enabled in admin","Ingeschakeld in admin"
|
74 |
+
"You can disable this option if you encounter problems in the admin address validation, or want to allow all addresses in the admin.","Schakel uit als u problemen ervaart in de admin, of geen validatie wenst in de backend."
|
package.xml
CHANGED
@@ -1,30 +1,30 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>PostcodeNl_Api</name>
|
4 |
-
<version>1.2.
|
5 |
<stability>stable</stability>
|
6 |
<license>Simplified BSD License</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
-
<summary>Complement and validate Dutch addresses at Checkout
|
10 |
-
<description>Complement and validate Dutch addresses at Checkout with the
|
11 |
-
Also includes the free Postcode.nl Signal API service to validate and enrich order information, as well as check for potential fraud risk via the Dutch authorities.
|
12 |

|
13 |
• Reduce address errors
|
14 |
• Reduce costs from undelivered mail and packages
|
15 |
• Offer extra service for your customers with easy address entry
|
16 |
• Improve sale conversion
|
17 |
-
• Get warnings for potential incorrect order data
|
18 |
-
• Check against the Dutch authorities' fraud warning database
|
19 |

|
20 |
-
The
|
21 |
<notes>Fixes:
|
22 |
-
-
|
|
|
|
|
|
|
23 |
</notes>
|
24 |
<authors><author><name>Postcode.nl Technical Support</name><user>TechPostcodeNl</user><email>tech@postcode.nl</email></author></authors>
|
25 |
-
<date>
|
26 |
-
<time>
|
27 |
-
<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="
|
28 |
<compatible/>
|
29 |
-
<dependencies><required><php><min>5.
|
30 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>PostcodeNl_Api</name>
|
4 |
+
<version>1.2.5.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>Simplified BSD License</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
+
<summary>Complement and validate Dutch addresses at Checkout.</summary>
|
10 |
+
<description>Complement and validate Dutch addresses at Checkout with the postcode Magento plugin from Postcode.nl.
|
|
|
11 |

|
12 |
• Reduce address errors
|
13 |
• Reduce costs from undelivered mail and packages
|
14 |
• Offer extra service for your customers with easy address entry
|
15 |
• Improve sale conversion
|
|
|
|
|
16 |

|
17 |
+
The use of the Postcode.nl Magento plugin is subject to our Terms and Conditions.</description>
|
18 |
<notes>Fixes:
|
19 |
+
- Marked compatible with PHP7
|
20 |
+
- Simpler config for enabling addon in frontend and backend
|
21 |
+
- Updated readme texts and links
|
22 |
+
- Removed signal api
|
23 |
</notes>
|
24 |
<authors><author><name>Postcode.nl Technical Support</name><user>TechPostcodeNl</user><email>tech@postcode.nl</email></author></authors>
|
25 |
+
<date>2016-07-18</date>
|
26 |
+
<time>09:33:29</time>
|
27 |
+
<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="dcbf45568451bbfec496b4a09745af15"/></dir><dir name="Model"><file name="Observer.php" hash="a3e9394931c993fea90a35ce6c83b014"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="PcnlController.php" hash="ca302f7d30e0e1e9e63563e2122888c5"/></dir><file name="JsonController.php" hash="40b87bc78b843b5faa742cb9d4ab0938"/></dir><dir name="data"><dir name="postcodenl_api_setup"><file name="data-upgrade-1.0.8.0-1.1.0.0.php" hash="169658dbcaec550a4c11820e0d620ecf"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="5d518aeaeae028b6299c7cf3d6e54f60"/><file name="config.xml" hash="f2df408011e8f08aa0e850274d1bd45a"/><file name="system.xml" hash="b3c86cb3e78b614f0a542762ec734973"/></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="95c19834f5160de233ec2a4b26d3e0e6"/></dir></dir></dir><dir name="template"><dir name="postcodenl"><dir name="api"><file name="jsinit.phtml" hash="8623676f4c6f4068d0b51e31dcfa08e9"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="postcodenl"><dir name="api"><file name="lookup.xml" hash="d2408958337c27b6fe9a33630e2d1714"/></dir></dir></dir><dir name="template"><dir name="postcodenl"><dir name="api"><file name="jsinit.phtml" hash="ff32e12bbc26e4414dd8ca76edc4ed0f"/></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="PostcodeNl_Api.csv" hash="38802fe32da59f0fa1e86cef36d74a38"/></dir><dir name="nl_NL"><file name="PostcodeNl_Api.csv" hash="c8644404614701ff8440cad5689a7317"/></dir></target><target name="mageweb"><dir name="js"><dir name="postcodenl"><dir name="api"><file name="lookup.js" hash="eff8624d36a501f8deb6416e06dc2c54"/></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="base"><dir name="default"><dir name="postcodenl"><dir name="api"><dir name="css"><file name="lookup.css" hash="ea6b231d66e2ebfb2f9f1431abac0382"/></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>
|
28 |
<compatible/>
|
29 |
+
<dependencies><required><php><min>5.3.3</min><max>9.99.0</max></php><extension><name>curl</name><min>7.10.5</min><max>7.99.0</max></extension></required></dependencies>
|
30 |
</package>
|