Version Notes
Magento UPS integration, Magento FedEx and Magento USPS tracking allows to display UPS, FedEx, USPS tracking information right from your magento store
Admin can enter UPS, USPS and FedEx tracking codes while marking magento order as shipped. These tracking codes will be automatically picked up by this free magento order tracking extension
100% open source magento extension
Download this release
Release Info
Developer | Plumrocket Team |
Extension | Plumrocket_Order_Status_and_Shipping_Tracking |
Version | 1.0.0 |
Comparing to | |
See all releases |
Version 1.0.0
- app/code/community/Plumrocket/ShippingTracking/Block/Abstract.php +27 -0
- app/code/community/Plumrocket/ShippingTracking/Block/Fedex.php +29 -0
- app/code/community/Plumrocket/ShippingTracking/Block/Shipping/Tracking/Popup.php +49 -0
- app/code/community/Plumrocket/ShippingTracking/Block/System/Config/Version.php +35 -0
- app/code/community/Plumrocket/ShippingTracking/Block/Ups.php +38 -0
- app/code/community/Plumrocket/ShippingTracking/Block/Usps.php +28 -0
- app/code/community/Plumrocket/ShippingTracking/Helper/Data.php +140 -0
- app/code/community/Plumrocket/ShippingTracking/controllers/IndexController.php +165 -0
- app/code/community/Plumrocket/ShippingTracking/etc/config.xml +117 -0
- app/code/community/Plumrocket/ShippingTracking/etc/system.xml +216 -0
- app/design/frontend/base/default/layout/shippingtracking.xml +78 -0
- app/design/frontend/base/default/template/shippingtracking/info.phtml +167 -0
- app/design/frontend/base/default/template/shippingtracking/info/fedex.phtml +115 -0
- app/design/frontend/base/default/template/shippingtracking/info/form.phtml +46 -0
- app/design/frontend/base/default/template/shippingtracking/info/ups.phtml +130 -0
- app/design/frontend/base/default/template/shippingtracking/info/usps.phtml +107 -0
- app/design/frontend/base/default/template/shippingtracking/main.phtml +57 -0
- app/design/frontend/base/default/template/shippingtracking/popup.phtml +178 -0
- app/etc/modules/Plumrocket_ShippingTracking.xml +31 -0
- app/locale/en_US/Plumrocket_Order_Status_and_Shipping_Tracking.csv +31 -0
- package.xml +22 -0
app/code/community/Plumrocket/ShippingTracking/Block/Abstract.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
|
19 |
+
abstract class Plumrocket_ShippingTracking_Block_Abstract extends Mage_Core_Block_Template
|
20 |
+
{
|
21 |
+
|
22 |
+
public function getNumber()
|
23 |
+
{
|
24 |
+
return Mage::app()->getRequest()->getParam('number');
|
25 |
+
}
|
26 |
+
|
27 |
+
}
|
app/code/community/Plumrocket/ShippingTracking/Block/Fedex.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
|
19 |
+
class Plumrocket_ShippingTracking_Block_Fedex extends Plumrocket_ShippingTracking_Block_Abstract
|
20 |
+
{
|
21 |
+
|
22 |
+
public function getInfo()
|
23 |
+
{
|
24 |
+
$number = $this->getNumber();
|
25 |
+
return $this->helper('shippingtracking')->getFedexTrackingInfo($number);
|
26 |
+
}
|
27 |
+
|
28 |
+
|
29 |
+
}
|
app/code/community/Plumrocket/ShippingTracking/Block/Shipping/Tracking/Popup.php
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
|
19 |
+
class Plumrocket_ShippingTracking_Block_Shipping_Tracking_Popup extends Mage_Shipping_Block_Tracking_Popup
|
20 |
+
{
|
21 |
+
public function getTrackingInfo()
|
22 |
+
{
|
23 |
+
$_results = parent::getTrackingInfo();
|
24 |
+
|
25 |
+
$order = Mage::getModel('sales/order')->load(Mage::registry('current_shipping_info')->getOrderId());
|
26 |
+
|
27 |
+
if (Mage::getStoreConfig('shippingtracking/general/enabled')) {
|
28 |
+
foreach($_results as $shipid => $_result) {
|
29 |
+
foreach($_result as $key => $track) {
|
30 |
+
|
31 |
+
$carrier = $track->getCarrier();
|
32 |
+
if (Mage::getStoreConfig('shippingtracking/'.$carrier.'_api/enabled')) {
|
33 |
+
|
34 |
+
$_results[$shipid][$key] = Mage::getModel('shipping/tracking_result_status')->setData($track->getAllData())
|
35 |
+
->setErrorMessage(null)
|
36 |
+
->setUrl($this->getUrl('shippingtracking/index/'.$carrier, array(
|
37 |
+
'number' => $track->getTracking(),
|
38 |
+
'order' => $order->getIncrementId(), //Mage::app()->getRequest()->getParam('order'),
|
39 |
+
)));
|
40 |
+
}
|
41 |
+
|
42 |
+
}
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
return $_results;
|
47 |
+
}
|
48 |
+
|
49 |
+
}
|
app/code/community/Plumrocket/ShippingTracking/Block/System/Config/Version.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
|
19 |
+
class Plumrocket_ShippingTracking_Block_System_Config_Version extends Mage_Adminhtml_Block_System_Config_Form_Field
|
20 |
+
{
|
21 |
+
|
22 |
+
public function render(Varien_Data_Form_Element_Abstract $element)
|
23 |
+
{
|
24 |
+
$moduleNode = Mage::getConfig()->getNode('modules/Plumrocket_ShippingTracking');
|
25 |
+
$name = $moduleNode->name;
|
26 |
+
$version = $moduleNode->version;
|
27 |
+
$wiki_url = $moduleNode->wiki;
|
28 |
+
|
29 |
+
return '<div style="padding:10px;background-color:#fff;border:1px solid #ddd;margin-bottom:7px;">
|
30 |
+
' . $name . ' v' . $version . ' was developed by <a href="http://www.plumrocket.com" target="_blank">Plumrocket Inc</a>.
|
31 |
+
For manual & video tutorials please refer to <a href="' . $wiki_url . '" target="_blank">our online documentation<a/>.
|
32 |
+
</div>';
|
33 |
+
}
|
34 |
+
|
35 |
+
}
|
app/code/community/Plumrocket/ShippingTracking/Block/Ups.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
|
19 |
+
class Plumrocket_ShippingTracking_Block_Ups extends Plumrocket_ShippingTracking_Block_Abstract
|
20 |
+
{
|
21 |
+
|
22 |
+
public function getInfo()
|
23 |
+
{
|
24 |
+
$number = $this->getNumber();
|
25 |
+
return $this->helper('shippingtracking')->getUpsTrackingInfo($number);
|
26 |
+
}
|
27 |
+
|
28 |
+
public function getTimeFromStr($str)
|
29 |
+
{
|
30 |
+
return mktime(0, 0, 0, (int)substr($str, 4, 2), (int)substr($str, 6, 2), (int)substr($str, 0, 4));
|
31 |
+
}
|
32 |
+
|
33 |
+
|
34 |
+
public function getLocalTime($str)
|
35 |
+
{
|
36 |
+
return mktime((int)substr($str, 0, 2), (int)substr($str, 2, 2), (int)substr($str, 4, 2));
|
37 |
+
}
|
38 |
+
}
|
app/code/community/Plumrocket/ShippingTracking/Block/Usps.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
|
19 |
+
class Plumrocket_ShippingTracking_Block_Usps extends Plumrocket_ShippingTracking_Block_Abstract
|
20 |
+
{
|
21 |
+
|
22 |
+
public function getInfo()
|
23 |
+
{
|
24 |
+
$number = $this->getNumber();
|
25 |
+
return $this->helper('shippingtracking')->getUspsTrackingInfo($number);
|
26 |
+
}
|
27 |
+
|
28 |
+
}
|
app/code/community/Plumrocket/ShippingTracking/Helper/Data.php
ADDED
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
|
19 |
+
class Plumrocket_ShippingTracking_Helper_Data extends Mage_Core_Helper_Abstract
|
20 |
+
{
|
21 |
+
protected $_trackingInfo = array();
|
22 |
+
|
23 |
+
|
24 |
+
protected function _getDecryptedConfig($key)
|
25 |
+
{
|
26 |
+
if (empty($key)) {
|
27 |
+
return false;
|
28 |
+
}
|
29 |
+
return Mage::helper('core')->decrypt(
|
30 |
+
Mage::getStoreConfig('shippingtracking/'.$key));
|
31 |
+
}
|
32 |
+
|
33 |
+
public function getUpsTrackingInfo($number)
|
34 |
+
{
|
35 |
+
if (!isset($this->_trackingInfo[$number])) {
|
36 |
+
|
37 |
+
$soap = curl_init("https://www.ups.com/ups.app/xml/Track");
|
38 |
+
curl_setopt($soap, CURLOPT_POST, 1);
|
39 |
+
curl_setopt($soap, CURLOPT_RETURNTRANSFER, 1);
|
40 |
+
|
41 |
+
$request = ('<?xml version="1.0"?>
|
42 |
+
<AccessRequest xml:lang="en-US"><AccessLicenseNumber>'.$this->_getDecryptedConfig('ups_api/access_key').'</AccessLicenseNumber>
|
43 |
+
<UserId>'.$this->_getDecryptedConfig('ups_api/user_id').'</UserId><Password>'.$this->_getDecryptedConfig('ups_api/password').'</Password></AccessRequest>
|
44 |
+
<?xml version="1.0"?><TrackRequest xml:lang="en-US"><Request><TransactionReference>
|
45 |
+
<CustomerContext>QAST Track</CustomerContext><XpciVersion>1.0</XpciVersion></TransactionReference>
|
46 |
+
<RequestAction>Track</RequestAction><RequestOption>activity</RequestOption></Request>
|
47 |
+
<TrackingNumber>#'.$number.'</TrackingNumber></TrackRequest>');
|
48 |
+
|
49 |
+
curl_setopt($soap, CURLOPT_HTTPHEADER,
|
50 |
+
array('Content-Type: text/xml; charset=utf-8',
|
51 |
+
'Content-Length: '.strlen($request)));
|
52 |
+
|
53 |
+
curl_setopt($soap, CURLOPT_POSTFIELDS, $request);
|
54 |
+
$response = curl_exec($soap);
|
55 |
+
curl_close($soap);
|
56 |
+
|
57 |
+
$this->_trackingInfo[$number] = @simplexml_load_string($response);
|
58 |
+
|
59 |
+
}
|
60 |
+
|
61 |
+
return $this->_trackingInfo[$number];
|
62 |
+
}
|
63 |
+
|
64 |
+
|
65 |
+
public function getFedexTrackingInfo($number)
|
66 |
+
{
|
67 |
+
if (!isset($this->_trackingInfo[$number])) {
|
68 |
+
|
69 |
+
|
70 |
+
if (Mage::getStoreConfig('shippingtracking/fedex_api/sandbox')) {
|
71 |
+
$soap = curl_init("https://gatewaybeta.fedex.com:443/xml");
|
72 |
+
} else {
|
73 |
+
$soap = curl_init("https://gateway.fedex.com:443/xml");
|
74 |
+
}
|
75 |
+
|
76 |
+
curl_setopt($soap, CURLOPT_POST, 1);
|
77 |
+
curl_setopt($soap, CURLOPT_RETURNTRANSFER, 1);
|
78 |
+
|
79 |
+
|
80 |
+
$request = ('
|
81 |
+
<TrackRequest xmlns="http://fedex.com/ws/track/v3">
|
82 |
+
<WebAuthenticationDetail>
|
83 |
+
<UserCredential>
|
84 |
+
<Key>'.$this->_getDecryptedConfig('fedex_api/key').'</Key>
|
85 |
+
<Password>'.$this->_getDecryptedConfig('fedex_api/password').'</Password>
|
86 |
+
</UserCredential>
|
87 |
+
</WebAuthenticationDetail>
|
88 |
+
<ClientDetail>
|
89 |
+
<AccountNumber>'.$this->_getDecryptedConfig('fedex_api/account_number').'</AccountNumber>
|
90 |
+
<MeterNumber>'.$this->_getDecryptedConfig('fedex_api/meter_number').'</MeterNumber>
|
91 |
+
</ClientDetail>
|
92 |
+
<TransactionDetail>
|
93 |
+
<CustomerTransactionId>ActiveShipping</CustomerTransactionId>
|
94 |
+
</TransactionDetail>
|
95 |
+
<Version>
|
96 |
+
<ServiceId>trck</ServiceId>
|
97 |
+
<Major>3</Major>
|
98 |
+
<Intermediate>0</Intermediate>
|
99 |
+
<Minor>0</Minor>
|
100 |
+
</Version>
|
101 |
+
<PackageIdentifier>
|
102 |
+
<Value>'.$number.'</Value>
|
103 |
+
<Type>TRACKING_NUMBER_OR_DOORTAG</Type>
|
104 |
+
</PackageIdentifier>
|
105 |
+
<IncludeDetailedScans>1</IncludeDetailedScans>
|
106 |
+
</TrackRequest>');
|
107 |
+
|
108 |
+
|
109 |
+
curl_setopt($soap, CURLOPT_HTTPHEADER,
|
110 |
+
array('Content-Type: text/xml; charset=utf-8',
|
111 |
+
'Content-Length: '.strlen($request)));
|
112 |
+
|
113 |
+
curl_setopt($soap, CURLOPT_POSTFIELDS, $request);
|
114 |
+
$response = curl_exec($soap);
|
115 |
+
curl_close($soap);
|
116 |
+
|
117 |
+
$this->_trackingInfo[$number] = @simplexml_load_string($response);
|
118 |
+
|
119 |
+
}
|
120 |
+
|
121 |
+
return $this->_trackingInfo[$number];
|
122 |
+
}
|
123 |
+
|
124 |
+
|
125 |
+
public function getUspsTrackingInfo($number)
|
126 |
+
{
|
127 |
+
if (!isset($this->_trackingInfo[$number])) {
|
128 |
+
|
129 |
+
$xml = urlencode('<TrackRequest USERID="'.urlencode($this->_getDecryptedConfig('usps_api/user_id')).'"><TrackID ID="'.$number.'"></TrackID></TrackRequest>');
|
130 |
+
$response = file_get_contents($url = 'http://production.shippingapis.com/ShippingAPITest.dll?API=TrackV2&XML='.$xml);
|
131 |
+
|
132 |
+
$this->_trackingInfo[$number] = @simplexml_load_string($response);
|
133 |
+
|
134 |
+
}
|
135 |
+
|
136 |
+
return $this->_trackingInfo[$number];
|
137 |
+
}
|
138 |
+
|
139 |
+
}
|
140 |
+
|
app/code/community/Plumrocket/ShippingTracking/controllers/IndexController.php
ADDED
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
|
19 |
+
class Plumrocket_ShippingTracking_IndexController extends Mage_Core_Controller_Front_Action
|
20 |
+
{
|
21 |
+
|
22 |
+
public function indexAction()
|
23 |
+
{
|
24 |
+
if (!Mage::getStoreConfig('shippingtracking/general/enabled')) {
|
25 |
+
$this->_forward('noRoute');
|
26 |
+
}
|
27 |
+
|
28 |
+
$this->loadLayout();
|
29 |
+
if ($head = $this->getLayout()->getBlock('head')) {
|
30 |
+
$head->setTitle($this->__('Check Order Status'));
|
31 |
+
}
|
32 |
+
$this->_initLayoutMessages('customer/session');
|
33 |
+
$this->renderLayout();
|
34 |
+
}
|
35 |
+
|
36 |
+
public function infoAction()
|
37 |
+
{
|
38 |
+
$_request = $this->getRequest();
|
39 |
+
$_session = Mage::getSingleton('customer/session');
|
40 |
+
|
41 |
+
$orderId = $_request->getParam('order');
|
42 |
+
$info = $_request->getParam('info');
|
43 |
+
|
44 |
+
|
45 |
+
if (empty($info) || empty($orderId)) {
|
46 |
+
$_session->addError($this->__('Make sure that you have entered the Order Number and phone number (or email address).'));
|
47 |
+
$this->_redirect('*/*/');
|
48 |
+
return;
|
49 |
+
} else {
|
50 |
+
//var_dump($orderId);
|
51 |
+
$order = Mage::getModel('sales/order')->load($orderId, 'increment_id');
|
52 |
+
//var_dump($order->getId()); exit();
|
53 |
+
if ($order->getId()) {
|
54 |
+
$bAddress = $order->getBillingAddress();
|
55 |
+
$sAddress = $order->getShippingAddress();
|
56 |
+
if ($bAddress->getEmail() == $info || $bAddress->getTelephone() == $info ||
|
57 |
+
($sAddress && (
|
58 |
+
$sAddress->getEmail() == $info || $sAddress->getTelephone() == $info
|
59 |
+
))
|
60 |
+
) {
|
61 |
+
|
62 |
+
$trackingInfo = $this->_getTrackingInfoByOrder($order);
|
63 |
+
$shippingInfoModel = new Varien_Object;
|
64 |
+
$shippingInfoModel->setTrackingInfo($trackingInfo)->setOrderId($order->getId());
|
65 |
+
Mage::register('current_shipping_info', $shippingInfoModel);
|
66 |
+
|
67 |
+
//var_dump($trackingInfo); exit();
|
68 |
+
|
69 |
+
if (count($trackingInfo) == 0) {
|
70 |
+
$_session->addError($this->__('Shipping tracking data not found.'));
|
71 |
+
$this->_redirect('*/*/');
|
72 |
+
} else if (count($trackingInfo) == 1) {
|
73 |
+
foreach($trackingInfo as $shipid => $_result) {
|
74 |
+
if (count($_result) == 1) {
|
75 |
+
foreach($_result as $key => $track) {
|
76 |
+
|
77 |
+
$carrier = $track->getCarrier();
|
78 |
+
if (Mage::getStoreConfig('shippingtracking/'.$carrier.'_api/enabled')) {
|
79 |
+
$this->_redirect('*/*/'.$carrier, array(
|
80 |
+
'number' => $track->getTracking(),
|
81 |
+
'order' => $order->getIncrementId(),
|
82 |
+
));
|
83 |
+
return;
|
84 |
+
}
|
85 |
+
|
86 |
+
}
|
87 |
+
}
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
$this->loadLayout();
|
92 |
+
if ($head = $this->getLayout()->getBlock('head')) {
|
93 |
+
$head->setTitle($this->__('Tracking Information'));
|
94 |
+
}
|
95 |
+
$this->_initLayoutMessages('customer/session');
|
96 |
+
$this->renderLayout();
|
97 |
+
|
98 |
+
return;
|
99 |
+
}
|
100 |
+
}
|
101 |
+
}
|
102 |
+
|
103 |
+
$_session->addError($this->__('Data combination is not valid. Please check order number and phone number (or email address).'));
|
104 |
+
$this->_redirect('*/*/index', array(
|
105 |
+
'order' => $orderId,
|
106 |
+
'info' => $info,
|
107 |
+
));
|
108 |
+
|
109 |
+
|
110 |
+
}
|
111 |
+
|
112 |
+
protected function _getTrackingInfoByOrder($order)
|
113 |
+
{
|
114 |
+
$shipTrack = array();
|
115 |
+
$shipments = $order->getShipmentsCollection();
|
116 |
+
foreach ($shipments as $shipment){
|
117 |
+
$increment_id = $shipment->getIncrementId();
|
118 |
+
$tracks = $shipment->getTracksCollection();
|
119 |
+
|
120 |
+
$trackingInfos=array();
|
121 |
+
foreach ($tracks as $track){
|
122 |
+
$trackingInfos[] = $track->getNumberDetail();
|
123 |
+
}
|
124 |
+
$shipTrack[$increment_id] = $trackingInfos;
|
125 |
+
}
|
126 |
+
|
127 |
+
|
128 |
+
return $shipTrack;
|
129 |
+
}
|
130 |
+
|
131 |
+
|
132 |
+
|
133 |
+
public function upsAction()
|
134 |
+
{
|
135 |
+
$this->_processTrackingAction('ups', $this->__('UPS Tracking Number'));
|
136 |
+
}
|
137 |
+
|
138 |
+
|
139 |
+
public function fedexAction()
|
140 |
+
{
|
141 |
+
$this->_processTrackingAction('fedex', $this->__('FedEx Tracking Number'));
|
142 |
+
}
|
143 |
+
|
144 |
+
public function uspsAction()
|
145 |
+
{
|
146 |
+
$this->_processTrackingAction('fedex', $this->__('USPS Tracking Number'));
|
147 |
+
}
|
148 |
+
|
149 |
+
|
150 |
+
protected function _processTrackingAction($carrier, $pageTitle)
|
151 |
+
{
|
152 |
+
if (!Mage::getStoreConfig('shippingtracking/general/enabled') || !Mage::getStoreConfig('shippingtracking/'.$carrier.'_api/enabled')) {
|
153 |
+
$this->_forward('noRoute');
|
154 |
+
}
|
155 |
+
|
156 |
+
$this->loadLayout();
|
157 |
+
if ($head = $this->getLayout()->getBlock('head')) {
|
158 |
+
$head->setTitle($pageTitle);
|
159 |
+
}
|
160 |
+
$this->_initLayoutMessages('customer/session');
|
161 |
+
$this->renderLayout();
|
162 |
+
}
|
163 |
+
|
164 |
+
|
165 |
+
}
|
app/code/community/Plumrocket/ShippingTracking/etc/config.xml
ADDED
@@ -0,0 +1,117 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Plumrocket Inc.
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the End-user License Agreement
|
9 |
+
* that is available through the world-wide-web at this URL:
|
10 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
11 |
+
* If you are unable to obtain it through the world-wide-web, please
|
12 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* @package Plumrocket_Shipping_Tracking
|
15 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
16 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<config>
|
20 |
+
<modules>
|
21 |
+
<Plumrocket_ShippingTracking>
|
22 |
+
<version>1.0.0</version>
|
23 |
+
<wiki>http://wiki.plumrocket.com/wiki/Magento_Order_Status_and_Shipping_Tracking_v1.x_Extension</wiki>
|
24 |
+
</Plumrocket_ShippingTracking>
|
25 |
+
</modules>
|
26 |
+
<frontend>
|
27 |
+
<routers>
|
28 |
+
<shippingtracking>
|
29 |
+
<use>standard</use>
|
30 |
+
<args>
|
31 |
+
<module>Plumrocket_ShippingTracking</module>
|
32 |
+
<frontName>shippingtracking</frontName>
|
33 |
+
</args>
|
34 |
+
</shippingtracking>
|
35 |
+
</routers>
|
36 |
+
<layout>
|
37 |
+
<updates>
|
38 |
+
<shippingtracking>
|
39 |
+
<file>shippingtracking.xml</file>
|
40 |
+
</shippingtracking>
|
41 |
+
</updates>
|
42 |
+
</layout>
|
43 |
+
<translate>
|
44 |
+
<modules>
|
45 |
+
<shippingtracking>
|
46 |
+
<files>
|
47 |
+
<default>Plumrocket_Order_Status_and_Shipping_Tracking.csv</default>
|
48 |
+
</files>
|
49 |
+
</shippingtracking>
|
50 |
+
</modules>
|
51 |
+
</translate>
|
52 |
+
</frontend>
|
53 |
+
<global>
|
54 |
+
<helpers>
|
55 |
+
<shippingtracking>
|
56 |
+
<class>Plumrocket_ShippingTracking_Helper</class>
|
57 |
+
</shippingtracking>
|
58 |
+
</helpers>
|
59 |
+
<blocks>
|
60 |
+
<shippingtracking>
|
61 |
+
<class>Plumrocket_ShippingTracking_Block</class>
|
62 |
+
</shippingtracking>
|
63 |
+
<shipping>
|
64 |
+
<rewrite>
|
65 |
+
<tracking_popup>Plumrocket_ShippingTracking_Block_Shipping_Tracking_Popup</tracking_popup>
|
66 |
+
</rewrite>
|
67 |
+
</shipping>
|
68 |
+
</blocks>
|
69 |
+
</global>
|
70 |
+
<adminhtml>
|
71 |
+
<menu>
|
72 |
+
<plumrocket>
|
73 |
+
<title>Plumrocket</title>
|
74 |
+
<sort_order>80</sort_order>
|
75 |
+
<children>
|
76 |
+
<shippingtracking>
|
77 |
+
<title>Order Status & Shipping Tracking</title>
|
78 |
+
<sort_order>1500</sort_order>
|
79 |
+
<action>adminhtml/system_config/edit/section/shippingtracking</action>
|
80 |
+
</shippingtracking>
|
81 |
+
</children>
|
82 |
+
</plumrocket>
|
83 |
+
</menu>
|
84 |
+
<acl>
|
85 |
+
<resources>
|
86 |
+
<all>
|
87 |
+
<title>Allow Everything</title>
|
88 |
+
</all>
|
89 |
+
<admin>
|
90 |
+
<children>
|
91 |
+
<plumrocket>
|
92 |
+
<title>Plumrocket</title>
|
93 |
+
<sort_order>80</sort_order>
|
94 |
+
<children>
|
95 |
+
<shippingtracking translate="title">
|
96 |
+
<title>Order Status & Shipping Tracking</title>
|
97 |
+
<sort_order>1500</sort_order>
|
98 |
+
</shippingtracking>
|
99 |
+
</children>
|
100 |
+
</plumrocket>
|
101 |
+
<system>
|
102 |
+
<children>
|
103 |
+
<config>
|
104 |
+
<children>
|
105 |
+
<shippingtracking translate="title">
|
106 |
+
<title>Order Status & Shipping Tracking Settings</title>
|
107 |
+
</shippingtracking>
|
108 |
+
</children>
|
109 |
+
</config>
|
110 |
+
</children>
|
111 |
+
</system>
|
112 |
+
</children>
|
113 |
+
</admin>
|
114 |
+
</resources>
|
115 |
+
</acl>
|
116 |
+
</adminhtml>
|
117 |
+
</config>
|
app/code/community/Plumrocket/ShippingTracking/etc/system.xml
ADDED
@@ -0,0 +1,216 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Plumrocket Inc.
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the End-user License Agreement
|
9 |
+
* that is available through the world-wide-web at this URL:
|
10 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
11 |
+
* If you are unable to obtain it through the world-wide-web, please
|
12 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* @package Plumrocket_Shipping_Tracking
|
15 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
16 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<config>
|
20 |
+
<tabs>
|
21 |
+
<plumrocket>
|
22 |
+
<label>
|
23 |
+
<![CDATA[
|
24 |
+
<div style="padding-left:22px; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEIxMEIyRkRCOTg1MTFFMkI4Qjg5OEZGNjcwRUQ4MDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEIxMEIyRkVCOTg1MTFFMkI4Qjg5OEZGNjcwRUQ4MDciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0QjEwQjJGQkI5ODUxMUUyQjhCODk4RkY2NzBFRDgwNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0QjEwQjJGQ0I5ODUxMUUyQjhCODk4RkY2NzBFRDgwNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoBY2kYAAAJCSURBVHjaJFJNaxVBEOzu2cfDZPflkSgkfsSP5CKBoBeDigeRgIgk4MWDePemqJHgBwgiCEFB9C94CkYMEuK/iF4CXgJ6UCOikBCyb6a7rVmX3WVmt6e6qrr49VppHknYXYMFFcfFzUXmRCROxmzsbPguhVpPqYcjLGSm7oRCIzo1fP/XztrG1grhlJMzBSUTKkyBnYFQDCCs8HRbB6aG539s7nz9ewhgaEa5hZuKqFtMFBvw5JyUcHBqdGFnW4Pb8b031HJHM6+N8Fc0Zky8NbFGVyv2FScmBq9CSNnfnmg/6vOhVKOUHVhqYi7RoAfA7oZ1ujD+kkk6AwPGUva3Th95nARlnBENHmhuB4IEk9QmB6+NVuegcmt7izVA2367MrJn0jOzrASQDoopgr0Gqc6PPYNNuNFPgmViZd/02Cs1VvWknm2HdkhXpWPdS2bRLcE2WILGkk3mQTk5NnS5hwYGl2CRwqPwZNo//3z74cu937sb5Fp1ugz7g3vA2d7s0TeSigTFWYOKJX2w2vKYrk8urq7P/6m/gVfV6ZRl2alKzznws4fnUnKpQcms0zf+9GKtKvdWik/flz6uP9ze3QQdwTBJBqouBnpmZL5qH+S7y232XiIOTguzemc5PJ+p5963VCjAGP6fJWlCZXkLeDR6MYPR2c13jO3tpZZmniE2M04IRcKAPCKYiQrKFtGtRc4YjIApkkmBJGqCR9lG48B1s0JR0dMaAc3posaBPIM8daMsVBpmMLiwHPhI/k+AAQDYqY0eXeLHAgAAAABJRU5ErkJggg==) left 50% no-repeat;">Plumrocket Inc.</div> ]]>
|
25 |
+
</label>
|
26 |
+
<class>plumrocket_section</class>
|
27 |
+
<sort_order>101</sort_order>
|
28 |
+
</plumrocket>
|
29 |
+
</tabs>
|
30 |
+
<sections>
|
31 |
+
<shippingtracking translate="label">
|
32 |
+
<label>Order Status & Shipping Tracking</label>
|
33 |
+
<tab>plumrocket</tab>
|
34 |
+
<sort_order>1500</sort_order>
|
35 |
+
<show_in_default>1</show_in_default>
|
36 |
+
<show_in_website>1</show_in_website>
|
37 |
+
<show_in_store>1</show_in_store>
|
38 |
+
<groups>
|
39 |
+
<general translate="label">
|
40 |
+
<label>General</label>
|
41 |
+
<frontend_type>text</frontend_type>
|
42 |
+
<sort_order>10</sort_order>
|
43 |
+
<show_in_default>1</show_in_default>
|
44 |
+
<show_in_website>1</show_in_website>
|
45 |
+
<show_in_store>1</show_in_store>
|
46 |
+
<expanded>1</expanded>
|
47 |
+
<fields>
|
48 |
+
<version translate="label">
|
49 |
+
<frontend_type>text</frontend_type>
|
50 |
+
<frontend_model>shippingtracking/system_config_version</frontend_model>
|
51 |
+
<sort_order>1</sort_order>
|
52 |
+
<show_in_default>1</show_in_default>
|
53 |
+
<show_in_website>1</show_in_website>
|
54 |
+
<show_in_store>1</show_in_store>
|
55 |
+
</version>
|
56 |
+
<enabled translate="label">
|
57 |
+
<label>Enable Extension</label>
|
58 |
+
<frontend_type>select</frontend_type>
|
59 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
60 |
+
<sort_order>10</sort_order>
|
61 |
+
<show_in_default>1</show_in_default>
|
62 |
+
<show_in_website>1</show_in_website>
|
63 |
+
<show_in_store>1</show_in_store>
|
64 |
+
</enabled>
|
65 |
+
</fields>
|
66 |
+
</general>
|
67 |
+
<ups_api translate="label">
|
68 |
+
<label>UPS Tracking API</label>
|
69 |
+
<frontend_type>text</frontend_type>
|
70 |
+
<sort_order>20</sort_order>
|
71 |
+
<show_in_default>1</show_in_default>
|
72 |
+
<show_in_website>1</show_in_website>
|
73 |
+
<show_in_store>1</show_in_store>
|
74 |
+
<expanded>1</expanded>
|
75 |
+
<fields>
|
76 |
+
<enabled translate="label">
|
77 |
+
<label>Enable</label>
|
78 |
+
<frontend_type>select</frontend_type>
|
79 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
80 |
+
<sort_order>10</sort_order>
|
81 |
+
<show_in_default>1</show_in_default>
|
82 |
+
<show_in_website>1</show_in_website>
|
83 |
+
<show_in_store>1</show_in_store>
|
84 |
+
</enabled>
|
85 |
+
<user_id translate="label">
|
86 |
+
<label>User ID</label>
|
87 |
+
<frontend_type>obscure</frontend_type>
|
88 |
+
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
89 |
+
<sort_order>20</sort_order>
|
90 |
+
<show_in_default>1</show_in_default>
|
91 |
+
<show_in_website>1</show_in_website>
|
92 |
+
<show_in_store>1</show_in_store>
|
93 |
+
</user_id>
|
94 |
+
<password translate="label">
|
95 |
+
<label>Password</label>
|
96 |
+
<frontend_type>obscure</frontend_type>
|
97 |
+
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
98 |
+
<sort_order>30</sort_order>
|
99 |
+
<show_in_default>1</show_in_default>
|
100 |
+
<show_in_website>1</show_in_website>
|
101 |
+
<show_in_store>1</show_in_store>
|
102 |
+
</password>
|
103 |
+
<access_key translate="label">
|
104 |
+
<label>API Access Key</label>
|
105 |
+
<frontend_type>obscure</frontend_type>
|
106 |
+
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
107 |
+
<sort_order>40</sort_order>
|
108 |
+
<show_in_default>1</show_in_default>
|
109 |
+
<show_in_website>1</show_in_website>
|
110 |
+
<show_in_store>1</show_in_store>
|
111 |
+
<comment>"UPS API Access Key" also referred as "Access License Number"</comment>
|
112 |
+
</access_key>
|
113 |
+
</fields>
|
114 |
+
</ups_api>
|
115 |
+
|
116 |
+
<fedex_api translate="label">
|
117 |
+
<label>FedEx Tracking API</label>
|
118 |
+
<frontend_type>text</frontend_type>
|
119 |
+
<sort_order>30</sort_order>
|
120 |
+
<show_in_default>1</show_in_default>
|
121 |
+
<show_in_website>1</show_in_website>
|
122 |
+
<show_in_store>1</show_in_store>
|
123 |
+
<expanded>1</expanded>
|
124 |
+
<fields>
|
125 |
+
<enabled translate="label">
|
126 |
+
<label>Enable</label>
|
127 |
+
<frontend_type>select</frontend_type>
|
128 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
129 |
+
<sort_order>10</sort_order>
|
130 |
+
<show_in_default>1</show_in_default>
|
131 |
+
<show_in_website>1</show_in_website>
|
132 |
+
<show_in_store>1</show_in_store>
|
133 |
+
</enabled>
|
134 |
+
<account_number translate="label">
|
135 |
+
<label>Account Number</label>
|
136 |
+
<frontend_type>obscure</frontend_type>
|
137 |
+
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
138 |
+
<sort_order>20</sort_order>
|
139 |
+
<show_in_default>1</show_in_default>
|
140 |
+
<show_in_website>1</show_in_website>
|
141 |
+
<show_in_store>1</show_in_store>
|
142 |
+
</account_number>
|
143 |
+
<meter_number translate="label">
|
144 |
+
<label>Meter Number</label>
|
145 |
+
<frontend_type>obscure</frontend_type>
|
146 |
+
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
147 |
+
<sort_order>30</sort_order>
|
148 |
+
<show_in_default>1</show_in_default>
|
149 |
+
<show_in_website>1</show_in_website>
|
150 |
+
<show_in_store>1</show_in_store>
|
151 |
+
</meter_number>
|
152 |
+
<key translate="label">
|
153 |
+
<label>Key</label>
|
154 |
+
<frontend_type>obscure</frontend_type>
|
155 |
+
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
156 |
+
<sort_order>40</sort_order>
|
157 |
+
<show_in_default>1</show_in_default>
|
158 |
+
<show_in_website>1</show_in_website>
|
159 |
+
<show_in_store>1</show_in_store>
|
160 |
+
</key>
|
161 |
+
<password translate="label">
|
162 |
+
<label>Password</label>
|
163 |
+
<frontend_type>obscure</frontend_type>
|
164 |
+
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
165 |
+
<sort_order>50</sort_order>
|
166 |
+
<show_in_default>1</show_in_default>
|
167 |
+
<show_in_website>1</show_in_website>
|
168 |
+
<show_in_store>1</show_in_store>
|
169 |
+
</password>
|
170 |
+
<sandbox translate="label">
|
171 |
+
<label>Sandbox Mode</label>
|
172 |
+
<frontend_type>select</frontend_type>
|
173 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
174 |
+
<sort_order>70</sort_order>
|
175 |
+
<show_in_default>1</show_in_default>
|
176 |
+
<show_in_website>1</show_in_website>
|
177 |
+
<show_in_store>1</show_in_store>
|
178 |
+
</sandbox>
|
179 |
+
</fields>
|
180 |
+
</fedex_api>
|
181 |
+
|
182 |
+
<usps_api translate="label">
|
183 |
+
<label>USPS Tracking API</label>
|
184 |
+
<frontend_type>text</frontend_type>
|
185 |
+
<sort_order>40</sort_order>
|
186 |
+
<show_in_default>1</show_in_default>
|
187 |
+
<show_in_website>1</show_in_website>
|
188 |
+
<show_in_store>1</show_in_store>
|
189 |
+
<expanded>1</expanded>
|
190 |
+
<fields>
|
191 |
+
<enabled translate="label">
|
192 |
+
<label>Enable</label>
|
193 |
+
<frontend_type>select</frontend_type>
|
194 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
195 |
+
<sort_order>10</sort_order>
|
196 |
+
<show_in_default>1</show_in_default>
|
197 |
+
<show_in_website>1</show_in_website>
|
198 |
+
<show_in_store>1</show_in_store>
|
199 |
+
</enabled>
|
200 |
+
<user_id translate="label">
|
201 |
+
<label>User ID</label>
|
202 |
+
<frontend_type>obscure</frontend_type>
|
203 |
+
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
204 |
+
<sort_order>20</sort_order>
|
205 |
+
<show_in_default>1</show_in_default>
|
206 |
+
<show_in_website>1</show_in_website>
|
207 |
+
<show_in_store>1</show_in_store>
|
208 |
+
</user_id>
|
209 |
+
</fields>
|
210 |
+
</usps_api>
|
211 |
+
|
212 |
+
</groups>
|
213 |
+
</shippingtracking>
|
214 |
+
|
215 |
+
</sections>
|
216 |
+
</config>
|
app/design/frontend/base/default/layout/shippingtracking.xml
ADDED
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Plumrocket Inc.
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the End-user License Agreement
|
9 |
+
* that is available through the world-wide-web at this URL:
|
10 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
11 |
+
* If you are unable to obtain it through the world-wide-web, please
|
12 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* @package Plumrocket_Shipping_Tracking
|
15 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
16 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<layout version="1.0.0">
|
20 |
+
|
21 |
+
<shippingtracking_index_index>
|
22 |
+
<reference name="root">
|
23 |
+
<action method="setTemplate"><template>page/2columns-right.phtml</template></action>
|
24 |
+
</reference>
|
25 |
+
<reference name="content">
|
26 |
+
<block type="core/template" name="shippingTracking.main" template="shippingtracking/main.phtml"/>
|
27 |
+
</reference>
|
28 |
+
</shippingtracking_index_index>
|
29 |
+
|
30 |
+
<shippingtracking_index_info>
|
31 |
+
<reference name="root">
|
32 |
+
<action method="setTemplate"><template>page/2columns-right.phtml</template></action>
|
33 |
+
</reference>
|
34 |
+
<reference name="content">
|
35 |
+
<block type="shippingtracking/shipping_tracking_popup" name="shippingTracking.info" template="shippingtracking/info.phtml"/>
|
36 |
+
</reference>
|
37 |
+
</shippingtracking_index_info>
|
38 |
+
|
39 |
+
<shipping_tracking_popup translate="label">
|
40 |
+
<reference name="content">
|
41 |
+
<reference name="shipping.tracking.popup">
|
42 |
+
<action method="setTemplate"><template>shippingtracking/popup.phtml</template></action>
|
43 |
+
</reference>
|
44 |
+
</reference>
|
45 |
+
</shipping_tracking_popup>
|
46 |
+
|
47 |
+
<shippingtracking_index_ups>
|
48 |
+
<reference name="root">
|
49 |
+
<action method="setTemplate"><template>page/2columns-right.phtml</template></action>
|
50 |
+
</reference>
|
51 |
+
<reference name="content">
|
52 |
+
<block type="shippingtracking/ups" name="shippingTracking.ups" template="shippingtracking/info/ups.phtml"/>
|
53 |
+
<block type="core/template" name="shippingTracking.form" template="shippingtracking/info/form.phtml"/>
|
54 |
+
</reference>
|
55 |
+
</shippingtracking_index_ups>
|
56 |
+
|
57 |
+
<shippingtracking_index_fedex>
|
58 |
+
<reference name="root">
|
59 |
+
<action method="setTemplate"><template>page/2columns-right.phtml</template></action>
|
60 |
+
</reference>
|
61 |
+
<reference name="content">
|
62 |
+
<block type="shippingtracking/fedex" name="shippingTracking.fedex" template="shippingtracking/info/fedex.phtml"/>
|
63 |
+
<block type="core/template" name="shippingTracking.form" template="shippingtracking/info/form.phtml"/>
|
64 |
+
</reference>
|
65 |
+
</shippingtracking_index_fedex>
|
66 |
+
|
67 |
+
<shippingtracking_index_usps>
|
68 |
+
<reference name="root">
|
69 |
+
<action method="setTemplate"><template>page/2columns-right.phtml</template></action>
|
70 |
+
</reference>
|
71 |
+
<reference name="content">
|
72 |
+
<block type="shippingtracking/usps" name="shippingTracking.usps" template="shippingtracking/info/usps.phtml"/>
|
73 |
+
<block type="core/template" name="shippingTracking.form" template="shippingtracking/info/form.phtml"/>
|
74 |
+
</reference>
|
75 |
+
</shippingtracking_index_usps>
|
76 |
+
|
77 |
+
</layout>
|
78 |
+
|
app/design/frontend/base/default/template/shippingtracking/info.phtml
ADDED
@@ -0,0 +1,167 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
?>
|
18 |
+
<?php $_results = $this->getTrackingInfo(); ?>
|
19 |
+
|
20 |
+
<?php if(sizeof($_results)>0): ?>
|
21 |
+
<?php foreach($_results as $shipid => $_result): ?>
|
22 |
+
<?php if($shipid): ?>
|
23 |
+
<div class="page-title title-buttons">
|
24 |
+
<h1><?php echo $this->__('Tracking Information'); ?> (<?php echo $this->__('Shipment #').$shipid; ?>)</h1>
|
25 |
+
</div>
|
26 |
+
<?php endif; ?>
|
27 |
+
<?php if(sizeof($_result)>0): ?>
|
28 |
+
<?php $rowCount = sizeof($_result); $counter = 1; ?>
|
29 |
+
<?php $_id = 0; foreach($_result as $track): ?>
|
30 |
+
<table class="tracking-table-popup data-table" id="tracking-table-popup-<?php echo $_id ?>">
|
31 |
+
<col width="15%" />
|
32 |
+
<col />
|
33 |
+
<tbody>
|
34 |
+
<?php if(is_object($track)): ?>
|
35 |
+
<tr>
|
36 |
+
<th class="label"><?php echo $this->__('Tracking Number:'); ?></th>
|
37 |
+
<td class="value"><?php echo $this->escapeHtml($track->getTracking()); ?></td>
|
38 |
+
</tr>
|
39 |
+
<?php if ($track->getCarrierTitle()): ?>
|
40 |
+
<tr>
|
41 |
+
<th class="label"><?php echo $this->__('Carrier:'); ?></th>
|
42 |
+
<td class="value"><?php echo $this->escapeHtml($track->getCarrierTitle()); ?></td>
|
43 |
+
</tr>
|
44 |
+
<?php endif; ?>
|
45 |
+
<?php if($track->getErrorMessage()): ?>
|
46 |
+
<tr>
|
47 |
+
<th class="label"><?php echo $this->__('Error:'); ?></th>
|
48 |
+
<td class="error"><?php echo $this->__('Tracking information is currently not available. Please '); if ($this->getContactUsEnabled()) : ?><a href="<?php echo $this->getContactUs() ?>" title="<?php echo $this->__('contact us') ?>" onclick="this.target='_blank'"><?php echo $this->__('contact us') ?></a><?php echo $this->__(' for more information or '); endif; echo $this->__('email us at '); ?><a href="mailto:<?php echo $this->getStoreSupportEmail() ?>"><?php echo $this->getStoreSupportEmail() ?></a></td>
|
49 |
+
</tr>
|
50 |
+
<?php elseif($track->getTrackSummary()): ?>
|
51 |
+
<tr>
|
52 |
+
<th class="label"><?php echo $this->__('Info:'); ?></th>
|
53 |
+
<td class="value"><?php echo $track->getTrackSummary(); ?></td>
|
54 |
+
</tr>
|
55 |
+
<?php elseif($track->getUrl()): ?>
|
56 |
+
<tr>
|
57 |
+
<th class="label"><?php echo $this->__('Track:'); ?></th>
|
58 |
+
<td class="value">
|
59 |
+
<a href="<?php echo $this->escapeHtml($track->getUrl()); ?>" onclick="this.target='_blank'"><?php echo $this->__('View Details'); ?></a></td>
|
60 |
+
</tr>
|
61 |
+
<?php else: ?>
|
62 |
+
<?php if ($track->getStatus()): ?>
|
63 |
+
<tr>
|
64 |
+
<th class="label"><?php echo $this->__('Status:'); ?></th>
|
65 |
+
<td class="value"><?php echo $track->getStatus(); ?></td>
|
66 |
+
</tr>
|
67 |
+
<?php endif; ?>
|
68 |
+
|
69 |
+
<?php if ($track->getDeliverydate()): ?>
|
70 |
+
<tr>
|
71 |
+
<th class="label"><?php echo $this->__('Delivered on:'); ?></th>
|
72 |
+
<td class="value"><?php echo $this->formatDeliveryDateTime($track->getDeliverydate(),$track->getDeliverytime()); ?></td>
|
73 |
+
</tr>
|
74 |
+
<?php endif; ?>
|
75 |
+
|
76 |
+
<?php if ($track->getSignedby()): ?>
|
77 |
+
<tr>
|
78 |
+
<th class="label"><?php echo $this->__('Signed by:'); ?></th>
|
79 |
+
<td class="value"><?php echo $track->getSignedby(); ?></td>
|
80 |
+
</tr>
|
81 |
+
<?php endif; ?>
|
82 |
+
|
83 |
+
<?php if ($track->getDeliveryLocation()): ?>
|
84 |
+
<tr>
|
85 |
+
<th class="label"><?php echo $this->__('Delivered to:'); ?></th>
|
86 |
+
<td class="value"><?php echo $track->getDeliveryLocation(); ?></td>
|
87 |
+
</tr>
|
88 |
+
<?php endif; ?>
|
89 |
+
|
90 |
+
<?php if ($track->getShippedDate()): ?>
|
91 |
+
<tr>
|
92 |
+
<th class="label"><?php echo $this->__('Shipped or billed on:'); ?></th>
|
93 |
+
<td class="value"><?php echo $track->getShippedDate(); ?></td>
|
94 |
+
</tr>
|
95 |
+
<?php endif; ?>
|
96 |
+
|
97 |
+
<?php if ($track->getService()): ?>
|
98 |
+
<tr>
|
99 |
+
<th class="label"><?php echo $this->__('Service Type:'); ?></th>
|
100 |
+
<td class="value"><?php echo $track->getService(); ?></td>
|
101 |
+
</tr>
|
102 |
+
<?php endif; ?>
|
103 |
+
|
104 |
+
<?php if ($track->getWeight()): ?>
|
105 |
+
<tr>
|
106 |
+
<th class="label"><?php echo $this->__('Weight:'); ?></th>
|
107 |
+
<td class="value"><?php echo $track->getWeight(); ?></td>
|
108 |
+
</tr>
|
109 |
+
<?php endif; ?>
|
110 |
+
<?php endif; ?>
|
111 |
+
<?php elseif(isset($track['title']) && isset($track['number']) && $track['number']): ?>
|
112 |
+
<!--if the tracking is custom value-->
|
113 |
+
<tr>
|
114 |
+
<th class="label"><?php echo ($track['title'] ? $this->escapeHtml($track['title']) : $this->__('N/A')); ?>:</th>
|
115 |
+
<td class="value"><?php echo (isset($track['number']) ? $this->escapeHtml($track['number']) : ''); ?></td>
|
116 |
+
</tr>
|
117 |
+
<?php endif; ?>
|
118 |
+
</tbody>
|
119 |
+
</table>
|
120 |
+
<script type="text/javascript">decorateTable('tracking-table-popup-<?php echo $_id++ ?>');</script>
|
121 |
+
<?php if (is_object($track) && sizeof($track->getProgressdetail())>0): ?>
|
122 |
+
<br />
|
123 |
+
<table class="data-table" id="track-history-table-<?php echo $track->getTracking(); ?>">
|
124 |
+
<col />
|
125 |
+
<col width="1" />
|
126 |
+
<col width="1" />
|
127 |
+
<col />
|
128 |
+
<thead>
|
129 |
+
<tr>
|
130 |
+
<th><?php echo $this->__('Location') ?></th>
|
131 |
+
<th><?php echo $this->__('Date') ?></th>
|
132 |
+
<th><?php echo $this->__('Local Time') ?></th>
|
133 |
+
<th><?php echo $this->__('Description') ?></th>
|
134 |
+
</tr>
|
135 |
+
</thead>
|
136 |
+
<tbody>
|
137 |
+
<?php foreach($track->getProgressdetail() as $_detail): ?>
|
138 |
+
<?php $_detailDate = (isset($_detail['deliverydate']) ? $this->formatDeliveryDate($_detail['deliverydate']) : '') ?>
|
139 |
+
<?php $_detailTime = (isset($_detail['deliverytime']) ? $this->formatDeliveryTime($_detail['deliverytime'], $_detail['deliverydate']) : '') ?>
|
140 |
+
<tr>
|
141 |
+
<td><?php echo (isset($_detail['deliverylocation']) ? $_detail['deliverylocation'] : ''); ?></td>
|
142 |
+
<td><span class="nobr"><?php echo $_detailDate ?></span></td>
|
143 |
+
<td><span class="nobr"><?php echo $_detailTime ?></span></td>
|
144 |
+
<td><?php echo (isset($_detail['activity']) ? $_detail['activity'] : '') ?></td>
|
145 |
+
</tr>
|
146 |
+
<?php endforeach; ?>
|
147 |
+
</tbody>
|
148 |
+
</table>
|
149 |
+
<script type="text/javascript">decorateTable('track-history-table-<?php echo $track->getTracking(); ?>');</script>
|
150 |
+
<?php endif; ?>
|
151 |
+
<div class="divider"></div>
|
152 |
+
<?php if($counter!=$rowCount): ?>
|
153 |
+
<?php endif; ?>
|
154 |
+
<?php $counter++; ?>
|
155 |
+
<!--end for each tracking information-->
|
156 |
+
<?php endforeach; ?>
|
157 |
+
<?php else: ?>
|
158 |
+
<p><?php echo $this->__('There is no tracking available for this shipment.'); ?></p>
|
159 |
+
<?php endif; ?>
|
160 |
+
|
161 |
+
<?php endforeach; ?>
|
162 |
+
<?php else: ?>
|
163 |
+
<p><?php echo $this->__('There is no tracking available.'); ?></p>
|
164 |
+
<?php endif; ?>
|
165 |
+
<div class="buttons-set">
|
166 |
+
<p class="back-link"><a href="<?php echo $this->getUrl('*/', array('order' => $this->getRequest()->getParam('order'))) ?>"><small>« </small><?php echo $this->__('Back') ?></a></p>
|
167 |
+
</div>
|
app/design/frontend/base/default/template/shippingtracking/info/fedex.phtml
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
?>
|
18 |
+
|
19 |
+
<?php
|
20 |
+
$info = $this->getInfo();
|
21 |
+
|
22 |
+
$_dateFormat = $this->__('m/d/Y');
|
23 |
+
$_timeFormat = $this->__('g:i a');
|
24 |
+
?>
|
25 |
+
|
26 |
+
<div class="page-title">
|
27 |
+
<h1>
|
28 |
+
<?php echo $this->__('FedEx Tracking Number %s', ( $this->getNumber() ? '('.$this->htmlEscape($this->getNumber()).')' : '' )) ?>
|
29 |
+
<?php if ($order = $this->getRequest()->getParam('order')) { echo ' - '.$this->__('Order').' #'.$this->escapeHtml($order); } ?>
|
30 |
+
</h1>
|
31 |
+
</div>
|
32 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
33 |
+
|
34 |
+
<?php if ($this->getNumber()) { ?>
|
35 |
+
<br/>
|
36 |
+
<?php if (!$info || $info->HighestSeverity != 'SUCCESS') { ?>
|
37 |
+
<strong><?php echo $this->__('Tracking information is not available at this time. Please check back later or double-check the tracking number entered and try again.'); ?></strong>
|
38 |
+
<?php } else { ?>
|
39 |
+
<div class="fieldset">
|
40 |
+
<h2 class="legend"><?php echo $this->__('Shipment Progress') ?></h2>
|
41 |
+
<table class="data-table" >
|
42 |
+
<thead>
|
43 |
+
<tr>
|
44 |
+
<th><?php echo $this->__('Location') ?></th>
|
45 |
+
<th><?php echo $this->__('Date') ?></th>
|
46 |
+
<th><?php echo $this->__('Time') ?></th>
|
47 |
+
</tr>
|
48 |
+
</thead>
|
49 |
+
<tbody>
|
50 |
+
<?php
|
51 |
+
|
52 |
+
$trackDetails = array();
|
53 |
+
if (isset($info->TrackDetails[0])) {
|
54 |
+
foreach($info->TrackDetails as $item) {
|
55 |
+
$trackDetails[] = $item;
|
56 |
+
}
|
57 |
+
} else {
|
58 |
+
$trackDetails = array($info->TrackDetails);
|
59 |
+
}
|
60 |
+
krsort($trackDetails);
|
61 |
+
|
62 |
+
foreach($trackDetails as $trackDetail) {
|
63 |
+
$time = strtotime($trackDetail->ShipTimestamp)
|
64 |
+
?>
|
65 |
+
<?php if ($_events = $trackDetail->Events) {
|
66 |
+
|
67 |
+
$events = array();
|
68 |
+
foreach($_events as $item) {
|
69 |
+
$events[] = $item;
|
70 |
+
}
|
71 |
+
krsort($events);
|
72 |
+
|
73 |
+
foreach($_events as $item) {
|
74 |
+
$time = strtotime($item->Timestamp);
|
75 |
+
?>
|
76 |
+
<tr>
|
77 |
+
<td><?php
|
78 |
+
$address = $item->Address;
|
79 |
+
if ($address->City) {
|
80 |
+
echo ( ($address->City) ? $this->escapeHtml($address->City) . ', ' : '') .
|
81 |
+
( ($address->StateOrProvinceCode) ? '('.$this->escapeHtml($address->StateOrProvinceCode).'), ' : '') .
|
82 |
+
( ($address->CountryCode) ? Mage::app()->getLocale()->getCountryTranslation($address->CountryCode) : '');
|
83 |
+
} else {
|
84 |
+
//echo '- - -';
|
85 |
+
}
|
86 |
+
?></td>
|
87 |
+
<td><?php echo date($_dateFormat, $time); ?></td>
|
88 |
+
<td><?php echo date($_timeFormat, $time); ?></td>
|
89 |
+
</tr>
|
90 |
+
<?php } ?>
|
91 |
+
<?php } else { ?>
|
92 |
+
<tr>
|
93 |
+
<td>
|
94 |
+
<?php
|
95 |
+
$address = $trackDetail->DestinationAddress;
|
96 |
+
if ($address->City) {
|
97 |
+
echo ( ($address->City) ? $this->escapeHtml($address->City) . ', ' : '') .
|
98 |
+
( ($address->StateOrProvinceCode) ? '('.$this->escapeHtml($address->StateOrProvinceCode).'), ' : '') .
|
99 |
+
( ($address->CountryCode) ? Mage::app()->getLocale()->getCountryTranslation($address->CountryCode) : '');
|
100 |
+
} else {
|
101 |
+
//echo '- - -';
|
102 |
+
}
|
103 |
+
?>
|
104 |
+
</td>
|
105 |
+
<td><?php echo date($_dateFormat, $time); ?></td>
|
106 |
+
<td><?php echo date($_timeFormat, $time); ?></td>
|
107 |
+
</tr>
|
108 |
+
<?php } ?>
|
109 |
+
<?php } ?>
|
110 |
+
</tbody>
|
111 |
+
</table>
|
112 |
+
</div>
|
113 |
+
<?php } ?>
|
114 |
+
<br/><br/>
|
115 |
+
<?php } ?>
|
app/design/frontend/base/default/template/shippingtracking/info/form.phtml
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
?>
|
18 |
+
|
19 |
+
<div style="background:#f7f7f7; padding:12px;">
|
20 |
+
<form action="<?php echo $this->getUrl('*/*/*') ?>" id="tracking-number" >
|
21 |
+
<div class="block-content">
|
22 |
+
<h6>Enter Tracking number</h6>
|
23 |
+
<div class="input-box" >
|
24 |
+
<input type="text" autocapitalize="off" autocorrect="off" spellcheck="false" name="number" class="input-text required-entry">
|
25 |
+
</div>
|
26 |
+
<div class="buttons-set">
|
27 |
+
<button type="submit" title="Track" class="button"><span><span>Track</span></span></button>
|
28 |
+
</div>
|
29 |
+
</div>
|
30 |
+
</form>
|
31 |
+
</div>
|
32 |
+
|
33 |
+
|
34 |
+
<div class="buttons-set">
|
35 |
+
<p class="back-link"><a href="<?php echo $this->getUrl('*/', array('order' => $this->getRequest()->getParam('order'))) ?>"><small>« </small><?php echo $this->__('Back') ?></a></p>
|
36 |
+
<?php echo $this->__('Postal Services:') ?>
|
37 |
+
<?php if (Mage::getStoreConfig('shippingtracking/ups_api/enabled')) { ?><a href="<?php echo $this->getUrl('*/*/ups') ?>">UPS</a> | <?php } ?>
|
38 |
+
<?php if (Mage::getStoreConfig('shippingtracking/fedex_api/enabled')) { ?><a href="<?php echo $this->getUrl('*/*/fedex') ?>">FedEx</a> | <?php } ?>
|
39 |
+
<?php if (Mage::getStoreConfig('shippingtracking/usps_api/enabled')) { ?><a href="<?php echo $this->getUrl('*/*/usps') ?>">USPS</a> | <?php } ?>
|
40 |
+
</div>
|
41 |
+
|
42 |
+
<script type="text/javascript">
|
43 |
+
//<![CDATA[
|
44 |
+
var newsletterSubscriberFormDetail = new VarienForm('tracking-number');
|
45 |
+
//]]>
|
46 |
+
</script>
|
app/design/frontend/base/default/template/shippingtracking/info/ups.phtml
ADDED
@@ -0,0 +1,130 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
?>
|
18 |
+
|
19 |
+
<?php
|
20 |
+
$info = $this->getInfo();
|
21 |
+
$_dateFormat = $this->__('m/d/Y');
|
22 |
+
$_timeFormat = $this->__('g:i a');
|
23 |
+
?>
|
24 |
+
|
25 |
+
<div class="page-title">
|
26 |
+
<h1>
|
27 |
+
<?php echo $this->__('UPS Tracking Number %s', ( $this->getNumber() ? '('.$this->htmlEscape($this->getNumber()).')' : '' )) ?>
|
28 |
+
<?php if ($order = $this->getRequest()->getParam('order')) { echo ' - '.$this->__('Order').' #'.$this->escapeHtml($order); } ?>
|
29 |
+
</h1>
|
30 |
+
</div>
|
31 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
32 |
+
<?php if ($this->getNumber()) { ?>
|
33 |
+
|
34 |
+
<br/>
|
35 |
+
|
36 |
+
<?php if ($info->Response->ResponseStatusDescription != 'Success') { ?>
|
37 |
+
<strong><?php echo $this->escapeHtml($info->Response->Error->ErrorDescription); ?></strong>
|
38 |
+
<?php } else { ?>
|
39 |
+
|
40 |
+
<?php if ($lastAction = $info->Shipment->Package->Activity[0]) { ?>
|
41 |
+
<div class="fieldset">
|
42 |
+
<h2 class="legend"><?php echo $this->__('General Information') ?></h2>
|
43 |
+
<ul class="form-list">
|
44 |
+
<?php $delivered = $lastAction->Status->StatusType->Code == 'D'; ?>
|
45 |
+
<li class="fields">
|
46 |
+
<label for="company"><?php echo $this->__('Delivered On:') ?></label>
|
47 |
+
<div class="input-box"><?php echo ($delivered) ? date('m/d/Y', $this->getTimeFromStr($lastAction->Date)) . ' at ' . date('h:i A', $this->getLocalTime($lastAction->Time)) : $this->__('Not delivered yet') ?></div>
|
48 |
+
</li>
|
49 |
+
|
50 |
+
<?php if ($delivered) { ?>
|
51 |
+
<li class="fields">
|
52 |
+
<label for="company"><?php echo $this->__('Left At:') ?></label>
|
53 |
+
<div class="input-box"><?php echo ucfirst(strtolower($this->escapeHtml($lastAction->ActivityLocation->Description))) ?></div>
|
54 |
+
</li>
|
55 |
+
<?php } ?>
|
56 |
+
|
57 |
+
<?php
|
58 |
+
$signedFor = $lastAction->ActivityLocation->SignedForByName;
|
59 |
+
if ($signedFor) {
|
60 |
+
?>
|
61 |
+
<li class="fields">
|
62 |
+
<label for="company"><?php echo $this->__('Signed For') ?></label>
|
63 |
+
<div class="input-box"><?php echo $this->escapeHtml($signedFor) ?></div>
|
64 |
+
</li>
|
65 |
+
<?php } ?>
|
66 |
+
</ul>
|
67 |
+
</div>
|
68 |
+
<?php } else if ($deliveryDateUnavailable = $info->Shipment->DeliveryDateUnavailable) { ?>
|
69 |
+
<div class="fieldset">
|
70 |
+
<h2 class="legend"><?php echo $this->__('General Information') ?></h2>
|
71 |
+
<ul class="form-list">
|
72 |
+
<li class="fields">
|
73 |
+
<?php echo $this->escapeHtml($deliveryDateUnavailable->Description[0]) ?>.
|
74 |
+
</li>
|
75 |
+
</ul>
|
76 |
+
</div>
|
77 |
+
<?php } ?>
|
78 |
+
|
79 |
+
|
80 |
+
<div class="fieldset">
|
81 |
+
<h2 class="legend"><?php echo $this->__('Additional Information') ?></h2>
|
82 |
+
<ul class="form-list">
|
83 |
+
<li class="fields">
|
84 |
+
<label for="company"><?php echo $this->__('Shipped/Billed On:') ?></label>
|
85 |
+
<div class="input-box">
|
86 |
+
<?php
|
87 |
+
echo date('m/d/Y', $this->getTimeFromStr($info->Shipment->PickupDate));
|
88 |
+
?>
|
89 |
+
</div>
|
90 |
+
</li>
|
91 |
+
<li class="fields">
|
92 |
+
<label for="company"><?php echo $this->__('Type:') ?></label>
|
93 |
+
<div class="input-box"> <?php echo $this->__('Package') ?></div>
|
94 |
+
</li>
|
95 |
+
</ul>
|
96 |
+
</div>
|
97 |
+
|
98 |
+
<?php if ($info->Shipment->Package->Activity) { ?>
|
99 |
+
<div class="fieldset">
|
100 |
+
<h2 class="legend"><?php echo $this->__('Shipment Progress') ?></h2>
|
101 |
+
<table class="data-table" >
|
102 |
+
<thead>
|
103 |
+
<tr>
|
104 |
+
<th><?php echo $this->__('Location') ?></th>
|
105 |
+
<th><?php echo $this->__('Date') ?></th>
|
106 |
+
<th><?php echo $this->__('Time') ?></th>
|
107 |
+
<th><?php echo $this->__('Status') ?></th>
|
108 |
+
</tr>
|
109 |
+
</thead>
|
110 |
+
<tbody>
|
111 |
+
<?php foreach($info->Shipment->Package->Activity as $item) { ?>
|
112 |
+
<tr>
|
113 |
+
<td><?php
|
114 |
+
$address = $item->ActivityLocation->Address;
|
115 |
+
echo ( ($address->City) ? $this->escapeHtml($address->City) . ', ' : '') .
|
116 |
+
( ($address->StateProvinceCode) ? $this->escapeHtml($address->StateProvinceCode) . ', ' : '') .
|
117 |
+
( ($address->CountryCode) ? Mage::app()->getLocale()->getCountryTranslation($address->CountryCode) : '');
|
118 |
+
?></td>
|
119 |
+
<td><?php echo date($_dateFormat, $this->getTimeFromStr($item->Date)); ?></td>
|
120 |
+
<td><?php echo date($_timeFormat, $this->getLocalTime($item->Time)); ?></td>
|
121 |
+
<td><?php echo $this->__($this->escapeHtml(ucfirst(strtolower($item->Status->StatusType->Description)))) ?></td>
|
122 |
+
</tr>
|
123 |
+
<?php } ?>
|
124 |
+
</tbody>
|
125 |
+
</table>
|
126 |
+
</div>
|
127 |
+
<?php } ?>
|
128 |
+
<?php } ?>
|
129 |
+
<br/><br/>
|
130 |
+
<?php } ?>
|
app/design/frontend/base/default/template/shippingtracking/info/usps.phtml
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
?>
|
18 |
+
|
19 |
+
<?php
|
20 |
+
$info = $this->getInfo();
|
21 |
+
$_dateFormat = $this->__('m/d/Y');
|
22 |
+
$_timeFormat = $this->__('g:i a');
|
23 |
+
?>
|
24 |
+
|
25 |
+
<div class="page-title">
|
26 |
+
<h1>
|
27 |
+
<?php echo $this->__('USPS Tracking Number %s', ( $this->getNumber() ? '('.$this->htmlEscape($this->getNumber()).')' : '' )) ?>
|
28 |
+
<?php if ($order = $this->getRequest()->getParam('order')) { echo ' - '.$this->__('Order').' #'.$this->escapeHtml($order); } ?>
|
29 |
+
</h1>
|
30 |
+
</div>
|
31 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
32 |
+
<?php if ($this->getNumber()) { ?>
|
33 |
+
|
34 |
+
<br/>
|
35 |
+
|
36 |
+
<?php if (!$info || !$info->TrackInfo) { ?>
|
37 |
+
<strong><?php echo $this->__('Tracking information is not available at this time. Please check back later or double-check the tracking number entered and try again.'); ?></strong>
|
38 |
+
<?php } else {
|
39 |
+
|
40 |
+
$trackInfo = $info->TrackInfo;
|
41 |
+
|
42 |
+
?>
|
43 |
+
|
44 |
+
<?php if ($trackInfo->TrackSummary) { ?>
|
45 |
+
<h2 class="legend"><?php echo $this->__('General Information') ?></h2>
|
46 |
+
<?php foreach($trackInfo->TrackSummary as $info) { ?>
|
47 |
+
<div class="fieldset">
|
48 |
+
<div>
|
49 |
+
<strong><?php echo $this->escapeHtml($info) ?></strong>
|
50 |
+
</div>
|
51 |
+
</div>
|
52 |
+
<?php } ?>
|
53 |
+
<br/>
|
54 |
+
<?php } ?>
|
55 |
+
|
56 |
+
<?php if ($trackInfo->GuaranteedDeliveryDate) { ?>
|
57 |
+
<h2 class="legend"><?php echo $this->__('Guaranteed Delivery Date') ?></h2>
|
58 |
+
<div class="fieldset">
|
59 |
+
<div>
|
60 |
+
<?php echo $this->escapeHtml($trackInfo->GuaranteedDeliveryDate) ?>
|
61 |
+
</div>
|
62 |
+
</div>
|
63 |
+
<br/>
|
64 |
+
<?php } ?>
|
65 |
+
|
66 |
+
<?php if ($trackInfo->TrackDetail) { ?>
|
67 |
+
<div class="fieldset">
|
68 |
+
<h2 class="legend"><?php echo $this->__('Shipment Progress') ?></h2>
|
69 |
+
<table class="data-table" >
|
70 |
+
<thead>
|
71 |
+
<tr>
|
72 |
+
<th><?php echo $this->__('Location') ?></th>
|
73 |
+
<th><?php echo $this->__('Date') ?></th>
|
74 |
+
<th><?php echo $this->__('Time') ?></th>
|
75 |
+
<th><?php echo $this->__('Status') ?></th>
|
76 |
+
</tr>
|
77 |
+
</thead>
|
78 |
+
<tbody>
|
79 |
+
<?php foreach($trackInfo->TrackDetail as $info) { ?>
|
80 |
+
<?php
|
81 |
+
$data = explode(',', $info);
|
82 |
+
|
83 |
+
$activity = $data[0];
|
84 |
+
$date = date($_dateFormat, strtotime($data[1] . ', ' . $data[2]));
|
85 |
+
|
86 |
+
if (count($data) > 3) {
|
87 |
+
$time = $data[3];
|
88 |
+
$address = $data[4] . ' ' . $data[5];
|
89 |
+
} else {
|
90 |
+
$time = null;
|
91 |
+
$address = null;
|
92 |
+
}
|
93 |
+
?>
|
94 |
+
<tr>
|
95 |
+
<td><?php echo $address ? $this->escapeHtml($address) : '' ?></td>
|
96 |
+
<td><?php echo $date; ?></td>
|
97 |
+
<td><?php echo $time ? $time : '' ?></td>
|
98 |
+
<td><?php echo $this->escapeHtml($this->__($activity)) ?></td>
|
99 |
+
</tr>
|
100 |
+
<?php } ?>
|
101 |
+
</tbody>
|
102 |
+
</table>
|
103 |
+
</div>
|
104 |
+
<?php } ?>
|
105 |
+
<?php } ?>
|
106 |
+
<br/><br/>
|
107 |
+
<?php } ?>
|
app/design/frontend/base/default/template/shippingtracking/main.phtml
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_Shipping_Tracking
|
14 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
?>
|
18 |
+
|
19 |
+
<div class="page-title">
|
20 |
+
<h1><?php echo $this->__('Check Order Status') ?></h1>
|
21 |
+
</div>
|
22 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
23 |
+
<?php
|
24 |
+
$_request = Mage::app()->getRequest();
|
25 |
+
?>
|
26 |
+
<p>
|
27 |
+
<?php echo $this->__('Please enter the order number and phone number (or email address) from your customer agreement for shipping tracking.'); ?>
|
28 |
+
</p>
|
29 |
+
<br/>
|
30 |
+
<form action="<?php echo $this->getUrl('*/*/info') ?>" method="post" autocomplete="off" id="shipping-tracking" class="scaffold-form" enctype="multipart/form-data">
|
31 |
+
<div class="fieldset">
|
32 |
+
<p class="required">* Required Fields</p>
|
33 |
+
<ul class="form-list">
|
34 |
+
<li class="fields">
|
35 |
+
<div class="customer-name">
|
36 |
+
<div class="field name-firstname">
|
37 |
+
<label for="firstname" class="required"><em>*</em><?php echo $this->__('Order Number') ?></label>
|
38 |
+
<div class="input-box">
|
39 |
+
<input type="text" id="order" name="order" value="<?php echo $this->escapeHtml($_request->getParam('order')) ?>" title="<?php echo $this->__('Order Number') ?>" maxlength="255" class="input-text required-entry">
|
40 |
+
</div>
|
41 |
+
</div>
|
42 |
+
<div class="field name-lastname">
|
43 |
+
<label for="lastname" class="required"><em>*</em><?php echo $this->__('Phone number or email address') ?></label>
|
44 |
+
<div class="input-box">
|
45 |
+
<input type="text" id="info" name="info" value="<?php echo $this->escapeHtml($_request->getParam('info')) ?>" title="<?php echo $this->__('Phone number or email address') ?>" maxlength="255" class="input-text required-entry">
|
46 |
+
</div>
|
47 |
+
</div>
|
48 |
+
</div>
|
49 |
+
</li>
|
50 |
+
</ul>
|
51 |
+
<br/>
|
52 |
+
</div>
|
53 |
+
<div class="buttons-set">
|
54 |
+
<?php /* <p class="back-link"><a href="http://dev2.plumserver.com/index.php/customer/account/index/"><small>« </small>Back</a></p> */ ?>
|
55 |
+
<button type="submit" title="<?php echo $this->__('Track') ?>" class="button"><span><span><?php echo $this->__('Track') ?></span></span></button>
|
56 |
+
</div>
|
57 |
+
</form>
|
app/design/frontend/base/default/template/shippingtracking/popup.phtml
ADDED
@@ -0,0 +1,178 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php /** @var $this Mage_Shipping_Block_Tracking_Popup */ ?>
|
28 |
+
<?php $_results = $this->getTrackingInfo(); ?>
|
29 |
+
<div class="page-title title-buttons">
|
30 |
+
<h1><?php echo $this->__('Tracking Information'); ?></h1>
|
31 |
+
<button class="button" onclick="window.close(); window.opener.focus();"><span><span><?php echo $this->__('Close Window') ?></span></span></button>
|
32 |
+
</div>
|
33 |
+
<?php if(sizeof($_results)>0): ?>
|
34 |
+
<?php foreach($_results as $shipid => $_result): ?>
|
35 |
+
<?php if($shipid): ?>
|
36 |
+
<h2 class="sub-title"><?php echo $this->__('Shipment #').$shipid; ?></h2>
|
37 |
+
<?php endif; ?>
|
38 |
+
<?php if(sizeof($_result)>0): ?>
|
39 |
+
<?php $rowCount = sizeof($_result); $counter = 1; ?>
|
40 |
+
<?php $_id = 0; foreach($_result as $track): ?>
|
41 |
+
<table class="tracking-table-popup data-table" id="tracking-table-popup-<?php echo $_id ?>">
|
42 |
+
<col width="15%" />
|
43 |
+
<col />
|
44 |
+
<tbody>
|
45 |
+
<?php if(is_object($track)): ?>
|
46 |
+
<tr>
|
47 |
+
<th class="label"><?php echo $this->__('Tracking Number:'); ?></th>
|
48 |
+
<td class="value"><?php echo $this->escapeHtml($track->getTracking()); ?></td>
|
49 |
+
</tr>
|
50 |
+
<?php if ($track->getCarrierTitle()): ?>
|
51 |
+
<tr>
|
52 |
+
<th class="label"><?php echo $this->__('Carrier:'); ?></th>
|
53 |
+
<td class="value"><?php echo $this->escapeHtml($track->getCarrierTitle()); ?></td>
|
54 |
+
</tr>
|
55 |
+
<?php endif; ?>
|
56 |
+
<?php if($track->getErrorMessage()): ?>
|
57 |
+
<tr>
|
58 |
+
<th class="label"><?php echo $this->__('Error:'); ?></th>
|
59 |
+
<td class="error"><?php echo $this->__('Tracking information is currently not available. Please '); if ($this->getContactUsEnabled()) : ?><a href="<?php echo $this->getContactUs() ?>" title="<?php echo $this->__('contact us') ?>" onclick="this.target='_blank'"><?php echo $this->__('contact us') ?></a><?php echo $this->__(' for more information or '); endif; echo $this->__('email us at '); ?><a href="mailto:<?php echo $this->getStoreSupportEmail() ?>"><?php echo $this->getStoreSupportEmail() ?></a></td>
|
60 |
+
</tr>
|
61 |
+
<?php elseif($track->getTrackSummary()): ?>
|
62 |
+
<tr>
|
63 |
+
<th class="label"><?php echo $this->__('Info:'); ?></th>
|
64 |
+
<td class="value"><?php echo $track->getTrackSummary(); ?></td>
|
65 |
+
</tr>
|
66 |
+
<?php elseif($track->getUrl()): ?>
|
67 |
+
<tr>
|
68 |
+
<th class="label"><?php echo $this->__('Track:'); ?></th>
|
69 |
+
<td class="value">
|
70 |
+
<a href="<?php echo $this->escapeHtml($track->getUrl()); ?>" onclick="this.target='_blank'"><?php echo $this->__('View Details'); ?></a></td>
|
71 |
+
</tr>
|
72 |
+
<?php else: ?>
|
73 |
+
<?php if ($track->getStatus()): ?>
|
74 |
+
<tr>
|
75 |
+
<th class="label"><?php echo $this->__('Status:'); ?></th>
|
76 |
+
<td class="value"><?php echo $track->getStatus(); ?></td>
|
77 |
+
</tr>
|
78 |
+
<?php endif; ?>
|
79 |
+
|
80 |
+
<?php if ($track->getDeliverydate()): ?>
|
81 |
+
<tr>
|
82 |
+
<th class="label"><?php echo $this->__('Delivered on:'); ?></th>
|
83 |
+
<td class="value"><?php echo $this->formatDeliveryDateTime($track->getDeliverydate(),$track->getDeliverytime()); ?></td>
|
84 |
+
</tr>
|
85 |
+
<?php endif; ?>
|
86 |
+
|
87 |
+
<?php if ($track->getSignedby()): ?>
|
88 |
+
<tr>
|
89 |
+
<th class="label"><?php echo $this->__('Signed by:'); ?></th>
|
90 |
+
<td class="value"><?php echo $track->getSignedby(); ?></td>
|
91 |
+
</tr>
|
92 |
+
<?php endif; ?>
|
93 |
+
|
94 |
+
<?php if ($track->getDeliveryLocation()): ?>
|
95 |
+
<tr>
|
96 |
+
<th class="label"><?php echo $this->__('Delivered to:'); ?></th>
|
97 |
+
<td class="value"><?php echo $track->getDeliveryLocation(); ?></td>
|
98 |
+
</tr>
|
99 |
+
<?php endif; ?>
|
100 |
+
|
101 |
+
<?php if ($track->getShippedDate()): ?>
|
102 |
+
<tr>
|
103 |
+
<th class="label"><?php echo $this->__('Shipped or billed on:'); ?></th>
|
104 |
+
<td class="value"><?php echo $track->getShippedDate(); ?></td>
|
105 |
+
</tr>
|
106 |
+
<?php endif; ?>
|
107 |
+
|
108 |
+
<?php if ($track->getService()): ?>
|
109 |
+
<tr>
|
110 |
+
<th class="label"><?php echo $this->__('Service Type:'); ?></th>
|
111 |
+
<td class="value"><?php echo $track->getService(); ?></td>
|
112 |
+
</tr>
|
113 |
+
<?php endif; ?>
|
114 |
+
|
115 |
+
<?php if ($track->getWeight()): ?>
|
116 |
+
<tr>
|
117 |
+
<th class="label"><?php echo $this->__('Weight:'); ?></th>
|
118 |
+
<td class="value"><?php echo $track->getWeight(); ?></td>
|
119 |
+
</tr>
|
120 |
+
<?php endif; ?>
|
121 |
+
<?php endif; ?>
|
122 |
+
<?php elseif(isset($track['title']) && isset($track['number']) && $track['number']): ?>
|
123 |
+
<!--if the tracking is custom value-->
|
124 |
+
<tr>
|
125 |
+
<th class="label"><?php echo ($track['title'] ? $this->escapeHtml($track['title']) : $this->__('N/A')); ?>:</th>
|
126 |
+
<td class="value"><?php echo (isset($track['number']) ? $this->escapeHtml($track['number']) : ''); ?></td>
|
127 |
+
</tr>
|
128 |
+
<?php endif; ?>
|
129 |
+
</tbody>
|
130 |
+
</table>
|
131 |
+
<script type="text/javascript">decorateTable('tracking-table-popup-<?php echo $_id++ ?>');</script>
|
132 |
+
<?php if (is_object($track) && sizeof($track->getProgressdetail())>0): ?>
|
133 |
+
<br />
|
134 |
+
<table class="data-table" id="track-history-table-<?php echo $track->getTracking(); ?>">
|
135 |
+
<col />
|
136 |
+
<col width="1" />
|
137 |
+
<col width="1" />
|
138 |
+
<col />
|
139 |
+
<thead>
|
140 |
+
<tr>
|
141 |
+
<th><?php echo $this->__('Location') ?></th>
|
142 |
+
<th><?php echo $this->__('Date') ?></th>
|
143 |
+
<th><?php echo $this->__('Local Time') ?></th>
|
144 |
+
<th><?php echo $this->__('Description') ?></th>
|
145 |
+
</tr>
|
146 |
+
</thead>
|
147 |
+
<tbody>
|
148 |
+
<?php foreach($track->getProgressdetail() as $_detail): ?>
|
149 |
+
<?php $_detailDate = (isset($_detail['deliverydate']) ? $this->formatDeliveryDate($_detail['deliverydate']) : '') ?>
|
150 |
+
<?php $_detailTime = (isset($_detail['deliverytime']) ? $this->formatDeliveryTime($_detail['deliverytime'], $_detail['deliverydate']) : '') ?>
|
151 |
+
<tr>
|
152 |
+
<td><?php echo (isset($_detail['deliverylocation']) ? $_detail['deliverylocation'] : ''); ?></td>
|
153 |
+
<td><span class="nobr"><?php echo $_detailDate ?></span></td>
|
154 |
+
<td><span class="nobr"><?php echo $_detailTime ?></span></td>
|
155 |
+
<td><?php echo (isset($_detail['activity']) ? $_detail['activity'] : '') ?></td>
|
156 |
+
</tr>
|
157 |
+
<?php endforeach; ?>
|
158 |
+
</tbody>
|
159 |
+
</table>
|
160 |
+
<script type="text/javascript">decorateTable('track-history-table-<?php echo $track->getTracking(); ?>');</script>
|
161 |
+
<?php endif; ?>
|
162 |
+
<div class="divider"></div>
|
163 |
+
<?php if($counter!=$rowCount): ?>
|
164 |
+
<?php endif; ?>
|
165 |
+
<?php $counter++; ?>
|
166 |
+
<!--end for each tracking information-->
|
167 |
+
<?php endforeach; ?>
|
168 |
+
<?php else: ?>
|
169 |
+
<p><?php echo $this->__('There is no tracking available for this shipment.'); ?></p>
|
170 |
+
<?php endif; ?>
|
171 |
+
|
172 |
+
<?php endforeach; ?>
|
173 |
+
<?php else: ?>
|
174 |
+
<p><?php echo $this->__('There is no tracking available.'); ?></p>
|
175 |
+
<?php endif; ?>
|
176 |
+
<div class="buttons-set">
|
177 |
+
<button type="button" title="<?php echo $this->__('Close Window') ?>" class="button" onclick="window.close(); window.opener.focus();"><span><span><?php echo $this->__('Close Window') ?></span></span></button>
|
178 |
+
</div>
|
app/etc/modules/Plumrocket_ShippingTracking.xml
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Plumrocket Inc.
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the End-user License Agreement
|
9 |
+
* that is available through the world-wide-web at this URL:
|
10 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
11 |
+
* If you are unable to obtain it through the world-wide-web, please
|
12 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* @package Plumrocket_Shipping_Tracking
|
15 |
+
* @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
|
16 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<config>
|
20 |
+
<modules>
|
21 |
+
<Plumrocket_ShippingTracking>
|
22 |
+
<active>true</active>
|
23 |
+
<codePool>community</codePool>
|
24 |
+
<version>1.0.0</version>
|
25 |
+
<name>Plumrocket Order Status & Shipping Tracking</name>
|
26 |
+
<depends>
|
27 |
+
<Plumrocket_Base />
|
28 |
+
</depends>
|
29 |
+
</Plumrocket_ShippingTracking>
|
30 |
+
</modules>
|
31 |
+
</config>
|
app/locale/en_US/Plumrocket_Order_Status_and_Shipping_Tracking.csv
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"Order Status & Shipping Tracking", "Order Status & Shipping Tracking"
|
2 |
+
"Check Order Status","Check Order Status"
|
3 |
+
"Tracking Information","Tracking Information"
|
4 |
+
"Make sure that you have entered the Order Number and phone number (or email address).","Make sure that you have entered the Order Number and phone number (or email address)."
|
5 |
+
"Shipping tracking data not found.","Shipping tracking data not found."
|
6 |
+
"Data combination is not valid. Please check order number and phone number (or email address).","Data combination is not valid. Please check order number and phone number (or email address)."
|
7 |
+
"UPS Tracking Number","UPS Tracking Number"
|
8 |
+
"FedEx Tracking Number","FedEx Tracking Number"
|
9 |
+
"USPS Tracking Number","USPS Tracking Number"
|
10 |
+
"'Please enter the order number and phone number (or email address) from your customer agreement for shipping tracking.","'Please enter the order number and phone number (or email address) from your customer agreement for shipping tracking."
|
11 |
+
"Order Number","Order Number"
|
12 |
+
"Phone number or email address","Phone number or email address"
|
13 |
+
"Track","Track"
|
14 |
+
"FedEx Tracking Number %s","FedEx Tracking Number %s"
|
15 |
+
"m/d/Y","m/d/Y"
|
16 |
+
"g:i a","g:i a"
|
17 |
+
"Tracking information is not available at this time. Please check back later or double-check the tracking number entered and try again.","Tracking information is not available at this time. Please check back later or double-check the tracking number entered and try again."
|
18 |
+
"Location","Location"
|
19 |
+
"Date","Date"
|
20 |
+
"Time","Time"
|
21 |
+
"Status","Status"
|
22 |
+
"USPS Tracking Number %s","USPS Tracking Number %s"
|
23 |
+
"General Information","General Information"
|
24 |
+
"Guaranteed Delivery Date","Guaranteed Delivery Date"
|
25 |
+
"Shipment Progress","Shipment Progress"
|
26 |
+
"UPS Tracking Number %s","UPS Tracking Number %s"
|
27 |
+
"Signed For","Signed For"
|
28 |
+
"Additional Information","Additional Information"
|
29 |
+
"Shipped/Billed On:","Shipped/Billed On:"
|
30 |
+
"Type:","Type:"
|
31 |
+
"Package","Package"
|
package.xml
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>Plumrocket_Order_Status_and_Shipping_Tracking</name>
|
4 |
+
<version>1.0.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://wiki.plumrocket.net/wiki/EULA">End-user License Agreement</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>Magento UPS integration, Magento FedEx and Magento USPS tracking allows to display UPS, FedEx, USPS tracking information right from your magento store.</summary>
|
10 |
+
<description>Order Status and UPS, FedEx, USPS Tracking is a free open source magento order tracking extension from Plumrocket. With this plugin your customers will be able to get full shipment tracking information and trace their order at every stage of shipment and delivery process.</description>
|
11 |
+
<notes>Magento UPS integration, Magento FedEx and Magento USPS tracking allows to display UPS, FedEx, USPS tracking information right from your magento store
|
12 |
+

|
13 |
+
Admin can enter UPS, USPS and FedEx tracking codes while marking magento order as shipped. These tracking codes will be automatically picked up by this free magento order tracking extension
|
14 |
+

|
15 |
+
100% open source magento extension</notes>
|
16 |
+
<authors><author><name>Plumrocket Team</name><user>plumrocket</user><email>support@plumrocket.com</email></author></authors>
|
17 |
+
<date>2014-07-31</date>
|
18 |
+
<time>13:10:39</time>
|
19 |
+
<contents><target name="magecommunity"><dir name="Plumrocket"><dir name="ShippingTracking"><dir name="Block"><file name="Abstract.php" hash="1635152e554caa918fbb0144b6f9d225"/><file name="Fedex.php" hash="615c00bc91d477b3950c55ef678c544e"/><dir name="Shipping"><dir name="Tracking"><file name="Popup.php" hash="dbff310a33bbfcaf383bb07949214d82"/></dir></dir><dir name="System"><dir name="Config"><file name="Version.php" hash="e037e71e13a61e69c96be25d71350fc3"/></dir></dir><file name="Ups.php" hash="38fa1ddca61ec5cf312a8cd8379ced60"/><file name="Usps.php" hash="773c04c5a1e4de604bede10af8a301df"/></dir><dir name="Helper"><file name="Data.php" hash="4026cc0c2ad4f655891e38d277bd8b32"/></dir><dir name="controllers"><file name="IndexController.php" hash="279da8ee00305e8431ca81d481660541"/></dir><dir name="etc"><file name="config.xml" hash="e870bd2f6d2509809670f5284c832830"/><file name="system.xml" hash="da479bacb64778d27b8cdd739f28d281"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Plumrocket_ShippingTracking.xml" hash="32975534b8d336b9111b47c21f5b5f16"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="shippingtracking"><dir name="info"><file name="fedex.phtml" hash="f7fb679136fba5e550aed2ac1a305885"/><file name="form.phtml" hash="24388d5d83b6e7ef7bc4091649e82c9b"/><file name="ups.phtml" hash="ff73e84256d5ead0f5b86d9521d85e58"/><file name="usps.phtml" hash="ba96649891b943fc2951fbbf591f298c"/></dir><file name="info.phtml" hash="59cec0c15c782f708c33f46277928303"/><file name="main.phtml" hash="bf30f2e3895d9e527532195bd746dd76"/><file name="popup.phtml" hash="93fc32134a7697e21fd9ebff4438ffa4"/></dir></dir><dir name="layout"><file name="shippingtracking.xml" hash="98a7dffa36cab9d54f3bc03754db3410"/></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Plumrocket_Order_Status_and_Shipping_Tracking.csv" hash="efd95c78ef4738816ba08e2ced311493"/></dir></target></contents>
|
20 |
+
<compatible/>
|
21 |
+
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><package><name>Plumrocket_Base</name><channel>community</channel><min></min><max></max></package></required></dependencies>
|
22 |
+
</package>
|