Version Notes
Accessorial support in admin
Download this release
Release Info
Developer | Karen Baker |
Extension | shipperhq_shipperhq |
Version | 2.52.0 |
Comparing to | |
See all releases |
Version 2.52.0
- app/code/community/Shipperhq/Frontend/Block/Adminhtml/Sales/Order/Create/Shipping/Method/Form.php +135 -0
- app/code/community/Shipperhq/Frontend/Block/Catalog/Helper.php +226 -0
- app/code/community/Shipperhq/Frontend/Block/Catalog/Shipresults.php +94 -0
- app/code/community/Shipperhq/Frontend/Block/Checkout/AbstractBlock.php +52 -0
- app/code/community/Shipperhq/Frontend/Block/Checkout/Helper.php +698 -0
- app/code/community/Shipperhq/Frontend/Block/Checkout/Multishipping/Shipping.php +122 -0
- app/code/community/Shipperhq/Frontend/Block/Checkout/Onepage/Progress.php +52 -0
- app/code/community/Shipperhq/Frontend/Block/Checkout/Onepage/Shipping/Method/Available.php +158 -0
- app/code/community/Shipperhq/Frontend/Model/Checkout/Type/Multishipping.php +181 -0
- app/code/community/Shipperhq/Frontend/etc/config.xml +9 -0
- app/code/community/Shipperhq/Migration/Block/Adminhtml/Migration.php +48 -0
- app/code/community/Shipperhq/Migration/Block/Adminhtml/Migration/Edit/Form.php +35 -0
- app/code/community/Shipperhq/Migration/Block/Adminhtml/Migration/Migratable.php +214 -0
- app/code/community/Shipperhq/Migration/Helper/Data.php +152 -0
- app/code/community/Shipperhq/Migration/Model/Migrate.php +271 -0
- app/code/community/Shipperhq/Migration/Model/Product/Action.php +152 -0
- app/code/community/Shipperhq/Migration/Model/Resource/Iterator/Batched.php +63 -0
- app/code/community/Shipperhq/Migration/controllers/Adminhtml/Shqmigration/AjaxController.php +140 -0
- app/code/community/Shipperhq/Migration/controllers/Adminhtml/ShqmigrationController.php +76 -0
- app/code/community/Shipperhq/Migration/etc/adminhtml.xml +67 -0
- app/code/community/Shipperhq/Migration/etc/config.xml +85 -0
- app/code/community/Shipperhq/Migration/etc/migrate.xml +95 -0
- app/code/community/Shipperhq/Paypalexpress/Model/Express/Checkout.php +126 -0
- app/code/community/Shipperhq/Paypalexpress/etc/config.xml +47 -0
- app/code/community/Shipperhq/Pbint/Block/Adminhtml/System/Upload.php +73 -0
- app/code/community/Shipperhq/Pbint/Block/Sales/Order/Duty.php +55 -0
- app/code/community/Shipperhq/Pbint/Helper/Data.php +64 -0
- app/code/community/Shipperhq/Pbint/Model/Catalog/Category.php +180 -0
- app/code/community/Shipperhq/Pbint/Model/Catalog/Cron.php +151 -0
- app/code/community/Shipperhq/Pbint/Model/Catalog/File.php +862 -0
- app/code/community/Shipperhq/Pbint/Model/Catalog/Product.php +244 -0
- app/code/community/Shipperhq/Pbint/Model/Credentials.php +78 -0
- app/code/community/Shipperhq/Pbint/Model/Creditmemo/Duty.php +75 -0
- app/code/community/Shipperhq/Pbint/Model/Helper.php +224 -0
- app/code/community/Shipperhq/Pbint/Model/Inboundparcel.php +40 -0
- app/code/community/Shipperhq/Pbint/Model/Invoice/Duty.php +79 -0
- app/code/community/Shipperhq/Pbint/Model/Mysql4/Inboundparcel.php +39 -0
- app/code/community/Shipperhq/Pbint/Model/Mysql4/Inboundparcel/Collection.php +39 -0
- app/code/community/Shipperhq/Pbint/Model/Mysql4/Ordernumber.php +39 -0
- app/code/community/Shipperhq/Pbint/Model/Mysql4/Ordernumber/Collection.php +39 -0
- app/code/community/Shipperhq/Pbint/Model/Mysql4/Variable.php +39 -0
- app/code/community/Shipperhq/Pbint/Model/Mysql4/Variable/Collection.php +39 -0
- app/code/community/Shipperhq/Pbint/Model/Observer.php +171 -0
- app/code/community/Shipperhq/Pbint/Model/Ordernumber.php +40 -0
- app/code/community/Shipperhq/Pbint/Model/Pdf/Duty.php +41 -0
- app/code/community/Shipperhq/Pbint/Model/Quote/Duty.php +90 -0
- app/code/community/Shipperhq/Pbint/Model/Resource/Mysql4/Setup.php +33 -0
- app/code/community/Shipperhq/Pbint/Model/Variable.php +40 -0
- app/code/community/Shipperhq/Pbint/README +2 -0
- app/code/community/Shipperhq/Pbint/changelog.txt +0 -0
- app/code/community/Shipperhq/Pbint/controllers/Adminhtml/ShqpitneyController.php +66 -0
- app/code/community/Shipperhq/Pbint/etc/config.xml +248 -0
- app/code/community/Shipperhq/Pbint/etc/system.xml +162 -0
- app/code/community/Shipperhq/Pbint/sql/shqpbint_setup/mysql4-install-1.0.0.php +72 -0
- app/code/community/Shipperhq/Pbint/sql/shqpbint_setup/mysql4-install-1.0.1.php +73 -0
- app/code/community/Shipperhq/Pbint/sql/shqpbint_setup/mysql4-upgrade-1.0.0-1.0.1.php +29 -0
- app/code/community/Shipperhq/Shipper/Block/Adminhtml/Carrier/About.php +72 -0
- app/code/community/Shipperhq/Shipper/Block/Adminhtml/Carrier/Heading.php +48 -0
- app/code/community/Shipperhq/Shipper/Block/Adminhtml/Carrier/Refreshcarriers.php +74 -0
- app/code/community/Shipperhq/Shipper/Block/Adminhtml/Catalog/Product/Edit/Tab/Dimensional.php +50 -0
- app/code/community/Shipperhq/Shipper/Block/Adminhtml/Synchronize.php +57 -0
- app/code/community/Shipperhq/Shipper/Block/Adminhtml/Synchronize/Grid.php +96 -0
- app/code/community/Shipperhq/Shipper/Block/Adminhtml/Synchronize/Notify.php +97 -0
- app/code/community/Shipperhq/Shipper/Block/Adminhtml/System/Config/Fieldset/Shipper/Hint.php +51 -0
- app/code/community/Shipperhq/Shipper/Helper/Data.php +1026 -0
- app/code/community/Shipperhq/Shipper/Helper/Mapper.php +48 -0
- app/code/community/Shipperhq/Shipper/Model/Adminhtml/System/Config/Source/Carriers.php +57 -0
- app/code/community/Shipperhq/Shipper/Model/Adminhtml/System/Config/Source/Environmentscope.php +63 -0
- app/code/community/Shipperhq/Shipper/Model/Attributeupdate.php +41 -0
- app/code/community/Shipperhq/Shipper/Model/Carrier/Backup.php +142 -0
- app/code/community/Shipperhq/Shipper/Model/Carrier/Convert/AddressMapper.php +256 -0
- app/code/community/Shipperhq/Shipper/Model/Carrier/Convert/OrderMapper.php +274 -0
- app/code/community/Shipperhq/Shipper/Model/Carrier/Convert/ShipmentMapper.php +191 -0
- app/code/community/Shipperhq/Shipper/Model/Carrier/Convert/ShipperMapper.php +671 -0
- app/code/community/Shipperhq/Shipper/Model/Carrier/Shipper.php +1099 -0
- app/code/community/Shipperhq/Shipper/Model/Carrier/Shipperadmin.php +105 -0
- app/code/community/Shipperhq/Shipper/Model/Checkout/Helper.php +76 -0
- app/code/community/Shipperhq/Shipper/Model/Observer.php +439 -0
- app/code/community/Shipperhq/Shipper/Model/Observer/Order.php +446 -0
- app/code/community/Shipperhq/Shipper/Model/Observer/Shipment.php +107 -0
- app/code/community/Shipperhq/Shipper/Model/Order/Packages.php +87 -0
- app/code/community/Shipperhq/Shipper/Model/Quote/Packages.php +79 -0
- app/code/community/Shipperhq/Shipper/Model/Rate/Result.php +73 -0
- app/code/community/Shipperhq/Shipper/Model/Resource/Attributeupdate.php +37 -0
- app/code/community/Shipperhq/Shipper/Model/Resource/Attributeupdate/Collection.php +38 -0
- app/code/community/Shipperhq/Shipper/Model/Resource/Order/Packages.php +76 -0
- app/code/community/Shipperhq/Shipper/Model/Resource/Order/Packages/Collection.php +50 -0
- app/code/community/Shipperhq/Shipper/Model/Resource/Quote/Packages.php +76 -0
- app/code/community/Shipperhq/Shipper/Model/Resource/Quote/Packages/Collection.php +55 -0
- app/code/community/Shipperhq/Shipper/Model/Resource/Storage.php +161 -0
- app/code/community/Shipperhq/Shipper/Model/Sales/Quote/Address/Rate.php +73 -0
- app/code/community/Shipperhq/Shipper/Model/Session.php +41 -0
- app/code/community/Shipperhq/Shipper/Model/Source/Freight/Freightclass.php +73 -0
- app/code/community/Shipperhq/Shipper/Model/Source/Validation/Result.php +105 -0
- app/code/community/Shipperhq/Shipper/Model/Storage.php +242 -0
- app/code/community/Shipperhq/Shipper/Model/Storage/Manager.php +67 -0
- app/code/community/Shipperhq/Shipper/Model/Synchronize.php +432 -0
- app/code/community/Shipperhq/Shipper/changelog.txt +82 -0
- app/code/community/Shipperhq/Shipper/controllers/Adminhtml/ShqajaxController.php +63 -0
- app/code/community/Shipperhq/Shipper/controllers/Adminhtml/ShqsynchronizeController.php +96 -0
- app/code/community/Shipperhq/Shipper/etc/adminhtml.xml +70 -0
- app/code/community/Shipperhq/Shipper/etc/config.xml +523 -0
- app/code/community/Shipperhq/Shipper/etc/system.xml +286 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.10.php +502 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.11.php +526 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.12.php +556 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.13.php +568 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.14.php +548 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.15.php +567 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.16.php +461 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.17.php +444 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.18.php +624 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.19.php +629 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.20.php +634 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.21.php +645 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.22.php +649 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.23.php +671 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.24.php +690 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.25.php +816 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.26.php +836 -0
- app/code/community/Shipperhq/Shipper/sql/shipperhq_shipper_setup/mysql4-install-0.0.27.php +354 -0
app/code/community/Shipperhq/Frontend/Block/Adminhtml/Sales/Order/Create/Shipping/Method/Form.php
ADDED
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Shipperhq_Frontend_Block_Adminhtml_Sales_Order_Create_Shipping_Method_Form
|
4 |
+
extends Mage_Adminhtml_Block_Sales_Order_Create_Shipping_Method_Form
|
5 |
+
{
|
6 |
+
/**
|
7 |
+
* Returns a helper block, that is used to retrieve all data
|
8 |
+
*
|
9 |
+
* @return Shipperhq_Frontend_Block_Checkout_Helper
|
10 |
+
*/
|
11 |
+
public function getHelperBlock()
|
12 |
+
{
|
13 |
+
if ($this->_helperBlock === null) {
|
14 |
+
$this->_helperBlock = $this->getLayout()->createBlock(
|
15 |
+
'shipperhq_frontend/checkout_helper',
|
16 |
+
sprintf('%s.helper', $this->getNameInLayout())
|
17 |
+
);
|
18 |
+
|
19 |
+
$this->_helperBlock->init(array(
|
20 |
+
'calendar_block' => 'shipperhq_calendar/adminhtml_sales_order_create_shipping_method_calendar',
|
21 |
+
'calendar_template' => 'shipperhq/calendar/sales/order/create/shipping_method/calendar.phtml',
|
22 |
+
'pickup_block' => 'shipperhq_pickup/adminhtml_sales_order_create_shipping_method_storepickup',
|
23 |
+
'pickup_template' => 'shipperhq/pickup/sales/order/create/shipping_method/storepickup.phtml',
|
24 |
+
'accessorials_block' => 'shipperhq_freight/adminhtml_sales_order_create_shipping_method_accessorials',
|
25 |
+
'accessorials_template' => 'shipperhq/freight/sales/order/create/shipping_method/accessorials.phtml',
|
26 |
+
'quote' => $this->getQuote(),
|
27 |
+
'address' => $this->getAddress()
|
28 |
+
));
|
29 |
+
}
|
30 |
+
|
31 |
+
|
32 |
+
return $this->_helperBlock;
|
33 |
+
}
|
34 |
+
|
35 |
+
public function getCarrierGroupRates()
|
36 |
+
{
|
37 |
+
return $this->getHelperBlock()->getCarrierGroupRates();
|
38 |
+
}
|
39 |
+
|
40 |
+
public function getProcessedShippingRates()
|
41 |
+
{
|
42 |
+
return $this->getHelperBlock()->getProcessedShippingRates($this->getShippingRates());
|
43 |
+
}
|
44 |
+
|
45 |
+
public function adminShippingEnabled()
|
46 |
+
{
|
47 |
+
return Mage::getStoreConfigFlag('carriers/shipper/custom_admin');
|
48 |
+
}
|
49 |
+
|
50 |
+
/*
|
51 |
+
* Retrieves the items details ready for printing to checkout when < 2 carrier groups are in checkout
|
52 |
+
*/
|
53 |
+
public function getSingleItemDetails($shippingRates)
|
54 |
+
{
|
55 |
+
return $this->getHelperBlock()->getSingleItemDetails($shippingRates);
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Populates the location select dropdown
|
60 |
+
* @return string
|
61 |
+
*/
|
62 |
+
public function getShippingMethodsSelect($name, $id, $value, $rates, $sole)
|
63 |
+
{
|
64 |
+
return $this->getHelperBlock()->getShippingMethodsSelect($name, $id, $value, $rates, $sole);
|
65 |
+
}
|
66 |
+
|
67 |
+
public function getAddressShippingMethod()
|
68 |
+
{
|
69 |
+
return $this->getHelperBlock()->getAddressShippingMethod();
|
70 |
+
}
|
71 |
+
|
72 |
+
public function isShippingMethodSelected($rates)
|
73 |
+
{
|
74 |
+
return $this->getHelperBlock()->isShippingMethodSelected($rates);
|
75 |
+
}
|
76 |
+
|
77 |
+
public function getShippingPrice($price, $flag, $includeContainer = true)
|
78 |
+
{
|
79 |
+
return $this->getHelperBlock()->getShippingPrice($price, $flag, $includeContainer);
|
80 |
+
}
|
81 |
+
|
82 |
+
public function showToolTips() {
|
83 |
+
return $this->getHelperBlock()->showToolTips();
|
84 |
+
}
|
85 |
+
|
86 |
+
public function getToolTipText()
|
87 |
+
{
|
88 |
+
return $this->getHelperBlock()->getToolTipText();
|
89 |
+
}
|
90 |
+
|
91 |
+
public function getMethodTitle($methodTitle, $methodDescription, $includeContainer)
|
92 |
+
{
|
93 |
+
return $this->getHelperBlock()->getMethodTitle($methodTitle, $methodDescription, $includeContainer);
|
94 |
+
}
|
95 |
+
|
96 |
+
protected function getFormattedItemList($items)
|
97 |
+
{
|
98 |
+
return $this->getHelperBlock()->getFormattedItemList($items);
|
99 |
+
}
|
100 |
+
|
101 |
+
public function getCarrierGroupAddressShippingMethod($carrierGroup)
|
102 |
+
{
|
103 |
+
return $this->getHelperBlock()->getCarrierGroupAddressShippingMethod($carrierGroup);
|
104 |
+
}
|
105 |
+
|
106 |
+
public function showItemDescription()
|
107 |
+
{
|
108 |
+
return $this->getHelperBlock()->showItemDescription();
|
109 |
+
}
|
110 |
+
|
111 |
+
public function getStorepickupHtml($carrierCode, $carrierType, $carriergroup = null )
|
112 |
+
{
|
113 |
+
return $this->getHelperBlock()->getStorepickupHtml($carrierCode, $carrierType, $carriergroup);
|
114 |
+
}
|
115 |
+
|
116 |
+
public function getCalendarHtml($carriergroup, $code, $soleMethod = false)
|
117 |
+
{
|
118 |
+
return $this->getHelperBlock()->getCalendarHtml($carriergroup, $code, $soleMethod);
|
119 |
+
}
|
120 |
+
|
121 |
+
public function isPickupCarrier($rate)
|
122 |
+
{
|
123 |
+
return $this->getHelperBlock()->isPickupCarrier($rate);
|
124 |
+
}
|
125 |
+
|
126 |
+
public function isFreightCarrier($rate)
|
127 |
+
{
|
128 |
+
return $this->getHelperBlock()->isFreightCarrier($rate);
|
129 |
+
}
|
130 |
+
|
131 |
+
public function getFreightAccessorialsHtml($carrierCode, $carrierType, $carrerigroup = '')
|
132 |
+
{
|
133 |
+
return $this->getHelperBlock()->getFreightAccessorialsHtml($carrerigroup, $carrierCode, $carrierType);
|
134 |
+
}
|
135 |
+
}
|
app/code/community/Shipperhq/Frontend/Block/Catalog/Helper.php
ADDED
@@ -0,0 +1,226 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Shipperhq_Frontend_Block_Catalog_Helper
|
4 |
+
extends Mage_Core_Block_Template
|
5 |
+
{
|
6 |
+
|
7 |
+
private static $_debug;
|
8 |
+
|
9 |
+
protected $_storepickup;
|
10 |
+
protected $_calendar;
|
11 |
+
protected $_rates;
|
12 |
+
protected $_accessorial;
|
13 |
+
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Calendar block name
|
17 |
+
*
|
18 |
+
* @var string
|
19 |
+
*/
|
20 |
+
protected $_calendarBlockType;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Calendar block template
|
24 |
+
*
|
25 |
+
* @var string
|
26 |
+
*/
|
27 |
+
protected $_calendarBlockTemplate;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Store pickup block name
|
31 |
+
*
|
32 |
+
* @var string
|
33 |
+
*/
|
34 |
+
protected $_storePickupBlockType;
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Store pickup block template
|
38 |
+
*
|
39 |
+
* @var string
|
40 |
+
*/
|
41 |
+
protected $_storePickupBlockTemplate;
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Freight accessorials block name
|
45 |
+
*
|
46 |
+
* @var string
|
47 |
+
*/
|
48 |
+
protected $_freightAccessorialsBlockType;
|
49 |
+
|
50 |
+
/*
|
51 |
+
* Freight accessorials block template
|
52 |
+
*
|
53 |
+
* @var string
|
54 |
+
*/
|
55 |
+
protected $_freightAccessorialsBlockTemplate;
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Sets debug flag
|
59 |
+
*/
|
60 |
+
protected function _construct() {
|
61 |
+
self::$_debug = Mage::helper('wsalogger')->isDebug('Shipperhq_Splitrates');
|
62 |
+
|
63 |
+
parent::_construct();
|
64 |
+
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Sets up block properties
|
69 |
+
*
|
70 |
+
* @param array $options
|
71 |
+
* @return $this
|
72 |
+
*/
|
73 |
+
public function init($options)
|
74 |
+
{
|
75 |
+
if (isset($options['calendar_block'])) {
|
76 |
+
$this->setCalendarBlockType($options['calendar_block']);
|
77 |
+
}
|
78 |
+
if (isset($options['calendar_template'])) {
|
79 |
+
$this->setCalendarBlockTemplate($options['calendar_template']);
|
80 |
+
}
|
81 |
+
// if (isset($options['pickup_block'])) {
|
82 |
+
// $this->setStorePickUpBlockType($options['pickup_block']);
|
83 |
+
// }
|
84 |
+
// if (isset($options['pickup_template'])) {
|
85 |
+
// $this->setStorePickUpBlockTemplate($options['pickup_template']);
|
86 |
+
// }
|
87 |
+
|
88 |
+
return $this;
|
89 |
+
}
|
90 |
+
|
91 |
+
public function isCalendarRate($carrierGroupId, $carrierCode, $carrierType)
|
92 |
+
{
|
93 |
+
return Mage::helper('shipperhq_calendar')->hasCalendarDetails($carrierGroupId,$carrierCode, $carrierType);
|
94 |
+
}
|
95 |
+
|
96 |
+
public function getCalendarHtml($carriergroup, $code)
|
97 |
+
{
|
98 |
+
|
99 |
+
$block = $this->_getCalendar()
|
100 |
+
->setCarriergroupId($carriergroup)
|
101 |
+
->setCarrierCode($code)
|
102 |
+
->setName('calendar')
|
103 |
+
->setTemplate($this->getCalendarBlockTemplate())
|
104 |
+
->toHtml();
|
105 |
+
return $block;
|
106 |
+
}
|
107 |
+
|
108 |
+
public function getStorepickupHtml($carrierCode, $carrierType, $carriergroup = null )
|
109 |
+
{
|
110 |
+
return $this->_getStorePickup('storepickup_'.$carrierCode)
|
111 |
+
->setCarriergroupId($carriergroup)
|
112 |
+
->setCarrierCode($carrierCode)
|
113 |
+
->setIsAccessPoints(Mage::helper('shipperhq_pickup')->isUpsAccessPointCarrier($carrierType))
|
114 |
+
->setCarrierType($carrierType)
|
115 |
+
->setName('storepickup_'.$carrierCode)
|
116 |
+
->setTemplate($this->getStorePickUpBlockTemplate())
|
117 |
+
->toHtml();
|
118 |
+
}
|
119 |
+
|
120 |
+
protected function _getCalendar($name = '')
|
121 |
+
{
|
122 |
+
if (!$this->_calendar) {
|
123 |
+
$this->_calendar = $this->getLayout()->createBlock($this->getCalendarBlockType(), $name);
|
124 |
+
// $this->_calendar->setQuote($this->getQuote());
|
125 |
+
// $this->_calendar->setAddress($this->getAddress());
|
126 |
+
}
|
127 |
+
|
128 |
+
return $this->_calendar;
|
129 |
+
}
|
130 |
+
|
131 |
+
protected function _getStorePickup($name)
|
132 |
+
{
|
133 |
+
$this->_storepickup = $this->getLayout()->createBlock($this->getStorePickUpBlockType(), $name);
|
134 |
+
$this->_storepickup->setQuote($this->getQuote());
|
135 |
+
$this->_storepickup->setAddress($this->getAddress());
|
136 |
+
return $this->_storepickup;
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* Returns calendar block type
|
141 |
+
*
|
142 |
+
* @return string
|
143 |
+
*/
|
144 |
+
public function getCalendarBlockType()
|
145 |
+
{
|
146 |
+
return $this->_calendarBlockType;
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Sets calendar block type
|
151 |
+
*
|
152 |
+
* @param string $blockType
|
153 |
+
* @return $this
|
154 |
+
*/
|
155 |
+
public function setCalendarBlockType($blockType)
|
156 |
+
{
|
157 |
+
$this->_calendarBlockType = $blockType;
|
158 |
+
return $this;
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Returns calendar block type
|
163 |
+
*
|
164 |
+
* @return string
|
165 |
+
*/
|
166 |
+
public function getCalendarBlockTemplate()
|
167 |
+
{
|
168 |
+
return $this->_calendarBlockTemplate;
|
169 |
+
}
|
170 |
+
|
171 |
+
/**
|
172 |
+
* Sets calendar block type
|
173 |
+
*
|
174 |
+
* @param string $blockType
|
175 |
+
* @return $this
|
176 |
+
*/
|
177 |
+
public function setCalendarBlockTemplate($blockType)
|
178 |
+
{
|
179 |
+
$this->_calendarBlockTemplate = $blockType;
|
180 |
+
return $this;
|
181 |
+
}
|
182 |
+
|
183 |
+
/**
|
184 |
+
* Returns a block type, that should be used for a calendar
|
185 |
+
*
|
186 |
+
* @return string
|
187 |
+
*/
|
188 |
+
public function getStorePickUpBlockTemplate()
|
189 |
+
{
|
190 |
+
return $this->_storePickupBlockTemplate;
|
191 |
+
}
|
192 |
+
|
193 |
+
/**
|
194 |
+
* Sets store pickup block type
|
195 |
+
*
|
196 |
+
* @param string $template
|
197 |
+
* @return $this
|
198 |
+
*/
|
199 |
+
public function setStorePickUpBlockTemplate($template)
|
200 |
+
{
|
201 |
+
$this->_storePickupBlockTemplate = $template;
|
202 |
+
return $this;
|
203 |
+
}
|
204 |
+
|
205 |
+
/**
|
206 |
+
* Returns a block type, that should be used for a calendar
|
207 |
+
*
|
208 |
+
* @return string
|
209 |
+
*/
|
210 |
+
public function getStorePickUpBlockType()
|
211 |
+
{
|
212 |
+
return $this->_storePickupBlockType;
|
213 |
+
}
|
214 |
+
|
215 |
+
/**
|
216 |
+
* Sets store pickup block type
|
217 |
+
*
|
218 |
+
* @param $blockType
|
219 |
+
* @return $this
|
220 |
+
*/
|
221 |
+
public function setStorePickUpBlockType($blockType)
|
222 |
+
{
|
223 |
+
$this->_storePickupBlockType = $blockType;
|
224 |
+
return $this;
|
225 |
+
}
|
226 |
+
}
|
app/code/community/Shipperhq/Frontend/Block/Catalog/Shipresults.php
ADDED
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Webshopapps Shipping Module
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
19 |
+
* versions in the future. If you wish to customize Magento for your
|
20 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
21 |
+
*
|
22 |
+
* Shipper HQ Shipping
|
23 |
+
*
|
24 |
+
* @category ShipperHQ
|
25 |
+
* @package ShipperHQ_Shipping_Carrier
|
26 |
+
* @copyright Copyright (c) 2014 Zowta LLC (http://www.ShipperHQ.com)
|
27 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
28 |
+
* @author ShipperHQ Team sales@shipperhq.com
|
29 |
+
*/
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Provides proxy methods for helper block
|
33 |
+
*
|
34 |
+
* Supplies helper block with render information
|
35 |
+
*/
|
36 |
+
class Shipperhq_Frontend_Block_Catalog_Shipresults extends Mage_Catalog_Block_Product_Abstract
|
37 |
+
{
|
38 |
+
/**
|
39 |
+
* Returns a helper block, that is used to retrieve all data
|
40 |
+
*
|
41 |
+
* @return Shipperhq_Frontend_Block_Checkout_Helper
|
42 |
+
*/
|
43 |
+
public function getHelperBlock()
|
44 |
+
{
|
45 |
+
if ($this->_helperBlock === null) {
|
46 |
+
$this->_helperBlock = $this->getLayout()->createBlock(
|
47 |
+
'shipperhq_frontend/catalog_helper',
|
48 |
+
sprintf('%s.helper', $this->getNameInLayout())
|
49 |
+
);
|
50 |
+
|
51 |
+
//TODO change these
|
52 |
+
$this->_helperBlock->init(array(
|
53 |
+
'calendar_block' => 'shipperhq_calendar/catalog_calendar',
|
54 |
+
'calendar_template' => 'shipperhq/calendar/catalog/calendar.phtml',
|
55 |
+
// 'pickup_block' => 'shipperhq_pickup/checkout_onepage_shipping_method_storepickup',
|
56 |
+
// 'pickup_template' => 'shipperhq/pickup/checkout/onepage/shipping_method/storepickup.phtml',
|
57 |
+
//
|
58 |
+
));
|
59 |
+
}
|
60 |
+
|
61 |
+
|
62 |
+
return $this->_helperBlock;
|
63 |
+
}
|
64 |
+
|
65 |
+
public function isCalendarRate($carrierGroupId, $carrierCode, $carrierType)
|
66 |
+
{
|
67 |
+
return $this->getHelperBlock()->isCalendarRate($carrierGroupId, $carrierCode, $carrierType);
|
68 |
+
}
|
69 |
+
|
70 |
+
public function getCalendarHtml($carriergroup, $code, $soleMethod = false)
|
71 |
+
{
|
72 |
+
return $this->getHelperBlock()->getCalendarHtml($carriergroup, $code);
|
73 |
+
}
|
74 |
+
|
75 |
+
public function getStorepickupHtml($carrierCode, $carrierType, $carriergroup = null )
|
76 |
+
{
|
77 |
+
return $this->getHelperBlock()->getStorepickupHtml($carrierCode, $carrierType, $carriergroup);
|
78 |
+
}
|
79 |
+
|
80 |
+
public function isPickupCarrier($rate)
|
81 |
+
{
|
82 |
+
return $this->getHelperBlock()->isPickupCarrier($rate);
|
83 |
+
}
|
84 |
+
|
85 |
+
public function isFreightCarrier($rate)
|
86 |
+
{
|
87 |
+
return $this->getHelperBlock()->isFreightCarrier($rate);
|
88 |
+
}
|
89 |
+
|
90 |
+
public function getFreightAccessorialsHtml($carrierCode, $carrierType, $carrerigroup = '')
|
91 |
+
{
|
92 |
+
return $this->getHelperBlock()->getFreightAccessorialsHtml($carrerigroup, $carrierCode, $carrierType);
|
93 |
+
}
|
94 |
+
}
|
app/code/community/Shipperhq/Frontend/Block/Checkout/AbstractBlock.php
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
abstract class Shipperhq_Frontend_Block_Checkout_AbstractBlock
|
4 |
+
extends Mage_Core_Block_Template
|
5 |
+
{
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Quote instance
|
9 |
+
*
|
10 |
+
* @var Mage_Sales_Model_Quote
|
11 |
+
*/
|
12 |
+
protected $_quote;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Instance of address for shipping calculations
|
16 |
+
*
|
17 |
+
* @var Mage_Sales_Model_Quote_Address
|
18 |
+
*/
|
19 |
+
protected $_address;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @return Mage_Sales_Model_Quote_Address
|
23 |
+
*/
|
24 |
+
public function getAddress()
|
25 |
+
{
|
26 |
+
if (empty($this->_address)) {
|
27 |
+
$this->_address = $this->getQuote()->getShippingAddress();
|
28 |
+
}
|
29 |
+
return $this->_address;
|
30 |
+
}
|
31 |
+
|
32 |
+
public function setAddress($address)
|
33 |
+
{
|
34 |
+
$this->_address = $address;
|
35 |
+
return $this;
|
36 |
+
}
|
37 |
+
|
38 |
+
public function setQuote(Mage_Sales_Model_Quote $quote)
|
39 |
+
{
|
40 |
+
$this->_quote = $quote;
|
41 |
+
return $this;
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* @return Mage_Sales_Model_Quote
|
46 |
+
*/
|
47 |
+
public function getQuote()
|
48 |
+
{
|
49 |
+
return $this->_quote;
|
50 |
+
}
|
51 |
+
|
52 |
+
}
|
app/code/community/Shipperhq/Frontend/Block/Checkout/Helper.php
ADDED
@@ -0,0 +1,698 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Shipperhq_Frontend_Block_Checkout_Helper
|
4 |
+
extends Shipperhq_Frontend_Block_Checkout_AbstractBlock
|
5 |
+
{
|
6 |
+
|
7 |
+
private static $_debug;
|
8 |
+
|
9 |
+
protected $_storepickup;
|
10 |
+
protected $_calendar;
|
11 |
+
protected $_rates;
|
12 |
+
protected $_accessorial;
|
13 |
+
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Calendar block name
|
17 |
+
*
|
18 |
+
* @var string
|
19 |
+
*/
|
20 |
+
protected $_calendarBlockType;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Calendar block template
|
24 |
+
*
|
25 |
+
* @var string
|
26 |
+
*/
|
27 |
+
protected $_calendarBlockTemplate;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Store pickup block name
|
31 |
+
*
|
32 |
+
* @var string
|
33 |
+
*/
|
34 |
+
protected $_storePickupBlockType;
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Store pickup block template
|
38 |
+
*
|
39 |
+
* @var string
|
40 |
+
*/
|
41 |
+
protected $_storePickupBlockTemplate;
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Freight accessorials block name
|
45 |
+
*
|
46 |
+
* @var string
|
47 |
+
*/
|
48 |
+
protected $_freightAccessorialsBlockType;
|
49 |
+
|
50 |
+
/*
|
51 |
+
* Freight accessorials block template
|
52 |
+
*
|
53 |
+
* @var string
|
54 |
+
*/
|
55 |
+
protected $_freightAccessorialsBlockTemplate;
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Sets debug flag
|
59 |
+
*/
|
60 |
+
protected function _construct() {
|
61 |
+
self::$_debug = Mage::helper('wsalogger')->isDebug('Shipperhq_Splitrates');
|
62 |
+
|
63 |
+
parent::_construct();
|
64 |
+
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Sets up block properties
|
69 |
+
*
|
70 |
+
* @param array $options
|
71 |
+
* @return $this
|
72 |
+
*/
|
73 |
+
public function init($options)
|
74 |
+
{
|
75 |
+
if (isset($options['calendar_block'])) {
|
76 |
+
$this->setCalendarBlockType($options['calendar_block']);
|
77 |
+
}
|
78 |
+
if (isset($options['calendar_template'])) {
|
79 |
+
$this->setCalendarBlockTemplate($options['calendar_template']);
|
80 |
+
}
|
81 |
+
if (isset($options['pickup_block'])) {
|
82 |
+
$this->setStorePickUpBlockType($options['pickup_block']);
|
83 |
+
}
|
84 |
+
if (isset($options['pickup_template'])) {
|
85 |
+
$this->setStorePickUpBlockTemplate($options['pickup_template']);
|
86 |
+
}
|
87 |
+
if (isset($options['accessorials_block'])) {
|
88 |
+
$this->setFreightAccessorialsBlockType($options['accessorials_block']);
|
89 |
+
}
|
90 |
+
if (isset($options['accessorials_template'])) {
|
91 |
+
$this->setFreightAccessorialsBlockTemplate($options['accessorials_template']);
|
92 |
+
}
|
93 |
+
if (isset($options['quote'])) {
|
94 |
+
$this->setQuote($options['quote']);
|
95 |
+
}
|
96 |
+
if (isset($options['address'])) {
|
97 |
+
$this->setAddress($options['address']);
|
98 |
+
}
|
99 |
+
|
100 |
+
return $this;
|
101 |
+
}
|
102 |
+
|
103 |
+
public function getCarrierGroupRates()
|
104 |
+
{
|
105 |
+
self::$_debug = true;
|
106 |
+
if (self::$_debug) {
|
107 |
+
Mage::helper('wsalogger/log')->postInfo('ShipperHQ','Getting Carrier Group Rates','');
|
108 |
+
}
|
109 |
+
$shippingRateGroups = $this->getShippingRates();
|
110 |
+
if (count($shippingRateGroups)==0) {
|
111 |
+
return;
|
112 |
+
}
|
113 |
+
|
114 |
+
$carrierGroupRates=array();
|
115 |
+
|
116 |
+
$address = $this->getAddress();
|
117 |
+
$address->unsetData('cached_items_all');
|
118 |
+
$address->unsetData('cached_items_nonnominal');
|
119 |
+
|
120 |
+
$itemsGrouped = Mage::helper('shipperhq_shipper')->getItemsGroupedByCarrierGroup($address->getAllItems());
|
121 |
+
$carrierGroupDescriber = Mage::getStoreConfig(Shipperhq_Shipper_Helper_Data::SHIPPERHQ_SHIPPER_CARRIERGROUP_DESC_PATH)?
|
122 |
+
Mage::getStoreConfig(Shipperhq_Shipper_Helper_Data::SHIPPERHQ_SHIPPER_CARRIERGROUP_DESC_PATH) : 'Vendor' ;
|
123 |
+
$displayMerged = $address->getCheckoutDisplayMerged() == 1? true : false;
|
124 |
+
|
125 |
+
$carrierGroupText = array();
|
126 |
+
$carrierGroupErrors = array();
|
127 |
+
foreach ($shippingRateGroups as $code=>$rates) {
|
128 |
+
$tempGroupRates=array();
|
129 |
+
foreach ($rates as $rate) {
|
130 |
+
|
131 |
+
$carriergroup=$rate->getCarriergroupId();
|
132 |
+
if(!$displayMerged && is_null($carriergroup)) {
|
133 |
+
continue;
|
134 |
+
}
|
135 |
+
$checkoutText = $rate->getCarriergroup();
|
136 |
+
if (array_key_exists($carriergroup,$tempGroupRates)) {
|
137 |
+
$tempGroupRates[$carriergroup][]=$rate;
|
138 |
+
} else {
|
139 |
+
$tempGroupRates[$carriergroup]= array($rate);
|
140 |
+
}
|
141 |
+
if($rate->getErrorMessage()) {
|
142 |
+
$carrierGroupErrors[$carriergroup][$code] = true;
|
143 |
+
}
|
144 |
+
if(isset($carriergroup) && $checkoutText != '') {
|
145 |
+
$carrierGroupText[$carriergroup] = $checkoutText;
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
foreach ($tempGroupRates as $carriergroup=>$rates) {
|
150 |
+
if (array_key_exists($carriergroup,$carrierGroupRates)) {
|
151 |
+
$carrierGroupRates[$carriergroup]['shipping'][$code] = $rates;
|
152 |
+
} else {
|
153 |
+
$carrierGroupRates[$carriergroup] = array (
|
154 |
+
'item_list' => false,
|
155 |
+
'shipping' => array(
|
156 |
+
$code => $rates
|
157 |
+
)
|
158 |
+
);
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
|
163 |
+
foreach ($carrierGroupRates as $carriergroup=>$value) {
|
164 |
+
if (array_key_exists($carriergroup,$itemsGrouped)) {
|
165 |
+
$carrierGroupRates[$carriergroup]['item_list']= $this->getFormattedItemList(
|
166 |
+
$itemsGrouped[$carriergroup]);
|
167 |
+
$carrierGroupRates[$carriergroup]['plain_item_list']= $itemsGrouped[$carriergroup];
|
168 |
+
}
|
169 |
+
if(array_key_exists($carriergroup, $carrierGroupErrors)) {
|
170 |
+
$carrierGroupRates[$carriergroup]['error']= $carrierGroupErrors[$carriergroup];
|
171 |
+
}
|
172 |
+
if(array_key_exists($carriergroup, $carrierGroupText)) {
|
173 |
+
$carrierGroupRates[$carriergroup]['checkout_text'] = $carrierGroupText[$carriergroup];
|
174 |
+
}
|
175 |
+
else {
|
176 |
+
$carrierGroupRates[$carriergroup]['checkout_text'] = '';
|
177 |
+
}
|
178 |
+
$carrierGroupRates[$carriergroup]['carriergroup_text'] = $carrierGroupDescriber;
|
179 |
+
}
|
180 |
+
|
181 |
+
if (self::$_debug) {
|
182 |
+
Mage::helper('wsalogger/log')->postInfo('ShipperHQ','Rates display information',$carrierGroupText);
|
183 |
+
}
|
184 |
+
|
185 |
+
return $carrierGroupRates;
|
186 |
+
}
|
187 |
+
|
188 |
+
public function getShippingRates()
|
189 |
+
{
|
190 |
+
|
191 |
+
// if (empty($this->_rates)) {
|
192 |
+
$this->getAddress()->collectShippingRates()->save();
|
193 |
+
$groups = $this->getAddress()->getGroupedAllShippingRates();
|
194 |
+
// return $this->_rates = $groups;
|
195 |
+
// }
|
196 |
+
|
197 |
+
return $groups;//$this->_rates;
|
198 |
+
}
|
199 |
+
|
200 |
+
public function getProcessedShippingRates($shippingRateGroups)
|
201 |
+
{
|
202 |
+
$processedRates = array();
|
203 |
+
$errorArray = array();
|
204 |
+
if(is_array($shippingRateGroups)) {
|
205 |
+
foreach($shippingRateGroups as $code => $rates)
|
206 |
+
{
|
207 |
+
foreach($rates as $rate)
|
208 |
+
{
|
209 |
+
if($rate->getErrorMessage())
|
210 |
+
{
|
211 |
+
$errorArray[$code] = true;
|
212 |
+
}
|
213 |
+
}
|
214 |
+
}
|
215 |
+
}
|
216 |
+
$processedRates['shipping'] = $shippingRateGroups;
|
217 |
+
if(count($errorArray) > 0 ) {
|
218 |
+
$processedRates['error'] = $errorArray;
|
219 |
+
}
|
220 |
+
|
221 |
+
return $processedRates;
|
222 |
+
}
|
223 |
+
|
224 |
+
/*
|
225 |
+
* Retrieves the items details ready for printing to checkout when < 2 carrier groups are in checkout
|
226 |
+
*/
|
227 |
+
public function getSingleItemDetails($shippingRates)
|
228 |
+
{
|
229 |
+
$address = $this->getAddress();
|
230 |
+
$formattedItems = array();
|
231 |
+
|
232 |
+
$itemsGrouped = Mage::helper('shipperhq_shipper')->getItemsGroupedByCarrierGroup($address->getAllItems());
|
233 |
+
|
234 |
+
if (count($itemsGrouped)>1) {
|
235 |
+
if (self::$_debug) {
|
236 |
+
Mage::helper('wsalogger/log')->postDebug('ShipperHQ','Single Warehouse','Found more than 1 carrier group so returning');
|
237 |
+
}
|
238 |
+
return array();
|
239 |
+
}
|
240 |
+
$checkoutText = '';
|
241 |
+
|
242 |
+
foreach ($shippingRates as $code=>$rates) {
|
243 |
+
foreach ($rates as $rate) {
|
244 |
+
$carriergroupShippingDetails = Mage::helper('shipperhq_shipper')->decodeShippingDetails($rate->getCarriergroupShippingDetails());
|
245 |
+
foreach($carriergroupShippingDetails as $detail) {
|
246 |
+
if(array_key_exists('carriergroup', $detail)) {
|
247 |
+
$checkoutText = $detail['carriergroup'];
|
248 |
+
}
|
249 |
+
}
|
250 |
+
}
|
251 |
+
}
|
252 |
+
|
253 |
+
// now format these
|
254 |
+
foreach ($itemsGrouped as $carriergroupId=>$items) {
|
255 |
+
$formattedItems[] = array (
|
256 |
+
'carriergroupId' => $carriergroupId,
|
257 |
+
'checkout_text' => $checkoutText,
|
258 |
+
'item_list' => $this->getFormattedItemList($items));
|
259 |
+
}
|
260 |
+
return $formattedItems;
|
261 |
+
|
262 |
+
}
|
263 |
+
|
264 |
+
/**
|
265 |
+
* Populates the location select dropdown
|
266 |
+
* @return string
|
267 |
+
*/
|
268 |
+
public function getShippingMethodsSelect($name, $id, $value, $rates, $sole)
|
269 |
+
{
|
270 |
+
$options = array();
|
271 |
+
$error = false;
|
272 |
+
$matchedToSelected = false;
|
273 |
+
foreach($rates as $_rate) {
|
274 |
+
|
275 |
+
if($_rate->getErrorMessage()) {
|
276 |
+
$options = '<dt><ul class="messages"><li class="error-msg"><ul><li>'.$_rate->getErrorMessage() .'</li></ul></li></ul></dt>';
|
277 |
+
|
278 |
+
$error = true;
|
279 |
+
break;
|
280 |
+
}
|
281 |
+
$title = $_rate->getMethodTitle();
|
282 |
+
$_excl = $this->getShippingPrice($_rate->getPrice(), $this->helper('tax')->displayShippingPriceIncludingTax(), false);
|
283 |
+
$_incl = $this->getShippingPrice($_rate->getPrice(), true, false);
|
284 |
+
$label = $title .' ' .$_excl;
|
285 |
+
if ($this->helper('tax')->displayShippingBothPrices() && $_incl != $_excl)
|
286 |
+
{
|
287 |
+
$label .= ' (' .$this->__('Incl. Tax') .' ' .$_incl .')';
|
288 |
+
}
|
289 |
+
$options[] = array(
|
290 |
+
'value' => $_rate->getCode(),
|
291 |
+
'label' => $label,
|
292 |
+
);
|
293 |
+
if($_rate->getCode() == $value) {
|
294 |
+
$matchedToSelected = true;
|
295 |
+
}
|
296 |
+
}
|
297 |
+
|
298 |
+
if($error) {
|
299 |
+
return $options;
|
300 |
+
}
|
301 |
+
|
302 |
+
$select = $this->getLayout()->createBlock('core/html_select')
|
303 |
+
->setName($name)
|
304 |
+
->setId($id)
|
305 |
+
->setClass('shipping-method-select')
|
306 |
+
->setValue($value)
|
307 |
+
->setOptions($options);
|
308 |
+
if(!$sole) {
|
309 |
+
$select->setExtraParams('hidden="true"');
|
310 |
+
}
|
311 |
+
if($matchedToSelected) {
|
312 |
+
$select->setValue($value);
|
313 |
+
}
|
314 |
+
return $select->getHtml();
|
315 |
+
}
|
316 |
+
|
317 |
+
public function isShippingMethodSelected($rates)
|
318 |
+
{
|
319 |
+
$selectedShippingMethod = $this->getAddressShippingMethod();
|
320 |
+
foreach($rates as $rate)
|
321 |
+
{
|
322 |
+
if($rate->getCode() == $selectedShippingMethod) {
|
323 |
+
return true;
|
324 |
+
}
|
325 |
+
}
|
326 |
+
return false;
|
327 |
+
}
|
328 |
+
|
329 |
+
public function getShippingPrice($price, $flag, $includeContainer = true)
|
330 |
+
{
|
331 |
+
return $this->getQuote()->getStore()->convertPrice(Mage::helper('tax')->getShippingPrice($price, $flag, $this->getAddress()), true, $includeContainer);
|
332 |
+
}
|
333 |
+
|
334 |
+
public function getMethodTitle($methodTitle, $methodDescription, $includeContainer)
|
335 |
+
{
|
336 |
+
$title = $methodTitle;
|
337 |
+
if($includeContainer) {
|
338 |
+
$truncatedTitle = str_replace($methodDescription, '', $methodTitle);
|
339 |
+
$title = '<span class="method-title">'.$truncatedTitle.'</span> <span class="method-extra">'.$methodDescription.'</span>';
|
340 |
+
}
|
341 |
+
return $title;
|
342 |
+
}
|
343 |
+
|
344 |
+
public function showToolTips() {
|
345 |
+
$globals = Mage::helper('shipperhq_shipper')->getGlobalSettings();
|
346 |
+
if (!is_array($globals) || !array_key_exists('shippingTooltipText', $globals)
|
347 |
+
|| $globals['shippingTooltipText'] == '') {
|
348 |
+
return false;
|
349 |
+
}
|
350 |
+
return true;
|
351 |
+
}
|
352 |
+
|
353 |
+
public function getToolTipText()
|
354 |
+
{
|
355 |
+
$globals = Mage::helper('shipperhq_shipper')->getGlobalSettings();
|
356 |
+
if (is_null($globals) || !array_key_exists('shippingTooltipText', $globals)
|
357 |
+
|| $globals['shippingTooltipText'] == '') {
|
358 |
+
return false;
|
359 |
+
}
|
360 |
+
return addslashes($globals['shippingTooltipText']);
|
361 |
+
}
|
362 |
+
|
363 |
+
protected function getFormattedItemList($items)
|
364 |
+
{
|
365 |
+
$globals = Mage::helper('shipperhq_shipper')->getGlobalSettings();
|
366 |
+
if (is_null($globals)) {
|
367 |
+
return array();
|
368 |
+
}
|
369 |
+
$useParent = true;
|
370 |
+
$showAllItems = true;
|
371 |
+
$formattedItemList=array();
|
372 |
+
|
373 |
+
$weightUnit = 'none';
|
374 |
+
$showWeight = array_key_exists('dropshipShowWeight', $globals) ? $globals['dropshipShowWeight']: false;
|
375 |
+
if($showWeight) {
|
376 |
+
$weightUnit = array_key_exists('weightUnit', $globals) ? $globals['weightUnit']: 'none';
|
377 |
+
}
|
378 |
+
|
379 |
+
foreach ($items as $item) {
|
380 |
+
if ($item->getParentItem() && ( ($item->getParentItem()->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE && $useParent && !$showAllItems)
|
381 |
+
|| $item->getParentItem()->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE )) {
|
382 |
+
continue;
|
383 |
+
}
|
384 |
+
|
385 |
+
if (!$useParent && $item->getHasChildren() && $item->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE ) {
|
386 |
+
continue;
|
387 |
+
}
|
388 |
+
|
389 |
+
if ($item->getHasChildren() && $item->isShipSeparately() && !$useParent) {
|
390 |
+
foreach ($item->getChildren() as $child) {
|
391 |
+
$formattedItemList[]= self::getStyledHtmlItem(
|
392 |
+
'bundle_child',$child->getQty(),$child->getProduct()->getName(),$child->getWeight(),$weightUnit);
|
393 |
+
}
|
394 |
+
} else {
|
395 |
+
$formattedItemList[] = self::getFormattedItem($item ,$weightUnit, $showWeight);
|
396 |
+
}
|
397 |
+
}
|
398 |
+
if (self::$_debug) {
|
399 |
+
Mage::helper('wsalogger/log')->postDebug('ShipperHQ','Formatted Item List',$formattedItemList);
|
400 |
+
}
|
401 |
+
|
402 |
+
return $formattedItemList;
|
403 |
+
}
|
404 |
+
|
405 |
+
|
406 |
+
protected static function getFormattedItem($item, $weightUnit, $showWeight) {
|
407 |
+
|
408 |
+
$class = 'non_bundle';
|
409 |
+
|
410 |
+
if ($item->getHasChildren()) {
|
411 |
+
$class = 'bundle_parent';
|
412 |
+
} elseif ($item->getParentItemId()) {
|
413 |
+
$class = 'bundle_child';
|
414 |
+
}
|
415 |
+
|
416 |
+
$styleHtmlItem = self::getStyledHtmlItem(
|
417 |
+
$class,$item->getQty(),$item->getName(),$item->getWeight(), $weightUnit);
|
418 |
+
|
419 |
+
return $styleHtmlItem;
|
420 |
+
}
|
421 |
+
|
422 |
+
protected static function getStyledHtmlItem($itemType, $qty, $name,$weight,$weightUnit)
|
423 |
+
{
|
424 |
+
$weightHtmlDesc = $weightUnit == 'none' ? '' : '
|
425 |
+
<span class="'.$itemType.'_weight">'.round($weight).$weightUnit.'</span>';
|
426 |
+
|
427 |
+
$qtyHtmlDesc = '<span class="'.$itemType.'_qty">'.$qty.' x '.'</span>';
|
428 |
+
|
429 |
+
$nameHtmlDesc = '<span class="'.$itemType.'_name">'.$name.'</span>';
|
430 |
+
|
431 |
+
return $qtyHtmlDesc.$nameHtmlDesc.$weightHtmlDesc;
|
432 |
+
|
433 |
+
}
|
434 |
+
|
435 |
+
public function getCarrierGroupAddressShippingMethod($carrierGroup)
|
436 |
+
{
|
437 |
+
$shippingDetails = $this->getQuote()->getShippingAddress()->getCarriergroupShippingDetails();
|
438 |
+
if (empty($shippingDetails) || $shippingDetails=='') {
|
439 |
+
return;
|
440 |
+
}
|
441 |
+
$_cargrps = Mage::helper('shipperhq_shipper')->decodeShippingDetails($shippingDetails);
|
442 |
+
foreach ($_cargrps as $_cargrp) {
|
443 |
+
if (is_array($_cargrp) && $_cargrp['carrierGroupId']==$carrierGroup) {
|
444 |
+
return $_cargrp['code'];
|
445 |
+
}
|
446 |
+
}
|
447 |
+
|
448 |
+
}
|
449 |
+
|
450 |
+
public function showItemDescription()
|
451 |
+
{
|
452 |
+
$globals = Mage::helper('shipperhq_shipper')->getGlobalSettings();
|
453 |
+
$showDesc = $globals['dropshipShowItemDesc'];
|
454 |
+
return $showDesc;
|
455 |
+
}
|
456 |
+
|
457 |
+
public function getStorepickupHtml($carrierCode, $carrierType, $carriergroup = null )
|
458 |
+
{
|
459 |
+
return $this->_getStorePickup('storepickup_'.$carrierCode)
|
460 |
+
->setCarriergroupId($carriergroup)
|
461 |
+
->setCarrierCode($carrierCode)
|
462 |
+
->setIsAccessPoints(Mage::helper('shipperhq_pickup')->isUpsAccessPointCarrier($carrierType))
|
463 |
+
->setCarrierType($carrierType)
|
464 |
+
->setName('storepickup_'.$carrierCode)
|
465 |
+
->setTemplate($this->getStorePickUpBlockTemplate())
|
466 |
+
->toHtml();
|
467 |
+
}
|
468 |
+
|
469 |
+
public function getCalendarHtml($carriergroup, $code, $soleMethod = false)
|
470 |
+
{
|
471 |
+
|
472 |
+
return $this->_getCalendar()
|
473 |
+
->setCarriergroupId($carriergroup)
|
474 |
+
->setCarrierCode($code)
|
475 |
+
->setSoleMethod($soleMethod)
|
476 |
+
->setName('calendar')
|
477 |
+
->setTemplate($this->getCalendarBlockTemplate())
|
478 |
+
->toHtml();
|
479 |
+
}
|
480 |
+
|
481 |
+
public function isPickupCarrier($rate)
|
482 |
+
{
|
483 |
+
if(!Mage::helper('shipperhq_shipper')->isModuleEnabled('Shipperhq_Pickup')) {
|
484 |
+
return false;
|
485 |
+
}
|
486 |
+
if($rate && Mage::helper('shipperhq_pickup')->isPickupEnabledCarrier($rate->getCarrierType())) {
|
487 |
+
if (self::$_debug) {
|
488 |
+
Mage::helper('wsalogger/log')->postDebug('ShipperHQ Pickup','Following carrier has pickup enabled: ',
|
489 |
+
'Carrier: ' .$rate->getCode() .', Type : ' .$rate->getCarrierType() );
|
490 |
+
}
|
491 |
+
return true;
|
492 |
+
}
|
493 |
+
if (self::$_debug) {
|
494 |
+
Mage::helper('wsalogger/log')->postDebug('ShipperHQ Pickup','This carrier is not pickup enabled ',
|
495 |
+
'Carrier: ' .$rate->getCode() .', Type : ' .$rate->getCarrierType());
|
496 |
+
}
|
497 |
+
return false;
|
498 |
+
}
|
499 |
+
|
500 |
+
public function isFreightCarrier($rate)
|
501 |
+
{
|
502 |
+
if(!Mage::helper('shipperhq_shipper')->isModuleEnabled('Shipperhq_Freight')) {
|
503 |
+
return false;
|
504 |
+
}
|
505 |
+
if($rate && $rate->getFreightRate() == 1) {
|
506 |
+
if (self::$_debug) {
|
507 |
+
Mage::helper('wsalogger/log')->postDebug('ShipperHQ Freight','Carrier is freight enabled',
|
508 |
+
'Carrier : ' . $rate->getCode() .', Is freight rate : ' .$rate->getFreightRate()
|
509 |
+
);
|
510 |
+
}
|
511 |
+
return true;
|
512 |
+
}
|
513 |
+
if (self::$_debug) {
|
514 |
+
Mage::helper('wsalogger/log')->postDebug('ShipperHQ Freight','Carrier is NOT freight enabled',
|
515 |
+
'Carrier : ' . $rate->getCode() .', Is freight rate : ' .$rate->getFreightRate()
|
516 |
+
);
|
517 |
+
}
|
518 |
+
return false;
|
519 |
+
}
|
520 |
+
|
521 |
+
public function getFreightAccessorialsHtml($carrierGroup, $carrierCode, $carrierType)
|
522 |
+
{
|
523 |
+
//go and get the freight accessorials and set them here for this one carrier
|
524 |
+
|
525 |
+
return $this->_getAccessorial('freight_'.$carrierCode)
|
526 |
+
->setCarriergroupId($carrierGroup)
|
527 |
+
->setCarrierCode($carrierCode)
|
528 |
+
->setName('accessorial_'.$carrierCode)
|
529 |
+
->setTemplate($this->getFreightAccessorialsBlockTemplate())
|
530 |
+
->toHtml();
|
531 |
+
}
|
532 |
+
|
533 |
+
protected function _getStorePickup($name)
|
534 |
+
{
|
535 |
+
$this->_storepickup = $this->getLayout()->createBlock($this->getStorePickUpBlockType(), $name);
|
536 |
+
$this->_storepickup->setQuote($this->getQuote());
|
537 |
+
$this->_storepickup->setAddress($this->getAddress());
|
538 |
+
return $this->_storepickup;
|
539 |
+
}
|
540 |
+
|
541 |
+
protected function _getCalendar($name = '')
|
542 |
+
{
|
543 |
+
if (!$this->_calendar) {
|
544 |
+
$this->_calendar = $this->getLayout()->createBlock($this->getCalendarBlockType(), $name);
|
545 |
+
$this->_calendar->setQuote($this->getQuote());
|
546 |
+
$this->_calendar->setAddress($this->getAddress());
|
547 |
+
}
|
548 |
+
|
549 |
+
return $this->_calendar;
|
550 |
+
}
|
551 |
+
|
552 |
+
protected function _getAccessorial($name = '')
|
553 |
+
{
|
554 |
+
if (!$this->_accessorial) {
|
555 |
+
$this->_accessorial = $this->getLayout()->createBlock($this->getFreightAccessorialsBlockType(), $name);
|
556 |
+
$this->_accessorial->setQuote($this->getQuote());
|
557 |
+
$this->_accessorial->setAddress($this->getAddress());
|
558 |
+
}
|
559 |
+
|
560 |
+
return $this->_accessorial;
|
561 |
+
}
|
562 |
+
|
563 |
+
/**
|
564 |
+
* Returns a block type, that should be used for a calendar
|
565 |
+
*
|
566 |
+
* @return string
|
567 |
+
*/
|
568 |
+
public function getStorePickUpBlockType()
|
569 |
+
{
|
570 |
+
return $this->_storePickupBlockType;
|
571 |
+
}
|
572 |
+
|
573 |
+
/**
|
574 |
+
* Sets store pickup block type
|
575 |
+
*
|
576 |
+
* @param $blockType
|
577 |
+
* @return $this
|
578 |
+
*/
|
579 |
+
public function setStorePickUpBlockType($blockType)
|
580 |
+
{
|
581 |
+
$this->_storePickupBlockType = $blockType;
|
582 |
+
return $this;
|
583 |
+
}
|
584 |
+
|
585 |
+
/**
|
586 |
+
* Returns calendar block type
|
587 |
+
*
|
588 |
+
* @return string
|
589 |
+
*/
|
590 |
+
public function getCalendarBlockType()
|
591 |
+
{
|
592 |
+
return $this->_calendarBlockType;
|
593 |
+
}
|
594 |
+
|
595 |
+
/**
|
596 |
+
* Sets calendar block type
|
597 |
+
*
|
598 |
+
* @param string $blockType
|
599 |
+
* @return $this
|
600 |
+
*/
|
601 |
+
public function setCalendarBlockType($blockType)
|
602 |
+
{
|
603 |
+
$this->_calendarBlockType = $blockType;
|
604 |
+
return $this;
|
605 |
+
}
|
606 |
+
|
607 |
+
/**
|
608 |
+
* Returns a block type, that should be used for a calendar
|
609 |
+
*
|
610 |
+
* @return string
|
611 |
+
*/
|
612 |
+
public function getStorePickUpBlockTemplate()
|
613 |
+
{
|
614 |
+
return $this->_storePickupBlockTemplate;
|
615 |
+
}
|
616 |
+
|
617 |
+
/**
|
618 |
+
* Sets store pickup block type
|
619 |
+
*
|
620 |
+
* @param string $template
|
621 |
+
* @return $this
|
622 |
+
*/
|
623 |
+
public function setStorePickUpBlockTemplate($template)
|
624 |
+
{
|
625 |
+
$this->_storePickupBlockTemplate = $template;
|
626 |
+
return $this;
|
627 |
+
}
|
628 |
+
|
629 |
+
/**
|
630 |
+
* Returns calendar block type
|
631 |
+
*
|
632 |
+
* @return string
|
633 |
+
*/
|
634 |
+
public function getCalendarBlockTemplate()
|
635 |
+
{
|
636 |
+
return $this->_calendarBlockTemplate;
|
637 |
+
}
|
638 |
+
|
639 |
+
/**
|
640 |
+
* Sets calendar block type
|
641 |
+
*
|
642 |
+
* @param string $blockType
|
643 |
+
* @return $this
|
644 |
+
*/
|
645 |
+
public function setCalendarBlockTemplate($blockType)
|
646 |
+
{
|
647 |
+
$this->_calendarBlockTemplate = $blockType;
|
648 |
+
return $this;
|
649 |
+
}
|
650 |
+
|
651 |
+
/**
|
652 |
+
* @param mixed $freightAccessorialsBlockTemplate
|
653 |
+
*/
|
654 |
+
public function setFreightAccessorialsBlockTemplate($freightAccessorialsBlockTemplate)
|
655 |
+
{
|
656 |
+
$this->_freightAccessorialsBlockTemplate = $freightAccessorialsBlockTemplate;
|
657 |
+
}
|
658 |
+
|
659 |
+
/**
|
660 |
+
* @return mixed
|
661 |
+
*/
|
662 |
+
public function getFreightAccessorialsBlockTemplate()
|
663 |
+
{
|
664 |
+
return $this->_freightAccessorialsBlockTemplate;
|
665 |
+
}
|
666 |
+
|
667 |
+
/**
|
668 |
+
* @param string $freightAccessorialsBlockType
|
669 |
+
*/
|
670 |
+
public function setFreightAccessorialsBlockType($freightAccessorialsBlockType)
|
671 |
+
{
|
672 |
+
$this->_freightAccessorialsBlockType = $freightAccessorialsBlockType;
|
673 |
+
}
|
674 |
+
|
675 |
+
/**
|
676 |
+
* @return string
|
677 |
+
*/
|
678 |
+
public function getFreightAccessorialsBlockType()
|
679 |
+
{
|
680 |
+
return $this->_freightAccessorialsBlockType;
|
681 |
+
}
|
682 |
+
|
683 |
+
|
684 |
+
|
685 |
+
public function getCarrierName($carrierCode)
|
686 |
+
{
|
687 |
+
if ($name = Mage::getStoreConfig('carriers/'.$carrierCode.'/title', $this->getQuote()->getStoreId())) {
|
688 |
+
return $name;
|
689 |
+
}
|
690 |
+
|
691 |
+
return $carrierCode;
|
692 |
+
}
|
693 |
+
|
694 |
+
public function getAddressShippingMethod()
|
695 |
+
{
|
696 |
+
return $this->getAddress()->getShippingMethod();
|
697 |
+
}
|
698 |
+
}
|
app/code/community/Shipperhq/Frontend/Block/Checkout/Multishipping/Shipping.php
ADDED
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Webshopapps Shipping Module
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
19 |
+
* versions in the future. If you wish to customize Magento for your
|
20 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
21 |
+
*
|
22 |
+
* Shipper HQ Shipping
|
23 |
+
*
|
24 |
+
* @category ShipperHQ
|
25 |
+
* @package ShipperHQ_Shipping_Carrier
|
26 |
+
* @copyright Copyright (c) 2014 Zowta LLC (http://www.ShipperHQ.com)
|
27 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
28 |
+
* @author ShipperHQ Team sales@shipperhq.com
|