tig_postnl - Version 1.1.3

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

Download this release

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

app/code/community/TIG/PostNL/Model/ExtensionControl/Webservices.php CHANGED
@@ -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 (!$forceUpdate && !$canSendStatictics) {
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 and encrypt the data using the private and unique keys
166
  */
167
  $serializedData = serialize($data);
168
-
169
- $encryptedData = openssl_encrypt(
170
- $serializedData,
171
- self::ENCRYPTION_METHOD,
172
- $privateKey,
173
- 0,
174
- substr($uniqueKey, 0, 8)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 vrsion of the currently installed PosTNL extension.
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
  }
app/code/community/TIG/PostNL/etc/config.xml CHANGED
@@ -41,7 +41,7 @@
41
  <config>
42
  <modules>
43
  <TIG_PostNL>
44
- <version>1.1.2</version>
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
 
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>tig_postnl</name>
4
- <version>1.1.2</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,7 +20,11 @@ Services included:&#xD;
20
  - Viewing detailed shipping status information&#xD;
21
  - PostNL Checkout&#xD;
22
  - Emailing customers track &amp; 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.2&#xD;
 
 
 
 
24
  &#xD;
25
  - Updated manual.&#xD;
26
  &#xD;
@@ -80,9 +84,9 @@ v1.0.0&#xD;
80
  &#xD;
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-11</date>
84
- <time>16:16:19</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&#xD;
21
  - PostNL Checkout&#xD;
22
  - Emailing customers track &amp; 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&#xD;
24
+ &#xD;
25
+ - FIxed an issue with the extension's activation procedure.&#xD;
26
+ &#xD;
27
+ v1.1.2&#xD;
28
  &#xD;
29
  - Updated manual.&#xD;
30
  &#xD;
84
  &#xD;
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>
skin/adminhtml/default/default/media/TIG/PostNL/manual.pdf CHANGED
Binary file