Version Notes
Notes
Download this release
Release Info
Developer | Bobby Burden |
Extension | iparcel_connect |
Version | 3.2.3 |
Comparing to | |
See all releases |
Code changes from version 3.2.2 to 3.2.3
- app/code/community/Iparcel/All/.DS_Store +0 -0
- app/code/community/Iparcel/All/Block/Adminhtml/Iparcel/Sync.php +48 -0
- app/code/community/Iparcel/All/Helper/Api.php +109 -10
- app/code/community/Iparcel/All/Model/Carrier/Iparcel.php +71 -0
- app/code/community/Iparcel/All/controllers/Adminhtml/Iparcel/Sync/AjaxController.php +17 -13
- app/code/community/Iparcel/GlobaleCommerce/Model/Api/External/Sales/Order.php +28 -5
- app/code/community/Iparcel/GlobaleCommerce/controllers/OrderController.php +2 -0
- app/code/community/Iparcel/GlobaleCommerce/etc/config.xml +1 -1
- app/code/community/Iparcel/GlobaleCommerce/etc/system.xml +6 -6
- app/design/adminhtml/default/default/layout/iparcel.xml +1 -1
- app/design/adminhtml/default/default/template/iparcel/sync/ajax/catalog.phtml +12 -16
- js/iparcel/adminhtml/sync.js +84 -71
- js/iparcel/lib.js +39 -38
- js/iparcel/post.js +108 -52
- package.xml +4 -4
- skin/adminhtml/default/default/iparcel/ajaxSync.css +22 -4
app/code/community/Iparcel/All/.DS_Store
ADDED
Binary file
|
app/code/community/Iparcel/All/Block/Adminhtml/Iparcel/Sync.php
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Adminhtml i-parcel Sync Block
|
4 |
+
*
|
5 |
+
* @category Iparcel
|
6 |
+
* @package Iparcel_All
|
7 |
+
* @author Bobby Burden <bburden@i-parcel.com>
|
8 |
+
*/
|
9 |
+
class Iparcel_All_Block_Adminhtml_Iparcel_Sync extends Mage_Adminhtml_Block_Template
|
10 |
+
{
|
11 |
+
/**
|
12 |
+
* Initialize factory instance
|
13 |
+
*/
|
14 |
+
public function __construct()
|
15 |
+
{
|
16 |
+
$this->_blockGroup = 'iparcel';
|
17 |
+
$this->_controller = 'adminhtml_iparcel_sync_ajax';
|
18 |
+
$this->_headerText = $this->__('i-parcel Catalog Sync');
|
19 |
+
parent::__construct();
|
20 |
+
}
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Add "Start" Button block
|
24 |
+
*
|
25 |
+
* @return Iparcel_All_Block_Adminhtml_Iparcel_Sync
|
26 |
+
*/
|
27 |
+
protected function _prepareLayout()
|
28 |
+
{
|
29 |
+
$this->setChild('start_button', $this->getLayout()->createBlock('adminhtml/widget_button')
|
30 |
+
->setData(array(
|
31 |
+
'label' => 'Start',
|
32 |
+
'class' => 'go',
|
33 |
+
'onclick' => 'window.catalogSync.run()'
|
34 |
+
)));
|
35 |
+
|
36 |
+
return parent::_prepareLayout();
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Return the HTML for the start button
|
41 |
+
*
|
42 |
+
* @return string
|
43 |
+
*/
|
44 |
+
public function getStartButton()
|
45 |
+
{
|
46 |
+
return $this->getChildHtml('start_button');
|
47 |
+
}
|
48 |
+
}
|
app/code/community/Iparcel/All/Helper/Api.php
CHANGED
@@ -23,23 +23,29 @@ class Iparcel_All_Helper_Api
|
|
23 |
/** @var string URL for the Quote endpoint */
|
24 |
protected $_quote = 'https://webservices.i-parcel.com/api/Quote';
|
25 |
|
|
|
|
|
|
|
26 |
/**
|
27 |
* Send POST requests to the REST API
|
28 |
*
|
29 |
* @param string $post POST Data to send
|
30 |
* @param string $url REST API URL to send POST data to
|
31 |
* @param array $header Array of headers to attach to the request
|
|
|
32 |
* @return string Response from the POST request
|
33 |
*/
|
34 |
-
protected function _rest($post, $url, array $header)
|
35 |
{
|
36 |
$curl = curl_init($url);
|
37 |
|
38 |
-
$
|
39 |
-
if ($timeout) {
|
40 |
-
|
|
|
41 |
}
|
42 |
|
|
|
43 |
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
|
44 |
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
|
45 |
curl_setopt($curl, CURLOPT_POST, true);
|
@@ -49,6 +55,12 @@ class Iparcel_All_Helper_Api
|
|
49 |
|
50 |
$response = curl_exec($curl);
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
curl_close($curl);
|
53 |
|
54 |
return $response;
|
@@ -61,14 +73,16 @@ class Iparcel_All_Helper_Api
|
|
61 |
*
|
62 |
* @param string $json Data to be JSON encoded and sent to the API
|
63 |
* @param string $url REST API URL to send POST data to
|
|
|
64 |
* @return string Response from the POST request
|
65 |
*/
|
66 |
-
protected function _restJSON($json, $url)
|
67 |
{
|
68 |
return $this->_rest(
|
69 |
json_encode($json),
|
70 |
$url,
|
71 |
-
array('Content-Type: text/json')
|
|
|
72 |
);
|
73 |
}
|
74 |
|
@@ -86,7 +100,15 @@ class Iparcel_All_Helper_Api
|
|
86 |
if ($attribute->getData()) {
|
87 |
$code = $attribute->getAttributeCode();
|
88 |
}
|
89 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
return $val;
|
91 |
}
|
92 |
|
@@ -474,8 +496,6 @@ class Iparcel_All_Helper_Api
|
|
474 |
$items = array();
|
475 |
$items['key'] = Mage::helper('iparcel')->getGuid();
|
476 |
|
477 |
-
$skus = $items['SKUs'] = array();
|
478 |
-
|
479 |
foreach ($products as $product) {
|
480 |
/** @var Mage_Catalog_Model_Product $product */
|
481 |
$product = Mage::getModel('catalog/product')->load($product->getId());
|
@@ -508,6 +528,21 @@ class Iparcel_All_Helper_Api
|
|
508 |
}
|
509 |
|
510 |
$price = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
511 |
// if it's simple product and config is to get parent's price
|
512 |
if ($product->getTypeId() == 'simple' && Mage::getStoreConfig('catalog_mapping/attributes/price_type') == Iparcel_All_Model_System_Config_Source_Catalog_Mapping_Configurable_Price::CONFIGURABLE) {
|
513 |
// get parentIds
|
@@ -518,7 +553,15 @@ class Iparcel_All_Helper_Api
|
|
518 |
// if there's no price
|
519 |
if (!$price) {
|
520 |
//get current product's price
|
521 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
522 |
}
|
523 |
|
524 |
$item['CountryOfOrigin'] = (string)$product->getCountryOfManufacture();
|
@@ -856,6 +899,12 @@ class Iparcel_All_Helper_Api
|
|
856 |
$itemPrice = (float)$this->_getProductAttribute($itemProduct, 'price');
|
857 |
}
|
858 |
|
|
|
|
|
|
|
|
|
|
|
|
|
859 |
$lineItem = array();
|
860 |
$lineItem['SKU'] = $item->getSku();
|
861 |
$lineItem['ValueUSD'] = $itemPrice;
|
@@ -891,4 +940,54 @@ class Iparcel_All_Helper_Api
|
|
891 |
|
892 |
return true;
|
893 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
894 |
}
|
23 |
/** @var string URL for the Quote endpoint */
|
24 |
protected $_quote = 'https://webservices.i-parcel.com/api/Quote';
|
25 |
|
26 |
+
/** @var int Timeout in seconds for REST requests */
|
27 |
+
protected $_timeout = 15;
|
28 |
+
|
29 |
/**
|
30 |
* Send POST requests to the REST API
|
31 |
*
|
32 |
* @param string $post POST Data to send
|
33 |
* @param string $url REST API URL to send POST data to
|
34 |
* @param array $header Array of headers to attach to the request
|
35 |
+
* @param int $timeout Timeout in seconds
|
36 |
* @return string Response from the POST request
|
37 |
*/
|
38 |
+
protected function _rest($post, $url, array $header, $timeout = 0)
|
39 |
{
|
40 |
$curl = curl_init($url);
|
41 |
|
42 |
+
$throwExceptionOnTimeout = true;
|
43 |
+
if (!$timeout || !is_int($timeout) || $timeout == 0) {
|
44 |
+
$timeout = $this->_timeout;
|
45 |
+
$throwExceptionOnTimeout = false;
|
46 |
}
|
47 |
|
48 |
+
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
|
49 |
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
|
50 |
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
|
51 |
curl_setopt($curl, CURLOPT_POST, true);
|
55 |
|
56 |
$response = curl_exec($curl);
|
57 |
|
58 |
+
if (curl_errno($curl) == 28 // CURLE_OPERATION_TIMEDOUT
|
59 |
+
&& $throwExceptionOnTimeout
|
60 |
+
) {
|
61 |
+
throw new Exception;
|
62 |
+
}
|
63 |
+
|
64 |
curl_close($curl);
|
65 |
|
66 |
return $response;
|
73 |
*
|
74 |
* @param string $json Data to be JSON encoded and sent to the API
|
75 |
* @param string $url REST API URL to send POST data to
|
76 |
+
* @param int Timeout value in seconds
|
77 |
* @return string Response from the POST request
|
78 |
*/
|
79 |
+
protected function _restJSON($json, $url, $timeout = 0)
|
80 |
{
|
81 |
return $this->_rest(
|
82 |
json_encode($json),
|
83 |
$url,
|
84 |
+
array('Content-Type: text/json'),
|
85 |
+
$timeout
|
86 |
);
|
87 |
}
|
88 |
|
100 |
if ($attribute->getData()) {
|
101 |
$code = $attribute->getAttributeCode();
|
102 |
}
|
103 |
+
|
104 |
+
// Special case for `special_price` code
|
105 |
+
if ($code == 'special_price') {
|
106 |
+
// Grabs the special price if we are in the applicable date range
|
107 |
+
$val = $product->getFinalPrice();
|
108 |
+
} else {
|
109 |
+
$val = strip_tags(($product->getData($code) && $product->getAttributeText($code)) ? $product->getAttributeText($code) : $product->getData($code));
|
110 |
+
}
|
111 |
+
|
112 |
return $val;
|
113 |
}
|
114 |
|
496 |
$items = array();
|
497 |
$items['key'] = Mage::helper('iparcel')->getGuid();
|
498 |
|
|
|
|
|
499 |
foreach ($products as $product) {
|
500 |
/** @var Mage_Catalog_Model_Product $product */
|
501 |
$product = Mage::getModel('catalog/product')->load($product->getId());
|
528 |
}
|
529 |
|
530 |
$price = null;
|
531 |
+
|
532 |
+
// Finds the price for simple products with configurable parents
|
533 |
+
$configurableParent = Mage::getModel('catalog/product_type_configurable')
|
534 |
+
->getParentIdsByChild($product->getId());
|
535 |
+
if (count($configurableParent)) {
|
536 |
+
$configurableParent = Mage::getModel('catalog/product')->load(
|
537 |
+
$configurableParent[0]
|
538 |
+
);
|
539 |
+
|
540 |
+
$price = $this->_getConfigurableProductPrice(
|
541 |
+
$configurableParent,
|
542 |
+
$product
|
543 |
+
);
|
544 |
+
}
|
545 |
+
|
546 |
// if it's simple product and config is to get parent's price
|
547 |
if ($product->getTypeId() == 'simple' && Mage::getStoreConfig('catalog_mapping/attributes/price_type') == Iparcel_All_Model_System_Config_Source_Catalog_Mapping_Configurable_Price::CONFIGURABLE) {
|
548 |
// get parentIds
|
553 |
// if there's no price
|
554 |
if (!$price) {
|
555 |
//get current product's price
|
556 |
+
if (is_null($price)) {
|
557 |
+
$price = $this->_getProductAttribute($product, 'price');
|
558 |
+
}
|
559 |
+
}
|
560 |
+
|
561 |
+
// If all attempts to gather a price based on configuration fail,
|
562 |
+
// call getPrice() on the product
|
563 |
+
if (!$price) {
|
564 |
+
$price = $product->getPrice();
|
565 |
}
|
566 |
|
567 |
$item['CountryOfOrigin'] = (string)$product->getCountryOfManufacture();
|
899 |
$itemPrice = (float)$this->_getProductAttribute($itemProduct, 'price');
|
900 |
}
|
901 |
|
902 |
+
// If all attempts to gather a price based on configuration fail,
|
903 |
+
// call getPrice() on the product
|
904 |
+
if (!$itemPrice) {
|
905 |
+
$itemPrice = $itemProduct->getPrice();
|
906 |
+
}
|
907 |
+
|
908 |
$lineItem = array();
|
909 |
$lineItem['SKU'] = $item->getSku();
|
910 |
$lineItem['ValueUSD'] = $itemPrice;
|
940 |
|
941 |
return true;
|
942 |
}
|
943 |
+
|
944 |
+
/**
|
945 |
+
* Find the price for a simple product based on the configurable
|
946 |
+
*
|
947 |
+
* @param $configurable
|
948 |
+
* @param $simple
|
949 |
+
* @return null|float
|
950 |
+
*/
|
951 |
+
protected function _getConfigurableProductPrice($configurable, $simple)
|
952 |
+
{
|
953 |
+
$price = null;
|
954 |
+
|
955 |
+
$productAttributeOptions = $configurable->getTypeInstance(true)
|
956 |
+
->getConfigurableAttributesAsArray($configurable);
|
957 |
+
|
958 |
+
$options = array();
|
959 |
+
// Builds the $options array to match the attribute configuration for
|
960 |
+
// this particular simple -> configurable relationship
|
961 |
+
foreach ($productAttributeOptions as $productAttribute) {
|
962 |
+
$allValues = array_column(
|
963 |
+
$productAttribute['values'],
|
964 |
+
'value_index'
|
965 |
+
);
|
966 |
+
|
967 |
+
$currentProductValue = $simple->getData(
|
968 |
+
$productAttribute['attribute_code']
|
969 |
+
);
|
970 |
+
|
971 |
+
if (in_array($currentProductValue, $allValues)) {
|
972 |
+
$options[$productAttribute['attribute_id']] = $currentProductValue;
|
973 |
+
}
|
974 |
+
}
|
975 |
+
|
976 |
+
if (!count($options)) {
|
977 |
+
return null;
|
978 |
+
}
|
979 |
+
|
980 |
+
$params = array(
|
981 |
+
'product' => $configurable->getId(),
|
982 |
+
'super_attribute' => $options,
|
983 |
+
'qty' => 1
|
984 |
+
);
|
985 |
+
|
986 |
+
$cart = Mage::getModel('checkout/cart')->init();
|
987 |
+
$cart->addProduct($configurable, new Varien_Object($params));
|
988 |
+
|
989 |
+
$cart->getQuote()->collectTotals();
|
990 |
+
|
991 |
+
return $cart->getQuote()->getSubtotal();
|
992 |
+
}
|
993 |
}
|
app/code/community/Iparcel/All/Model/Carrier/Iparcel.php
CHANGED
@@ -30,6 +30,15 @@ class Iparcel_All_Model_Carrier_Iparcel extends Iparcel_All_Model_Carrier_Abstra
|
|
30 |
public function collectRates(Mage_Shipping_Model_Rate_Request $request)
|
31 |
{
|
32 |
try {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
/** @var boolean $internationalOrder */
|
34 |
$internationalOrder = Mage::helper('iparcel')->getIsInternational($request);
|
35 |
if ($internationalOrder && Mage::getStoreConfig('carriers/iparcel/active')) {
|
@@ -123,4 +132,66 @@ class Iparcel_All_Model_Carrier_Iparcel extends Iparcel_All_Model_Carrier_Abstra
|
|
123 |
{
|
124 |
return $this->getMethodsNames();
|
125 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
}
|
30 |
public function collectRates(Mage_Shipping_Model_Rate_Request $request)
|
31 |
{
|
32 |
try {
|
33 |
+
|
34 |
+
// If this is being used with CartHandoff, we don't return methods
|
35 |
+
// for orders with Amazon or PayPal payments
|
36 |
+
if (Mage::helper('iparcel')->isCartHandoffInstalled()
|
37 |
+
&& ($this->_isAmazonPayments() || $this->_isPayPalPayment())
|
38 |
+
) {
|
39 |
+
return false;
|
40 |
+
}
|
41 |
+
|
42 |
/** @var boolean $internationalOrder */
|
43 |
$internationalOrder = Mage::helper('iparcel')->getIsInternational($request);
|
44 |
if ($internationalOrder && Mage::getStoreConfig('carriers/iparcel/active')) {
|
132 |
{
|
133 |
return $this->getMethodsNames();
|
134 |
}
|
135 |
+
|
136 |
+
/**
|
137 |
+
* Determines if the checkout session is an Amazon Payments session
|
138 |
+
*
|
139 |
+
* @return boolean
|
140 |
+
*/
|
141 |
+
public function _isAmazonPayments()
|
142 |
+
{
|
143 |
+
$session = Mage::getSingleton('checkout/session');
|
144 |
+
|
145 |
+
$amazonReference = $session->getData('amazon_order_reference_id');
|
146 |
+
if (!is_null($amazonReference) || $amazonReference != "") {
|
147 |
+
return true;
|
148 |
+
}
|
149 |
+
|
150 |
+
return false;
|
151 |
+
}
|
152 |
+
|
153 |
+
/**
|
154 |
+
* Determines if the checkout session is a PayPal payment
|
155 |
+
*
|
156 |
+
* @return boolean
|
157 |
+
*/
|
158 |
+
public function _isPayPalPayment()
|
159 |
+
{
|
160 |
+
return $this->_paymentMethodContains('paypal');
|
161 |
+
}
|
162 |
+
|
163 |
+
/**
|
164 |
+
* Check if string exists in payment method name
|
165 |
+
*
|
166 |
+
* @param string Payment Method name to search for
|
167 |
+
* @return boolean
|
168 |
+
*/
|
169 |
+
private function _paymentMethodContains($string)
|
170 |
+
{
|
171 |
+
$paymentMethod = $this->_getPaymentMethod();
|
172 |
+
|
173 |
+
if (strpos($paymentMethod, $string) !== false) {
|
174 |
+
return true;
|
175 |
+
}
|
176 |
+
|
177 |
+
return false;
|
178 |
+
}
|
179 |
+
|
180 |
+
/**
|
181 |
+
* Finds the payment method of the current checkout session
|
182 |
+
*
|
183 |
+
* @return string
|
184 |
+
*/
|
185 |
+
private function _getPaymentMethod()
|
186 |
+
{
|
187 |
+
if (is_null($this->_paymentMethod)) {
|
188 |
+
$checkoutSession = Mage::getSingleton('checkout/session');
|
189 |
+
$this->_paymentMethod = $checkoutSession
|
190 |
+
->getQuote()
|
191 |
+
->getPayment()
|
192 |
+
->getMethod();
|
193 |
+
}
|
194 |
+
|
195 |
+
return $this->_paymentMethod;
|
196 |
+
}
|
197 |
}
|
app/code/community/Iparcel/All/controllers/Adminhtml/Iparcel/Sync/AjaxController.php
CHANGED
@@ -15,13 +15,15 @@ class Iparcel_All_Adminhtml_Iparcel_Sync_AjaxController extends Mage_Adminhtml_C
|
|
15 |
*/
|
16 |
protected function catalogJsonInitAction()
|
17 |
{
|
18 |
-
$step = Mage::getStoreConfig('catalog_mapping/upload/step');
|
19 |
$count = Mage::getModel('catalog/product')
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
|
|
|
|
|
|
25 |
|
26 |
$response = array(
|
27 |
'count' => $count
|
@@ -43,25 +45,27 @@ class Iparcel_All_Adminhtml_Iparcel_Sync_AjaxController extends Mage_Adminhtml_C
|
|
43 |
{
|
44 |
$params = $this->getRequest()->getParams();
|
45 |
|
46 |
-
$page = $params['page'];
|
47 |
-
$step = $params['step'];
|
48 |
-
|
49 |
-
$offset = Mage::getStoreConfig('catalog_mapping/upload/offset');
|
50 |
-
$page += floor($offset / $step);
|
51 |
|
52 |
$productCollection = Mage::getModel('catalog/product')
|
53 |
->getCollection()
|
54 |
->setPageSize($step)
|
55 |
->setCurPage($page);
|
56 |
-
|
57 |
|
58 |
$n = Mage::helper('iparcel/api')->submitCatalog($productCollection);
|
|
|
|
|
|
|
|
|
59 |
|
60 |
if ($n != -1) {
|
61 |
$response = array(
|
62 |
'page' => $page,
|
63 |
'step' => $step,
|
64 |
-
'uploaded' => $n
|
|
|
65 |
);
|
66 |
} else {
|
67 |
$response = array(
|
15 |
*/
|
16 |
protected function catalogJsonInitAction()
|
17 |
{
|
|
|
18 |
$count = Mage::getModel('catalog/product')
|
19 |
+
->getCollection()
|
20 |
+
->addAttributeToFilter(
|
21 |
+
'type_id', array('in' =>
|
22 |
+
array(
|
23 |
+
'simple',
|
24 |
+
'configurable'
|
25 |
+
)))
|
26 |
+
->getSize();
|
27 |
|
28 |
$response = array(
|
29 |
'count' => $count
|
45 |
{
|
46 |
$params = $this->getRequest()->getParams();
|
47 |
|
48 |
+
$page = (int) $params['page'];
|
49 |
+
$step = (int) $params['step'];
|
|
|
|
|
|
|
50 |
|
51 |
$productCollection = Mage::getModel('catalog/product')
|
52 |
->getCollection()
|
53 |
->setPageSize($step)
|
54 |
->setCurPage($page);
|
55 |
+
/** @var $productCollection Mage_Catalog_Model_Resource_Product_Collection */
|
56 |
|
57 |
$n = Mage::helper('iparcel/api')->submitCatalog($productCollection);
|
58 |
+
$skuList = array(
|
59 |
+
$productCollection->getFirstItem()->getSku(),
|
60 |
+
$productCollection->getLastItem()->getSku()
|
61 |
+
);
|
62 |
|
63 |
if ($n != -1) {
|
64 |
$response = array(
|
65 |
'page' => $page,
|
66 |
'step' => $step,
|
67 |
+
'uploaded' => $n,
|
68 |
+
'SKUs' => $skuList
|
69 |
);
|
70 |
} else {
|
71 |
$response = array(
|
app/code/community/Iparcel/GlobaleCommerce/Model/Api/External/Sales/Order.php
CHANGED
@@ -439,6 +439,15 @@ class Iparcel_GlobaleCommerce_Model_Api_External_Sales_Order extends Mage_Core_M
|
|
439 |
),
|
440 |
);
|
441 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
442 |
/**
|
443 |
* Place the user in the "NOT LOGGED IN GROUP" if they are a guest,
|
444 |
* and set the quote's first/lastname
|
@@ -477,6 +486,7 @@ class Iparcel_GlobaleCommerce_Model_Api_External_Sales_Order extends Mage_Core_M
|
|
477 |
/* var $_orderCreator Mage_Adminhtml_Sales_Order_Create */
|
478 |
|
479 |
$subtotal = 0;
|
|
|
480 |
|
481 |
// processing order's items, setting prices, totals etc
|
482 |
foreach ($this->getProducts() as $productData) {
|
@@ -510,7 +520,7 @@ class Iparcel_GlobaleCommerce_Model_Api_External_Sales_Order extends Mage_Core_M
|
|
510 |
}
|
511 |
|
512 |
// calc grand total
|
513 |
-
$grandtotal = $subtotal+$tax+$shippingCosts;
|
514 |
|
515 |
// set currency
|
516 |
if (!$this->getCurrency()) {
|
@@ -563,15 +573,28 @@ class Iparcel_GlobaleCommerce_Model_Api_External_Sales_Order extends Mage_Core_M
|
|
563 |
$_order->setShippingDescription($ship->getMethodDescription());
|
564 |
$_order->setBaseShippingAmount($ship->getPrice());
|
565 |
$_order->setShippingAmount($ship->getPrice());
|
566 |
-
$_order->setGlobalCurrencyCode($currency);
|
567 |
-
$_order->setBaseCurrencyCode($currency);
|
568 |
-
$_order->setStoreCurrencyCode($currency);
|
569 |
$_order->setOrderCurrencyCode($currency);
|
570 |
$_order->setTaxAmount($tax);
|
571 |
$_order->setBaseTaxAmount($tax);
|
572 |
-
$_order->setSubtotal($subtotal);
|
|
|
573 |
$_order->setGrandTotal($grandtotal);
|
|
|
574 |
$_order->setBaseGrandTotal($grandtotal);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
575 |
$_order->save();
|
576 |
$_order->sendNewOrderEmail();
|
577 |
|
439 |
),
|
440 |
);
|
441 |
|
442 |
+
// Add comment for promo code
|
443 |
+
$promos = $this->getPromos();
|
444 |
+
if (count($promos) && !empty($promos[0])) {
|
445 |
+
$_orderData['order']['comment']['customer_note'] .= " Promo Codes used: "
|
446 |
+
. join(
|
447 |
+
", ", $promos
|
448 |
+
);
|
449 |
+
}
|
450 |
+
|
451 |
/**
|
452 |
* Place the user in the "NOT LOGGED IN GROUP" if they are a guest,
|
453 |
* and set the quote's first/lastname
|
486 |
/* var $_orderCreator Mage_Adminhtml_Sales_Order_Create */
|
487 |
|
488 |
$subtotal = 0;
|
489 |
+
$discount = $this->getDiscount();
|
490 |
|
491 |
// processing order's items, setting prices, totals etc
|
492 |
foreach ($this->getProducts() as $productData) {
|
520 |
}
|
521 |
|
522 |
// calc grand total
|
523 |
+
$grandtotal = $subtotal+$tax+$shippingCosts-$discount;
|
524 |
|
525 |
// set currency
|
526 |
if (!$this->getCurrency()) {
|
573 |
$_order->setShippingDescription($ship->getMethodDescription());
|
574 |
$_order->setBaseShippingAmount($ship->getPrice());
|
575 |
$_order->setShippingAmount($ship->getPrice());
|
|
|
|
|
|
|
576 |
$_order->setOrderCurrencyCode($currency);
|
577 |
$_order->setTaxAmount($tax);
|
578 |
$_order->setBaseTaxAmount($tax);
|
579 |
+
$_order->setSubtotal($subtotal - $this->getDiscount());
|
580 |
+
$_order->setBaseSubtotal($subtotal - $this->getDiscount());
|
581 |
$_order->setGrandTotal($grandtotal);
|
582 |
+
$_order->setDiscountAmount($this->getDiscount());
|
583 |
$_order->setBaseGrandTotal($grandtotal);
|
584 |
+
|
585 |
+
// Set conversion rates
|
586 |
+
$globalCurrencyCode = Mage::app()->getBaseCurrencyCode();
|
587 |
+
$baseCurrency = Mage::app()->getStore()->getBaseCurrency();
|
588 |
+
$_order->setGlobalCurrencyCode($globalCurrencyCode);
|
589 |
+
$_order->setBaseCurrencyCode($baseCurrency->getCode());
|
590 |
+
$_order->setStoreCurrencyCode($baseCurrency->getCode());
|
591 |
+
$_order->setBaseToGlobalRate(
|
592 |
+
$baseCurrency->getRate($globalCurrencyCode)
|
593 |
+
);
|
594 |
+
$_order->setBaseToQuoteRate(
|
595 |
+
$baseCurrency->getRate($globalCurrencyCode)
|
596 |
+
);
|
597 |
+
|
598 |
$_order->save();
|
599 |
$_order->sendNewOrderEmail();
|
600 |
|
app/code/community/Iparcel/GlobaleCommerce/controllers/OrderController.php
CHANGED
@@ -113,9 +113,11 @@ class Iparcel_GlobaleCommerce_OrderController extends Mage_Core_Controller_Front
|
|
113 |
$orders = $this->_addCustomOptionsToOrder($orders);
|
114 |
}
|
115 |
|
|
|
116 |
$model->setOrderData($orders);
|
117 |
$model->setShippingCosts($shipping);
|
118 |
$model->setTax($tax);
|
|
|
119 |
// if tracking specified set tracking number
|
120 |
if ($tracking !== null) {
|
121 |
$model->setTrackingNumber($tracking['number']);
|
113 |
$orders = $this->_addCustomOptionsToOrder($orders);
|
114 |
}
|
115 |
|
116 |
+
$model->setPromos($request->getPost('promo'));
|
117 |
$model->setOrderData($orders);
|
118 |
$model->setShippingCosts($shipping);
|
119 |
$model->setTax($tax);
|
120 |
+
$model->setDiscount($request->getPost('discount'));
|
121 |
// if tracking specified set tracking number
|
122 |
if ($tracking !== null) {
|
123 |
$model->setTrackingNumber($tracking['number']);
|
app/code/community/Iparcel/GlobaleCommerce/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Iparcel_GlobaleCommerce>
|
5 |
-
<version>3.2.
|
6 |
</Iparcel_GlobaleCommerce>
|
7 |
</modules>
|
8 |
<frontend>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Iparcel_GlobaleCommerce>
|
5 |
+
<version>3.2.3</version>
|
6 |
</Iparcel_GlobaleCommerce>
|
7 |
</modules>
|
8 |
<frontend>
|
app/code/community/Iparcel/GlobaleCommerce/etc/system.xml
CHANGED
@@ -12,9 +12,9 @@
|
|
12 |
<iparcel translate="label" module="ipglobalecommerce">
|
13 |
<label>i-parcel</label>
|
14 |
<sort_order>9999</sort_order>
|
15 |
-
<show_in_default>
|
16 |
-
<show_in_website>
|
17 |
-
<show_in_store>
|
18 |
</iparcel>
|
19 |
</groups>
|
20 |
</payment>
|
@@ -25,7 +25,7 @@
|
|
25 |
<sort_order>100</sort_order>
|
26 |
<show_in_default>1</show_in_default>
|
27 |
<show_in_website>1</show_in_website>
|
28 |
-
<show_in_store>
|
29 |
<groups>
|
30 |
<scripts>
|
31 |
<show_in_default>1</show_in_default>
|
@@ -45,8 +45,8 @@
|
|
45 |
<frontend_type>text</frontend_type>
|
46 |
<sort_order>120</sort_order>
|
47 |
<show_in_default>1</show_in_default>
|
48 |
-
<show_in_website>
|
49 |
-
<show_in_store>
|
50 |
<groups>
|
51 |
<sales translate="label">
|
52 |
<label>Sales</label>
|
12 |
<iparcel translate="label" module="ipglobalecommerce">
|
13 |
<label>i-parcel</label>
|
14 |
<sort_order>9999</sort_order>
|
15 |
+
<show_in_default>1</show_in_default>
|
16 |
+
<show_in_website>1</show_in_website>
|
17 |
+
<show_in_store>1</show_in_store>
|
18 |
</iparcel>
|
19 |
</groups>
|
20 |
</payment>
|
25 |
<sort_order>100</sort_order>
|
26 |
<show_in_default>1</show_in_default>
|
27 |
<show_in_website>1</show_in_website>
|
28 |
+
<show_in_store>1</show_in_store>
|
29 |
<groups>
|
30 |
<scripts>
|
31 |
<show_in_default>1</show_in_default>
|
45 |
<frontend_type>text</frontend_type>
|
46 |
<sort_order>120</sort_order>
|
47 |
<show_in_default>1</show_in_default>
|
48 |
+
<show_in_website>1</show_in_website>
|
49 |
+
<show_in_store>1</show_in_store>
|
50 |
<groups>
|
51 |
<sales translate="label">
|
52 |
<label>Sales</label>
|
app/design/adminhtml/default/default/layout/iparcel.xml
CHANGED
@@ -32,7 +32,7 @@
|
|
32 |
<action method="setTitle"><title>i-parcel Catalog Upload</title></action>
|
33 |
</reference>
|
34 |
<reference name="content">
|
35 |
-
<block type="
|
36 |
</reference>
|
37 |
</adminhtml_iparcel_sync_ajax_catalog>
|
38 |
|
32 |
<action method="setTitle"><title>i-parcel Catalog Upload</title></action>
|
33 |
</reference>
|
34 |
<reference name="content">
|
35 |
+
<block type="iparcel/adminhtml_iparcel_sync" name="iparcel_catalog_sync" template="iparcel/sync/ajax/catalog.phtml"/>
|
36 |
</reference>
|
37 |
</adminhtml_iparcel_sync_ajax_catalog>
|
38 |
|
app/design/adminhtml/default/default/template/iparcel/sync/ajax/catalog.phtml
CHANGED
@@ -1,25 +1,21 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* @category
|
4 |
-
* @package
|
5 |
-
* @author
|
6 |
-
* @class
|
7 |
*/
|
8 |
$initUrl = Mage::helper('adminhtml')->getUrl('adminhtml/iparcel_sync_ajax/catalogJsonInit');
|
9 |
$uploadUrl = Mage::helper('adminhtml')->getUrl('adminhtml/iparcel_sync_ajax/catalogJsonUpload');
|
10 |
?>
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
<
|
15 |
-
<p><span>0</span> items from <span>0</span> uploaded</p>
|
16 |
-
</div>
|
17 |
-
<div id="end">
|
18 |
-
<p><span>0</span> items from <span>0</span> successfully uploaded</p>
|
19 |
-
<p>There was <span>0</span> errors when uploading catalog</p>
|
20 |
</div>
|
|
|
21 |
<script type="text/javascript">
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
</script>
|
1 |
<?php
|
2 |
/**
|
3 |
+
* @category design
|
4 |
+
* @package Iparcel_All
|
5 |
+
* @author Bobby Burden <bburden@i-parcel.com>
|
6 |
+
* @class Mage_Core_Block_Template
|
7 |
*/
|
8 |
$initUrl = Mage::helper('adminhtml')->getUrl('adminhtml/iparcel_sync_ajax/catalogJsonInit');
|
9 |
$uploadUrl = Mage::helper('adminhtml')->getUrl('adminhtml/iparcel_sync_ajax/catalogJsonUpload');
|
10 |
?>
|
11 |
+
<?php echo $this->getStartButton(); ?>
|
12 |
+
|
13 |
+
<div id="message">
|
14 |
+
<p>Click "Start" to begin the Catalog Sync</p>
|
|
|
|
|
|
|
|
|
|
|
15 |
</div>
|
16 |
+
<textarea id="log-area" wrap="off"></textarea>
|
17 |
<script type="text/javascript">
|
18 |
+
jQuery(document).ready(function() {
|
19 |
+
window.catalogSync = new iparcelSync('<?php echo $initUrl ?>', '<?php echo $uploadUrl ?>', <?php echo Mage::getStoreConfig('catalog_mapping/upload/step'); ?>, jQuery('.middle div button')[0]);
|
20 |
+
})
|
21 |
</script>
|
js/iparcel/adminhtml/sync.js
CHANGED
@@ -5,82 +5,95 @@
|
|
5 |
* @package Iparcel_All
|
6 |
* @author Bobby Burden <bburden@i-parcel.com>
|
7 |
*/
|
8 |
-
var iparcelSync = {
|
9 |
-
|
10 |
-
|
11 |
-
|
|
|
12 |
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
iparcelSync.sync.eq(1).text(iparcelSync.item.count);
|
19 |
-
iparcelSync.end.eq(1).text(iparcelSync.item.count);
|
20 |
-
jQuery('#starting').hide();
|
21 |
-
jQuery('#sync').show();
|
22 |
-
jQuery.get(iparcelSync.item.uploadUrl, {
|
23 |
-
page: ++iparcelSync.item.page,
|
24 |
-
step: iparcelSync.item.step,
|
25 |
-
}, iparcelSync.refresh);
|
26 |
-
},
|
27 |
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
refresh: function (data) {
|
32 |
-
if (!data.error) {
|
33 |
-
iparcelSync.item.progress += data.uploaded;
|
34 |
-
iparcelSync.item.errors += iparcelSync.item.step - data.uploaded;
|
35 |
-
iparcelSync.sync.eq(0).text(iparcelSync.item.progress);
|
36 |
-
iparcelSync.end.eq(0).text(iparcelSync.item.progress);
|
37 |
-
} else {
|
38 |
-
if (iparcelSync.item.page * iparcelSync.item.step > iparcelSync.item.count) {
|
39 |
-
iparcelSync.item.errors += iparcelSync.item.count - iparcelSync.item.progress;
|
40 |
-
} else {
|
41 |
-
iparcelSync.item.errors += iparcelSync.item.step;
|
42 |
-
}
|
43 |
-
}
|
44 |
-
if (iparcelSync.item.progress + iparcelSync.item.errors < iparcelSync.item.count) {
|
45 |
-
jQuery.get(iparcelSync.item.uploadUrl, {
|
46 |
-
page: ++iparcelSync.item.page,
|
47 |
-
step: iparcelSync.item.step,
|
48 |
-
}, iparcelSync.refresh);
|
49 |
-
} else {
|
50 |
-
iparcelSync.finish();
|
51 |
-
}
|
52 |
-
},
|
53 |
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
|
|
|
|
|
|
62 |
|
63 |
-
|
64 |
-
* Sync object
|
65 |
-
*/
|
66 |
-
sync: function (initUrl, uploadUrl, step) {
|
67 |
-
this.initUrl = initUrl;
|
68 |
-
this.uploadUrl = uploadUrl;
|
69 |
-
this.step = step;
|
70 |
-
this.progress = 0;
|
71 |
-
this.errors = 0;
|
72 |
-
this.count = 0;
|
73 |
-
this.page = 0;
|
74 |
|
75 |
-
|
76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
|
78 |
-
|
79 |
-
|
80 |
-
|
|
|
|
|
|
|
|
|
81 |
|
82 |
-
|
|
|
|
|
|
|
83 |
|
84 |
-
|
85 |
-
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
* @package Iparcel_All
|
6 |
* @author Bobby Burden <bburden@i-parcel.com>
|
7 |
*/
|
8 |
+
var iparcelSync = function (initUrl, uploadUrl, step, startButton) {
|
9 |
+
this.initUrl = initUrl;
|
10 |
+
this.uploadUrl = uploadUrl;
|
11 |
+
this.step = step;
|
12 |
+
this.startButton = startButton;
|
13 |
|
14 |
+
this.progress = 0;
|
15 |
+
this.errors = 0;
|
16 |
+
this.count = 0;
|
17 |
+
this.page = 1;
|
18 |
+
this.skus = [];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
+
this.message = jQuery('#message');
|
21 |
+
this.log = jQuery('#log-area');
|
22 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
+
iparcelSync.prototype.run = function () {
|
25 |
+
this.message.html('<p>Catalog Sync running...</p>');
|
26 |
+
this.addToLog("Starting Catalog Sync...");
|
27 |
+
this.addToLog("Generating colleciton of products to sync. This may take a moment...");
|
28 |
+
this.startButton.disable();
|
29 |
+
var self = this;
|
30 |
+
jQuery.get(this.initUrl, function(data) {
|
31 |
+
self.setCount(data.count);
|
32 |
+
self.count = data.count;
|
33 |
+
self.upload();
|
34 |
+
});
|
35 |
|
36 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
+
iparcelSync.prototype.upload = function() {
|
39 |
+
if (this.page == 0
|
40 |
+
|| (this.count / this.step) > this.page - 1) {
|
41 |
+
var payload = {
|
42 |
+
page: this.page,
|
43 |
+
step: this.step
|
44 |
+
};
|
45 |
+
var self = this;
|
46 |
+
jQuery.get(this.uploadUrl, payload)
|
47 |
+
.done(function(data) {
|
48 |
+
// Handle errors from the PHP controller
|
49 |
+
if (data.error == 1) {
|
50 |
+
self.addToLog('Unable to complete sync.');
|
51 |
+
self.errors += 1;
|
52 |
+
this.finish();
|
53 |
+
} else {
|
54 |
+
self.progress = self.progress + data.uploaded;
|
55 |
+
self.page = ++data.page;
|
56 |
+
self.skus = data.SKUs;
|
57 |
+
self.updateProgress();
|
58 |
+
self.upload();
|
59 |
+
}
|
60 |
+
});
|
61 |
+
} else {
|
62 |
+
this.finish();
|
63 |
+
}
|
64 |
+
};
|
65 |
|
66 |
+
iparcelSync.prototype.finish = function() {
|
67 |
+
this.message.html('<p>Catalog Sync Finished.</p>');
|
68 |
+
this.addToLog('Finished uploading a total of '
|
69 |
+
+ this.progress +
|
70 |
+
' compatible SKUs and variations with '
|
71 |
+
+ this.errors
|
72 |
+
+ ' errors. \n');
|
73 |
|
74 |
+
this.progress = 0;
|
75 |
+
this.errors = 0;
|
76 |
+
this.count = 0;
|
77 |
+
this.page = 0;
|
78 |
|
79 |
+
this.message.html('<p>Click "Start" to begin the Catalog Sync</p>');
|
80 |
+
|
81 |
+
this.startButton.enable();
|
82 |
+
};
|
83 |
+
|
84 |
+
iparcelSync.prototype.updateProgress = function() {
|
85 |
+
this.addToLog(
|
86 |
+
'Uploaded ' + this.progress + ' products of ' + this.count + '... Synced SKUS "' +
|
87 |
+
this.skus[0] + '" through "' + this.skus[1] + '"'
|
88 |
+
);
|
89 |
+
};
|
90 |
+
|
91 |
+
iparcelSync.prototype.setCount = function(count) {
|
92 |
+
this.addToLog('Found a total of ' + count + ' products');
|
93 |
+
};
|
94 |
+
|
95 |
+
iparcelSync.prototype.addToLog = function (text) {
|
96 |
+
text = new Date().toISOString() + ": " + text + "\n";
|
97 |
+
this.log.append(text);
|
98 |
+
this.log.scrollTop(this.log[0].scrollHeight - this.log.height());
|
99 |
+
};
|
js/iparcel/lib.js
CHANGED
@@ -1,45 +1,46 @@
|
|
1 |
var iparcelMage = {
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
}
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
iparcelPost.setStock('true');
|
23 |
|
24 |
-
|
25 |
-
$options.empty();
|
26 |
-
$jip.each(data.attributes, function(key, value){
|
27 |
-
var $block = $jip('<div/>');
|
28 |
-
$block.attr('id',key);
|
29 |
-
$block.text(value);
|
30 |
-
$options.append($block);
|
31 |
-
});
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
37 |
});
|
|
|
|
|
|
|
|
|
38 |
}
|
39 |
-
|
40 |
-
parseHtmlEntities: function(str){
|
41 |
-
var textArea = document.createElement('textarea');
|
42 |
-
textArea.innerHTML = str;
|
43 |
-
return textArea.value;
|
44 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
}
|
1 |
var iparcelMage = {
|
2 |
+
displayEligibility: function() {
|
3 |
+
try{
|
4 |
+
$_ipar.fn.iparcel.ux.displayEligibility();
|
5 |
+
} catch(exception) {
|
6 |
+
}
|
7 |
+
},
|
8 |
+
ajax: {
|
9 |
+
post: function(sku, super_attribute, url) {
|
10 |
+
var $jip = jQuery.noConflict();
|
11 |
+
var data = super_attribute+'sku='+sku;
|
12 |
+
$jip('.' + iparcelPost.iparcelSkuClass).attr('finalsku', 'false');
|
13 |
+
$jip.ajax({
|
14 |
+
'url': url,
|
15 |
+
'data': data,
|
16 |
+
type: 'POST',
|
17 |
+
async: true,
|
18 |
+
success: function(data){
|
19 |
+
if (data){
|
20 |
+
$jip('.' + iparcelPost.iparcelSkuClass).text(data.sku);
|
21 |
+
$jip('.' + iparcelPost.iparcelSkuClass).attr('finalsku', 'true');
|
|
|
22 |
|
23 |
+
iparcelPost.setStock('true');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
+
var $options = $jip('.' + iparcelPost.iparcelOptionsClass);
|
26 |
+
$options.empty();
|
27 |
+
$jip.each(data.attributes, function(key, value){
|
28 |
+
var $block = $jip('<div/>');
|
29 |
+
$block.attr('id',key);
|
30 |
+
$block.text(value);
|
31 |
+
$options.append($block);
|
32 |
});
|
33 |
+
|
34 |
+
$jip('.iparcelstockquantity').text(data.stock);
|
35 |
+
}
|
36 |
+
iparcelMage.displayEligibility();
|
37 |
}
|
38 |
+
});
|
|
|
|
|
|
|
|
|
39 |
}
|
40 |
+
},
|
41 |
+
parseHtmlEntities: function(str){
|
42 |
+
var textArea = document.createElement('textarea');
|
43 |
+
textArea.innerHTML = str;
|
44 |
+
return textArea.value;
|
45 |
+
}
|
46 |
}
|
js/iparcel/post.js
CHANGED
@@ -4,60 +4,98 @@ var iparcelPost = {
|
|
4 |
url: null,
|
5 |
sku_list_cache: null,
|
6 |
stock_list_cache: null,
|
7 |
-
|
8 |
-
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
},
|
11 |
-
|
12 |
-
|
|
|
|
|
13 |
if (url.indexOf(':') == 0) {
|
14 |
url = url.substring(1,url.length);
|
15 |
}
|
16 |
-
|
|
|
|
|
17 |
$jip(document).ready(function(){
|
18 |
var $sku = $jip("<div/>");
|
19 |
-
$sku.css("display","none");
|
20 |
-
$sku.attr("class",
|
21 |
$sku.text(sku);
|
22 |
-
$jip(
|
23 |
|
24 |
var $options = $jip("<div/>");
|
25 |
-
$options.css("display","none");
|
26 |
-
$options.attr("class",
|
27 |
-
$jip(
|
28 |
|
29 |
-
$jip(
|
30 |
iparcelPost.updateSelect();
|
31 |
});
|
32 |
|
33 |
// if there are '.super-attribute-select' elements, find the SKU
|
34 |
// for the default configuration
|
35 |
-
if ($jip(
|
36 |
-
$jip(
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
$jip(
|
41 |
-
if ($jip(
|
42 |
-
self.validOptions.push($jip(
|
43 |
}
|
44 |
});
|
45 |
|
46 |
-
if (
|
47 |
-
// Only one valid option for
|
48 |
-
$jip(
|
49 |
}
|
50 |
});
|
|
|
51 |
iparcelPost.updateSelect();
|
52 |
}
|
|
|
53 |
// Watch for custom option text fields, areas
|
54 |
-
$jip(iparcelPost.
|
55 |
iparcelPost.updateTextfields();
|
56 |
});
|
57 |
|
58 |
var $iterator = 0;
|
|
|
|
|
59 |
$jip(document).bind('DOMNodeInserted', function(e){
|
60 |
-
if ($jip(e.target).attr('class') ==
|
61 |
$jip(e.target).click(iparcelPost.update);
|
62 |
if ($iterator++ == 0){
|
63 |
var target = e.target;
|
@@ -70,87 +108,105 @@ var iparcelPost = {
|
|
70 |
}
|
71 |
});
|
72 |
|
73 |
-
$jip('.
|
74 |
});
|
75 |
},
|
|
|
76 |
update: function(){
|
77 |
var $this = $jip(this);
|
78 |
var id = $this.parent().attr('id').split('option')[1];
|
79 |
var val = $this.attr('id').split('swatch')[1];
|
80 |
var super_attribute = '';
|
81 |
-
|
|
|
82 |
var $this = $jip(this);
|
83 |
if ($this.attr('name') != 'super_attribute['+id+']'){
|
84 |
-
super_attribute
|
85 |
}
|
86 |
});
|
87 |
-
|
|
|
88 |
},
|
|
|
89 |
updateSelect: function () {
|
90 |
iparcelPost.setStock('false');
|
91 |
var $this = $jip(this);
|
92 |
var super_attribute = '';
|
93 |
-
|
|
|
94 |
var $this = $jip(this);
|
95 |
super_attribute += $this.attr('name') + '=' + $this.val() + '&';
|
96 |
});
|
|
|
97 |
iparcelMage.ajax.post(iparcelPost.sku, super_attribute, iparcelPost.url);
|
98 |
},
|
|
|
99 |
updateTextfields: function() {
|
100 |
iparcelPost.setStock('false');
|
101 |
var custom_options = '';
|
102 |
-
|
|
|
103 |
var $this = $jip(this);
|
104 |
custom_options += $this.attr('name') + '=' + $this.val() + '&';
|
105 |
});
|
|
|
106 |
iparcelMage.ajax.post(iparcelPost.sku, custom_options, iparcelPost.url);
|
107 |
},
|
|
|
108 |
stock: function(qty){
|
109 |
-
$jip(document).ready(function(){
|
110 |
var $stock = $jip("<div/>");
|
111 |
-
$stock.css("display","none");
|
112 |
-
$stock.attr("class",
|
113 |
$stock.text(qty > 0 ? 'true' : 'false');
|
114 |
-
$jip(
|
115 |
});
|
116 |
},
|
|
|
117 |
setStock: function(value){
|
118 |
-
$jip('.
|
119 |
},
|
|
|
120 |
sku_list: function (sku_list) {
|
121 |
-
|
122 |
-
|
|
|
123 |
$jip.each(sku_list, function(sku,name){
|
124 |
name = iparcelMage.parseHtmlEntities(name);
|
125 |
var $sku = $jip("<div/>");
|
126 |
-
$sku.css("display","none");
|
127 |
-
$sku.attr("class",
|
128 |
$sku.text(sku);
|
129 |
iparcelPost.append($sku,name);
|
130 |
});
|
131 |
});
|
132 |
-
|
|
|
133 |
iparcelPost.sku_list(sku_list);
|
134 |
});
|
135 |
},
|
|
|
136 |
stock_list: function(stock_list){
|
137 |
this.stock_list_cache = stock_list;
|
138 |
-
|
|
|
139 |
$jip.each(stock_list, function(name,qty){
|
140 |
name = iparcelMage.parseHtmlEntities(name);
|
141 |
var $stock = $jip("<div/>");
|
142 |
-
$stock.css("display","none");
|
143 |
-
$stock.attr("class",
|
144 |
$stock.text(qty > 0 ? 'true' : 'false');
|
145 |
iparcelPost.append($stock,name);
|
146 |
});
|
147 |
});
|
148 |
},
|
|
|
149 |
append: function(item,name){
|
150 |
-
var $item = $jip(
|
151 |
return $jip(this).text() == name;
|
152 |
});
|
153 |
-
|
|
|
154 |
}
|
155 |
};
|
156 |
|
@@ -158,12 +214,12 @@ Ajax.Responders.register({
|
|
158 |
onComplete: function(args){
|
159 |
iparcelPost.sku_list(iparcelPost.sku_list_cache);
|
160 |
iparcelPost.stock_list(iparcelPost.stock_list_cache);
|
161 |
-
|
162 |
-
|
163 |
-
|
|
|
164 |
$_ipar(iparcel.settings.productListingPriceElement).css("visibility","visible");
|
165 |
-
}
|
166 |
-
else{
|
167 |
iparcel.ux.displayEligibility();
|
168 |
}
|
169 |
}
|
4 |
url: null,
|
5 |
sku_list_cache: null,
|
6 |
stock_list_cache: null,
|
7 |
+
|
8 |
+
// Class names
|
9 |
+
iparcelSkuClass: 'iparcelsku',
|
10 |
+
iparcelStockClass: 'iparcelstock',
|
11 |
+
iparcelOptionsClass: 'iparcelOptions',
|
12 |
+
swatchLinkClass: 'swatch-link',
|
13 |
+
|
14 |
+
// Selectors
|
15 |
+
productAddToCartFormSelector: 'form#product_addtocart_form',
|
16 |
+
textSelector: '.product-custom-option[type="text"], textarea.product-custom-option',
|
17 |
+
superAttributeSelector: '.super-attribute-select',
|
18 |
+
requiredSuperAttributeSelector: '.super-attribute-select.required-entry',
|
19 |
+
productCustomOptionSelector: '.super-attribute-select, .product-custom-option',
|
20 |
+
productNameAnchorSelector: '.item .product-name a',
|
21 |
+
itemSelector: '.item',
|
22 |
+
|
23 |
+
updateProperties: function(sourceObject) {
|
24 |
+
for (var propertyName in iparcelPost) {
|
25 |
+
if (propertyName.substr(-5) === 'Class'
|
26 |
+
|| propertyName.substr(-8) === 'Selector')
|
27 |
+
{
|
28 |
+
// Check for the propertyName to be set in the sourceObject
|
29 |
+
if (sourceObject.hasOwnProperty(propertyName)
|
30 |
+
&& sourceObject[propertyName] !== null)
|
31 |
+
{
|
32 |
+
iparcelPost[propertyName] = sourceObject[propertyName];
|
33 |
+
}
|
34 |
+
}
|
35 |
+
}
|
36 |
+
},
|
37 |
+
|
38 |
+
clear: function() {
|
39 |
+
$jip('.' + iparcelPost.iparcelSkuClass + ', .' + iparcelPost.iparcelStockClass).remove();
|
40 |
},
|
41 |
+
|
42 |
+
single: function(sku, url) {
|
43 |
+
iparcelPost.sku = sku;
|
44 |
+
|
45 |
if (url.indexOf(':') == 0) {
|
46 |
url = url.substring(1,url.length);
|
47 |
}
|
48 |
+
|
49 |
+
iparcelPost.url = url+'iparcel/ajax/configurable';
|
50 |
+
|
51 |
$jip(document).ready(function(){
|
52 |
var $sku = $jip("<div/>");
|
53 |
+
$sku.css("display", "none");
|
54 |
+
$sku.attr("class", iparcelPost.iparcelSkuClass);
|
55 |
$sku.text(sku);
|
56 |
+
$jip(iparcelPost.productAddToCartFormSelector).append($sku);
|
57 |
|
58 |
var $options = $jip("<div/>");
|
59 |
+
$options.css("display", "none");
|
60 |
+
$options.attr("class", iparcelPost.iparcelOptionsClass);
|
61 |
+
$jip(iparcelPost.productAddToCartFormSelector).append($options);
|
62 |
|
63 |
+
$jip(iparcelPost.superAttributeSelector).change(function(){
|
64 |
iparcelPost.updateSelect();
|
65 |
});
|
66 |
|
67 |
// if there are '.super-attribute-select' elements, find the SKU
|
68 |
// for the default configuration
|
69 |
+
if ($jip(iparcelPost.requiredSuperAttributeSelector).length > 0) {
|
70 |
+
$jip(iparcelPost.requiredSuperAttributeSelector).each(function() {
|
71 |
+
iparcelPost.validOptions = [];
|
72 |
+
var self = iparcelPost;
|
73 |
+
|
74 |
+
$jip(iparcelPost).children().each(function(){
|
75 |
+
if ($jip(iparcelPost).val() != '') {
|
76 |
+
self.validOptions.push($jip(iparcelPost).val());
|
77 |
}
|
78 |
});
|
79 |
|
80 |
+
if (iparcelPost.validOptions.length == 1) {
|
81 |
+
// Only one valid option for iparcelPost required select
|
82 |
+
$jip(iparcelPost).val(iparcelPost.validOptions[0]);
|
83 |
}
|
84 |
});
|
85 |
+
|
86 |
iparcelPost.updateSelect();
|
87 |
}
|
88 |
+
|
89 |
// Watch for custom option text fields, areas
|
90 |
+
$jip(iparcelPost.textSelector).change(function() {
|
91 |
iparcelPost.updateTextfields();
|
92 |
});
|
93 |
|
94 |
var $iterator = 0;
|
95 |
+
|
96 |
+
// Handle swatch clicks
|
97 |
$jip(document).bind('DOMNodeInserted', function(e){
|
98 |
+
if ($jip(e.target).attr('class') == iparcelPost.swatchLinkClass){
|
99 |
$jip(e.target).click(iparcelPost.update);
|
100 |
if ($iterator++ == 0){
|
101 |
var target = e.target;
|
108 |
}
|
109 |
});
|
110 |
|
111 |
+
$jip('.' + iparcelPost.swatchLinkClass).click(iparcelPost.update);
|
112 |
});
|
113 |
},
|
114 |
+
|
115 |
update: function(){
|
116 |
var $this = $jip(this);
|
117 |
var id = $this.parent().attr('id').split('option')[1];
|
118 |
var val = $this.attr('id').split('swatch')[1];
|
119 |
var super_attribute = '';
|
120 |
+
|
121 |
+
$jip(iparcelPost.superAttributeSelector).each(function(){
|
122 |
var $this = $jip(this);
|
123 |
if ($this.attr('name') != 'super_attribute['+id+']'){
|
124 |
+
super_attribute += $this.attr('name') + '=' + $this.val() + '&';
|
125 |
}
|
126 |
});
|
127 |
+
|
128 |
+
iparcelMage.ajax.post(iparcelPost.sku, super_attribute, iparcelPost.url);
|
129 |
},
|
130 |
+
|
131 |
updateSelect: function () {
|
132 |
iparcelPost.setStock('false');
|
133 |
var $this = $jip(this);
|
134 |
var super_attribute = '';
|
135 |
+
|
136 |
+
$jip(iparcelPost.productCustomOptionSelector).each(function () {
|
137 |
var $this = $jip(this);
|
138 |
super_attribute += $this.attr('name') + '=' + $this.val() + '&';
|
139 |
});
|
140 |
+
|
141 |
iparcelMage.ajax.post(iparcelPost.sku, super_attribute, iparcelPost.url);
|
142 |
},
|
143 |
+
|
144 |
updateTextfields: function() {
|
145 |
iparcelPost.setStock('false');
|
146 |
var custom_options = '';
|
147 |
+
|
148 |
+
$jip(iparcelPost.textSelector).each(function() {
|
149 |
var $this = $jip(this);
|
150 |
custom_options += $this.attr('name') + '=' + $this.val() + '&';
|
151 |
});
|
152 |
+
|
153 |
iparcelMage.ajax.post(iparcelPost.sku, custom_options, iparcelPost.url);
|
154 |
},
|
155 |
+
|
156 |
stock: function(qty){
|
157 |
+
$jip(document).ready(function() {
|
158 |
var $stock = $jip("<div/>");
|
159 |
+
$stock.css("display", "none");
|
160 |
+
$stock.attr("class", iparcelPost.iparcelStockClass);
|
161 |
$stock.text(qty > 0 ? 'true' : 'false');
|
162 |
+
$jip(iparcelPost.productAddToCartFormSelector).append($stock);
|
163 |
});
|
164 |
},
|
165 |
+
|
166 |
setStock: function(value){
|
167 |
+
$jip('.' + iparcelPost.iparcelStockClass).text(value);
|
168 |
},
|
169 |
+
|
170 |
sku_list: function (sku_list) {
|
171 |
+
iparcelPost.sku_list_cache = sku_list;
|
172 |
+
|
173 |
+
$jip(document).ready(function() {
|
174 |
$jip.each(sku_list, function(sku,name){
|
175 |
name = iparcelMage.parseHtmlEntities(name);
|
176 |
var $sku = $jip("<div/>");
|
177 |
+
$sku.css("display", "none");
|
178 |
+
$sku.attr("class", iparcelPost.iparcelSkuClass);
|
179 |
$sku.text(sku);
|
180 |
iparcelPost.append($sku,name);
|
181 |
});
|
182 |
});
|
183 |
+
|
184 |
+
$jip(document).ajaxSuccess(function(data) {
|
185 |
iparcelPost.sku_list(sku_list);
|
186 |
});
|
187 |
},
|
188 |
+
|
189 |
stock_list: function(stock_list){
|
190 |
this.stock_list_cache = stock_list;
|
191 |
+
|
192 |
+
$jip(document).ready(function() {
|
193 |
$jip.each(stock_list, function(name,qty){
|
194 |
name = iparcelMage.parseHtmlEntities(name);
|
195 |
var $stock = $jip("<div/>");
|
196 |
+
$stock.css("display", "none");
|
197 |
+
$stock.attr("class", iparcelPost.iparcelStockClass);
|
198 |
$stock.text(qty > 0 ? 'true' : 'false');
|
199 |
iparcelPost.append($stock,name);
|
200 |
});
|
201 |
});
|
202 |
},
|
203 |
+
|
204 |
append: function(item,name){
|
205 |
+
var $item = $jip(iparcelPost.productNameAnchorSelector).filter(function () {
|
206 |
return $jip(this).text() == name;
|
207 |
});
|
208 |
+
|
209 |
+
$item.closest(iparcelPost.itemSelector).append(item);
|
210 |
}
|
211 |
};
|
212 |
|
214 |
onComplete: function(args){
|
215 |
iparcelPost.sku_list(iparcelPost.sku_list_cache);
|
216 |
iparcelPost.stock_list(iparcelPost.stock_list_cache);
|
217 |
+
p
|
218 |
+
if (typeof iparcel.session !== "undefined") {
|
219 |
+
if (typeof iparcel.session.content !== "undefined") {
|
220 |
+
if (typeof iparcel.session.content.locale !== "undefined" && iparcel.session.content.locale == "US") {
|
221 |
$_ipar(iparcel.settings.productListingPriceElement).css("visibility","visible");
|
222 |
+
} else {
|
|
|
223 |
iparcel.ux.displayEligibility();
|
224 |
}
|
225 |
}
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>iparcel_connect</name>
|
4 |
-
<version>3.2.
|
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>
|
20 |
-
<time>
|
21 |
-
<contents><target name="mageweb"><dir name="app"><dir name="code"><dir name="community"><dir name="Iparcel"><dir name="GlobaleCommerce"><dir name="Block"><file name="Cpf.php" hash="084f9bd9599539adcfb3684b9b2aca46"/><dir name="Payment"><file name="Info.php" hash="cbc97ba5326777dfc1192409be1de364"/></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="777136c54e9edaf0a4f218c477439f17"/><file name="DevController.php" hash="c76afd120afb3d23c4176d584c0b4c75"/><file name="OrderController.php" hash="cd1039a98f466f763ee8b3f2abeb725a"/></dir><dir name="etc"><file name="adminhtml.xml" hash="13d82fdb42fad3c9ccf2d474cf287797"/><file name="config.xml" hash="9f9e384ef9384874c5bb4454465d65b8"/><file name="system.xml" hash="be476b5bde0b43e484b7c8b4f0fff18e"/></dir><dir name="Helper"><file name="Api.php" hash="e6ccd2cee450298d71e6514bdf9bdefd"/><file name="Data.php" hash="33cac3c2511b7e3a3bb045db60863a8c"/><file name="String.php" hash="13620129b7a2d8aa3dfaabaa8a17526e"/><dir name="Sales"><file name="Data.php" hash="6f7f15b86012d9e5e6b48cccdbbac7f1"/></dir></dir><dir name="Model"><dir name="Api"><dir name="External"><dir name="Sales"><file name="Order.php" hash="7da6d518749e4751b8844d404c987c09"/></dir></dir></dir><dir name="Carrier"><file name="Iparcel.php" hash="79bdbdbbac238774e519a1ba1ba581eb"/></dir><dir name="Cpf"><file name="Order.php" hash="51bf749b00a9b51e2f6f39a7e9734d86"/><file name="Quote.php" hash="6af90f0a33e0c02ba041bb6ff5882d7d"/></dir><file name="Cpf.php" hash="650bbe60bae37b3e43d8686378a2282b"/><file name="Parcel.php" hash="e9325c49bc67983c075b5bba76bc243a"/><dir name="Payment"><file name="Iparcel.php" hash="9e409ecd268225c713a180abe17c3a94"/></dir><dir name="Resource"><dir name="Api"><file name="Order.php" hash="2daf80f9a3be2c687b1ae3d9561c4305"/></dir><dir name="Cpf"><file name="Collection.php" hash="ac85f294739a7a892f60a63ca9dc8217"/><file name="Order.php" hash="e8391efb37ceecba5c6c73a2ff474b91"/><file name="Quote.php" hash="0a4687a32ebc264888e2eb21e885d938"/><dir name="Order"><file name="Collection.php" hash="7f8406d9e4a901183b36c8d0e85c1b87"/></dir><dir name="Quote"><file name="Collection.php" hash="08f0e8427111a34878ed8b711f13b5cf"/></dir></dir><file name="Cpf.php" hash="8e459e3535510675d9d7a1867d244008"/><file name="Parcel.php" hash="389b267d69b196454fbc97e9287cbca5"/><file name="Setup.php" hash="4752a060c3cf972f30d503b3d7f7ce70"/><dir name="Parcel"><file name="Collection.php" hash="3009eb727415705ae5f83739c007804c"/></dir></dir><dir name="Sales"><dir name="Order"><file name="Observer.php" hash="22e58f9e21b4ca3cd41f611bdd479a57"/></dir><file name="Order.php" hash="3e24b0b9a493a295f70684da3bb8b37e"/><dir name="Quote"><file name="Observer.php" hash="b9ac9f1f2323765b482dd4970ed2c7e8"/></dir></dir></dir><dir name="sql"><dir name="ipglobalecommerce_setup"><file name="mysql4-install-0.2.0.php" hash="a2d77ada0a1ed47fc9983cc3dfbb6c52"/><file name="mysql4-install-0.3.0.php" hash="a2d77ada0a1ed47fc9983cc3dfbb6c52"/><file name="mysql4-install-2.3.4.2.php" hash="deaea497fbb845739102375833116f90"/><file name="mysql4-upgrade-0.2.0-0.3.0.php" hash="d08b88d172a58246d27cfe8b1b25b353"/><file name="mysql4-upgrade-0.3.1-0.3.2.php" hash="55d56591823e441d4f5f8c34c4067922"/><file name="mysql4-upgrade-0.3.2-2.0.0.php" hash="d78bde958b23787eb243a2f0ab3814eb"/><file name="mysql4-upgrade-2.0.0-2.3.4.2.php" hash="caa9c9b26eb98a662e62d28adf1475f4"/><file name="mysql4-upgrade-2.4.0.3-2.4.1.0.php" hash="e67007d6ccc67dbcfb226c5601f8c8f0"/><file name="mysql4-upgrade-2.4.1.17-2.4.3.0.php" hash="aaca3b01138aedeaee8edc1cc231736f"/><file name="mysql4-upgrade-2.4.1.6-2.4.1.7.php" hash="fe16b8c574899d242e8b07889c823605"/><file name="mysql4-upgrade-2.4.6-2.4.7.php" hash="27d32d4c780813ef93de0b3512235af2"/></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="5823bbc2a78666972dd02d5fd3e9d05d"/><dir name="Logs"><file name="Grid.php" hash="9c472c78640c8aecb5de4b638372e6f5"/></dir><dir name="Shipment"><dir name="Split"><file name="Form.php" hash="db44693b1eda47cb1d87b8a69ac9a5a0"/></dir><file name="Split.php" hash="4cb66f91987f842c699bd2d6c42f2249"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Method.php" hash="935a3d4adad09d6c049cd6bb4cefb8db"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><file name="List.php" hash="5de6102a56f4a9301f1b81004da39ef8"/></dir><file name="Product.php" hash="71a865c01574fd10ee0ffa7475cee378"/></dir><dir name="Catalogsearch"><dir name="Advanced"><file name="Result.php" hash="ad5a157444b80a284e0f9e7a91187b55"/></dir><file name="Result.php" hash="33e4ab0994bde9ba5dd87ade63869bee"/></dir><dir name="Html"><dir name="Head"><file name="Iparcel.php" hash="dd1737d041e9357269fa35b27dbef0bd"/><file name="Jquery.php" hash="3fd23960111c32d5696cc3de63e41b6e"/><file name="Post.php" hash="793d578cf82fb3ba83e1edc87b79ff95"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Totals"><file name="Abstract.php" hash="71cdfdce9a538b2f78b83b7b5eac8b19"/><file name="Duty.php" hash="2ca06e658c24b74d5e3dfa2a6950b010"/><file name="Tax.php" hash="7b630e60c6ff9340bedefdc84e99cef4"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Iparcel"><file name="LogController.php" hash="94e2095979140ad6d7c149080be30d38"/><file name="ShipmentController.php" hash="a9b8896d816b7612e1dc0638a2f8b740"/><dir name="Shipment"><file name="SplitController.php" hash="6a294947cf9399e42e90c890a6da2caa"/></dir><dir name="Sync"><file name="AjaxController.php" hash="224df904979eb90a3f639a8f5c89787a"/></dir></dir></dir><file name="AjaxController.php" hash="9069724f071742b25c83b2d0cc368871"/><file name="InfoController.php" hash="ab1bdf953dac27d87e9c5c8023ed9380"/><file name="InternationalController.php" hash="5250af3266389ddf0f5ea3a806652328"/></dir><dir name="etc"><file name="adminhtml.xml" hash="50bc0bee93b5612763321eae11cfdc51"/><file name="config.xml" hash="3fc0f987d470f83ccb10bd04de9d6abb"/><file name="system.xml" hash="823d3690c187d8c3db42912d83a6303b"/></dir><dir name="Helper"><file name="Api.php" hash="a52b559f0bad602fd329eaa2f9b6a91c"/><file name="Data.php" hash="2e4f16bb0a3f1fe1345b5d21df59dbae"/><file name="International.php" hash="7bba0cd23188eaa3f99ed3d32ffccd14"/></dir><dir name="Model"><dir name="Api"><file name="Quote.php" hash="2e938bda13d007e73f8c2238aff76fa1"/></dir><dir name="Carrier"><file name="Abstract.php" hash="87ebc5b402ea74709a00abcf2a8aa856"/><file name="Iparcel.php" hash="add977e3b85ae8c08914874f02a288b3"/></dir><dir name="Catalog"><dir name="Product"><file name="Observer.php" hash="2fd0ce66f180cb7d0dfbe752e5227636"/></dir></dir><dir name="Config"><dir name="Script"><file name="Js.php" hash="f29fc9a7535bc886b3ccf8b2e5b7ebfc"/></dir></dir><file name="Cron.php" hash="670d37cd6cdbe60aa69fad8eb0a0759e"/><file name="Log.php" hash="8c87e5f356f8ca77a186430dda106097"/><file name="Observer.php" hash="9d53f374789eaa0b13349843d3e2c7fd"/><dir name="Order"><dir name="Creditmemo"><dir name="Total"><file name="Duty.php" hash="33b91a5b8fa32293bfe0eab4460b04f9"/><file name="Tax.php" hash="7cd4046231eb8cb9031ae160720390da"/></dir></dir><dir name="Invoice"><dir name="Total"><file name="Duty.php" hash="5a4010994ea502afe88632ddd2699c63"/><file name="Tax.php" hash="c4c95aaaae9662860dd635238150aa46"/></dir></dir></dir><dir name="Payment"><file name="Iparcel.php" hash="d7881d795edbbd7279888e3a86fff2c8"/></dir><dir name="Quote"><dir name="Address"><dir name="Total"><file name="Abstract.php" hash="c5f5a251d5cf9f6ddb5a6d92efad157b"/><file name="Collector.php" hash="f805c3fc373f931d912b92cf38a15154"/><file name="Duty.php" hash="41adb9e60a5a22e1e552eb12aa83f858"/><file name="Tax.php" hash="262c99bceac487a5849058d6ed88011e"/></dir></dir></dir><dir name="Resource"><dir name="Api"><file name="Quote.php" hash="84d032b89c5df67ef24a112ad7846302"/></dir><dir name="Log"><file name="Collection.php" hash="7cb78be07207a599eff71c1e18ba0b7a"/></dir><file name="Log.php" hash="d14c2eb8314456a18adadbb52856e0b5"/><dir name="Mysql4"><file name="Setup.php" hash="9f9cf4b5934b70bd00b394beacb245f7"/></dir></dir><dir name="System"><dir name="Config"><dir name="Catalog"><file name="Mapping.php" hash="3d44f4b4ee157333556f588d7d8cd25b"/></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 name="Tax"><dir name="Quote"><file name="Shipping.php" hash="e4b0f82aaef3666be520bc2da28af098"/><file name="Subtotal.php" hash="6824b6e6e86dc423fd493a31b15aa28d"/><file name="Tax.php" hash="7ee0528db7b7f9e89cd00a0b0c74dda9"/></dir></dir></dir><dir name="sql"><dir name="iparcel_setup"><file name="mysql4-upgrade-1.0.0-1.1.0.php" hash="4df6e3a3f2adf96eeb6ccdac213e3f1e"/><file name="mysql4-upgrade-1.1.0-1.1.1.php" hash="358045d3bf4a53a477e52b573289fe4c"/><file name="mysql4-upgrade-1.1.1-1.2.0.php" hash="1f04c5c71a6a79aaf74810e87670d998"/><file name="mysql4-upgrade-1.2.0-1.2.1.php" hash="de1c9caa713dd194595aa2dd15a829ac"/><file name="mysql4-upgrade-1.2.1-1.3.0.php" hash="f7a5567470b6a3c98530600b48993889"/></dir></dir></dir></dir></dir></dir><dir name="design"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="ipglobalecommerce"><file name="cpf.phtml" hash="6f7835f5df6f6baabaf6a136a372469a"/></dir><dir name="iparcel"><dir name="html"><dir name="head"><file name="iparcel.phtml" hash="07091c9914189cfef06af8cc6e41855c"/><file name="jquery.phtml" hash="c287cb0aa4ddd1f04f27cb5df605a27d"/><file name="post.phtml" hash="1a53e744668b250175ba275b4260050b"/><file name="iparcel.phtml" hash="07091c9914189cfef06af8cc6e41855c"/><file name="jquery.phtml" hash="c287cb0aa4ddd1f04f27cb5df605a27d"/><file name="post.phtml" hash="1a53e744668b250175ba275b4260050b"/></dir></dir><dir name="post"><file name="list.phtml" hash="20e5d7d7f82e1f8d951a1509921eb3bf"/><file name="list.phtml" hash="20e5d7d7f82e1f8d951a1509921eb3bf"/></dir><file name="post.phtml" hash="3827cab2dba981556aeb8ec915ab03cc"/></dir></dir><dir name="layout"><file name="externalshipping.xml" hash="3d6f4472442849cdb356ce9a8c33da65"/><file name="iparcel.xml" hash="55aec816cb242fe44aab3a2e0d9de0ba"/><file name="iparcel.xml" hash="55aec816cb242fe44aab3a2e0d9de0ba"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="externalsales.xml" hash="990ecce7258a8f6586d41efde1f29e13"/><file name="iparcel.xml" hash="b6e4778db9cebc970e1dc58cae12eb85"/></dir><dir name="template"><dir name="iparcel"><dir name="order"><dir name="totals"><file name="duty.phtml" hash="7af41c6d47dafeb890a520d8e6e39910"/><file name="tax.phtml" hash="25bffd2b58554cf28e5f4abe4b4e1e7c"/></dir></dir><dir name="sync"><dir name="ajax"><file name="catalog.phtml" hash="54ad431bc5f9b6d8dc50a1160e6d6ab5"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><file name="Iparcel_GlobaleCommerce.xml" hash="0dc1ebffdd8d16f0da230acdf7c76901"/><file name="Iparcel_All.xml" hash="89e4b47a6ac9aa0b82f70b1539d587ea"/></dir></dir><dir name="locale"><dir name="en_US"><file name="iparcel.csv" hash="cbcb75a490376ca0b63c8c66622c1656"/></dir></dir></dir><dir name="var"><dir name="connect"><file name="iparcel_connect.xml" hash="d212a8922aadf484676e74a880ad86eb"/></dir></dir><dir name="js"><dir name="iparcel"><dir name="adminhtml"><file name="label.js" hash="39bf27f07ff782dcde65480d4ff04496"/><file name="label.js" hash="39bf27f07ff782dcde65480d4ff04496"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f755af215fb6121c766644bd9a0f399d"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f755af215fb6121c766644bd9a0f399d"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f755af215fb6121c766644bd9a0f399d"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f755af215fb6121c766644bd9a0f399d"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="f755af215fb6121c766644bd9a0f399d"/></dir><file name="cpf.js" hash="92443ee9633827b535044aebbdaeef87"/><file name="jQuery.js" hash="8ec1680e4d815ff93f661214efa06276"/><file name="lib.js" hash="42c556650eb62797de469f1770bde3f0"/><file name="post.js" hash="c710697e3d4905a6a707222728485047"/><file name="jQuery.js" hash="8ec1680e4d815ff93f661214efa06276"/><file name="lib.js" hash="42c556650eb62797de469f1770bde3f0"/><file name="post.js" hash="c710697e3d4905a6a707222728485047"/><file name="jQuery.js" hash="8ec1680e4d815ff93f661214efa06276"/><file name="lib.js" hash="42c556650eb62797de469f1770bde3f0"/><file name="post.js" hash="c710697e3d4905a6a707222728485047"/></dir></dir><dir name="skin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="iparcel"><dir name="font"><file name="code128.ttf" hash=""/></dir><file name="ajaxSync.css" hash="c622b9e4b77589bc0f3c0555124d2751"/></dir></dir></dir></dir></dir></target></contents>
|
22 |
<compatible/>
|
23 |
<dependencies>
|
24 |
<required>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>iparcel_connect</name>
|
4 |
+
<version>3.2.3</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>2017-03-06</date>
|
20 |
+
<time>21:46:51</time>
|
21 |
+
<contents><target name="mageweb"><dir name="app"><dir name="code"><dir name="community"><dir name="Iparcel"><dir name="GlobaleCommerce"><dir name="Block"><file name="Cpf.php" hash="084f9bd9599539adcfb3684b9b2aca46"/><dir name="Payment"><file name="Info.php" hash="cbc97ba5326777dfc1192409be1de364"/></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="777136c54e9edaf0a4f218c477439f17"/><file name="DevController.php" hash="c76afd120afb3d23c4176d584c0b4c75"/><file name="OrderController.php" hash="7e5a68e14b6aa8da0e7d35eca26ab48b"/></dir><dir name="etc"><file name="adminhtml.xml" hash="13d82fdb42fad3c9ccf2d474cf287797"/><file name="config.xml" hash="323a5637c80577d72ec9875b6af750e8"/><file name="system.xml" hash="569c2d14d196bfc0d9b10e70842cc570"/></dir><dir name="Helper"><file name="Api.php" hash="e6ccd2cee450298d71e6514bdf9bdefd"/><file name="Data.php" hash="33cac3c2511b7e3a3bb045db60863a8c"/><file name="String.php" hash="13620129b7a2d8aa3dfaabaa8a17526e"/><dir name="Sales"><file name="Data.php" hash="6f7f15b86012d9e5e6b48cccdbbac7f1"/></dir></dir><dir name="Model"><dir name="Api"><dir name="External"><dir name="Sales"><file name="Order.php" hash="ffd4989b4e66de8a84ca9192cfa5b5c0"/></dir></dir></dir><dir name="Carrier"><file name="Iparcel.php" hash="79bdbdbbac238774e519a1ba1ba581eb"/></dir><dir name="Cpf"><file name="Order.php" hash="51bf749b00a9b51e2f6f39a7e9734d86"/><file name="Quote.php" hash="6af90f0a33e0c02ba041bb6ff5882d7d"/></dir><file name="Cpf.php" hash="650bbe60bae37b3e43d8686378a2282b"/><file name="Parcel.php" hash="e9325c49bc67983c075b5bba76bc243a"/><dir name="Payment"><file name="Iparcel.php" hash="9e409ecd268225c713a180abe17c3a94"/></dir><dir name="Resource"><dir name="Api"><file name="Order.php" hash="2daf80f9a3be2c687b1ae3d9561c4305"/></dir><dir name="Cpf"><file name="Collection.php" hash="ac85f294739a7a892f60a63ca9dc8217"/><file name="Order.php" hash="e8391efb37ceecba5c6c73a2ff474b91"/><file name="Quote.php" hash="0a4687a32ebc264888e2eb21e885d938"/><dir name="Order"><file name="Collection.php" hash="7f8406d9e4a901183b36c8d0e85c1b87"/></dir><dir name="Quote"><file name="Collection.php" hash="08f0e8427111a34878ed8b711f13b5cf"/></dir></dir><file name="Cpf.php" hash="8e459e3535510675d9d7a1867d244008"/><file name="Parcel.php" hash="389b267d69b196454fbc97e9287cbca5"/><file name="Setup.php" hash="4752a060c3cf972f30d503b3d7f7ce70"/><dir name="Parcel"><file name="Collection.php" hash="3009eb727415705ae5f83739c007804c"/></dir></dir><dir name="Sales"><dir name="Order"><file name="Observer.php" hash="22e58f9e21b4ca3cd41f611bdd479a57"/></dir><file name="Order.php" hash="3e24b0b9a493a295f70684da3bb8b37e"/><dir name="Quote"><file name="Observer.php" hash="b9ac9f1f2323765b482dd4970ed2c7e8"/></dir></dir></dir><dir name="sql"><dir name="ipglobalecommerce_setup"><file name="mysql4-install-0.2.0.php" hash="a2d77ada0a1ed47fc9983cc3dfbb6c52"/><file name="mysql4-install-0.3.0.php" hash="a2d77ada0a1ed47fc9983cc3dfbb6c52"/><file name="mysql4-install-2.3.4.2.php" hash="deaea497fbb845739102375833116f90"/><file name="mysql4-upgrade-0.2.0-0.3.0.php" hash="d08b88d172a58246d27cfe8b1b25b353"/><file name="mysql4-upgrade-0.3.1-0.3.2.php" hash="55d56591823e441d4f5f8c34c4067922"/><file name="mysql4-upgrade-0.3.2-2.0.0.php" hash="d78bde958b23787eb243a2f0ab3814eb"/><file name="mysql4-upgrade-2.0.0-2.3.4.2.php" hash="caa9c9b26eb98a662e62d28adf1475f4"/><file name="mysql4-upgrade-2.4.0.3-2.4.1.0.php" hash="e67007d6ccc67dbcfb226c5601f8c8f0"/><file name="mysql4-upgrade-2.4.1.17-2.4.3.0.php" hash="aaca3b01138aedeaee8edc1cc231736f"/><file name="mysql4-upgrade-2.4.1.6-2.4.1.7.php" hash="fe16b8c574899d242e8b07889c823605"/><file name="mysql4-upgrade-2.4.6-2.4.7.php" hash="27d32d4c780813ef93de0b3512235af2"/></dir></dir></dir><dir name="All"><file name=".DS_Store" hash="65fe18d18b7cbf3a93481181e55cd396"/><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="5823bbc2a78666972dd02d5fd3e9d05d"/><file name="Sync.php" hash="ce239afe604653d4b15c739df965fa06"/><dir name="Logs"><file name="Grid.php" hash="9c472c78640c8aecb5de4b638372e6f5"/></dir><dir name="Shipment"><dir name="Split"><file name="Form.php" hash="db44693b1eda47cb1d87b8a69ac9a5a0"/></dir><file name="Split.php" hash="4cb66f91987f842c699bd2d6c42f2249"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Method.php" hash="935a3d4adad09d6c049cd6bb4cefb8db"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><file name="List.php" hash="5de6102a56f4a9301f1b81004da39ef8"/></dir><file name="Product.php" hash="71a865c01574fd10ee0ffa7475cee378"/></dir><dir name="Catalogsearch"><dir name="Advanced"><file name="Result.php" hash="ad5a157444b80a284e0f9e7a91187b55"/></dir><file name="Result.php" hash="33e4ab0994bde9ba5dd87ade63869bee"/></dir><dir name="Html"><dir name="Head"><file name="Iparcel.php" hash="dd1737d041e9357269fa35b27dbef0bd"/><file name="Jquery.php" hash="3fd23960111c32d5696cc3de63e41b6e"/><file name="Post.php" hash="793d578cf82fb3ba83e1edc87b79ff95"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Totals"><file name="Abstract.php" hash="71cdfdce9a538b2f78b83b7b5eac8b19"/><file name="Duty.php" hash="2ca06e658c24b74d5e3dfa2a6950b010"/><file name="Tax.php" hash="7b630e60c6ff9340bedefdc84e99cef4"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Iparcel"><file name="LogController.php" hash="94e2095979140ad6d7c149080be30d38"/><file name="ShipmentController.php" hash="a9b8896d816b7612e1dc0638a2f8b740"/><dir name="Shipment"><file name="SplitController.php" hash="6a294947cf9399e42e90c890a6da2caa"/></dir><dir name="Sync"><file name="AjaxController.php" hash="8a7f2440ee161682eba59aeb7706f19a"/></dir></dir></dir><file name="AjaxController.php" hash="9069724f071742b25c83b2d0cc368871"/><file name="InfoController.php" hash="ab1bdf953dac27d87e9c5c8023ed9380"/><file name="InternationalController.php" hash="5250af3266389ddf0f5ea3a806652328"/></dir><dir name="etc"><file name="adminhtml.xml" hash="50bc0bee93b5612763321eae11cfdc51"/><file name="config.xml" hash="3fc0f987d470f83ccb10bd04de9d6abb"/><file name="system.xml" hash="823d3690c187d8c3db42912d83a6303b"/></dir><dir name="Helper"><file name="Api.php" hash="9512604a09d94b728aa9a94933edd7a4"/><file name="Data.php" hash="2e4f16bb0a3f1fe1345b5d21df59dbae"/><file name="International.php" hash="7bba0cd23188eaa3f99ed3d32ffccd14"/></dir><dir name="Model"><dir name="Api"><file name="Quote.php" hash="2e938bda13d007e73f8c2238aff76fa1"/></dir><dir name="Carrier"><file name="Abstract.php" hash="87ebc5b402ea74709a00abcf2a8aa856"/><file name="Iparcel.php" hash="12d9447bf8b1f3ac6e9bd7f7b26fbfcd"/></dir><dir name="Catalog"><dir name="Product"><file name="Observer.php" hash="2fd0ce66f180cb7d0dfbe752e5227636"/></dir></dir><dir name="Config"><dir name="Script"><file name="Js.php" hash="f29fc9a7535bc886b3ccf8b2e5b7ebfc"/></dir></dir><file name="Cron.php" hash="670d37cd6cdbe60aa69fad8eb0a0759e"/><file name="Log.php" hash="8c87e5f356f8ca77a186430dda106097"/><file name="Observer.php" hash="9d53f374789eaa0b13349843d3e2c7fd"/><dir name="Order"><dir name="Creditmemo"><dir name="Total"><file name="Duty.php" hash="33b91a5b8fa32293bfe0eab4460b04f9"/><file name="Tax.php" hash="7cd4046231eb8cb9031ae160720390da"/></dir></dir><dir name="Invoice"><dir name="Total"><file name="Duty.php" hash="5a4010994ea502afe88632ddd2699c63"/><file name="Tax.php" hash="c4c95aaaae9662860dd635238150aa46"/></dir></dir></dir><dir name="Payment"><file name="Iparcel.php" hash="d7881d795edbbd7279888e3a86fff2c8"/></dir><dir name="Quote"><dir name="Address"><dir name="Total"><file name="Abstract.php" hash="c5f5a251d5cf9f6ddb5a6d92efad157b"/><file name="Collector.php" hash="f805c3fc373f931d912b92cf38a15154"/><file name="Duty.php" hash="41adb9e60a5a22e1e552eb12aa83f858"/><file name="Tax.php" hash="262c99bceac487a5849058d6ed88011e"/></dir></dir></dir><dir name="Resource"><dir name="Api"><file name="Quote.php" hash="84d032b89c5df67ef24a112ad7846302"/></dir><dir name="Log"><file name="Collection.php" hash="7cb78be07207a599eff71c1e18ba0b7a"/></dir><file name="Log.php" hash="d14c2eb8314456a18adadbb52856e0b5"/><dir name="Mysql4"><file name="Setup.php" hash="9f9cf4b5934b70bd00b394beacb245f7"/></dir></dir><dir name="System"><dir name="Config"><dir name="Catalog"><file name="Mapping.php" hash="3d44f4b4ee157333556f588d7d8cd25b"/></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 name="Tax"><dir name="Quote"><file name="Shipping.php" hash="e4b0f82aaef3666be520bc2da28af098"/><file name="Subtotal.php" hash="6824b6e6e86dc423fd493a31b15aa28d"/><file name="Tax.php" hash="7ee0528db7b7f9e89cd00a0b0c74dda9"/></dir></dir></dir><dir name="sql"><dir name="iparcel_setup"><file name="mysql4-upgrade-1.0.0-1.1.0.php" hash="4df6e3a3f2adf96eeb6ccdac213e3f1e"/><file name="mysql4-upgrade-1.1.0-1.1.1.php" hash="358045d3bf4a53a477e52b573289fe4c"/><file name="mysql4-upgrade-1.1.1-1.2.0.php" hash="1f04c5c71a6a79aaf74810e87670d998"/><file name="mysql4-upgrade-1.2.0-1.2.1.php" hash="de1c9caa713dd194595aa2dd15a829ac"/><file name="mysql4-upgrade-1.2.1-1.3.0.php" hash="f7a5567470b6a3c98530600b48993889"/></dir></dir></dir></dir></dir></dir><dir name="design"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="ipglobalecommerce"><file name="cpf.phtml" hash="6f7835f5df6f6baabaf6a136a372469a"/></dir><dir name="iparcel"><dir name="html"><dir name="head"><file name="iparcel.phtml" hash="07091c9914189cfef06af8cc6e41855c"/><file name="jquery.phtml" hash="c287cb0aa4ddd1f04f27cb5df605a27d"/><file name="post.phtml" hash="1a53e744668b250175ba275b4260050b"/><file name="iparcel.phtml" hash="07091c9914189cfef06af8cc6e41855c"/><file name="jquery.phtml" hash="c287cb0aa4ddd1f04f27cb5df605a27d"/><file name="post.phtml" hash="1a53e744668b250175ba275b4260050b"/></dir></dir><dir name="post"><file name="list.phtml" hash="20e5d7d7f82e1f8d951a1509921eb3bf"/><file name="list.phtml" hash="20e5d7d7f82e1f8d951a1509921eb3bf"/></dir><file name="post.phtml" hash="3827cab2dba981556aeb8ec915ab03cc"/></dir></dir><dir name="layout"><file name="externalshipping.xml" hash="3d6f4472442849cdb356ce9a8c33da65"/><file name="iparcel.xml" hash="55aec816cb242fe44aab3a2e0d9de0ba"/><file name="iparcel.xml" hash="55aec816cb242fe44aab3a2e0d9de0ba"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="externalsales.xml" hash="990ecce7258a8f6586d41efde1f29e13"/><file name="iparcel.xml" hash="f23a0739ab95168725913180ef44fff9"/></dir><dir name="template"><dir name="iparcel"><dir name="order"><dir name="totals"><file name="duty.phtml" hash="7af41c6d47dafeb890a520d8e6e39910"/><file name="tax.phtml" hash="25bffd2b58554cf28e5f4abe4b4e1e7c"/></dir></dir><dir name="sync"><dir name="ajax"><file name="catalog.phtml" hash="b95262967f28618b50f01962047816f2"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><file name="Iparcel_GlobaleCommerce.xml" hash="0dc1ebffdd8d16f0da230acdf7c76901"/><file name="Iparcel_All.xml" hash="89e4b47a6ac9aa0b82f70b1539d587ea"/></dir></dir><dir name="locale"><dir name="en_US"><file name="iparcel.csv" hash="cbcb75a490376ca0b63c8c66622c1656"/></dir></dir></dir><dir name="var"><dir name="connect"><file name="iparcel_connect.xml" hash="d212a8922aadf484676e74a880ad86eb"/></dir></dir><dir name="js"><dir name="iparcel"><dir name="adminhtml"><file name="label.js" hash="39bf27f07ff782dcde65480d4ff04496"/><file name="label.js" hash="39bf27f07ff782dcde65480d4ff04496"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="ec17cf8528736f8aab3dd0ac76e3e7d9"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="ec17cf8528736f8aab3dd0ac76e3e7d9"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="ec17cf8528736f8aab3dd0ac76e3e7d9"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="ec17cf8528736f8aab3dd0ac76e3e7d9"/><file name="shipping-methods.js" hash="eca91e8a5cf152fce7af0eb5bf2991bb"/><file name="sync.js" hash="ec17cf8528736f8aab3dd0ac76e3e7d9"/></dir><file name="cpf.js" hash="92443ee9633827b535044aebbdaeef87"/><file name="jQuery.js" hash="8ec1680e4d815ff93f661214efa06276"/><file name="lib.js" hash="ea2e78b3fa40dd2be5e1f8559742ee86"/><file name="post.js" hash="55a14e510b988d893e95860e83e3f16b"/><file name="jQuery.js" hash="8ec1680e4d815ff93f661214efa06276"/><file name="lib.js" hash="ea2e78b3fa40dd2be5e1f8559742ee86"/><file name="post.js" hash="55a14e510b988d893e95860e83e3f16b"/><file name="jQuery.js" hash="8ec1680e4d815ff93f661214efa06276"/><file name="lib.js" hash="ea2e78b3fa40dd2be5e1f8559742ee86"/><file name="post.js" hash="55a14e510b988d893e95860e83e3f16b"/></dir></dir><dir name="skin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="iparcel"><dir name="font"><file name="code128.ttf" hash=""/><file name="code128.ttf" hash=""/></dir><file name="ajaxSync.css" hash="8e9222a567c960ec381f43307fd8d882"/></dir></dir></dir></dir></dir></target></contents>
|
22 |
<compatible/>
|
23 |
<dependencies>
|
24 |
<required>
|
skin/adminhtml/default/default/iparcel/ajaxSync.css
CHANGED
@@ -1,4 +1,22 @@
|
|
1 |
-
*{
|
2 |
-
|
3 |
-
|
4 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
* {
|
2 |
+
margin: 0;
|
3 |
+
padding: 0;
|
4 |
+
}
|
5 |
+
|
6 |
+
#message {
|
7 |
+
display: block;
|
8 |
+
}
|
9 |
+
|
10 |
+
*[id="page:main-container"] div {
|
11 |
+
background-color: #8cd9cd;
|
12 |
+
margin: 5px 0;
|
13 |
+
padding: 5px;
|
14 |
+
font-family: sans-serif;
|
15 |
+
font-size: 12px;
|
16 |
+
display: none;
|
17 |
+
}
|
18 |
+
|
19 |
+
#log-area {
|
20 |
+
width: 100%;
|
21 |
+
height: 150px;
|
22 |
+
}
|