Version Notes
Notes
Download this release
Release Info
Developer | Bobby Burden |
Extension | iparcel_logistics |
Version | 1.1.0 |
Comparing to | |
See all releases |
Code changes from version 1.0.7 to 1.1.0
- app/code/community/Iparcel/Logistics/.DS_Store +0 -0
- app/code/community/Iparcel/Logistics/Helper/Data.php +3 -3
- app/code/community/Iparcel/Logistics/Model/Carrier/Iparcel.php +15 -7
- app/code/community/Iparcel/Logistics/Model/Observer.php +21 -11
- app/code/community/Iparcel/Logistics/Model/Quote/Address/Total/Tax.php +14 -27
- app/code/community/Iparcel/Logistics/Model/Tax/Quote/Shipping.php +4 -2
- app/code/community/Iparcel/Logistics/etc/config.xml +10 -1
- package.xml +4 -4
app/code/community/Iparcel/Logistics/.DS_Store
DELETED
Binary file
|
app/code/community/Iparcel/Logistics/Helper/Data.php
CHANGED
@@ -175,7 +175,7 @@ class Iparcel_Logistics_Helper_Data extends Iparcel_All_Helper_Data
|
|
175 |
{
|
176 |
$taxLabel = Mage::getStoreConfig('iparcel/tax/tax_label');
|
177 |
if ($taxLabel == '') {
|
178 |
-
return 'Tax';
|
179 |
} else {
|
180 |
return $taxLabel;
|
181 |
}
|
@@ -190,7 +190,7 @@ class Iparcel_Logistics_Helper_Data extends Iparcel_All_Helper_Data
|
|
190 |
{
|
191 |
$dutyLabel = Mage::getStoreConfig('iparcel/tax/duty_label');
|
192 |
if ($dutyLabel == '') {
|
193 |
-
return 'Duty';
|
194 |
} else {
|
195 |
return $dutyLabel;
|
196 |
}
|
@@ -205,7 +205,7 @@ class Iparcel_Logistics_Helper_Data extends Iparcel_All_Helper_Data
|
|
205 |
{
|
206 |
$taxAndDutyLabel = Mage::getStoreConfig('iparcel/tax/tax_duty_label');
|
207 |
if ($taxAndDutyLabel == '') {
|
208 |
-
return 'Tax & Duty';
|
209 |
} else {
|
210 |
return $taxAndDutyLabel;
|
211 |
}
|
175 |
{
|
176 |
$taxLabel = Mage::getStoreConfig('iparcel/tax/tax_label');
|
177 |
if ($taxLabel == '') {
|
178 |
+
return Mage::helper('iplogistics')->__('Tax');
|
179 |
} else {
|
180 |
return $taxLabel;
|
181 |
}
|
190 |
{
|
191 |
$dutyLabel = Mage::getStoreConfig('iparcel/tax/duty_label');
|
192 |
if ($dutyLabel == '') {
|
193 |
+
return Mage::helper('iplogistics')->__('Duty');
|
194 |
} else {
|
195 |
return $dutyLabel;
|
196 |
}
|
205 |
{
|
206 |
$taxAndDutyLabel = Mage::getStoreConfig('iparcel/tax/tax_duty_label');
|
207 |
if ($taxAndDutyLabel == '') {
|
208 |
+
return Mage::helper('iplogistics')->__('Tax & Duty');
|
209 |
} else {
|
210 |
return $taxAndDutyLabel;
|
211 |
}
|
app/code/community/Iparcel/Logistics/Model/Carrier/Iparcel.php
CHANGED
@@ -117,11 +117,11 @@ class Iparcel_Logistics_Model_Carrier_Iparcel extends Mage_Shipping_Model_Carrie
|
|
117 |
$iparcelTaxAndDuty = array();
|
118 |
/** @var Mage_Shipping_Model_Rate_Result $result*/
|
119 |
$result = Mage::getModel('shipping/rate_result');
|
120 |
-
|
121 |
// Get Allowed Methods
|
122 |
/** @var array $allowed_methods Shipping method allowed via admin config "names" */
|
123 |
$allowed_methods = $this->getAllowedMethods();
|
124 |
-
|
125 |
/** @var stdClass $quote */
|
126 |
$quote = Mage::helper('iplogistics/api')->quote($request);
|
127 |
$iparcelTaxAndDuty['parcel_id'] = $quote->ParcelID;
|
@@ -161,7 +161,7 @@ class Iparcel_Logistics_Model_Carrier_Iparcel extends Mage_Shipping_Model_Carrie
|
|
161 |
$this->_formatPrice($tax)
|
162 |
);
|
163 |
}
|
164 |
-
|
165 |
$method = Mage::getModel('shipping/rate_result_method');
|
166 |
$method->setCarrier($this->_code);
|
167 |
$method->setCarrierTitle($this->getConfigData('title'));
|
@@ -169,7 +169,7 @@ class Iparcel_Logistics_Model_Carrier_Iparcel extends Mage_Shipping_Model_Carrie
|
|
169 |
$method->setMethodTitle($title);
|
170 |
$method->setPrice($total);
|
171 |
$method->setCost($total);
|
172 |
-
|
173 |
// append method to result
|
174 |
$result->append($method);
|
175 |
|
@@ -179,8 +179,16 @@ class Iparcel_Logistics_Model_Carrier_Iparcel extends Mage_Shipping_Model_Carrie
|
|
179 |
);
|
180 |
}
|
181 |
|
182 |
-
|
183 |
-
Mage::
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
return $result;
|
185 |
}
|
186 |
} catch (Exception $e) {
|
@@ -220,7 +228,7 @@ class Iparcel_Logistics_Model_Carrier_Iparcel extends Mage_Shipping_Model_Carrie
|
|
220 |
* @return array
|
221 |
*/
|
222 |
public function getAllowedMethods()
|
223 |
-
{
|
224 |
return $this->getMethodsNames();
|
225 |
}
|
226 |
}
|
117 |
$iparcelTaxAndDuty = array();
|
118 |
/** @var Mage_Shipping_Model_Rate_Result $result*/
|
119 |
$result = Mage::getModel('shipping/rate_result');
|
120 |
+
|
121 |
// Get Allowed Methods
|
122 |
/** @var array $allowed_methods Shipping method allowed via admin config "names" */
|
123 |
$allowed_methods = $this->getAllowedMethods();
|
124 |
+
|
125 |
/** @var stdClass $quote */
|
126 |
$quote = Mage::helper('iplogistics/api')->quote($request);
|
127 |
$iparcelTaxAndDuty['parcel_id'] = $quote->ParcelID;
|
161 |
$this->_formatPrice($tax)
|
162 |
);
|
163 |
}
|
164 |
+
|
165 |
$method = Mage::getModel('shipping/rate_result_method');
|
166 |
$method->setCarrier($this->_code);
|
167 |
$method->setCarrierTitle($this->getConfigData('title'));
|
169 |
$method->setMethodTitle($title);
|
170 |
$method->setPrice($total);
|
171 |
$method->setCost($total);
|
172 |
+
|
173 |
// append method to result
|
174 |
$result->append($method);
|
175 |
|
179 |
);
|
180 |
}
|
181 |
|
182 |
+
// Store the shipping quote
|
183 |
+
$quoteId = Mage::getModel('checkout/cart')->getQuote()->getId();
|
184 |
+
|
185 |
+
$quote = Mage::getModel('iplogistics/api_quote');
|
186 |
+
$quote->loadByQuoteId($quoteId);
|
187 |
+
$quote->setQuoteId($quoteId);
|
188 |
+
$quote->setParcelId($iparcelTaxAndDuty['parcel_id']);
|
189 |
+
$quote->setServiceLevels($iparcelTaxAndDuty['service_levels']);
|
190 |
+
$quote->save();
|
191 |
+
|
192 |
return $result;
|
193 |
}
|
194 |
} catch (Exception $e) {
|
228 |
* @return array
|
229 |
*/
|
230 |
public function getAllowedMethods()
|
231 |
+
{
|
232 |
return $this->getMethodsNames();
|
233 |
}
|
234 |
}
|
app/code/community/Iparcel/Logistics/Model/Observer.php
CHANGED
@@ -171,23 +171,33 @@ class Iparcel_Logistics_Model_Observer
|
|
171 |
{
|
172 |
try {
|
173 |
$cart = $observer->getEvent()->getPaypalCart();
|
174 |
-
$
|
175 |
-
|
|
|
176 |
return;
|
177 |
}
|
178 |
-
$carrierCode = $carrier->getCarrierCode();
|
179 |
-
if ($carrierCode == 'iplogistics') {
|
180 |
-
$iparcelTax = $cart->getSalesEntity()->getIparcelTaxAmount();
|
181 |
-
$iparcelDuty = $cart->getSalesEntity()->getIparcelDutyAmount();
|
182 |
|
183 |
-
|
184 |
-
|
185 |
-
|
|
|
|
|
|
|
|
|
|
|
186 |
|
187 |
-
if ($
|
188 |
-
$cart->
|
|
|
189 |
}
|
|
|
|
|
|
|
|
|
|
|
190 |
|
|
|
|
|
191 |
}
|
192 |
} catch (Exception $e) {
|
193 |
Mage::log('Unable to add i-parcel Tax/Duty to PayPal Order.');
|
171 |
{
|
172 |
try {
|
173 |
$cart = $observer->getEvent()->getPaypalCart();
|
174 |
+
$shippingAddress = $cart->getSalesEntity()->getShippingAddress();
|
175 |
+
$totalAbstract = Mage::getModel('iplogistics/quote_address_total_abstract');
|
176 |
+
if (!is_object($shippingAddress)) {
|
177 |
return;
|
178 |
}
|
|
|
|
|
|
|
|
|
179 |
|
180 |
+
$iparcelTax = 0;
|
181 |
+
$iparcelDuty = 0;
|
182 |
+
|
183 |
+
if ($totalAbstract->isIparcelShipping($shippingAddress)) {
|
184 |
+
$iparcelTax = $shippingAddress->getIparcelTaxAmount();
|
185 |
+
$iparcelDuty = $shippingAddress->getIparcelDutyAmount();
|
186 |
+
} else {
|
187 |
+
$carrier = $cart->getSalesEntity()->getShippingCarrier();
|
188 |
|
189 |
+
if (is_object($carrier) && $carrier->getCarrierCode() == 'iplogistics') {
|
190 |
+
$iparcelTax = $cart->getSalesEntity()->getIparcelTaxAmount();
|
191 |
+
$iparcelDuty = $cart->getSalesEntity()->getIparcelDutyAmount();
|
192 |
}
|
193 |
+
}
|
194 |
+
|
195 |
+
if ($iparcelTax > 0) {
|
196 |
+
$cart->addItem('Tax', 1, $iparcelTax, 'tax');
|
197 |
+
}
|
198 |
|
199 |
+
if ($iparcelDuty > 0) {
|
200 |
+
$cart->addItem('Duty', 1, $iparcelDuty, 'duty');
|
201 |
}
|
202 |
} catch (Exception $e) {
|
203 |
Mage::log('Unable to add i-parcel Tax/Duty to PayPal Order.');
|
app/code/community/Iparcel/Logistics/Model/Quote/Address/Total/Tax.php
CHANGED
@@ -25,45 +25,32 @@ class Iparcel_Logistics_Model_Quote_Address_Total_Tax extends Iparcel_Logistics_
|
|
25 |
return;
|
26 |
}
|
27 |
|
28 |
-
$tax = 0;
|
29 |
if ($this->isIparcelShipping($address) &&
|
30 |
(Mage::helper('iplogistics')->getDisplayTaxAndDutyCumulatively()
|
31 |
|| Mage::helper('iplogistics')->getDisplayTaxAndDutySeparately())) {
|
32 |
parent::collect($address);
|
33 |
|
34 |
-
$dutyAndTaxes = Mage::registry('iparcel_duty_and_taxes');
|
35 |
$tax = null;
|
36 |
|
37 |
$quote = Mage::getModel('iplogistics/api_quote');
|
38 |
$quote->loadByQuoteId($address->getQuote()->getId());
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
$
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
} else {
|
49 |
/**
|
50 |
-
*
|
51 |
-
*
|
52 |
*/
|
53 |
-
if ($
|
54 |
-
|
55 |
-
'parcel_id' => $quote->getParcelId(),
|
56 |
-
'service_levels' => $quote->getServiceLevels()
|
57 |
-
);
|
58 |
-
/**
|
59 |
-
* Catch an error caused by unserialize returning `false`
|
60 |
-
* if the data stored in the databse is invalid
|
61 |
-
*/
|
62 |
-
if ($dutyAndTaxes['service_levels'] == false) {
|
63 |
-
Mage::throwException('Failed to set shipping rates tax and duty.');
|
64 |
-
}
|
65 |
-
Mage::register('iparcel_duty_and_taxes', $dutyAndTaxes);
|
66 |
}
|
|
|
67 |
}
|
68 |
|
69 |
$tax = $dutyAndTaxes['service_levels'][$address->getShippingMethod()]['tax'];
|
25 |
return;
|
26 |
}
|
27 |
|
|
|
28 |
if ($this->isIparcelShipping($address) &&
|
29 |
(Mage::helper('iplogistics')->getDisplayTaxAndDutyCumulatively()
|
30 |
|| Mage::helper('iplogistics')->getDisplayTaxAndDutySeparately())) {
|
31 |
parent::collect($address);
|
32 |
|
|
|
33 |
$tax = null;
|
34 |
|
35 |
$quote = Mage::getModel('iplogistics/api_quote');
|
36 |
$quote->loadByQuoteId($address->getQuote()->getId());
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Load data from stored shipping quote.
|
40 |
+
*/
|
41 |
+
if ($quote->getId()) {
|
42 |
+
$dutyAndTaxes = array(
|
43 |
+
'parcel_id' => $quote->getParcelId(),
|
44 |
+
'service_levels' => $quote->getServiceLevels()
|
45 |
+
);
|
|
|
46 |
/**
|
47 |
+
* Catch an error caused by unserialize returning `false`
|
48 |
+
* if the data stored in the databse is invalid
|
49 |
*/
|
50 |
+
if ($dutyAndTaxes['service_levels'] == false) {
|
51 |
+
Mage::throwException('Failed to set shipping rates tax and duty.');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
}
|
53 |
+
Mage::register('iparcel_duty_and_taxes', $dutyAndTaxes);
|
54 |
}
|
55 |
|
56 |
$tax = $dutyAndTaxes['service_levels'][$address->getShippingMethod()]['tax'];
|
app/code/community/Iparcel/Logistics/Model/Tax/Quote/Shipping.php
CHANGED
@@ -27,7 +27,8 @@ class Iparcel_Logistics_Model_Tax_Quote_Shipping extends Mage_Tax_Model_Sales_To
|
|
27 |
*/
|
28 |
public function fetch(Mage_Sales_Model_Quote_Address $address)
|
29 |
{
|
30 |
-
if ($this->_getAbstract()->isIparcelShipping($address)
|
|
|
31 |
return;
|
32 |
} else {
|
33 |
return parent::fetch($address);
|
@@ -42,7 +43,8 @@ class Iparcel_Logistics_Model_Tax_Quote_Shipping extends Mage_Tax_Model_Sales_To
|
|
42 |
*/
|
43 |
public function collect(Mage_Sales_Model_Quote_Address $address)
|
44 |
{
|
45 |
-
if ($this->_getAbstract()->isIparcelShipping($address)
|
|
|
46 |
return;
|
47 |
} else {
|
48 |
return parent::collect($address);
|
27 |
*/
|
28 |
public function fetch(Mage_Sales_Model_Quote_Address $address)
|
29 |
{
|
30 |
+
if ($this->_getAbstract()->isIparcelShipping($address) &&
|
31 |
+
Mage::getStoreConfig('iparcel/tax/mode') != Iparcel_Logistics_Model_System_Config_Source_Tax_Mode::DISABLED) {
|
32 |
return;
|
33 |
} else {
|
34 |
return parent::fetch($address);
|
43 |
*/
|
44 |
public function collect(Mage_Sales_Model_Quote_Address $address)
|
45 |
{
|
46 |
+
if ($this->_getAbstract()->isIparcelShipping($address) &&
|
47 |
+
Mage::getStoreConfig('iparcel/tax/mode') != Iparcel_Logistics_Model_System_Config_Source_Tax_Mode::DISABLED) {
|
48 |
return;
|
49 |
} else {
|
50 |
return parent::collect($address);
|
app/code/community/Iparcel/Logistics/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Iparcel_Logistics>
|
5 |
-
<version>1.0
|
6 |
</Iparcel_Logistics>
|
7 |
</modules>
|
8 |
<global>
|
@@ -161,6 +161,15 @@
|
|
161 |
</layout>
|
162 |
</adminhtml>
|
163 |
<frontend>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
<layout>
|
165 |
<updates>
|
166 |
<iplogistics>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Iparcel_Logistics>
|
5 |
+
<version>1.1.0</version>
|
6 |
</Iparcel_Logistics>
|
7 |
</modules>
|
8 |
<global>
|
161 |
</layout>
|
162 |
</adminhtml>
|
163 |
<frontend>
|
164 |
+
<translate>
|
165 |
+
<modules>
|
166 |
+
<iplogistics>
|
167 |
+
<files>
|
168 |
+
<default>iplogistics.csv</default>
|
169 |
+
</files>
|
170 |
+
</iplogistics>
|
171 |
+
</modules>
|
172 |
+
</translate>
|
173 |
<layout>
|
174 |
<updates>
|
175 |
<iplogistics>
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>iparcel_logistics</name>
|
4 |
-
<version>1.0
|
5 |
<stability>stable</stability>
|
6 |
<license>GPL</license>
|
7 |
<channel>community</channel>
|
@@ -16,9 +16,9 @@
|
|
16 |
<email>bburden@i-parcel.com</email>
|
17 |
</author>
|
18 |
</authors>
|
19 |
-
<date>2016-01-
|
20 |
-
<time>
|
21 |
-
<contents><target name="mageweb"><dir name="app"><dir name="etc"><dir name="modules"><file name="Iparcel_Logistics.xml" hash="2f375c30334e2d4a6bae03ccab808dd3"/><file name="Iparcel_All.xml" hash="89e4b47a6ac9aa0b82f70b1539d587ea"/></dir></dir><dir name="code"><dir name="community"><dir name="Iparcel"><dir name="Logistics"><
|
22 |
<compatible/>
|
23 |
<dependencies>
|
24 |
<required>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>iparcel_logistics</name>
|
4 |
+
<version>1.1.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>GPL</license>
|
7 |
<channel>community</channel>
|
16 |
<email>bburden@i-parcel.com</email>
|
17 |
</author>
|
18 |
</authors>
|
19 |
+
<date>2016-01-21</date>
|
20 |
+
<time>18:27:31</time>
|
21 |
+
<contents><target name="mageweb"><dir name="app"><dir name="etc"><dir name="modules"><file name="Iparcel_Logistics.xml" hash="2f375c30334e2d4a6bae03ccab808dd3"/><file name="Iparcel_All.xml" hash="89e4b47a6ac9aa0b82f70b1539d587ea"/></dir></dir><dir name="code"><dir name="community"><dir name="Iparcel"><dir name="Logistics"><dir name="Block"><dir name="Adminhtml"><dir name="Iplogistics"><dir name="Shipment"><dir name="Split"><file name="Form.php" hash="99e8ca49bb180c05bf05e44e41f880f7"/></dir><file name="Split.php" hash="848f88a16a03e5d58453e03e454a9a78"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Method.php" hash="09224de41e6bdb1fa951c631128fa2b9"/></dir></dir></dir></dir></dir><dir name="Sales"><dir name="Order"><dir name="Totals"><file name="Abstract.php" hash="e947a0fdfc0fdb3ce7fa7babb89937a2"/><file name="Duty.php" hash="afb0726fe989e1acc65aee33a7b627f6"/><file name="Tax.php" hash="6fe811b4600365d25bf9a51e4d953e0c"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Iplogistics"><dir name="Shipment"><file name="SplitController.php" hash="69ab4c55cc6436dc0fb2f6a722805c01"/></dir><file name="ShipmentController.php" hash="ebcac746bc97c046e71b0910e96174d9"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="8b8a4a0643ce23b42709f3b82e46e830"/><file name="config.xml" hash="654668da85bb9da0a19b07f84625b210"/><file name="system.xml" hash="f76253c6d1ac4fe57bd8808e7e12b16b"/></dir><dir name="Helper"><file name="Api.php" hash="8b9342e61fdb35afecc61fc8bd5ea16f"/><file name="Data.php" hash="6c32f6385d25ca571e380d695082cc09"/></dir><dir name="Model"><dir name="Api"><file name="Quote.php" hash="dd94fe794f8bff3c122e721ae28e2f5b"/></dir><dir name="Carrier"><file name="Iparcel.php" hash="736c44e55ef201099c0a5102be650e7b"/></dir><file name="Observer.php" hash="755526adc3a787354f4a0a0f9d965f88"/><dir name="Order"><dir name="Creditmemo"><dir name="Total"><file name="Duty.php" hash="d0fcc186046a33801ac5e77dc25a3152"/><file name="Tax.php" hash="2df3ee20703bcd793a2f214b7c30a057"/></dir></dir><dir name="Invoice"><dir name="Total"><file name="Duty.php" hash="8dbca3de53bdf5159cc21a889c0b84bc"/><file name="Tax.php" hash="d1b26d33237835d922c343e94cbefdae"/></dir></dir></dir><dir name="Quote"><dir name="Address"><dir name="Total"><file name="Abstract.php" hash="d1645562e36962bcf381f6b227eb9d2c"/><file name="Collector.php" hash="11eb9174e5feea80a4b3c693dbc4edee"/><file name="Duty.php" hash="1997a432a12e19fcb90cd87fb673f8b7"/><file name="Tax.php" hash="9d2c47a707084b9d71b139fd6a873939"/></dir></dir></dir><dir name="Resource"><dir name="Api"><file name="Quote.php" hash="d2120075a3a82084cbea35657e1f2dca"/></dir><dir name="Mysql4"><file name="Setup.php" hash="3eee28f86610e6cf1b83ee58b83d5e83"/></dir></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Tax"><file name="Mode.php" hash="e8e734bcc2128ef9cdbb8381d7969c68"/></dir></dir></dir></dir><dir name="Tax"><dir name="Quote"><file name="Shipping.php" hash="f5282471644f56ee0fff8c98bd95b9de"/><file name="Subtotal.php" hash="81b55a134b1cc6a45c920f40605a1fcb"/><file name="Tax.php" hash="ff7cd4a769646ed25aaab7c2cdc23775"/></dir></dir></dir><dir name="sql"><dir name="iplogistics_setup"><file name="mysql4-install-1.0.0.php" hash="69d5c2429cf5ee2d11e598f2137e7dc8"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="5f5645be5c8cd64394d8692e7fa847f9"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="a298c97b931d6dcf9cb6a70eb716b354"/><file name="mysql4-upgrade-1.0.3-1.0.4.php" hash="9c0ccf88b7be483f52beb6a72156da63"/><file name="mysql4-upgrade-1.0.5-1.0.6.php" hash="97e22b1de739c3ee752c154b155f7987"/></dir></dir></dir><dir name="All"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Mapping"><file name="Button.php" hash="dfdaf5a2fbf824a10fccc952fdccf567"/></dir></dir><dir name="Iparcel"><file name="Dashboard.php" hash="ec9dddd10368136f1bdfe79fddd4500c"/><file name="Logs.php" hash="be8765472a9d2adc54473fe1df677921"/><dir name="Logs"><file name="Grid.php" hash="d78e239ba695619627c114cb52d38646"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Iparcel"><file name="LogController.php" hash="b30163b1c1b06b76c778b815cb0485d9"/><file name="SyncController.php" hash="9378f5db27d059bbb36ff1e71bd38d32"/><dir name="Sync"><file name="AjaxController.php" hash="671afecdeaed8f4c80a85d78605cd6da"/></dir></dir></dir><file name="InfoController.php" hash="6543b1e9803489e507d2470f8e3e408b"/></dir><dir name="etc"><file name="adminhtml.xml" hash="50bc0bee93b5612763321eae11cfdc51"/><file name="config.xml" hash="713a6455fd9ba664fa6fbe4de0f28e76"/><file name="system.xml" hash="809d4deab49bffad6a6820c05bad49f6"/></dir><dir name="Helper"><file name="Api.php" hash="aa9c589ecf90b26c4ed2684ac8fd68a1"/><file name="Data.php" hash="4cfb227c77a5597bb21ba1ab1cbc65bd"/></dir><dir name="Model"><dir name="Catalog"><dir name="Product"><file name="Observer.php" hash="d16d89cea8eea6352a7d9b1193cd9512"/></dir></dir><file name="Cron.php" hash="670d37cd6cdbe60aa69fad8eb0a0759e"/><file name="Log.php" hash="0209908a304c4940fe20b961b3d82c6c"/><dir name="System"><dir name="Config"><dir name="Catalog"><file name="Mapping.php" hash="8895678aa59e49226509d2b4709c5f43"/></dir><dir name="Data"><dir name="Date"><file name="Monthday.php" hash="baec5b8a27c5b037529ba935aae0370a"/><file name="Weekday.php" hash="173edc075325d932f8dad6d4674b8153"/></dir><dir name="Time"><file name="Hour.php" hash="ddad98b85290d9b13ec9f65fbe8a10b3"/><file name="Minute.php" hash="4a76af0057d60e8ff0ff7fedc1d50575"/></dir></dir><file name="Guid.php" hash="311c7f8072f02a6be9e25b6411298c5c"/><dir name="Script"><file name="Js.php" hash="3e3f23b38ecdc361bf6ff6cee1871e92"/></dir><dir name="Source"><dir name="Catalog"><dir name="Mapping"><dir name="Configurable"><file name="Price.php" hash="f9116fd446914467e7fb31bed5a6dd0b"/></dir><file name="Mode.php" hash="36140a050ea65ff23d45264fa67e1a2b"/></dir><dir name="Product"><dir name="Attribute"><file name="Boolean.php" hash="ca1883122659f1b48890ecd46a1590ee"/></dir><file name="Attribute.php" hash="8ca9c929cda497400865751ffba991e6"/></dir></dir><dir name="Date"><file name="Weekday.php" hash="143c26f9661e5dc995ff064e333a2018"/></dir><dir name="Sales"><dir name="Order"><file name="Status.php" hash="f1e414c08c43ebb2fcc6ccf5b41a2ff2"/></dir></dir><dir name="Tax"><file name="Mode.php" hash="fb09f17b54ef8ffa22580741cc66ac14"/></dir></dir></dir></dir></dir></dir></dir></dir></dir><dir name="design"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="iplogistics.xml" hash="dc215a898f4c73c61832b4f64ab2608b"/><file name="iparcel.xml" hash="c75b2082a2d5ceb3e507843ca793ea05"/></dir><dir name="template"><dir name="iplogistics"><dir name="order"><dir name="totals"><file name="duty.phtml" hash="0ea5054e7e70bd6d7b33bb46e0785bfb"/><file name="tax.phtml" hash="b208790d106afa82f2723c0d1ec12ed5"/></dir></dir><dir name="shipment"><dir name="split"><file name="form.phtml" hash="3f6284be75f13da03413d2d7aa96fdda"/><file name="items.phtml" hash="93be5dc4c1feae63a0dc751ae33420a7"/><dir name="renderer"><file name="default.phtml" hash="85053a7fe01567e023a30bbd0a03b27e"/></dir></dir></dir></dir><dir name="iparcel"><dir name="sync"><dir name="ajax"><file name="catalog.phtml" hash="4959462a90a5c2b6c01ba722b73e8f58"/><file name="checkitems.phtml" hash="c19b0e4fd0feddedbc2cef3b2f4ce79b"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="iplogistics.xml" hash="01774751e5a2cd7a3356eb5ca8f39faf"/></dir></dir></dir></dir></dir><dir name="locale"><dir name="en_US"><file name="iplogistics.csv" hash=""/></dir></dir></dir><dir name="js"><dir name="iparcel-logistics"><dir name="adminhtml"><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/></dir></dir><dir name="iparcel"><dir name="adminhtml"><file name="sync.js" hash="bcfc390768020ce3e532f594c8f6df81"/></dir></dir></dir><dir name="skin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="iparcel"><file name="ajaxSync.css" hash="c622b9e4b77589bc0f3c0555124d2751"/></dir></dir></dir></dir></dir></target></contents>
|
22 |
<compatible/>
|
23 |
<dependencies>
|
24 |
<required>
|