Version Notes
v1.1.3
- FIxed an issue with the extension's activation procedure.
v1.1.2
- Updated manual.
v1.1.1
- Fixed issue where filtering the first column of the shipment grid could cause errors.
- Removed PHP extension dependencies from the PostNL extension packages. Magento connect would sometimes falsely report a PHP extension as missing preventing the PostNL extension from being installed.
v1.1.0
- First public release.
v1.0.8
- Improved compatibility with Magento 1.6 and 1.11.
v1.0.7
- Improved configuration fields.
- Improved translations.
v1.0.6
- Improved shipment grid interface. It shoulod now be more clear which shipments have been confirmed and when they should be handed over to PostNL.
- Improved PostNL Checkout payment method handling. The Checkout summary page should now remember your chosen bank when you attempt to pay using iDEAL. 100% support for all payment methods is not guaranteed.
v1.0.5
- Several bug fixes.
- Improved configuration interface.
v1.0.4
- Several minor bug fixes.
- Improved Dutch translations.
- Added additional information to several fields in system/config.
v1.0.3
- Several bug fixes. Including an issue preventing the extension from functioning properly with the compiler active.
- Several improvements to the Dutch translations.
- Improved the extension's system > config interface
- Added the Klarna payment method to PostNL Checkout
v1.0.2
- A large number of bug fixes and general improvements
- Improved error handling. Almost all errors will now automatically provide you with a link where you can find more information and a possible solution.
v1.0.1
- Added a filter to the possible product options you may select, based on the selected orders when mass-creating shipments from the order grid.
- Improved several translations.
- Fixed several minor bugs.
v1.0.0
This is the initial beta release of the extension. If you have any questions, please contact the Total Internet Group Servicedesk
Release Info
Developer | TIG |
Extension | tig_postnl |
Version | 1.1.3 |
Comparing to | |
See all releases |
Code changes from version 1.1.2 to 1.1.3
@@ -1,28 +1,28 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* ___________ __ __
|
4 |
-
* \__ ___/____ _/ |_ _____ | |
|
5 |
* | | / _ \\ __\\__ \ | |
|
6 |
* | | | |_| || | / __ \_| |__
|
7 |
* |____| \____/ |__| (____ /|____/
|
8 |
-
* \/
|
9 |
-
* ___ __ __
|
10 |
-
* | | ____ _/ |_ ____ _______ ____ ____ _/ |_
|
11 |
* | | / \\ __\_/ __ \\_ __ \ / \ _/ __ \\ __\
|
12 |
-
* | || | \| | \ ___/ | | \/| | \\ ___/ | |
|
13 |
-
* |___||___| /|__| \_____>|__| |___| / \_____>|__|
|
14 |
-
* \/ \/
|
15 |
-
* ________
|
16 |
-
* / _____/_______ ____ __ __ ______
|
17 |
-
* / \ ___\_ __ \ / _ \ | | \\____ \
|
18 |
* \ \_\ \| | \/| |_| || | /| |_| |
|
19 |
-
* \______ /|__| \____/ |____/ | __/
|
20 |
-
* \/ |__|
|
21 |
*
|
22 |
* NOTICE OF LICENSE
|
23 |
*
|
24 |
* This source file is subject to the Creative Commons License.
|
25 |
-
* It is available through the world-wide-web at this URL:
|
26 |
* http://creativecommons.org/licenses/by-nc-nd/3.0/nl/deed.en_US
|
27 |
* If you are unable to obtain it through the world-wide-web, please send an email
|
28 |
* to servicedesk@totalinternetgroup.nl so we can send you a copy immediately.
|
@@ -37,19 +37,19 @@
|
|
37 |
* @license http://creativecommons.org/licenses/by-nc-nd/3.0/nl/deed.en_US
|
38 |
*/
|
39 |
class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_ExtensionControl_Webservices_Abstract
|
40 |
-
{
|
41 |
/**
|
42 |
* XML paths for security keys
|
43 |
*/
|
44 |
const XML_PATH_EXTENSIONCONTROL_UNIQUE_KEY = 'postnl/general/unique_key';
|
45 |
const XML_PATH_EXTENSIONCONTROL_PRIVATE_KEY = 'postnl/general/private_key';
|
46 |
-
|
47 |
/**
|
48 |
* XML paths for webshop activation settings
|
49 |
*/
|
50 |
const XML_PATH_GENERAL_EMAIL = 'postnl/general/email';
|
51 |
const XML_PATH_UNSECURE_BASE_URL = 'web/unsecure/base_url';
|
52 |
-
|
53 |
/**
|
54 |
* XML paths for setting statistics
|
55 |
*/
|
@@ -59,35 +59,30 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
59 |
const XML_PATH_CHECKOUT_WEBSHOP_ID = 'postnl/cif/webshop_id';
|
60 |
const XML_PATH_CONTACT_NAME = 'postnl/cif/contact_name';
|
61 |
const XML_PATH_CUSTOMER_NUMBER = 'postnl/cif/customer_number';
|
62 |
-
|
63 |
/**
|
64 |
* XML path to extension activation setting
|
65 |
*/
|
66 |
const XML_PATH_ACTIVE = 'postnl/general/active';
|
67 |
-
|
68 |
/**
|
69 |
* XML path to 'is_activated' flag
|
70 |
*/
|
71 |
const XML_PATH_IS_ACTIVATED = 'postnl/general/is_activated';
|
72 |
-
|
73 |
/**
|
74 |
* Expected success response
|
75 |
*/
|
76 |
const SUCCESS_MESSAGE = 'success';
|
77 |
-
|
78 |
-
/**
|
79 |
-
* Encryption method used for extension control communication
|
80 |
-
*/
|
81 |
-
const ENCRYPTION_METHOD = 'bf-cbc';
|
82 |
-
|
83 |
/**
|
84 |
* Activates the webshop. This will trigger a private key and a unique key to be sent to the specified e-mail, which must be
|
85 |
* entered into system config by the merchant in order to finish the activation process.
|
86 |
-
*
|
87 |
* @param boolean|string $email
|
88 |
-
*
|
89 |
* @return TIG_PostNL_Model_ExtensionControl_Webservices
|
90 |
-
*
|
91 |
* @throws TIG_PostNL_Exception
|
92 |
*/
|
93 |
public function activateWebshop($email = false)
|
@@ -95,14 +90,14 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
95 |
if (!$email) {
|
96 |
$email = $this->_getEmail();
|
97 |
}
|
98 |
-
|
99 |
$soapParams = array(
|
100 |
'email' => $email,
|
101 |
'hostName' => $this->_getHostName(),
|
102 |
);
|
103 |
-
|
104 |
$result = $this->call('activateWebshop', $soapParams);
|
105 |
-
|
106 |
if (!is_array($result)
|
107 |
|| !isset($result['status'])
|
108 |
|| $result['status'] != self::SUCCESS_MESSAGE
|
@@ -112,68 +107,91 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
112 |
'POSTNL-0079'
|
113 |
);
|
114 |
}
|
115 |
-
|
116 |
return $this;
|
117 |
}
|
118 |
-
|
119 |
/**
|
120 |
-
* Updates the ExtensionControl server with updated statistics
|
121 |
-
*
|
122 |
* @param boolean $forceUpdate
|
123 |
-
*
|
124 |
* @return TIG_PostNL_Model_ExtensionControl_Webservices
|
125 |
*/
|
126 |
public function updateStatistics($forceUpdate = false)
|
127 |
{
|
128 |
$canSendStatictics = Mage::helper('postnl/webservices')->canSendStatistics();
|
129 |
-
if (
|
130 |
throw new TIG_PostNL_Exception(
|
131 |
Mage::helper('postnl')->__('Unable to update statistics. This feature has been disabled.'),
|
132 |
'POSTNL-0080'
|
133 |
);
|
134 |
-
}
|
135 |
-
|
136 |
/**
|
137 |
* Get the security keys used to encrypt the message
|
138 |
*/
|
139 |
$uniqueKey = $this->_getUniqueKey();
|
140 |
$privateKey = $this->_getPrivateKey();
|
141 |
-
|
142 |
if (!$uniqueKey || !$privateKey) {
|
143 |
throw new TIG_PostNL_Exception(
|
144 |
Mage::helper('postnl')->__('No private or unique key found. Unable to complete the request.'),
|
145 |
'POSTNL-0081'
|
146 |
);
|
147 |
}
|
148 |
-
|
149 |
/**
|
150 |
* get version statistics of Magento and the PostNL extension
|
151 |
*/
|
152 |
$versionData = $this->_getVersionData();
|
153 |
-
|
154 |
/**
|
155 |
* Get statistics of the websites using the extension
|
156 |
*/
|
157 |
$websiteData = $this->_getWebsites();
|
158 |
-
|
159 |
/**
|
160 |
* Merge the website and version data
|
161 |
*/
|
162 |
$data = array_merge($versionData, $websiteData);
|
163 |
-
|
164 |
/**
|
165 |
-
* Serialize
|
166 |
*/
|
167 |
$serializedData = serialize($data);
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
);
|
176 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
/**
|
178 |
* Build the SOAP parameter array
|
179 |
*/
|
@@ -182,12 +200,12 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
182 |
'integrityKey' => sha1($serializedData . $privateKey),
|
183 |
'data' => $encryptedData,
|
184 |
);
|
185 |
-
|
186 |
/**
|
187 |
* Send the request
|
188 |
*/
|
189 |
$result = $this->call('updateStatistic', $soapParams);
|
190 |
-
|
191 |
/**
|
192 |
* Check if the request was succesfull
|
193 |
*/
|
@@ -200,7 +218,7 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
200 |
'POSTNL-0082'
|
201 |
);
|
202 |
}
|
203 |
-
|
204 |
/**
|
205 |
* If a succesfull update has taken place we can confirm that the extension has been activated
|
206 |
*/
|
@@ -208,13 +226,13 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
208 |
if (!$isActivated || $isActivated == '1') {
|
209 |
Mage::getModel('core/config')->saveConfig(self::XML_PATH_IS_ACTIVATED, 2);
|
210 |
}
|
211 |
-
|
212 |
return $result;
|
213 |
}
|
214 |
-
|
215 |
/**
|
216 |
-
* Gets information about the Magento vrsion and edition as well as the
|
217 |
-
*
|
218 |
* @return array
|
219 |
*/
|
220 |
protected function _getVersionData()
|
@@ -224,10 +242,10 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
224 |
*/
|
225 |
$magentoVersion = Mage::getVersion();
|
226 |
$moduleVersion = (string) Mage::getConfig()->getModuleConfig('TIG_PostNL')->version;
|
227 |
-
|
228 |
/**
|
229 |
* Get the edition of the current Magento install. Possible options: Enterprise, Community
|
230 |
-
*
|
231 |
* N.B. Professional and Go editions are not supported at this time
|
232 |
*/
|
233 |
$isEnterprise = Mage::helper('postnl')->isEnterprise();
|
@@ -236,19 +254,19 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
236 |
} else {
|
237 |
$magentoEdition = 'Community';
|
238 |
}
|
239 |
-
|
240 |
$versionData = array(
|
241 |
'magentoVersion' => $magentoVersion,
|
242 |
'moduleVersion' => $moduleVersion,
|
243 |
'magentoEdition' => $magentoEdition,
|
244 |
);
|
245 |
-
|
246 |
return $versionData;
|
247 |
}
|
248 |
|
249 |
/**
|
250 |
* Creates the website array for the updateStatistics method
|
251 |
-
*
|
252 |
* @return array
|
253 |
*/
|
254 |
protected function _getWebsites()
|
@@ -259,7 +277,7 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
259 |
if (!$extensionEnabled) {
|
260 |
continue;
|
261 |
}
|
262 |
-
|
263 |
$websites[] = array(
|
264 |
'websiteId' => $website->getId(),
|
265 |
'hostName' => $this->_getHostName($website),
|
@@ -275,87 +293,87 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
275 |
),
|
276 |
);
|
277 |
}
|
278 |
-
|
279 |
$websiteData = array('websites' => $websites);
|
280 |
return $websiteData;
|
281 |
}
|
282 |
-
|
283 |
/**
|
284 |
* Get the email contact to which the unique- and privatekeys will be sent after activation
|
285 |
-
*
|
286 |
* @return string
|
287 |
*/
|
288 |
protected function _getEmail()
|
289 |
{
|
290 |
$email = Mage::getStoreConfig(self::XML_PATH_GENERAL_EMAIL, Mage_Core_Model_App::ADMIN_STORE_ID);
|
291 |
-
|
292 |
return $email;
|
293 |
}
|
294 |
-
|
295 |
/**
|
296 |
* Get thje hostname of the admin area to use in the module activation procedure or the hostname of a specified website to
|
297 |
* use with the updateStatistics method
|
298 |
-
*
|
299 |
* @param Mage_Core_Model_Website $website
|
300 |
-
*
|
301 |
* @return string
|
302 |
*/
|
303 |
protected function _getHostName($website = null)
|
304 |
{
|
305 |
/**
|
306 |
-
* If no website ID is provided, get the current hostname. In most cases this will be the hostname of the admin
|
307 |
* environment.
|
308 |
*/
|
309 |
if ($website === null) {
|
310 |
$hostName = Mage::helper('core/http')->getHttpHost();
|
311 |
return $hostName;
|
312 |
}
|
313 |
-
|
314 |
/**
|
315 |
* Get the website's base URL
|
316 |
*/
|
317 |
$baseUrl = $website->getConfig(self::XML_PATH_UNSECURE_BASE_URL, $website->getId());
|
318 |
-
|
319 |
/**
|
320 |
* Parse the URL and get the host name
|
321 |
*/
|
322 |
$urlParts = parse_url($baseUrl);
|
323 |
$hostName = $urlParts['host'];
|
324 |
-
|
325 |
return $hostName;
|
326 |
}
|
327 |
-
|
328 |
/**
|
329 |
* Gets the unique key from system/config. Keys will be decrypted using Magento's encryption key.
|
330 |
-
*
|
331 |
* @return string
|
332 |
*/
|
333 |
protected function _getUniqueKey()
|
334 |
{
|
335 |
$uniqueKey = Mage::getStoreConfig(self::XML_PATH_EXTENSIONCONTROL_UNIQUE_KEY, Mage_Core_Model_App::ADMIN_STORE_ID);
|
336 |
$uniqueKey = Mage::helper('core')->decrypt($uniqueKey);
|
337 |
-
|
338 |
return $uniqueKey;
|
339 |
}
|
340 |
-
|
341 |
/**
|
342 |
* Gets the unique key from system/config. Keys will be decrypted using Magento's encryption key.
|
343 |
-
*
|
344 |
* @return string
|
345 |
*/
|
346 |
protected function _getPrivateKey()
|
347 |
{
|
348 |
$privateKey = Mage::getStoreConfig(self::XML_PATH_EXTENSIONCONTROL_PRIVATE_KEY, Mage_Core_Model_App::ADMIN_STORE_ID);
|
349 |
$privateKey = Mage::helper('core')->decrypt($privateKey);
|
350 |
-
|
351 |
return $privateKey;
|
352 |
}
|
353 |
-
|
354 |
/**
|
355 |
* Get the number of PostNL shipments a specified website has sent
|
356 |
-
*
|
357 |
* @param Mage_Core_Model_Website $website
|
358 |
-
*
|
359 |
* @return int
|
360 |
*/
|
361 |
protected function _getAmountOfShipments($website)
|
@@ -370,19 +388,19 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
370 |
$storeIds[] = $store->getId();
|
371 |
}
|
372 |
}
|
373 |
-
|
374 |
$resource = Mage::getSingleton('core/resource');
|
375 |
-
|
376 |
$postnlShippingMethods = Mage::helper('postnl/carrier')->getPostnlShippingMethods();
|
377 |
-
|
378 |
/**
|
379 |
* Get the shipment collection
|
380 |
*/
|
381 |
$shipmentCollection = Mage::getResourceModel('sales/order_shipment_collection');
|
382 |
$shipmentCollection->addFieldToSelect('entity_id');
|
383 |
-
|
384 |
$select = $shipmentCollection->getSelect();
|
385 |
-
|
386 |
/**
|
387 |
* Join sales_flat_order table
|
388 |
*/
|
@@ -393,19 +411,19 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
393 |
'shipping_method' => 'order.shipping_method',
|
394 |
)
|
395 |
);
|
396 |
-
|
397 |
$shipmentCollection->addFieldToFilter('`shipping_method`', array('in' => $postnlShippingMethods))
|
398 |
->addFieldToFilter('`main_table`.`store_id`', array('in' => $storeIds));
|
399 |
-
|
400 |
$amountOfShipments = $shipmentCollection->getSize();
|
401 |
return $amountOfShipments;
|
402 |
}
|
403 |
-
|
404 |
/**
|
405 |
* gets the last order date if any for this website
|
406 |
-
*
|
407 |
* @param Mage_Core_Model_Website $website
|
408 |
-
*
|
409 |
* @return null|string
|
410 |
*/
|
411 |
protected function _getLastOrderDate($website)
|
@@ -420,66 +438,66 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
420 |
$storeIds[] = $store->getId();
|
421 |
}
|
422 |
}
|
423 |
-
|
424 |
/**
|
425 |
* Get the order collection and filter it by store
|
426 |
-
*
|
427 |
-
* Resulting SQL:
|
428 |
-
* SELECT `main_table`.`created_at`
|
429 |
-
* FROM `sales_flat_order` AS `main_table`
|
430 |
-
* WHERE
|
431 |
* (
|
432 |
* `main_table`.`store_id` IN(
|
433 |
* {$storeIds}
|
434 |
* )
|
435 |
-
* )
|
436 |
-
* ORDER BY `created_at` DESC
|
437 |
* LIMIT 1
|
438 |
*/
|
439 |
$orderCollection = Mage::getResourceModel('sales/order_collection');
|
440 |
$orderCollection->addFieldToSelect('created_at')
|
441 |
->addFieldToFilter('`main_table`.`store_id`', array('in' => $storeIds));
|
442 |
-
|
443 |
$orderCollection->getSelect()
|
444 |
->order('created_at DESC')
|
445 |
->limit(1);
|
446 |
-
|
447 |
/**
|
448 |
* If the collection is empty, return false
|
449 |
*/
|
450 |
if ($orderCollection->getSize() < 1) {
|
451 |
return false;
|
452 |
}
|
453 |
-
|
454 |
/**
|
455 |
* Get the created_at date from the only item in the collection
|
456 |
*/
|
457 |
$lastOrder = $orderCollection->getFirstItem();
|
458 |
$createdAt = $lastOrder->getCreatedAt();
|
459 |
$createdAt = Mage::getModel('core/date')->date('Y-m-d H:i:s', $createdAt);
|
460 |
-
|
461 |
return $createdAt;
|
462 |
}
|
463 |
-
|
464 |
/**
|
465 |
* Gets the merchant's name if set
|
466 |
-
*
|
467 |
* @param Mage_Core_Model_Website $website
|
468 |
-
*
|
469 |
* @return string
|
470 |
*/
|
471 |
protected function _getMerchantName($website)
|
472 |
{
|
473 |
$name = $website->getConfig(self::XML_PATH_CONTACT_NAME);
|
474 |
-
|
475 |
return $name;
|
476 |
}
|
477 |
-
|
478 |
/**
|
479 |
* Get whether a specified website uses global shipping
|
480 |
-
*
|
481 |
* @param Mage_Core_Model_Website $website
|
482 |
-
*
|
483 |
* @return boolean
|
484 |
*/
|
485 |
protected function _getUsesGlobalShipping($website)
|
@@ -489,9 +507,9 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
489 |
*/
|
490 |
$supportedProductOptions = $website->getConfig(self::XML_PATH_SUPPORTED_PRODUCT_OPTIONS);
|
491 |
$supportedProductOptions = explode(',', $supportedProductOptions);
|
492 |
-
|
493 |
$globalProductOptions = Mage::helper('postnl/cif')->getGlobalProductCodes();
|
494 |
-
|
495 |
/**
|
496 |
* Check each global product option if it's supported.
|
497 |
*/
|
@@ -500,64 +518,64 @@ class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_Ext
|
|
500 |
return true;
|
501 |
}
|
502 |
}
|
503 |
-
|
504 |
return false;
|
505 |
}
|
506 |
-
|
507 |
/**
|
508 |
* Get the split_street setting for a specified website
|
509 |
-
*
|
510 |
* @param Mage_Core_Model_Website $website
|
511 |
-
*
|
512 |
* @return boolean
|
513 |
*/
|
514 |
protected function _getUsesSplitAddress($website)
|
515 |
{
|
516 |
$splitStreet = (bool) $website->getConfig(self::XML_PATH_SPLIT_STREET);
|
517 |
-
|
518 |
return $splitStreet;
|
519 |
}
|
520 |
-
|
521 |
/**
|
522 |
* Gets whether the website makes use of PostNL Checkout
|
523 |
-
*
|
524 |
* @param Mage_Core_Model_Website $website
|
525 |
-
*
|
526 |
* @return boolean
|
527 |
*/
|
528 |
protected function _getUsesPostnlCheckout($website)
|
529 |
{
|
530 |
$checkoutActive = (bool) $website->getConfig(self::XML_PATH_CHECKOUT_ACTIVE);
|
531 |
-
|
532 |
return $checkoutActive;
|
533 |
}
|
534 |
-
|
535 |
/**
|
536 |
* Gets the checkout webshop ID
|
537 |
-
*
|
538 |
* @param Mage_Core_Model_Website $website
|
539 |
-
*
|
540 |
* @return string
|
541 |
*/
|
542 |
protected function _getCheckoutWebshopId($website)
|
543 |
{
|
544 |
$webshopId = $website->getConfig(self::XML_PATH_CHECKOUT_WEBSHOP_ID);
|
545 |
$webshopId = Mage::helper('core')->decrypt($webshopId);
|
546 |
-
|
547 |
return $webshopId;
|
548 |
}
|
549 |
-
|
550 |
/**
|
551 |
* Gets the CIF customer number
|
552 |
-
*
|
553 |
* @param Mage_Core_Model_Website $website
|
554 |
-
*
|
555 |
* @return string
|
556 |
*/
|
557 |
protected function _getCustomerNumber($website)
|
558 |
{
|
559 |
$webshopId = $website->getConfig(self::XML_PATH_CUSTOMER_NUMBER);
|
560 |
-
|
561 |
return $webshopId;
|
562 |
}
|
563 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* ___________ __ __
|
4 |
+
* \__ ___/____ _/ |_ _____ | |
|
5 |
* | | / _ \\ __\\__ \ | |
|
6 |
* | | | |_| || | / __ \_| |__
|
7 |
* |____| \____/ |__| (____ /|____/
|
8 |
+
* \/
|
9 |
+
* ___ __ __
|
10 |
+
* | | ____ _/ |_ ____ _______ ____ ____ _/ |_
|
11 |
* | | / \\ __\_/ __ \\_ __ \ / \ _/ __ \\ __\
|
12 |
+
* | || | \| | \ ___/ | | \/| | \\ ___/ | |
|
13 |
+
* |___||___| /|__| \_____>|__| |___| / \_____>|__|
|
14 |
+
* \/ \/
|
15 |
+
* ________
|
16 |
+
* / _____/_______ ____ __ __ ______
|
17 |
+
* / \ ___\_ __ \ / _ \ | | \\____ \
|
18 |
* \ \_\ \| | \/| |_| || | /| |_| |
|
19 |
+
* \______ /|__| \____/ |____/ | __/
|
20 |
+
* \/ |__|
|
21 |
*
|
22 |
* NOTICE OF LICENSE
|
23 |
*
|
24 |
* This source file is subject to the Creative Commons License.
|
25 |
+
* It is available through the world-wide-web at this URL:
|
26 |
* http://creativecommons.org/licenses/by-nc-nd/3.0/nl/deed.en_US
|
27 |
* If you are unable to obtain it through the world-wide-web, please send an email
|
28 |
* to servicedesk@totalinternetgroup.nl so we can send you a copy immediately.
|
37 |
* @license http://creativecommons.org/licenses/by-nc-nd/3.0/nl/deed.en_US
|
38 |
*/
|
39 |
class TIG_PostNL_Model_ExtensionControl_Webservices extends TIG_PostNL_Model_ExtensionControl_Webservices_Abstract
|
40 |
+
{
|
41 |
/**
|
42 |
* XML paths for security keys
|
43 |
*/
|
44 |
const XML_PATH_EXTENSIONCONTROL_UNIQUE_KEY = 'postnl/general/unique_key';
|
45 |
const XML_PATH_EXTENSIONCONTROL_PRIVATE_KEY = 'postnl/general/private_key';
|
46 |
+
|
47 |
/**
|
48 |
* XML paths for webshop activation settings
|
49 |
*/
|
50 |
const XML_PATH_GENERAL_EMAIL = 'postnl/general/email';
|
51 |
const XML_PATH_UNSECURE_BASE_URL = 'web/unsecure/base_url';
|
52 |
+
|
53 |
/**
|
54 |
* XML paths for setting statistics
|
55 |
*/
|
59 |
const XML_PATH_CHECKOUT_WEBSHOP_ID = 'postnl/cif/webshop_id';
|
60 |
const XML_PATH_CONTACT_NAME = 'postnl/cif/contact_name';
|
61 |
const XML_PATH_CUSTOMER_NUMBER = 'postnl/cif/customer_number';
|
62 |
+
|
63 |
/**
|
64 |
* XML path to extension activation setting
|
65 |
*/
|
66 |
const XML_PATH_ACTIVE = 'postnl/general/active';
|
67 |
+
|
68 |
/**
|
69 |
* XML path to 'is_activated' flag
|
70 |
*/
|
71 |
const XML_PATH_IS_ACTIVATED = 'postnl/general/is_activated';
|
72 |
+
|
73 |
/**
|
74 |
* Expected success response
|
75 |
*/
|
76 |
const SUCCESS_MESSAGE = 'success';
|
77 |
+
|
|
|
|
|
|
|
|
|
|
|
78 |
/**
|
79 |
* Activates the webshop. This will trigger a private key and a unique key to be sent to the specified e-mail, which must be
|
80 |
* entered into system config by the merchant in order to finish the activation process.
|
81 |
+
*
|
82 |
* @param boolean|string $email
|
83 |
+
*
|
84 |
* @return TIG_PostNL_Model_ExtensionControl_Webservices
|
85 |
+
*
|
86 |
* @throws TIG_PostNL_Exception
|
87 |
*/
|
88 |
public function activateWebshop($email = false)
|
90 |
if (!$email) {
|
91 |
$email = $this->_getEmail();
|
92 |
}
|
93 |
+
|
94 |
$soapParams = array(
|
95 |
'email' => $email,
|
96 |
'hostName' => $this->_getHostName(),
|
97 |
);
|
98 |
+
|
99 |
$result = $this->call('activateWebshop', $soapParams);
|
100 |
+
|
101 |
if (!is_array($result)
|
102 |
|| !isset($result['status'])
|
103 |
|| $result['status'] != self::SUCCESS_MESSAGE
|
107 |
'POSTNL-0079'
|
108 |
);
|
109 |
}
|
110 |
+
|
111 |
return $this;
|
112 |
}
|
113 |
+
|
114 |
/**
|
115 |
+
* Updates the ExtensionControl server with updated statistics.
|
116 |
+
*
|
117 |
* @param boolean $forceUpdate
|
118 |
+
*
|
119 |
* @return TIG_PostNL_Model_ExtensionControl_Webservices
|
120 |
*/
|
121 |
public function updateStatistics($forceUpdate = false)
|
122 |
{
|
123 |
$canSendStatictics = Mage::helper('postnl/webservices')->canSendStatistics();
|
124 |
+
if ($forceUpdate !== true && !$canSendStatictics) {
|
125 |
throw new TIG_PostNL_Exception(
|
126 |
Mage::helper('postnl')->__('Unable to update statistics. This feature has been disabled.'),
|
127 |
'POSTNL-0080'
|
128 |
);
|
129 |
+
}
|
130 |
+
|
131 |
/**
|
132 |
* Get the security keys used to encrypt the message
|
133 |
*/
|
134 |
$uniqueKey = $this->_getUniqueKey();
|
135 |
$privateKey = $this->_getPrivateKey();
|
136 |
+
|
137 |
if (!$uniqueKey || !$privateKey) {
|
138 |
throw new TIG_PostNL_Exception(
|
139 |
Mage::helper('postnl')->__('No private or unique key found. Unable to complete the request.'),
|
140 |
'POSTNL-0081'
|
141 |
);
|
142 |
}
|
143 |
+
|
144 |
/**
|
145 |
* get version statistics of Magento and the PostNL extension
|
146 |
*/
|
147 |
$versionData = $this->_getVersionData();
|
148 |
+
|
149 |
/**
|
150 |
* Get statistics of the websites using the extension
|
151 |
*/
|
152 |
$websiteData = $this->_getWebsites();
|
153 |
+
|
154 |
/**
|
155 |
* Merge the website and version data
|
156 |
*/
|
157 |
$data = array_merge($versionData, $websiteData);
|
158 |
+
|
159 |
/**
|
160 |
+
* Serialize the data so we can encrypt it.
|
161 |
*/
|
162 |
$serializedData = serialize($data);
|
163 |
+
|
164 |
+
/**
|
165 |
+
* Prepare the private key for encryption and get the IV (initialization vector) we'll use with mcrypt.
|
166 |
+
*
|
167 |
+
* @link http://www.php.net/manual/en/function.mcrypt-get-iv-size.php
|
168 |
+
* @link http://www.php.net/manual/en/function.mcrypt-create-iv.php
|
169 |
+
*/
|
170 |
+
$mcryptKey = pack('H*', $privateKey);
|
171 |
+
$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC);
|
172 |
+
$iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);
|
173 |
+
|
174 |
+
/**
|
175 |
+
* Encrypt the data.
|
176 |
+
*
|
177 |
+
* @link http://www.php.net/manual/en/function.mcrypt-encrypt.php
|
178 |
+
*/
|
179 |
+
$encryptedData = mcrypt_encrypt(
|
180 |
+
MCRYPT_RIJNDAEL_256,
|
181 |
+
$mcryptKey,
|
182 |
+
$serializedData,
|
183 |
+
MCRYPT_MODE_CBC,
|
184 |
+
$iv
|
185 |
);
|
186 |
+
|
187 |
+
/**
|
188 |
+
* Prepend the IV, so the server can decrypt it later.
|
189 |
+
* Contrary to what some people may believe, sending the IV with the encrypted data does NOT constitute a
|
190 |
+
* security risk {@link http://www.php.net/manual/en/function.mcrypt-create-iv.php}.
|
191 |
+
*/
|
192 |
+
$encryptedData = $iv . $encryptedData;
|
193 |
+
$encryptedData = base64_encode($encryptedData);
|
194 |
+
|
195 |
/**
|
196 |
* Build the SOAP parameter array
|
197 |
*/
|
200 |
'integrityKey' => sha1($serializedData . $privateKey),
|
201 |
'data' => $encryptedData,
|
202 |
);
|
203 |
+
|
204 |
/**
|
205 |
* Send the request
|
206 |
*/
|
207 |
$result = $this->call('updateStatistic', $soapParams);
|
208 |
+
|
209 |
/**
|
210 |
* Check if the request was succesfull
|
211 |
*/
|
218 |
'POSTNL-0082'
|
219 |
);
|
220 |
}
|
221 |
+
|
222 |
/**
|
223 |
* If a succesfull update has taken place we can confirm that the extension has been activated
|
224 |
*/
|
226 |
if (!$isActivated || $isActivated == '1') {
|
227 |
Mage::getModel('core/config')->saveConfig(self::XML_PATH_IS_ACTIVATED, 2);
|
228 |
}
|
229 |
+
|
230 |
return $result;
|
231 |
}
|
232 |
+
|
233 |
/**
|
234 |
+
* Gets information about the Magento vrsion and edition as well as the version of the currently installed PosTNL extension.
|
235 |
+
*
|
236 |
* @return array
|
237 |
*/
|
238 |
protected function _getVersionData()
|
242 |
*/
|
243 |
$magentoVersion = Mage::getVersion();
|
244 |
$moduleVersion = (string) Mage::getConfig()->getModuleConfig('TIG_PostNL')->version;
|
245 |
+
|
246 |
/**
|
247 |
* Get the edition of the current Magento install. Possible options: Enterprise, Community
|
248 |
+
*
|
249 |
* N.B. Professional and Go editions are not supported at this time
|
250 |
*/
|
251 |
$isEnterprise = Mage::helper('postnl')->isEnterprise();
|
254 |
} else {
|
255 |
$magentoEdition = 'Community';
|
256 |
}
|
257 |
+
|
258 |
$versionData = array(
|
259 |
'magentoVersion' => $magentoVersion,
|
260 |
'moduleVersion' => $moduleVersion,
|
261 |
'magentoEdition' => $magentoEdition,
|
262 |
);
|
263 |
+
|
264 |
return $versionData;
|
265 |
}
|
266 |
|
267 |
/**
|
268 |
* Creates the website array for the updateStatistics method
|
269 |
+
*
|
270 |
* @return array
|
271 |
*/
|
272 |
protected function _getWebsites()
|
277 |
if (!$extensionEnabled) {
|
278 |
continue;
|
279 |
}
|
280 |
+
|
281 |
$websites[] = array(
|
282 |
'websiteId' => $website->getId(),
|
283 |
'hostName' => $this->_getHostName($website),
|
293 |
),
|
294 |
);
|
295 |
}
|
296 |
+
|
297 |
$websiteData = array('websites' => $websites);
|
298 |
return $websiteData;
|
299 |
}
|
300 |
+
|
301 |
/**
|
302 |
* Get the email contact to which the unique- and privatekeys will be sent after activation
|
303 |
+
*
|
304 |
* @return string
|
305 |
*/
|
306 |
protected function _getEmail()
|
307 |
{
|
308 |
$email = Mage::getStoreConfig(self::XML_PATH_GENERAL_EMAIL, Mage_Core_Model_App::ADMIN_STORE_ID);
|
309 |
+
|
310 |
return $email;
|
311 |
}
|
312 |
+
|
313 |
/**
|
314 |
* Get thje hostname of the admin area to use in the module activation procedure or the hostname of a specified website to
|
315 |
* use with the updateStatistics method
|
316 |
+
*
|
317 |
* @param Mage_Core_Model_Website $website
|
318 |
+
*
|
319 |
* @return string
|
320 |
*/
|
321 |
protected function _getHostName($website = null)
|
322 |
{
|
323 |
/**
|
324 |
+
* If no website ID is provided, get the current hostname. In most cases this will be the hostname of the admin
|
325 |
* environment.
|
326 |
*/
|
327 |
if ($website === null) {
|
328 |
$hostName = Mage::helper('core/http')->getHttpHost();
|
329 |
return $hostName;
|
330 |
}
|
331 |
+
|
332 |
/**
|
333 |
* Get the website's base URL
|
334 |
*/
|
335 |
$baseUrl = $website->getConfig(self::XML_PATH_UNSECURE_BASE_URL, $website->getId());
|
336 |
+
|
337 |
/**
|
338 |
* Parse the URL and get the host name
|
339 |
*/
|
340 |
$urlParts = parse_url($baseUrl);
|
341 |
$hostName = $urlParts['host'];
|
342 |
+
|
343 |
return $hostName;
|
344 |
}
|
345 |
+
|
346 |
/**
|
347 |
* Gets the unique key from system/config. Keys will be decrypted using Magento's encryption key.
|
348 |
+
*
|
349 |
* @return string
|
350 |
*/
|
351 |
protected function _getUniqueKey()
|
352 |
{
|
353 |
$uniqueKey = Mage::getStoreConfig(self::XML_PATH_EXTENSIONCONTROL_UNIQUE_KEY, Mage_Core_Model_App::ADMIN_STORE_ID);
|
354 |
$uniqueKey = Mage::helper('core')->decrypt($uniqueKey);
|
355 |
+
|
356 |
return $uniqueKey;
|
357 |
}
|
358 |
+
|
359 |
/**
|
360 |
* Gets the unique key from system/config. Keys will be decrypted using Magento's encryption key.
|
361 |
+
*
|
362 |
* @return string
|
363 |
*/
|
364 |
protected function _getPrivateKey()
|
365 |
{
|
366 |
$privateKey = Mage::getStoreConfig(self::XML_PATH_EXTENSIONCONTROL_PRIVATE_KEY, Mage_Core_Model_App::ADMIN_STORE_ID);
|
367 |
$privateKey = Mage::helper('core')->decrypt($privateKey);
|
368 |
+
|
369 |
return $privateKey;
|
370 |
}
|
371 |
+
|
372 |
/**
|
373 |
* Get the number of PostNL shipments a specified website has sent
|
374 |
+
*
|
375 |
* @param Mage_Core_Model_Website $website
|
376 |
+
*
|
377 |
* @return int
|
378 |
*/
|
379 |
protected function _getAmountOfShipments($website)
|
388 |
$storeIds[] = $store->getId();
|
389 |
}
|
390 |
}
|
391 |
+
|
392 |
$resource = Mage::getSingleton('core/resource');
|
393 |
+
|
394 |
$postnlShippingMethods = Mage::helper('postnl/carrier')->getPostnlShippingMethods();
|
395 |
+
|
396 |
/**
|
397 |
* Get the shipment collection
|
398 |
*/
|
399 |
$shipmentCollection = Mage::getResourceModel('sales/order_shipment_collection');
|
400 |
$shipmentCollection->addFieldToSelect('entity_id');
|
401 |
+
|
402 |
$select = $shipmentCollection->getSelect();
|
403 |
+
|
404 |
/**
|
405 |
* Join sales_flat_order table
|
406 |
*/
|
411 |
'shipping_method' => 'order.shipping_method',
|
412 |
)
|
413 |
);
|
414 |
+
|
415 |
$shipmentCollection->addFieldToFilter('`shipping_method`', array('in' => $postnlShippingMethods))
|
416 |
->addFieldToFilter('`main_table`.`store_id`', array('in' => $storeIds));
|
417 |
+
|
418 |
$amountOfShipments = $shipmentCollection->getSize();
|
419 |
return $amountOfShipments;
|
420 |
}
|
421 |
+
|
422 |
/**
|
423 |
* gets the last order date if any for this website
|
424 |
+
*
|
425 |
* @param Mage_Core_Model_Website $website
|
426 |
+
*
|
427 |
* @return null|string
|
428 |
*/
|
429 |
protected function _getLastOrderDate($website)
|
438 |
$storeIds[] = $store->getId();
|
439 |
}
|
440 |
}
|
441 |
+
|
442 |
/**
|
443 |
* Get the order collection and filter it by store
|
444 |
+
*
|
445 |
+
* Resulting SQL:
|
446 |
+
* SELECT `main_table`.`created_at`
|
447 |
+
* FROM `sales_flat_order` AS `main_table`
|
448 |
+
* WHERE
|
449 |
* (
|
450 |
* `main_table`.`store_id` IN(
|
451 |
* {$storeIds}
|
452 |
* )
|
453 |
+
* )
|
454 |
+
* ORDER BY `created_at` DESC
|
455 |
* LIMIT 1
|
456 |
*/
|
457 |
$orderCollection = Mage::getResourceModel('sales/order_collection');
|
458 |
$orderCollection->addFieldToSelect('created_at')
|
459 |
->addFieldToFilter('`main_table`.`store_id`', array('in' => $storeIds));
|
460 |
+
|
461 |
$orderCollection->getSelect()
|
462 |
->order('created_at DESC')
|
463 |
->limit(1);
|
464 |
+
|
465 |
/**
|
466 |
* If the collection is empty, return false
|
467 |
*/
|
468 |
if ($orderCollection->getSize() < 1) {
|
469 |
return false;
|
470 |
}
|
471 |
+
|
472 |
/**
|
473 |
* Get the created_at date from the only item in the collection
|
474 |
*/
|
475 |
$lastOrder = $orderCollection->getFirstItem();
|
476 |
$createdAt = $lastOrder->getCreatedAt();
|
477 |
$createdAt = Mage::getModel('core/date')->date('Y-m-d H:i:s', $createdAt);
|
478 |
+
|
479 |
return $createdAt;
|
480 |
}
|
481 |
+
|
482 |
/**
|
483 |
* Gets the merchant's name if set
|
484 |
+
*
|
485 |
* @param Mage_Core_Model_Website $website
|
486 |
+
*
|
487 |
* @return string
|
488 |
*/
|
489 |
protected function _getMerchantName($website)
|
490 |
{
|
491 |
$name = $website->getConfig(self::XML_PATH_CONTACT_NAME);
|
492 |
+
|
493 |
return $name;
|
494 |
}
|
495 |
+
|
496 |
/**
|
497 |
* Get whether a specified website uses global shipping
|
498 |
+
*
|
499 |
* @param Mage_Core_Model_Website $website
|
500 |
+
*
|
501 |
* @return boolean
|
502 |
*/
|
503 |
protected function _getUsesGlobalShipping($website)
|
507 |
*/
|
508 |
$supportedProductOptions = $website->getConfig(self::XML_PATH_SUPPORTED_PRODUCT_OPTIONS);
|
509 |
$supportedProductOptions = explode(',', $supportedProductOptions);
|
510 |
+
|
511 |
$globalProductOptions = Mage::helper('postnl/cif')->getGlobalProductCodes();
|
512 |
+
|
513 |
/**
|
514 |
* Check each global product option if it's supported.
|
515 |
*/
|
518 |
return true;
|
519 |
}
|
520 |
}
|
521 |
+
|
522 |
return false;
|
523 |
}
|
524 |
+
|
525 |
/**
|
526 |
* Get the split_street setting for a specified website
|
527 |
+
*
|
528 |
* @param Mage_Core_Model_Website $website
|
529 |
+
*
|
530 |
* @return boolean
|
531 |
*/
|
532 |
protected function _getUsesSplitAddress($website)
|
533 |
{
|
534 |
$splitStreet = (bool) $website->getConfig(self::XML_PATH_SPLIT_STREET);
|
535 |
+
|
536 |
return $splitStreet;
|
537 |
}
|
538 |
+
|
539 |
/**
|
540 |
* Gets whether the website makes use of PostNL Checkout
|
541 |
+
*
|
542 |
* @param Mage_Core_Model_Website $website
|
543 |
+
*
|
544 |
* @return boolean
|
545 |
*/
|
546 |
protected function _getUsesPostnlCheckout($website)
|
547 |
{
|
548 |
$checkoutActive = (bool) $website->getConfig(self::XML_PATH_CHECKOUT_ACTIVE);
|
549 |
+
|
550 |
return $checkoutActive;
|
551 |
}
|
552 |
+
|
553 |
/**
|
554 |
* Gets the checkout webshop ID
|
555 |
+
*
|
556 |
* @param Mage_Core_Model_Website $website
|
557 |
+
*
|
558 |
* @return string
|
559 |
*/
|
560 |
protected function _getCheckoutWebshopId($website)
|
561 |
{
|
562 |
$webshopId = $website->getConfig(self::XML_PATH_CHECKOUT_WEBSHOP_ID);
|
563 |
$webshopId = Mage::helper('core')->decrypt($webshopId);
|
564 |
+
|
565 |
return $webshopId;
|
566 |
}
|
567 |
+
|
568 |
/**
|
569 |
* Gets the CIF customer number
|
570 |
+
*
|
571 |
* @param Mage_Core_Model_Website $website
|
572 |
+
*
|
573 |
* @return string
|
574 |
*/
|
575 |
protected function _getCustomerNumber($website)
|
576 |
{
|
577 |
$webshopId = $website->getConfig(self::XML_PATH_CUSTOMER_NUMBER);
|
578 |
+
|
579 |
return $webshopId;
|
580 |
}
|
581 |
}
|
@@ -41,7 +41,7 @@
|
|
41 |
<config>
|
42 |
<modules>
|
43 |
<TIG_PostNL>
|
44 |
-
<version>1.1.
|
45 |
</TIG_PostNL>
|
46 |
</modules>
|
47 |
|
41 |
<config>
|
42 |
<modules>
|
43 |
<TIG_PostNL>
|
44 |
+
<version>1.1.3</version>
|
45 |
</TIG_PostNL>
|
46 |
</modules>
|
47 |
|
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>tig_postnl</name>
|
4 |
-
<version>1.1.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://creativecommons.org/licenses/by-nc-nd/3.0/nl/deed.en_US">Creative Commons License</license>
|
7 |
<channel>community</channel>
|
@@ -20,7 +20,11 @@ Services included:
|
|
20 |
- Viewing detailed shipping status information
|
21 |
- PostNL Checkout
|
22 |
- Emailing customers track & trace information, allowing them to track their shipment from the moment you confirm it to the moment it arrives at their doorstep</description>
|
23 |
-
<notes>v1.1.
|
|
|
|
|
|
|
|
|
24 |

|
25 |
- Updated manual.
|
26 |

|
@@ -80,9 +84,9 @@ v1.0.0
|
|
80 |

|
81 |
This is the initial beta release of the extension. If you have any questions, please contact the Total Internet Group Servicedesk</notes>
|
82 |
<authors><author><name>TiG</name><user>supporttotal</user><email>servicedesk@totalinternetgroup.nl</email></author></authors>
|
83 |
-
<date>2014-02-
|
84 |
-
<time>
|
85 |
-
<contents><target name="magecommunity"><dir name="TIG"><dir name="PostNL"><dir name="Block"><dir name="Adminhtml"><file name="CronNotification.php" hash="ec6263ed9fca94273bbc5d5493cac0ce"/><dir name="Sales"><dir name="Order"><file name="ProductOptions.php" hash="f46f9e9ba1a37ceff2db6d3131a21ebb"/><dir name="Shipment"><dir name="Create"><file name="ShipmentOptions.php" hash="6a63d89143a8b310f93ef73385f3eda0"/></dir><dir name="View"><file name="ShippingStatus.php" hash="297af21cb49e6b2cdfee192dfbf5f239"/><dir name="Tab"><file name="StatusHistory.php" hash="7b6bd52216822f7dc71fc998e8056376"/></dir><file name="Tabs.php" hash="a213c367f78e84fafd05d9d6310db5f5"/></dir></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="ActivateButton.php" hash="2f57922bb9347b0b9d21a1a82529ffb4"/><file name="ActivatedFieldHeader.php" hash="4af748c827c108c2d72f12d1e9de0681"/><file name="ConfigCheck.php" hash="e967c3a4782fbb2ba4accef38a8a2373"/><file name="InfoBox.php" hash="4b93fd3c1e44230c4d8c3fb93ec581f3"/><file name="SplitAddressCheck.php" hash="cc8509b1f1fee9d825980382dc0833c2"/><file name="SupportTab.php" hash="e34f2bf7e87060698e0560894319b3b0"/><dir name="TextBox"><file name="Abstract.php" hash="423c2b84db587309a8a6d90dabc4de4f"/></dir><file name="ValidateButton.php" hash="5a30e6615a96e05cf3600855c15544de"/><file name="WarningBox.php" hash="36dce34841f2252f466e78dc2eddf1ba"/></dir><file name="Fieldset.php" hash="1bc60b1e6644802198c62666b50d3acf"/></dir><file name="Form.php" hash="a4fe68b2216fdccafb1bfecfa3f8e1a1"/></dir></dir><dir name="Widget"><dir name="Grid"><dir name="Column"><dir name="Renderer"><file name="Action.php" hash="9fc6e2f204f2238ab29699b614589134"/><file name="Barcode.php" hash="74858ac29b17c675cb2d8f55b8cba3fc"/><file name="ConfirmDate.php" hash="3d6692b46faaeedf55ab74e4b239790f"/><file name="ConfirmStatus.php" hash="db96b519fa025bb9f5f5737bb0e80bf2"/><file name="ShipmentType.php" hash="2a817a37ab1ccdc8a7e836f0443d012f"/><file name="ShippingPhase.php" hash="9ee0fc92ee2cc623edb3df86247d2d06"/><file name="Time.php" hash="dbf5b70742e0877eff7f01ec65319e3b"/><file name="Translate.php" hash="46d83e4013d6ab1d14d39f303703e5c4"/><file name="YesNo.php" hash="1bdb10008eecb146fd185040e24d48e5"/></dir></dir></dir></dir></dir><dir name="Checkout"><dir name="Cart"><file name="CheckoutLink.php" hash="b0c3e048cfcbb6d91000ab4df4b502cc"/><file name="Js.php" hash="acb7f5ad743ca311153b639f6ea33c75"/></dir><dir name="Summary"><file name="Totals.php" hash="bbe4ec0aaf15ecc40bff8504d67aa1e4"/></dir><file name="Summary.php" hash="a2b997d74cee541fd570327a496e30fb"/></dir><dir name="Core"><file name="ShippingStatus.php" hash="c92beeec25228692afcc2f64ed44dd01"/></dir></dir><file name="Exception.php" hash="5b9f750676440653abfee244727aa29f"/><dir name="Helper"><file name="Carrier.php" hash="9625f891a86da6b84c4bdf5f1ff37597"/><file name="Checkout.php" hash="cf0907c1d9601c137c2fd8b3c1d3487d"/><file name="Cif.php" hash="0285a984fe853a189081a4aa9e4db057"/><file name="Data.php" hash="64255e95c4ff036ce3ab692a9f6913c3"/><file name="Webservices.php" hash="0cc54fac78af257b2740d9519e9570d3"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="Observer"><file name="OrderGrid.php" hash="bd693cf00644091cf5bedf31d6447f14"/><file name="ShipmentGrid.php" hash="4096699dc53864b85806a07fbc0f6d7a"/><file name="ShipmentView.php" hash="d9d86d31fdc9ca1126ba3296054db733"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="ShipmentGridColumns.php" hash="fec7db9a0c5ba79c6a0987ddec42e4cc"/></dir></dir></dir></dir><dir name="Carrier"><file name="Postnl.php" hash="4555895c5ec8d0b0f7a4d259ac1dc818"/><dir name="System"><dir name="Config"><dir name="Source"><file name="RateType.php" hash="940bf2381b879188d6e4aa756d0d0dce"/></dir></dir></dir></dir><dir name="Checkout"><file name="Cif.php" hash="9ab1f1c983f5b3ba41a9019e723ec1c3"/><dir name="Observer"><file name="Order.php" hash="5cf7b700b2286a6916f23e72e3346beb"/><file name="Shipment.php" hash="217a3bf9d730f1061e9d3117edc6c2a3"/></dir><file name="Order.php" hash="619b8f385b29357449644def665f58c0"/><dir name="Resource"><dir name="Order"><file name="Collection.php" hash="fe0751975beca120d547a2a6db7eb9a8"/></dir><file name="Order.php" hash="d821477695f495031b62eb85b383f981"/></dir><file name="Service.php" hash="6ff1b8c9d595b14059c6422c3472c90a"/><dir name="System"><dir name="Config"><dir name="Source"><file name="ActivePaymentMethods.php" hash="7e9ff249f3ca3ca28e8e4831e2a9b4cb"/><file name="CmsPage.php" hash="0ed3351761c49cad9f3611704f61aa5e"/></dir></dir></dir></dir><dir name="Core"><dir name="Cif"><file name="Abstract.php" hash="e85f0bd137fcc02c01c47995cb03325d"/><file name="Exception.php" hash="c448a27c6ecd9c2886344f13c9e58ac1"/></dir><file name="Cif.php" hash="0bc0de043cb254dd20b17759d8fb2484"/><file name="Label.php" hash="cc3b3f254fcf2708234b8ef2a7b6e4e3"/><dir name="Observer"><file name="Barcode.php" hash="49eb5448e784f9d2d2a74bb317002b95"/><file name="Cron.php" hash="43b912ce1cf5a152b39f9c0fb0b25813"/><file name="SaveShipment.php" hash="ea2a8ee51d856075e9beec7e5c71dbf0"/></dir><dir name="Resource"><dir name="Shipment"><dir name="Barcode"><file name="Collection.php" hash="cba086559e46ab05eb745820cb674940"/></dir><file name="Barcode.php" hash="3fababe4d418342d5b69a153bd366017"/><file name="Collection.php" hash="f2dab6fa63764c98a2ab06871f68fefe"/><dir name="Label"><file name="Collection.php" hash="178f85ee761975231fc5d8a51c6ae466"/></dir><file name="Label.php" hash="c73b399ac5562259d0f1fd142be9fee0"/><dir name="Status"><dir name="History"><file name="Collection.php" hash="07cdf9dd45423e5d315e31b2dd7f951a"/></dir><file name="History.php" hash="cf483a122ebc9aca139a13bcb730e85c"/></dir></dir><file name="Shipment.php" hash="221e5c5728908f15d7558f8e6fe1103e"/></dir><dir name="Shipment"><file name="Barcode.php" hash="89aa40330448be2ceb79d052e1aa6e9b"/><file name="Label.php" hash="791fb2ff0dc51e5a72c2982c01bd9f9d"/><file name="Process.php" hash="6503c1ef414556459c732125fbc054f9"/><dir name="Status"><file name="History.php" hash="bc1e67b513e58e6373d122eb6b1e5eea"/></dir></dir><file name="Shipment.php" hash="28c0629ca659d4585c6d5569ea73419b"/><dir name="System"><dir name="Config"><dir name="Source"><file name="AllProductOptions.php" hash="925712e7f23305aa080849911b5be057"/><file name="Attributes.php" hash="a8384fbf1524c432f7b087dad9a7c813"/><file name="DebugMode.php" hash="0bbcbc4f0c771723b2031eb95dc7ca13"/><file name="Direction.php" hash="a93d5436ed8e231261217af00b799c92"/><file name="EuProductOptions.php" hash="ddf1c4a3ab7b1215a2b7163a474c6008"/><file name="GlobalProductOptions.php" hash="5f211b4b8d96a9b7d34d1960c142a43d"/><file name="LabelSize.php" hash="88e3cf3ca607dca603e4b5b42a563912"/><file name="PakjeGemakProductOptions.php" hash="12d97c5b30c2d587fb6e8ce078a6b582"/><file name="ReferenceType.php" hash="559bfab1b5fc1ff7b42eed0a3654708a"/><file name="ShipmentGridMassaction.php" hash="77b9b2c30aa82eea994faade8add6714"/><file name="StandardProductOptions.php" hash="9ebac04faa76287a1c349bf97c5c3b6d"/><file name="StreetField.php" hash="eb5c59b91a92c64189f239469a8472bb"/><file name="StreetFieldWithDefault.php" hash="336dbc8571b59d5d1970d5a13efa5954"/><file name="WeightUnit.php" hash="b3f1ccc564b64f8874e5b3dfd4a2e456"/></dir></dir></dir></dir><dir name="ExtensionControl"><file name="Feed.php" hash="edf1fa5590f6f39bf5082a20e20a8408"/><dir name="Observer"><file name="Cron.php" hash="0e38a6072f2ecc2423ac360a3eb4d5d8"/></dir><dir name="Webservices"><file name="Abstract.php" hash="35bb7474364056366434734b42536a47"/></dir><file name="Webservices.php" hash="4dde08860677696cdba19f6ed1b5d0eb"/></dir><file name="Inbox.php" hash="9e3067d0e9b3137e33bcc99eea829a22"/><dir name="Resource"><dir name="Db"><dir name="Collection"><file name="Postnl.php" hash="a337c73f47df77a3de420ad13198dcfa"/></dir></dir><dir name="Order"><dir name="Grid"><file name="Collection.php" hash="6cd139d824f9fba6ec6205f0a9aed54e"/></dir><dir name="Shipment"><dir name="Grid"><file name="Collection.php" hash="abaf6d8cdd36d96778a8341afd01a48e"/></dir></dir></dir><file name="Setup.php" hash="761f73bb791e54b5d8b3c47ee73ac81f"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Testlive.php" hash="ba607caaa1e297cb91f20a840daa3ea8"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="ConfigController.php" hash="b85e4c509d62378cca7dcb6235971250"/><file name="ExtensionControlController.php" hash="73b172250955a15b531ff9fb43fdc003"/><file name="ShipmentController.php" hash="10456dfb49ac9732163215ef6d06608e"/></dir><file name="CheckoutController.php" hash="4ca43ba622a2e0cbc9a1459b43bd6687"/></dir><dir name="data"><dir name="postnl_setup"><file name="data-install-1.0.0.php" hash="5d24b54be571e8c1ee6e7a74afe99113"/><file name="data-install-1.0.3.php" hash="b42e23def5a1d5f2759e069b70e0b617"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="8686744c313445cf0a79087b63ab31db"/><file name="config.xml" hash="1d71deb8d48e20de1a8a94a8aec3a1ad"/><file name="system.xml" hash="3225afbcb250f60763791732b8f88687"/></dir><dir name="sql"><dir name="postnl_setup"><file name="install-1.0.0.php" hash="97b8584781e5e7cf6abe204387578fa0"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="TIG"><file name="postnl.xml" hash="ec012e0f62047ecfcd40db5e28fb717b"/></dir></dir><dir name="template"><dir name="TIG"><dir name="PostNL"><dir name="checkout"><dir name="cart"><file name="js.phtml" hash="d3a53229d6838ab254a5749dcb475a21"/><file name="link.phtml" hash="9f783975ca668d2a2dbb6ee4d9d6f9be"/><file name="spinner.phtml" hash="0f66e5018bb120753e349c9206deac3b"/></dir><dir name="summary"><file name="totals.phtml" hash="05be26ff83cb33b0af5231b07e7bbe10"/></dir><file name="summary.phtml" hash="d6dc6f0614868e4f9f3fee48473c95d3"/></dir><dir name="sales"><dir name="order"><dir name="shipment"><file name="shipping_status.phtml" hash="02e80c01ca12ac4bd3040ca5f7916c47"/></dir></dir></dir></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="TIG"><file name="postnl.xml" hash="34a22f8d10063eef27959da796d0c822"/></dir></dir><dir name="template"><dir name="TIG"><dir name="PostNL"><file name="cron_notification.phtml" hash="aa24f6b3473640c44f47a0f49081fc59"/><dir name="sales"><dir name="order"><file name="filter_massaction.phtml" hash="92c5c6ad1a8b4fcbd5cd3b955c12c6ec"/><file name="product_options.phtml" hash="7635dff53db6ad6d6f43e0bb96804f65"/><dir name="shipment"><dir name="create"><file name="shipment_options.phtml" hash="5027b8f14937190623f6b6febbe167dd"/></dir><dir name="view"><file name="shipping_status.phtml" hash="704b07c07c84783d9342f54d2789e3e9"/><dir name="tab"><file name="status_history.phtml" hash="2e64eb69b6e3dc90713d41496dcdd642"/></dir></dir><file name="view.phtml" hash="c767d27a2b1fa0bae476eaa3cb879f47"/></dir></dir></dir><dir name="system"><dir name="config"><dir name="form"><dir name="field"><file name="config_check.phtml" hash="95e18888da58a4a8b7ad307d522c0f2e"/><file name="field_header.phtml" hash="806634be75eea5a462ec8df61e0acaee"/><file name="info_box.phtml" hash="da355f0ea45558343880ed5ae54c3b1c"/><file name="js.phtml" hash="52b17b09fcd7777c506ec7f4a9703dd4"/><file name="split_address_check.phtml" hash="d9bf074af0f6b7dafb235008fc908312"/><file name="support_tab.phtml" hash="74671dbfd89f32aeddf06372e493eda0"/><file name="warning_box.phtml" hash="344231e59acd6740f4ad5df742a16a4a"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="TIG_PostNL.xml" hash="4868726d0f27d7d2c11fd6c2a5deb22d"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="TIG"><dir name="PostNL"><file name="cart.css" hash="3e0ba5de132ddfac90f0e7bb834f4361"/><file name="messages.css" hash="19d03101c862b45535bc08344c12716a"/><file name="shipping_status.css" hash="0162a5c3dcd72eb01a8b4c6bb0ee075d"/></dir></dir></dir><dir name="images"><dir name="TIG"><dir name="PostNL"><file name="bkg_progress_small.png" hash="fc6c9f28b6a6aae6f0096d504c0952df"/><file name="overlay.png" hash="f08feb852288bea420ba3af68ae34a1f"/><file name="postnl_email_logo.png" hash="8bd358b514e04e7ceca03efb38f8fded"/><file name="postnl_spinner.gif" hash="cef321b68ab934932ee317986823db67"/></dir></dir></dir></dir></dir><dir name="enterprise"><dir name="default"><dir name="images"><dir name="TIG"><dir name="PostNL"><file name="overlay.png" hash="f08feb852288bea420ba3af68ae34a1f"/><file name="postnl_spinner.gif" hash="c97d0bd9ccc8fa0b460c07caeb63c293"/></dir></dir></dir><dir name="css"><dir name="TIG"><dir name="PostNL"><file name="cart.css" hash="4f8b417defed03e6ae8c4ec292b2e2c3"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="TIG"><dir name="PostNL"><file name="messages.css" hash="19d03101c862b45535bc08344c12716a"/><file name="shipping_status.css" hash="46f19403af66e08fe5182bac5a6a20fe"/><file name="system_config_edit.css" hash="b4c897ee8801ed42f6c83754fb2abb08"/><file name="system_config_edit_postnl.css" hash="acc03eb19a74a4f5995fc0736642fc4f"/></dir></dir></dir><dir name="images"><dir name="TIG"><dir name="PostNL"><file name="bkg_progress_grey.png" hash="8d4d5144292b98a23475367ede717b17"/><file name="bkg_progress_grey_begin.png" hash="6815c9264e78f8f9d2805c595f8800c4"/><file name="bkg_progress_grey_end.png" hash="dae90fdb38adf65e6ccc209b6a80372c"/><file name="bkg_progress_grey_seperator.png" hash="10178e12fd14fb783b4ae0fbd55a4a81"/><file name="bkg_progress_orange.png" hash="8a59f76e36ee0492f5341b8e5e7ee79b"/><file name="bkg_progress_orange_begin.png" hash="ecc84d5252e397f4a783ee7e0c426d63"/><file name="bkg_progress_orange_end.png" hash="d0a81dfea1a3eddc699482a62af01fc9"/><file name="bkg_progress_orange_grey_seperator.png" hash="ab558953ec4c40ef44653ab481084345"/><file name="bkg_progress_orange_seperator.png" hash="a774eb89763d95f2e60d03f8702fba86"/><file name="bkg_progress_sprite.png" hash="3230379a4544f85062a6ba91fa8083e2"/><file name="btn_download_icon.png" hash="142d5ebbe43ad09dde97cd32e1ef4303"/><file name="glyph_error.gif" hash="a138b803d772f552aa2e49e1c506edbd"/><file name="glyph_info.gif" hash="40f72d28be63ecf2b6ef44c7ea730104"/><file name="glyph_manual.png" hash="771db63b6ffc9de1c06da564796adc6e"/><file name="glyph_pdf.png" hash="a5ea929f4014a88d7320d0293913ace3"/><file name="glyph_success.gif" hash="465a056a3ba3d94367f51c3c0b751391"/><file name="glyph_warning.gif" hash="fa817cb6d49efb9855942ef2b739fc6c"/><file name="legend.gif" hash="d8fb0642901868d489d31b426f3e3406"/><file name="logo_postnl.png" hash="10b9ae4ad2c5365312c257dcdac1fc64"/><file name="tig_logo_medium.gif" hash="3e1071908cfdb7b472438482c3331ac7"/></dir></dir></dir><dir name="js"><dir name="TIG"><dir name="PostNL"><file name="shipment_options.js" hash="35383a85422ca0c2b740f438b62c250e"/><file name="validate.js" hash="a5cf42de4e12a96eafc67796c0fd9fe2"/></dir></dir></dir><dir name="media"><dir name="TIG"><dir name="PostNL"><file name="manual.pdf" hash="2b6a0cce4573c688196912532f1c6fe3"/></dir></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="TIG"><dir name="PostNL"><dir name="Fpdf"><dir name="font"><file name="courier.php" hash="ca6fb483549604fb4a675f9e28a73b02"/><file name="courierb.php" hash="a58d7dadf3cf564ca5d5138cea76a3a9"/><file name="courierbi.php" hash="c0e416771dc56cb2397390978d112dc2"/><file name="courieri.php" hash="419961dbeeb20f08da780dccb427dec8"/><file name="helvetica.php" hash="fc53162b924ddd522bd6cfe86fab48f4"/><file name="helveticab.php" hash="4e9ffda682a131fef2e04ccd94aa342d"/><file name="helveticabi.php" hash="6db8943bd91bf13514b82872cf160d45"/><file name="helveticai.php" hash="13b795df0c33eb93c48621792f2ea12d"/><file name="symbol.php" hash="fbd9250c21af99f6398d6f817511f91f"/><file name="times.php" hash="82bc100f1f3bd8b2d9b7fb5ee8f44b3a"/><file name="timesb.php" hash="3a241a1658bf9ea2062e63f464166c31"/><file name="timesbi.php" hash="bfdd0235a71793becefff778c2b16243"/><file name="timesi.php" hash="17fd69f176915a2113fe28057b43a75e"/><file name="zapfdingbats.php" hash="2848ab2daf3128f310b5cf713ca4acee"/></dir><file name="fpdf.css" hash="84befac49464a9aac54aa511bc1fd754"/><file name="fpdf.php" hash="f9228af7ef1c18691cba2ad075bc5858"/><file name="helvetica.php" hash="fc53162b924ddd522bd6cfe86fab48f4"/><file name="license.txt" hash="fb784726cfe3615da38bc23a3cac445b"/></dir><file name="Fpdf.php" hash="a0d54e6259621bb9d4c4801c53740340"/><dir name="Fpdi"><dir name="filters"><file name="FilterASCII85.php" hash="fe706bbd320881c300ec1a9f71e4eb2b"/><file name="FilterASCII85_FPDI.php" hash="1240e0c64602864401f886546e09fe7b"/><file name="FilterLZW.php" hash="35644f48b6b65c8726fc71cfad6c0478"/><file name="FilterLZW_FPDI.php" hash="b11c50e66e20744ad20f176cae4af284"/></dir><file name="fpdf_tpl.php" hash="3966b13c398c94509e2fb6199593b104"/><file name="fpdi.php" hash="abb524d17a2cbdd3c3b7e89184aad443"/><file name="fpdi2tcpdf_bridge.php" hash="8cc7fc486b015f1e17e75d1e5d585902"/><file name="fpdi_pdf_parser.php" hash="d7a3bf0153ae9ad57976afb0be5d195d"/><file name="pdf_context.php" hash="0b69a25dbb830f3b68c054c2e43b876e"/><file name="pdf_parser.php" hash="5ff22a8c1ce5b1eee82c8017311a797e"/></dir><file name="Fpdi.php" hash="fdf663915f3930bc0dc00db46cc20944"/></dir></dir></target><target name="magelocale"><dir name="en_US"><dir name="template"><dir name="email"><dir name="TIG"><dir name="PostNL"><file name="track_and_trace.html" hash="7ace8a754b0ea35775e0a3b66ad96b19"/></dir></dir></dir></dir><file name="TIG_PostNL.csv" hash="67bc681837594087cd55e67e763d8f89"/></dir><dir name="nl_NL"><dir name="template"><dir name="email"><dir name="TIG"><dir name="PostNL"><file name="track_and_trace.html" hash="122c60807ec59834e3445fe40540e8c9"/></dir></dir></dir></dir><file name="TIG_PostNL.csv" hash="8b874b5742146a4411228012d8ebdaad"/></dir></target></contents>
|
86 |
<compatible/>
|
87 |
<dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
|
88 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>tig_postnl</name>
|
4 |
+
<version>1.1.3</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://creativecommons.org/licenses/by-nc-nd/3.0/nl/deed.en_US">Creative Commons License</license>
|
7 |
<channel>community</channel>
|
20 |
- Viewing detailed shipping status information
|
21 |
- PostNL Checkout
|
22 |
- Emailing customers track & trace information, allowing them to track their shipment from the moment you confirm it to the moment it arrives at their doorstep</description>
|
23 |
+
<notes>v1.1.3
|
24 |
+

|
25 |
+
- FIxed an issue with the extension's activation procedure.
|
26 |
+

|
27 |
+
v1.1.2
|
28 |

|
29 |
- Updated manual.
|
30 |

|
84 |

|
85 |
This is the initial beta release of the extension. If you have any questions, please contact the Total Internet Group Servicedesk</notes>
|
86 |
<authors><author><name>TiG</name><user>supporttotal</user><email>servicedesk@totalinternetgroup.nl</email></author></authors>
|
87 |
+
<date>2014-02-13</date>
|
88 |
+
<time>15:25:07</time>
|
89 |
+
<contents><target name="magecommunity"><dir name="TIG"><dir name="PostNL"><dir name="Block"><dir name="Adminhtml"><file name="CronNotification.php" hash="ec6263ed9fca94273bbc5d5493cac0ce"/><dir name="Sales"><dir name="Order"><file name="ProductOptions.php" hash="f46f9e9ba1a37ceff2db6d3131a21ebb"/><dir name="Shipment"><dir name="Create"><file name="ShipmentOptions.php" hash="6a63d89143a8b310f93ef73385f3eda0"/></dir><dir name="View"><file name="ShippingStatus.php" hash="297af21cb49e6b2cdfee192dfbf5f239"/><dir name="Tab"><file name="StatusHistory.php" hash="7b6bd52216822f7dc71fc998e8056376"/></dir><file name="Tabs.php" hash="a213c367f78e84fafd05d9d6310db5f5"/></dir></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="ActivateButton.php" hash="2f57922bb9347b0b9d21a1a82529ffb4"/><file name="ActivatedFieldHeader.php" hash="4af748c827c108c2d72f12d1e9de0681"/><file name="ConfigCheck.php" hash="e967c3a4782fbb2ba4accef38a8a2373"/><file name="InfoBox.php" hash="4b93fd3c1e44230c4d8c3fb93ec581f3"/><file name="SplitAddressCheck.php" hash="cc8509b1f1fee9d825980382dc0833c2"/><file name="SupportTab.php" hash="e34f2bf7e87060698e0560894319b3b0"/><dir name="TextBox"><file name="Abstract.php" hash="423c2b84db587309a8a6d90dabc4de4f"/></dir><file name="ValidateButton.php" hash="5a30e6615a96e05cf3600855c15544de"/><file name="WarningBox.php" hash="36dce34841f2252f466e78dc2eddf1ba"/></dir><file name="Fieldset.php" hash="1bc60b1e6644802198c62666b50d3acf"/></dir><file name="Form.php" hash="a4fe68b2216fdccafb1bfecfa3f8e1a1"/></dir></dir><dir name="Widget"><dir name="Grid"><dir name="Column"><dir name="Renderer"><file name="Action.php" hash="9fc6e2f204f2238ab29699b614589134"/><file name="Barcode.php" hash="74858ac29b17c675cb2d8f55b8cba3fc"/><file name="ConfirmDate.php" hash="3d6692b46faaeedf55ab74e4b239790f"/><file name="ConfirmStatus.php" hash="db96b519fa025bb9f5f5737bb0e80bf2"/><file name="ShipmentType.php" hash="2a817a37ab1ccdc8a7e836f0443d012f"/><file name="ShippingPhase.php" hash="9ee0fc92ee2cc623edb3df86247d2d06"/><file name="Time.php" hash="dbf5b70742e0877eff7f01ec65319e3b"/><file name="Translate.php" hash="46d83e4013d6ab1d14d39f303703e5c4"/><file name="YesNo.php" hash="1bdb10008eecb146fd185040e24d48e5"/></dir></dir></dir></dir></dir><dir name="Checkout"><dir name="Cart"><file name="CheckoutLink.php" hash="b0c3e048cfcbb6d91000ab4df4b502cc"/><file name="Js.php" hash="acb7f5ad743ca311153b639f6ea33c75"/></dir><dir name="Summary"><file name="Totals.php" hash="bbe4ec0aaf15ecc40bff8504d67aa1e4"/></dir><file name="Summary.php" hash="a2b997d74cee541fd570327a496e30fb"/></dir><dir name="Core"><file name="ShippingStatus.php" hash="c92beeec25228692afcc2f64ed44dd01"/></dir></dir><file name="Exception.php" hash="5b9f750676440653abfee244727aa29f"/><dir name="Helper"><file name="Carrier.php" hash="9625f891a86da6b84c4bdf5f1ff37597"/><file name="Checkout.php" hash="cf0907c1d9601c137c2fd8b3c1d3487d"/><file name="Cif.php" hash="0285a984fe853a189081a4aa9e4db057"/><file name="Data.php" hash="64255e95c4ff036ce3ab692a9f6913c3"/><file name="Webservices.php" hash="0cc54fac78af257b2740d9519e9570d3"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="Observer"><file name="OrderGrid.php" hash="bd693cf00644091cf5bedf31d6447f14"/><file name="ShipmentGrid.php" hash="4096699dc53864b85806a07fbc0f6d7a"/><file name="ShipmentView.php" hash="d9d86d31fdc9ca1126ba3296054db733"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="ShipmentGridColumns.php" hash="fec7db9a0c5ba79c6a0987ddec42e4cc"/></dir></dir></dir></dir><dir name="Carrier"><file name="Postnl.php" hash="4555895c5ec8d0b0f7a4d259ac1dc818"/><dir name="System"><dir name="Config"><dir name="Source"><file name="RateType.php" hash="940bf2381b879188d6e4aa756d0d0dce"/></dir></dir></dir></dir><dir name="Checkout"><file name="Cif.php" hash="9ab1f1c983f5b3ba41a9019e723ec1c3"/><dir name="Observer"><file name="Order.php" hash="5cf7b700b2286a6916f23e72e3346beb"/><file name="Shipment.php" hash="217a3bf9d730f1061e9d3117edc6c2a3"/></dir><file name="Order.php" hash="619b8f385b29357449644def665f58c0"/><dir name="Resource"><dir name="Order"><file name="Collection.php" hash="fe0751975beca120d547a2a6db7eb9a8"/></dir><file name="Order.php" hash="d821477695f495031b62eb85b383f981"/></dir><file name="Service.php" hash="6ff1b8c9d595b14059c6422c3472c90a"/><dir name="System"><dir name="Config"><dir name="Source"><file name="ActivePaymentMethods.php" hash="7e9ff249f3ca3ca28e8e4831e2a9b4cb"/><file name="CmsPage.php" hash="0ed3351761c49cad9f3611704f61aa5e"/></dir></dir></dir></dir><dir name="Core"><dir name="Cif"><file name="Abstract.php" hash="e85f0bd137fcc02c01c47995cb03325d"/><file name="Exception.php" hash="c448a27c6ecd9c2886344f13c9e58ac1"/></dir><file name="Cif.php" hash="0bc0de043cb254dd20b17759d8fb2484"/><file name="Label.php" hash="cc3b3f254fcf2708234b8ef2a7b6e4e3"/><dir name="Observer"><file name="Barcode.php" hash="49eb5448e784f9d2d2a74bb317002b95"/><file name="Cron.php" hash="43b912ce1cf5a152b39f9c0fb0b25813"/><file name="SaveShipment.php" hash="ea2a8ee51d856075e9beec7e5c71dbf0"/></dir><dir name="Resource"><dir name="Shipment"><dir name="Barcode"><file name="Collection.php" hash="cba086559e46ab05eb745820cb674940"/></dir><file name="Barcode.php" hash="3fababe4d418342d5b69a153bd366017"/><file name="Collection.php" hash="f2dab6fa63764c98a2ab06871f68fefe"/><dir name="Label"><file name="Collection.php" hash="178f85ee761975231fc5d8a51c6ae466"/></dir><file name="Label.php" hash="c73b399ac5562259d0f1fd142be9fee0"/><dir name="Status"><dir name="History"><file name="Collection.php" hash="07cdf9dd45423e5d315e31b2dd7f951a"/></dir><file name="History.php" hash="cf483a122ebc9aca139a13bcb730e85c"/></dir></dir><file name="Shipment.php" hash="221e5c5728908f15d7558f8e6fe1103e"/></dir><dir name="Shipment"><file name="Barcode.php" hash="89aa40330448be2ceb79d052e1aa6e9b"/><file name="Label.php" hash="791fb2ff0dc51e5a72c2982c01bd9f9d"/><file name="Process.php" hash="6503c1ef414556459c732125fbc054f9"/><dir name="Status"><file name="History.php" hash="bc1e67b513e58e6373d122eb6b1e5eea"/></dir></dir><file name="Shipment.php" hash="28c0629ca659d4585c6d5569ea73419b"/><dir name="System"><dir name="Config"><dir name="Source"><file name="AllProductOptions.php" hash="925712e7f23305aa080849911b5be057"/><file name="Attributes.php" hash="a8384fbf1524c432f7b087dad9a7c813"/><file name="DebugMode.php" hash="0bbcbc4f0c771723b2031eb95dc7ca13"/><file name="Direction.php" hash="a93d5436ed8e231261217af00b799c92"/><file name="EuProductOptions.php" hash="ddf1c4a3ab7b1215a2b7163a474c6008"/><file name="GlobalProductOptions.php" hash="5f211b4b8d96a9b7d34d1960c142a43d"/><file name="LabelSize.php" hash="88e3cf3ca607dca603e4b5b42a563912"/><file name="PakjeGemakProductOptions.php" hash="12d97c5b30c2d587fb6e8ce078a6b582"/><file name="ReferenceType.php" hash="559bfab1b5fc1ff7b42eed0a3654708a"/><file name="ShipmentGridMassaction.php" hash="77b9b2c30aa82eea994faade8add6714"/><file name="StandardProductOptions.php" hash="9ebac04faa76287a1c349bf97c5c3b6d"/><file name="StreetField.php" hash="eb5c59b91a92c64189f239469a8472bb"/><file name="StreetFieldWithDefault.php" hash="336dbc8571b59d5d1970d5a13efa5954"/><file name="WeightUnit.php" hash="b3f1ccc564b64f8874e5b3dfd4a2e456"/></dir></dir></dir></dir><dir name="ExtensionControl"><file name="Feed.php" hash="edf1fa5590f6f39bf5082a20e20a8408"/><dir name="Observer"><file name="Cron.php" hash="0e38a6072f2ecc2423ac360a3eb4d5d8"/></dir><dir name="Webservices"><file name="Abstract.php" hash="35bb7474364056366434734b42536a47"/></dir><file name="Webservices.php" hash="708433a4f84fe645c482bebb256e0ea8"/></dir><file name="Inbox.php" hash="9e3067d0e9b3137e33bcc99eea829a22"/><dir name="Resource"><dir name="Db"><dir name="Collection"><file name="Postnl.php" hash="a337c73f47df77a3de420ad13198dcfa"/></dir></dir><dir name="Order"><dir name="Grid"><file name="Collection.php" hash="6cd139d824f9fba6ec6205f0a9aed54e"/></dir><dir name="Shipment"><dir name="Grid"><file name="Collection.php" hash="abaf6d8cdd36d96778a8341afd01a48e"/></dir></dir></dir><file name="Setup.php" hash="761f73bb791e54b5d8b3c47ee73ac81f"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Testlive.php" hash="ba607caaa1e297cb91f20a840daa3ea8"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="ConfigController.php" hash="b85e4c509d62378cca7dcb6235971250"/><file name="ExtensionControlController.php" hash="73b172250955a15b531ff9fb43fdc003"/><file name="ShipmentController.php" hash="10456dfb49ac9732163215ef6d06608e"/></dir><file name="CheckoutController.php" hash="4ca43ba622a2e0cbc9a1459b43bd6687"/></dir><dir name="data"><dir name="postnl_setup"><file name="data-install-1.0.0.php" hash="5d24b54be571e8c1ee6e7a74afe99113"/><file name="data-install-1.0.3.php" hash="b42e23def5a1d5f2759e069b70e0b617"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="8686744c313445cf0a79087b63ab31db"/><file name="config.xml" hash="c7bdd580d83f99263dfcf5a8ecb925d8"/><file name="system.xml" hash="3225afbcb250f60763791732b8f88687"/></dir><dir name="sql"><dir name="postnl_setup"><file name="install-1.0.0.php" hash="97b8584781e5e7cf6abe204387578fa0"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="TIG"><file name="postnl.xml" hash="ec012e0f62047ecfcd40db5e28fb717b"/></dir></dir><dir name="template"><dir name="TIG"><dir name="PostNL"><dir name="checkout"><dir name="cart"><file name="js.phtml" hash="d3a53229d6838ab254a5749dcb475a21"/><file name="link.phtml" hash="9f783975ca668d2a2dbb6ee4d9d6f9be"/><file name="spinner.phtml" hash="0f66e5018bb120753e349c9206deac3b"/></dir><dir name="summary"><file name="totals.phtml" hash="05be26ff83cb33b0af5231b07e7bbe10"/></dir><file name="summary.phtml" hash="d6dc6f0614868e4f9f3fee48473c95d3"/></dir><dir name="sales"><dir name="order"><dir name="shipment"><file name="shipping_status.phtml" hash="02e80c01ca12ac4bd3040ca5f7916c47"/></dir></dir></dir></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="TIG"><file name="postnl.xml" hash="34a22f8d10063eef27959da796d0c822"/></dir></dir><dir name="template"><dir name="TIG"><dir name="PostNL"><file name="cron_notification.phtml" hash="aa24f6b3473640c44f47a0f49081fc59"/><dir name="sales"><dir name="order"><file name="filter_massaction.phtml" hash="92c5c6ad1a8b4fcbd5cd3b955c12c6ec"/><file name="product_options.phtml" hash="7635dff53db6ad6d6f43e0bb96804f65"/><dir name="shipment"><dir name="create"><file name="shipment_options.phtml" hash="5027b8f14937190623f6b6febbe167dd"/></dir><dir name="view"><file name="shipping_status.phtml" hash="704b07c07c84783d9342f54d2789e3e9"/><dir name="tab"><file name="status_history.phtml" hash="2e64eb69b6e3dc90713d41496dcdd642"/></dir></dir><file name="view.phtml" hash="c767d27a2b1fa0bae476eaa3cb879f47"/></dir></dir></dir><dir name="system"><dir name="config"><dir name="form"><dir name="field"><file name="config_check.phtml" hash="95e18888da58a4a8b7ad307d522c0f2e"/><file name="field_header.phtml" hash="806634be75eea5a462ec8df61e0acaee"/><file name="info_box.phtml" hash="da355f0ea45558343880ed5ae54c3b1c"/><file name="js.phtml" hash="52b17b09fcd7777c506ec7f4a9703dd4"/><file name="split_address_check.phtml" hash="d9bf074af0f6b7dafb235008fc908312"/><file name="support_tab.phtml" hash="74671dbfd89f32aeddf06372e493eda0"/><file name="warning_box.phtml" hash="344231e59acd6740f4ad5df742a16a4a"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="TIG_PostNL.xml" hash="4868726d0f27d7d2c11fd6c2a5deb22d"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="TIG"><dir name="PostNL"><file name="cart.css" hash="3e0ba5de132ddfac90f0e7bb834f4361"/><file name="messages.css" hash="19d03101c862b45535bc08344c12716a"/><file name="shipping_status.css" hash="0162a5c3dcd72eb01a8b4c6bb0ee075d"/></dir></dir></dir><dir name="images"><dir name="TIG"><dir name="PostNL"><file name="bkg_progress_small.png" hash="fc6c9f28b6a6aae6f0096d504c0952df"/><file name="overlay.png" hash="f08feb852288bea420ba3af68ae34a1f"/><file name="postnl_email_logo.png" hash="8bd358b514e04e7ceca03efb38f8fded"/><file name="postnl_spinner.gif" hash="cef321b68ab934932ee317986823db67"/></dir></dir></dir></dir></dir><dir name="enterprise"><dir name="default"><dir name="images"><dir name="TIG"><dir name="PostNL"><file name="overlay.png" hash="f08feb852288bea420ba3af68ae34a1f"/><file name="postnl_spinner.gif" hash="c97d0bd9ccc8fa0b460c07caeb63c293"/></dir></dir></dir><dir name="css"><dir name="TIG"><dir name="PostNL"><file name="cart.css" hash="4f8b417defed03e6ae8c4ec292b2e2c3"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="TIG"><dir name="PostNL"><file name="messages.css" hash="19d03101c862b45535bc08344c12716a"/><file name="shipping_status.css" hash="46f19403af66e08fe5182bac5a6a20fe"/><file name="system_config_edit.css" hash="b4c897ee8801ed42f6c83754fb2abb08"/><file name="system_config_edit_postnl.css" hash="acc03eb19a74a4f5995fc0736642fc4f"/></dir></dir></dir><dir name="images"><dir name="TIG"><dir name="PostNL"><file name="bkg_progress_grey.png" hash="8d4d5144292b98a23475367ede717b17"/><file name="bkg_progress_grey_begin.png" hash="6815c9264e78f8f9d2805c595f8800c4"/><file name="bkg_progress_grey_end.png" hash="dae90fdb38adf65e6ccc209b6a80372c"/><file name="bkg_progress_grey_seperator.png" hash="10178e12fd14fb783b4ae0fbd55a4a81"/><file name="bkg_progress_orange.png" hash="8a59f76e36ee0492f5341b8e5e7ee79b"/><file name="bkg_progress_orange_begin.png" hash="ecc84d5252e397f4a783ee7e0c426d63"/><file name="bkg_progress_orange_end.png" hash="d0a81dfea1a3eddc699482a62af01fc9"/><file name="bkg_progress_orange_grey_seperator.png" hash="ab558953ec4c40ef44653ab481084345"/><file name="bkg_progress_orange_seperator.png" hash="a774eb89763d95f2e60d03f8702fba86"/><file name="bkg_progress_sprite.png" hash="3230379a4544f85062a6ba91fa8083e2"/><file name="btn_download_icon.png" hash="142d5ebbe43ad09dde97cd32e1ef4303"/><file name="glyph_error.gif" hash="a138b803d772f552aa2e49e1c506edbd"/><file name="glyph_info.gif" hash="40f72d28be63ecf2b6ef44c7ea730104"/><file name="glyph_manual.png" hash="771db63b6ffc9de1c06da564796adc6e"/><file name="glyph_pdf.png" hash="a5ea929f4014a88d7320d0293913ace3"/><file name="glyph_success.gif" hash="465a056a3ba3d94367f51c3c0b751391"/><file name="glyph_warning.gif" hash="fa817cb6d49efb9855942ef2b739fc6c"/><file name="legend.gif" hash="d8fb0642901868d489d31b426f3e3406"/><file name="logo_postnl.png" hash="10b9ae4ad2c5365312c257dcdac1fc64"/><file name="tig_logo_medium.gif" hash="3e1071908cfdb7b472438482c3331ac7"/></dir></dir></dir><dir name="js"><dir name="TIG"><dir name="PostNL"><file name="shipment_options.js" hash="35383a85422ca0c2b740f438b62c250e"/><file name="validate.js" hash="a5cf42de4e12a96eafc67796c0fd9fe2"/></dir></dir></dir><dir name="media"><dir name="TIG"><dir name="PostNL"><file name="manual.pdf" hash="699b26571bb20f05d8c523138fc25129"/></dir></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="TIG"><dir name="PostNL"><dir name="Fpdf"><dir name="font"><file name="courier.php" hash="ca6fb483549604fb4a675f9e28a73b02"/><file name="courierb.php" hash="a58d7dadf3cf564ca5d5138cea76a3a9"/><file name="courierbi.php" hash="c0e416771dc56cb2397390978d112dc2"/><file name="courieri.php" hash="419961dbeeb20f08da780dccb427dec8"/><file name="helvetica.php" hash="fc53162b924ddd522bd6cfe86fab48f4"/><file name="helveticab.php" hash="4e9ffda682a131fef2e04ccd94aa342d"/><file name="helveticabi.php" hash="6db8943bd91bf13514b82872cf160d45"/><file name="helveticai.php" hash="13b795df0c33eb93c48621792f2ea12d"/><file name="symbol.php" hash="fbd9250c21af99f6398d6f817511f91f"/><file name="times.php" hash="82bc100f1f3bd8b2d9b7fb5ee8f44b3a"/><file name="timesb.php" hash="3a241a1658bf9ea2062e63f464166c31"/><file name="timesbi.php" hash="bfdd0235a71793becefff778c2b16243"/><file name="timesi.php" hash="17fd69f176915a2113fe28057b43a75e"/><file name="zapfdingbats.php" hash="2848ab2daf3128f310b5cf713ca4acee"/></dir><file name="fpdf.css" hash="84befac49464a9aac54aa511bc1fd754"/><file name="fpdf.php" hash="f9228af7ef1c18691cba2ad075bc5858"/><file name="helvetica.php" hash="fc53162b924ddd522bd6cfe86fab48f4"/><file name="license.txt" hash="fb784726cfe3615da38bc23a3cac445b"/></dir><file name="Fpdf.php" hash="a0d54e6259621bb9d4c4801c53740340"/><dir name="Fpdi"><dir name="filters"><file name="FilterASCII85.php" hash="fe706bbd320881c300ec1a9f71e4eb2b"/><file name="FilterASCII85_FPDI.php" hash="1240e0c64602864401f886546e09fe7b"/><file name="FilterLZW.php" hash="35644f48b6b65c8726fc71cfad6c0478"/><file name="FilterLZW_FPDI.php" hash="b11c50e66e20744ad20f176cae4af284"/></dir><file name="fpdf_tpl.php" hash="3966b13c398c94509e2fb6199593b104"/><file name="fpdi.php" hash="abb524d17a2cbdd3c3b7e89184aad443"/><file name="fpdi2tcpdf_bridge.php" hash="8cc7fc486b015f1e17e75d1e5d585902"/><file name="fpdi_pdf_parser.php" hash="d7a3bf0153ae9ad57976afb0be5d195d"/><file name="pdf_context.php" hash="0b69a25dbb830f3b68c054c2e43b876e"/><file name="pdf_parser.php" hash="5ff22a8c1ce5b1eee82c8017311a797e"/></dir><file name="Fpdi.php" hash="fdf663915f3930bc0dc00db46cc20944"/></dir></dir></target><target name="magelocale"><dir name="en_US"><dir name="template"><dir name="email"><dir name="TIG"><dir name="PostNL"><file name="track_and_trace.html" hash="7ace8a754b0ea35775e0a3b66ad96b19"/></dir></dir></dir></dir><file name="TIG_PostNL.csv" hash="67bc681837594087cd55e67e763d8f89"/></dir><dir name="nl_NL"><dir name="template"><dir name="email"><dir name="TIG"><dir name="PostNL"><file name="track_and_trace.html" hash="122c60807ec59834e3445fe40540e8c9"/></dir></dir></dir></dir><file name="TIG_PostNL.csv" hash="8b874b5742146a4411228012d8ebdaad"/></dir></target></contents>
|
90 |
<compatible/>
|
91 |
<dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
|
92 |
</package>
|
Binary file
|