iparcel_connect - Version 2.4.7

Version Notes

Notes

Download this release

Release Info

Developer Bobby Burden
Extension iparcel_connect
Version 2.4.7
Comparing to
See all releases


Code changes from version 2.4.6 to 2.4.7

Files changed (110) hide show
  1. app/code/community/Iparcel/.DS_Store +0 -0
  2. app/code/community/Iparcel/Shipping/.DS_Store +0 -0
  3. app/code/community/Iparcel/Shipping/Block/Adminhtml/Catalog/Checkitems/Button.php +1 -1
  4. app/code/community/Iparcel/Shipping/Block/Adminhtml/Catalog/Mapping/Button.php +1 -1
  5. app/code/community/Iparcel/Shipping/Block/Adminhtml/Iparcel/Dashboard.php +1 -1
  6. app/code/community/Iparcel/Shipping/Block/Adminhtml/Logs.php +1 -1
  7. app/code/community/Iparcel/Shipping/Block/Adminhtml/Logs/Grid.php +1 -1
  8. app/code/community/Iparcel/Shipping/Block/Adminhtml/Sales/Order/Creditmemo/Totals.php +1 -1
  9. app/code/community/Iparcel/Shipping/Block/Adminhtml/Sales/Order/Invoice/Totals.php +1 -1
  10. app/code/community/Iparcel/Shipping/Block/Adminhtml/Sales/Order/Shipment/View/Form.php +1 -1
  11. app/code/community/Iparcel/Shipping/Block/Adminhtml/Sales/Order/Shipment/View/Tracking.php +1 -1
  12. app/code/community/Iparcel/Shipping/Block/Adminhtml/Sales/Order/Totals.php +1 -1
  13. app/code/community/Iparcel/Shipping/Block/Adminhtml/Salesrule/Rule/Sync.php +1 -1
  14. app/code/community/Iparcel/Shipping/Block/Catalog/Product.php +1 -1
  15. app/code/community/Iparcel/Shipping/Block/Catalog/Product/List.php +1 -1
  16. app/code/community/Iparcel/Shipping/Block/Cpf.php +1 -1
  17. app/code/community/Iparcel/Shipping/Block/Html/Head/Iparcel.php +1 -1
  18. app/code/community/Iparcel/Shipping/Block/Html/Head/Jquery.php +1 -1
  19. app/code/community/Iparcel/Shipping/Block/Html/Head/Post.php +5 -5
  20. app/code/community/Iparcel/Shipping/Block/Payment/Info.php +1 -1
  21. app/code/community/Iparcel/Shipping/Block/Sales/Order/Creditmemo/Totals.php +1 -1
  22. app/code/community/Iparcel/Shipping/Block/Sales/Order/Invoice/Totals.php +1 -1
  23. app/code/community/Iparcel/Shipping/Block/Sales/Order/Totals.php +1 -1
  24. app/code/community/Iparcel/Shipping/Helper/Api.php +60 -39
  25. app/code/community/Iparcel/Shipping/Helper/Api/External.php +1 -1
  26. app/code/community/Iparcel/Shipping/Helper/Data.php +12 -1
  27. app/code/community/Iparcel/Shipping/Helper/International.php +1 -1
  28. app/code/community/Iparcel/Shipping/Helper/Sales/Data.php +1 -1
  29. app/code/community/Iparcel/Shipping/Helper/String.php +1 -1
  30. app/code/community/Iparcel/Shipping/Helper/Tax.php +1 -1
  31. app/code/community/Iparcel/Shipping/Model/Api/External/.DS_Store +0 -0
  32. app/code/community/Iparcel/Shipping/Model/Api/External/Sales/Order.php +47 -16
  33. app/code/community/Iparcel/Shipping/Model/Api/Log.php +34 -22
  34. app/code/community/Iparcel/Shipping/Model/Carrier/Iparcel.php +59 -83
  35. app/code/community/Iparcel/Shipping/Model/Catalog/Mapping.php +1 -1
  36. app/code/community/Iparcel/Shipping/Model/Catalog/Product/Observer.php +1 -1
  37. app/code/community/Iparcel/Shipping/Model/Config/Catalog/Mapping.php +1 -1
  38. app/code/community/Iparcel/Shipping/Model/Config/Data/Date/Monthday.php +1 -1
  39. app/code/community/Iparcel/Shipping/Model/Config/Data/Date/Weekday.php +1 -1
  40. app/code/community/Iparcel/Shipping/Model/Config/Data/Time/Hour.php +1 -1
  41. app/code/community/Iparcel/Shipping/Model/Config/Data/Time/Minute.php +1 -1
  42. app/code/community/Iparcel/Shipping/Model/Config/Guid.php +1 -1
  43. app/code/community/Iparcel/Shipping/Model/Config/Script/Js.php +1 -1
  44. app/code/community/Iparcel/Shipping/Model/Cpf.php +1 -1
  45. app/code/community/Iparcel/Shipping/Model/Cpf/Order.php +1 -1
  46. app/code/community/Iparcel/Shipping/Model/Cpf/Quote.php +1 -1
  47. app/code/community/Iparcel/Shipping/Model/Observer.php +91 -0
  48. app/code/community/Iparcel/Shipping/Model/Parcel.php +1 -1
  49. app/code/community/Iparcel/Shipping/Model/Payment/Iparcel.php +1 -1
  50. app/code/community/Iparcel/Shipping/Model/Resource/Api/Order.php +18 -0
  51. app/code/community/Iparcel/Shipping/Model/Resource/Cpf.php +1 -1
  52. app/code/community/Iparcel/Shipping/Model/Resource/Cpf/Collection.php +1 -1
  53. app/code/community/Iparcel/Shipping/Model/Resource/Cpf/Order.php +1 -1
  54. app/code/community/Iparcel/Shipping/Model/Resource/Cpf/Order/Collection.php +1 -1
  55. app/code/community/Iparcel/Shipping/Model/Resource/Cpf/Quote.php +1 -1
  56. app/code/community/Iparcel/Shipping/Model/Resource/Cpf/Quote/Collection.php +1 -1
  57. app/code/community/Iparcel/Shipping/Model/Resource/Parcel.php +1 -1
  58. app/code/community/Iparcel/Shipping/Model/Resource/Parcel/Collection.php +1 -1
  59. app/code/community/Iparcel/Shipping/Model/Resource/Setup.php +1 -1
  60. app/code/community/Iparcel/Shipping/Model/Resource/Tax/Totals.php +1 -1
  61. app/code/community/Iparcel/Shipping/Model/Resource/Tax/Totals/Collection.php +1 -1
  62. app/code/community/Iparcel/Shipping/Model/Sales/Order.php +0 -24
  63. app/code/community/Iparcel/Shipping/Model/Sales/Order/Observer.php +1 -1
  64. app/code/community/Iparcel/Shipping/Model/Sales/Order/Shipment/Observer.php +1 -1
  65. app/code/community/Iparcel/Shipping/Model/Sales/Quote/Observer.php +1 -1
  66. app/code/community/Iparcel/Shipping/Model/System/Config/Source/Catalog/Mapping/Configurable/Price.php +1 -1
  67. app/code/community/Iparcel/Shipping/Model/System/Config/Source/Catalog/Mapping/Mode.php +1 -1
  68. app/code/community/Iparcel/Shipping/Model/System/Config/Source/Catalog/Product/Attribute.php +1 -1
  69. app/code/community/Iparcel/Shipping/Model/System/Config/Source/Catalog/Product/Attribute/Boolean.php +1 -1
  70. app/code/community/Iparcel/Shipping/Model/System/Config/Source/Date/Weekday.php +1 -1
  71. app/code/community/Iparcel/Shipping/Model/System/Config/Source/Sales/Order/Status.php +1 -1
  72. app/code/community/Iparcel/Shipping/Model/System/Config/Source/Tax/Mode.php +1 -1
  73. app/code/community/Iparcel/Shipping/Model/Tax/Calculation.php +5 -5
  74. app/code/community/Iparcel/Shipping/Model/Tax/Totals.php +1 -1
  75. app/code/community/Iparcel/Shipping/Model/Tax/Totals/Abstract.php +1 -1
  76. app/code/community/Iparcel/Shipping/Model/Tax/Totals/Duty/Creditmemo.php +1 -1
  77. app/code/community/Iparcel/Shipping/Model/Tax/Totals/Duty/Invoice.php +1 -1
  78. app/code/community/Iparcel/Shipping/Model/Tax/Totals/Duty/Quote.php +1 -1
  79. app/code/community/Iparcel/Shipping/Model/Tax/Totals/Tax/Creditmemo.php +1 -1
  80. app/code/community/Iparcel/Shipping/Model/Tax/Totals/Tax/Invoice.php +1 -1
  81. app/code/community/Iparcel/Shipping/Model/Tax/Totals/Tax/Quote.php +1 -1
  82. app/code/community/Iparcel/Shipping/Model/Tax/Totals/Taxduty/Creditmemo.php +1 -1
  83. app/code/community/Iparcel/Shipping/Model/Tax/Totals/Taxduty/Invoice.php +1 -1
  84. app/code/community/Iparcel/Shipping/Model/Tax/Totals/Taxduty/Quote.php +1 -1
  85. app/code/community/Iparcel/Shipping/controllers/Adminhtml/Shippingip/LogController.php +4 -2
  86. app/code/community/Iparcel/Shipping/controllers/Adminhtml/Shippingip/Sync/AjaxController.php +1 -1
  87. app/code/community/Iparcel/Shipping/controllers/Adminhtml/Shippingip/SyncController.php +1 -1
  88. app/code/community/Iparcel/Shipping/controllers/AjaxController.php +64 -23
  89. app/code/community/Iparcel/Shipping/controllers/DevController.php +1 -1
  90. app/code/community/Iparcel/Shipping/controllers/InternationalController.php +1 -1
  91. app/code/community/Iparcel/Shipping/controllers/OrderController.php +142 -5
  92. app/code/community/Iparcel/Shipping/etc/config.xml +39 -9
  93. app/code/community/Iparcel/Shipping/etc/system.xml +1 -1
  94. app/code/community/Iparcel/Shipping/sql/shippingip_setup/mysql4-upgrade-2.4.1.6-2.4.1.7.php +2 -1
  95. app/code/community/Iparcel/Shipping/sql/shippingip_setup/mysql4-upgrade-2.4.6-2.4.7.php +22 -0
  96. app/design/adminhtml/default/default/template/iparcel/sales/order/shipment/view/tracking.phtml +1 -1
  97. app/design/adminhtml/default/default/template/iparcel/sync/ajax/catalog.phtml +1 -1
  98. app/design/adminhtml/default/default/template/iparcel/sync/ajax/checkitems.phtml +1 -1
  99. app/design/frontend/base/default/template/shippingip/cpf.phtml +1 -1
  100. app/design/frontend/base/default/template/shippingip/html/head/iparcel.phtml +3 -3
  101. app/design/frontend/base/default/template/shippingip/html/head/jquery.phtml +1 -1
  102. app/design/frontend/base/default/template/shippingip/html/head/post.phtml +4 -2
  103. app/design/frontend/base/default/template/shippingip/post.phtml +1 -1
  104. app/design/frontend/base/default/template/shippingip/post/list.phtml +4 -3
  105. js/iparcel/adminhtml/label.js +0 -7
  106. js/iparcel/adminhtml/sync.js +0 -7
  107. js/iparcel/cpf.js +0 -7
  108. js/iparcel/lib.js +1 -8
  109. js/iparcel/post.js +142 -95
  110. package.xml +7 -12
app/code/community/Iparcel/.DS_Store ADDED
Binary file
app/code/community/Iparcel/Shipping/.DS_Store ADDED
Binary file
app/code/community/Iparcel/Shipping/Block/Adminhtml/Catalog/Checkitems/Button.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Catalog_Checkitems_Button extends Mage_Adminhtml_Block_System_Config_Form_Field
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Catalog_Checkitems_Button extends Mage_Adminhtml_Block_System_Config_Form_Field
10
  {
app/code/community/Iparcel/Shipping/Block/Adminhtml/Catalog/Mapping/Button.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Catalog_Mapping_Button extends Mage_Adminhtml_Block_System_Config_Form_Field
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Catalog_Mapping_Button extends Mage_Adminhtml_Block_System_Config_Form_Field
10
  {
app/code/community/Iparcel/Shipping/Block/Adminhtml/Iparcel/Dashboard.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Iparcel_Dashboard extends Mage_Adminhtml_Block_System_Config_Form_Field
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Iparcel_Dashboard extends Mage_Adminhtml_Block_System_Config_Form_Field
10
  {
app/code/community/Iparcel/Shipping/Block/Adminhtml/Logs.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Logs extends Mage_Adminhtml_Block_Widget_Grid_Container
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Logs extends Mage_Adminhtml_Block_Widget_Grid_Container
10
  {
app/code/community/Iparcel/Shipping/Block/Adminhtml/Logs/Grid.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Logs_Grid extends Mage_Adminhtml_Block_Widget_Grid
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Logs_Grid extends Mage_Adminhtml_Block_Widget_Grid
10
  {
app/code/community/Iparcel/Shipping/Block/Adminhtml/Sales/Order/Creditmemo/Totals.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Sales_Order_Creditmemo_Totals extends Mage_Adminhtml_Block_Sales_Order_Creditmemo_Totals
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Sales_Order_Creditmemo_Totals extends Mage_Adminhtml_Block_Sales_Order_Creditmemo_Totals
10
  {
app/code/community/Iparcel/Shipping/Block/Adminhtml/Sales/Order/Invoice/Totals.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Sales_Order_Invoice_Totals extends Mage_Adminhtml_Block_Sales_Order_Invoice_Totals
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Sales_Order_Invoice_Totals extends Mage_Adminhtml_Block_Sales_Order_Invoice_Totals
10
  {
app/code/community/Iparcel/Shipping/Block/Adminhtml/Sales/Order/Shipment/View/Form.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Sales_Order_Shipment_View_Form extends Mage_Adminhtml_Block_Sales_Order_Shipment_View_Form
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Sales_Order_Shipment_View_Form extends Mage_Adminhtml_Block_Sales_Order_Shipment_View_Form
10
  {
app/code/community/Iparcel/Shipping/Block/Adminhtml/Sales/Order/Shipment/View/Tracking.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Sales_Order_Shipment_View_Tracking extends Mage_Adminhtml_Block_Sales_Order_Shipment_View_Tracking
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Sales_Order_Shipment_View_Tracking extends Mage_Adminhtml_Block_Sales_Order_Shipment_View_Tracking
10
  {
app/code/community/Iparcel/Shipping/Block/Adminhtml/Sales/Order/Totals.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Sales_Order_Totals extends Mage_Adminhtml_Block_Sales_Order_Totals
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Sales_Order_Totals extends Mage_Adminhtml_Block_Sales_Order_Totals
10
  {
app/code/community/Iparcel/Shipping/Block/Adminhtml/Salesrule/Rule/Sync.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Salesrule_Rule_Sync extends Mage_Adminhtml_Block_System_Config_Form_Field
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Adminhtml_Salesrule_Rule_Sync extends Mage_Adminhtml_Block_System_Config_Form_Field
10
  {
app/code/community/Iparcel/Shipping/Block/Catalog/Product.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Catalog_Product extends Mage_Catalog_Block_Product_View
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Catalog_Product extends Mage_Catalog_Block_Product_View
10
  {
app/code/community/Iparcel/Shipping/Block/Catalog/Product/List.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Catalog_Product_List extends Mage_Catalog_Block_Product_List
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Catalog_Product_List extends Mage_Catalog_Block_Product_List
10
  {
app/code/community/Iparcel/Shipping/Block/Cpf.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Cpf extends Mage_Core_Block_Template
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Cpf extends Mage_Core_Block_Template
10
  {
app/code/community/Iparcel/Shipping/Block/Html/Head/Iparcel.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Html_Head_Iparcel extends Mage_Core_Block_Template
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Html_Head_Iparcel extends Mage_Core_Block_Template
10
  {
app/code/community/Iparcel/Shipping/Block/Html/Head/Jquery.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Html_Head_Jquery extends Mage_Core_Block_Template
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Html_Head_Jquery extends Mage_Core_Block_Template
10
  {
app/code/community/Iparcel/Shipping/Block/Html/Head/Post.php CHANGED
@@ -4,22 +4,22 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Html_Head_Post extends Mage_Core_Block_Template
10
  {
11
  /**
12
  * Checking if there's store config for custom post script, if yes returning script directory, if not returning default directory
13
  *
14
- * @return string
15
  */
16
  public function getScript()
17
  {
 
18
  $file = Mage::getStoreConfig('iparcel/scripts/post');
19
  if ($file) {
20
- return Mage::getModel('shippingip/config_script_js')->getUploadDir('post').$file;
21
- } else {
22
- return 'iparcel/post.js';
23
  }
 
24
  }
25
  }
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Html_Head_Post extends Mage_Core_Block_Template
10
  {
11
  /**
12
  * Checking if there's store config for custom post script, if yes returning script directory, if not returning default directory
13
  *
14
+ * @return array
15
  */
16
  public function getScript()
17
  {
18
+ $postScripts = array('iparcel/post.js');
19
  $file = Mage::getStoreConfig('iparcel/scripts/post');
20
  if ($file) {
21
+ $postScripts[] = Mage::getModel('shippingip/config_script_js')->getUploadDir('post') . $file;
 
 
22
  }
23
+ return $postScripts;
24
  }
25
  }
app/code/community/Iparcel/Shipping/Block/Payment/Info.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Payment_Info extends Mage_Payment_Block_Info
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Payment_Info extends Mage_Payment_Block_Info
10
  {
app/code/community/Iparcel/Shipping/Block/Sales/Order/Creditmemo/Totals.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski
8
  */
9
  class Iparcel_Shipping_Block_Sales_Order_Creditmemo_Totals extends Mage_Sales_Block_Order_Creditmemo_Totals
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Sales_Order_Creditmemo_Totals extends Mage_Sales_Block_Order_Creditmemo_Totals
10
  {
app/code/community/Iparcel/Shipping/Block/Sales/Order/Invoice/Totals.php CHANGED
@@ -3,7 +3,7 @@
3
  *
4
  * @category Iparcel
5
  * @package Iparcel_Shipping
6
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
7
  */
8
  class Iparcel_Shipping_Block_Sales_Order_Invoice_Totals extends Mage_Sales_Block_Order_Invoice_Totals
9
  {
3
  *
4
  * @category Iparcel
5
  * @package Iparcel_Shipping
6
+ * @author Bobby Burden <bburden@i-parcel.com>
7
  */
8
  class Iparcel_Shipping_Block_Sales_Order_Invoice_Totals extends Mage_Sales_Block_Order_Invoice_Totals
9
  {
app/code/community/Iparcel/Shipping/Block/Sales/Order/Totals.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Block_Sales_Order_Totals extends Mage_Sales_Block_Order_Totals
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Block_Sales_Order_Totals extends Mage_Sales_Block_Order_Totals
10
  {
app/code/community/Iparcel/Shipping/Helper/Api.php CHANGED
@@ -7,7 +7,7 @@
7
  *
8
  * @category Iparcel
9
  * @package Iparcel_Shipping
10
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
11
  */
12
  class Iparcel_Shipping_Helper_Api
13
  {
@@ -20,9 +20,6 @@ class Iparcel_Shipping_Helper_Api
20
  /** @var string URL for the SubmitParcel endpoint */
21
  protected $_submitParcel = 'https://webservices.i-parcel.com/api/SubmitParcel';
22
 
23
- /** @var string URL for the BusinessSettings endpoint */
24
- protected $_businessSettings = 'https://webservices.i-parcel.com/api/BusinessSettings';
25
-
26
  /** @var string URL for the CheckItems endpoint */
27
  protected $_checkItems = 'https://webservices.i-parcel.com/api/CheckItems';
28
 
@@ -235,7 +232,6 @@ class Iparcel_Shipping_Helper_Api
235
  //append the product name with the custom option
236
  $item['ProductName'] = $name . $customOptionName;
237
  $items['SKUs'][] = $item;
238
- $numberUploaded++;
239
  }
240
  } else {
241
  $items['SKUs'][] = $item;
@@ -520,30 +516,6 @@ class Iparcel_Shipping_Helper_Api
520
  return json_decode($response);
521
  }
522
 
523
- /**
524
- * Send Business Settings request
525
- *
526
- * @return stdClass Response from the BusinessSettings API
527
- */
528
- public function businessSettings()
529
- {
530
- // init log
531
- $log = Mage::getModel('shippingip/api_log');
532
- /* var $log Iparcel_Shipping_Model_Api_Log */
533
- $log->setController('Business Settings');
534
-
535
- $json = Mage::helper('shippingip')->getGuid();
536
-
537
- $log->setRequest(json_encode($json));
538
-
539
- $response = $this->_restJSON($json, $this->_businessSettings);
540
-
541
- $log->setResponse($response);
542
- $log->save();
543
-
544
- return json_decode($response);
545
- }
546
-
547
  /**
548
  * Send Check Items request
549
  *
@@ -713,18 +685,51 @@ class Iparcel_Shipping_Helper_Api
713
  $customOptions = array();
714
  $optSortOrder = $option["sort_order"];
715
  $optSortKey = 0;
716
- foreach ($option->getValues() as $values) {
 
 
 
 
 
 
 
 
 
717
  $customOption = array();
718
- // create the sku portion with custom option id and option type id.. 1_2 -> Size_Large
719
- $customOption["sku"] = $values["option_id"] . "-" . $values["option_type_id"];
720
- $customOption["price"] = $values["price"];
721
- $customOption["title"] = $values["title"];
722
- $customOption["sort_order"] = $values["sort_order"];
723
- // Add `required` bit. Used later to build SKU variations
724
- $customOption['required'] = $option->getIsRequire();
725
- // add custom option type to collection
 
 
726
  $customOptions[$optTypeCount] = $customOption;
727
  $optTypeCount++;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
728
  }
729
  // maintain index to sort order relationship
730
  $productSorting[$optCount] = $optSortOrder;
@@ -757,6 +762,7 @@ class Iparcel_Shipping_Helper_Api
757
  $options = array_filter($options);
758
  $result = array(array());
759
  $optionalProductOptions = array();
 
760
 
761
  // Remove the optional product options
762
  foreach ($options as $key => $option) {
@@ -780,8 +786,13 @@ class Iparcel_Shipping_Helper_Api
780
  $result = $append;
781
  }
782
 
 
 
 
 
 
783
  // Add a new product to the $result array for each variation of optional
784
- // product options.
785
  foreach ($result as $productConfiguration) {
786
  foreach ($optionalProductOptions as $option) {
787
  foreach ($option as $product) {
@@ -792,6 +803,16 @@ class Iparcel_Shipping_Helper_Api
792
  }
793
  }
794
 
 
 
 
 
 
 
 
 
 
 
795
  return $result;
796
  }
797
  }
7
  *
8
  * @category Iparcel
9
  * @package Iparcel_Shipping
10
+ * @author Bobby Burden <bburden@i-parcel.com>
11
  */
12
  class Iparcel_Shipping_Helper_Api
13
  {
20
  /** @var string URL for the SubmitParcel endpoint */
21
  protected $_submitParcel = 'https://webservices.i-parcel.com/api/SubmitParcel';
22
 
 
 
 
23
  /** @var string URL for the CheckItems endpoint */
24
  protected $_checkItems = 'https://webservices.i-parcel.com/api/CheckItems';
25
 
232
  //append the product name with the custom option
233
  $item['ProductName'] = $name . $customOptionName;
234
  $items['SKUs'][] = $item;
 
235
  }
236
  } else {
237
  $items['SKUs'][] = $item;
516
  return json_decode($response);
517
  }
518
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
519
  /**
520
  * Send Check Items request
521
  *
685
  $customOptions = array();
686
  $optSortOrder = $option["sort_order"];
687
  $optSortKey = 0;
688
+
689
+ /**
690
+ * If this option has no values (text field, text area, etc.) just
691
+ * build a sku for the option ID, otherwise, build out each value as
692
+ * well.
693
+ */
694
+ if (count($option->getValues()) == 0) {
695
+ $productOption = $product->getOptions();
696
+ $productOption = $productOption[$option->getId()];
697
+
698
  $customOption = array();
699
+
700
+ $customOption["sku"] = $option->getId();
701
+ $customOption["price"] = $option->getPrice();
702
+ $customOption["title"] = $productOption->getTitle();;
703
+ $customOption["sort_order"] = $option->getSortOrder();
704
+ if (get_class($option) == 'MageWorx_CustomOptions_Model_Catalog_Product_Option') {
705
+ $customOption['required'] = $option->getIsRequire(true);
706
+ } else {
707
+ $customOption['required'] = $option->getIsRequire();
708
+ }
709
  $customOptions[$optTypeCount] = $customOption;
710
  $optTypeCount++;
711
+ } else {
712
+ foreach ($option->getValues() as $values) {
713
+ $customOption = array();
714
+ // create the sku portion with custom option id and option type id.. 1_2 -> Size_Large
715
+ $customOption["sku"] = $values["option_id"] . "-" . $values["option_type_id"];
716
+ $customOption["price"] = $values["price"];
717
+ $customOption["title"] = $values["title"];
718
+ $customOption["sort_order"] = $values["sort_order"];
719
+ /**
720
+ * Add `required` bit. Used later to build SKU variations.
721
+ * If this store uses Mageworx_CustomOptions, act as if we are
722
+ * on a product page
723
+ */
724
+ if (get_class($option) == 'MageWorx_CustomOptions_Model_Catalog_Product_Option') {
725
+ $customOption['required'] = $option->getIsRequire(true);
726
+ } else {
727
+ $customOption['required'] = $option->getIsRequire();
728
+ }
729
+ // add custom option type to collection
730
+ $customOptions[$optTypeCount] = $customOption;
731
+ $optTypeCount++;
732
+ }
733
  }
734
  // maintain index to sort order relationship
735
  $productSorting[$optCount] = $optSortOrder;
762
  $options = array_filter($options);
763
  $result = array(array());
764
  $optionalProductOptions = array();
765
+ $requiredOptions = true;
766
 
767
  // Remove the optional product options
768
  foreach ($options as $key => $option) {
786
  $result = $append;
787
  }
788
 
789
+ // Check for any required options
790
+ if (count($result[0]) != 0 || count($result) == 1) {
791
+ $requiredOptions = false;
792
+ }
793
+
794
  // Add a new product to the $result array for each variation of optional
795
+ // product options + the existing required options.
796
  foreach ($result as $productConfiguration) {
797
  foreach ($optionalProductOptions as $option) {
798
  foreach ($option as $product) {
803
  }
804
  }
805
 
806
+ // If there were no required options, add all variations of optional
807
+ // product options
808
+ if ($requiredOptions == false && count($optionalProductOptions) > 1) {
809
+ $allOptionals = array();
810
+ foreach ($optionalProductOptions as $key => $option) {
811
+ $allOptionals[] = array_shift($option);
812
+ }
813
+ $result[] = $allOptionals;
814
+ }
815
+
816
  return $result;
817
  }
818
  }
app/code/community/Iparcel/Shipping/Helper/Api/External.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Helper_Api_External
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Helper_Api_External
10
  {
app/code/community/Iparcel/Shipping/Helper/Data.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Helper_Data extends Mage_Core_Helper_Abstract
10
  {
@@ -37,4 +37,15 @@ class Iparcel_Shipping_Helper_Data extends Mage_Core_Helper_Abstract
37
  {
38
  return '//script.i-parcel.com/';
39
  }
 
 
 
 
 
 
 
 
 
 
 
40
  }
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Helper_Data extends Mage_Core_Helper_Abstract
10
  {
37
  {
38
  return '//script.i-parcel.com/';
39
  }
40
+
41
+ /**
42
+ * Escape quotation mark in strings for inclusion in JavaScript objects
43
+ *
44
+ * @param string $string String to escape
45
+ * @return string
46
+ */
47
+ public function jsEscape($string = '')
48
+ {
49
+ return addcslashes($string, "\"");
50
+ }
51
  }
app/code/community/Iparcel/Shipping/Helper/International.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Helper_International
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Helper_International
10
  {
app/code/community/Iparcel/Shipping/Helper/Sales/Data.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Helper_Sales_Data extends Mage_Sales_Helper_Data
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Helper_Sales_Data extends Mage_Sales_Helper_Data
10
  {
app/code/community/Iparcel/Shipping/Helper/String.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiocoders.com>
8
  */
9
  class Iparcel_Shipping_Helper_String
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Helper_String
10
  {
app/code/community/Iparcel/Shipping/Helper/Tax.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Helper_Tax extends Mage_Core_Helper_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Helper_Tax extends Mage_Core_Helper_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Api/External/.DS_Store ADDED
Binary file
app/code/community/Iparcel/Shipping/Model/Api/External/Sales/Order.php CHANGED
@@ -3,11 +3,19 @@
3
  * i-parcel External Sales API processing model
4
  *
5
  * @category Iparcel
6
- * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
- class Iparcel_Shipping_Model_Api_External_Sales_Order extends Varien_Object
10
  {
 
 
 
 
 
 
 
 
11
  /**
12
  * Initialize adminhtml quote session
13
  *
@@ -32,7 +40,7 @@ class Iparcel_Shipping_Model_Api_External_Sales_Order extends Varien_Object
32
  /**
33
  * Processing quote
34
  *
35
- * @return Iparcel_Shipping_MOdel_Api_External_Sales_Order
36
  */
37
  protected function _processQuote()
38
  {
@@ -239,14 +247,18 @@ class Iparcel_Shipping_Model_Api_External_Sales_Order extends Varien_Object
239
  'qty' => $product['qty'],
240
  'price' => is_string($product['price']) ? (float)str_replace(",", ".", $product['price']) : $product['price']
241
  );
242
- foreach ($product['options'] as $code => $value) {
243
- $_options->addItem(new Varien_Object(
244
- array(
245
- 'product' => $_product,
246
- 'code' => $code,
247
- 'value' => $value
248
- )
249
- ));
 
 
 
 
250
  }
251
  }
252
  // set products and options
@@ -303,14 +315,14 @@ class Iparcel_Shipping_Model_Api_External_Sales_Order extends Varien_Object
303
  'city' => $_customerShippingAddress->getCity(),
304
  'country_id' => $_customerShippingAddress->getCountryId(),
305
  'region' => $_customerShippingAddress->getRegion(),
306
- 'region_id' => $_customerBillingAddress->getRegionId(),
307
  'postcode' => $_customerShippingAddress->getPostcode(),
308
  'telephone' => $_customerShippingAddress->getTelephone(),
309
  'fax' => ''
310
  ),
311
  'shipping_method' => 'i-parcel_auto',
312
  'comment' => array(
313
- 'customer_note' => 'This order has ben programmatically created via I-Parcel extension'
314
  ),
315
  'send_confirmation' => '0'
316
  ),
@@ -345,8 +357,14 @@ class Iparcel_Shipping_Model_Api_External_Sales_Order extends Varien_Object
345
  foreach ($this->getProducts() as $id => $productData) {
346
  $_product = Mage::getModel('catalog/product')->load($id);
347
  /* var $_product Mage_Catalog_Model_Product */
348
- $item = Mage::getSingleton('adminhtml/sales_order_create')->getQuote()->getItemByProduct($_product);
349
- /* var $item Mage_Sales_Model_Quote_Item */
 
 
 
 
 
 
350
  if (!$item) {
351
  continue;
352
  }
@@ -355,6 +373,7 @@ class Iparcel_Shipping_Model_Api_External_Sales_Order extends Varien_Object
355
  $item->addOption($option);
356
  }
357
  }
 
358
  $price = empty($productData['price']) ? $_product->getFinalPrice() : $productData['price'];
359
  $qty = $productData['qty'];
360
  $item->setCustomPrice($price);
@@ -476,4 +495,16 @@ class Iparcel_Shipping_Model_Api_External_Sales_Order extends Varien_Object
476
  Mage::getSingleton('checkout/session')->setTrackingNumber($number);
477
  return parent::setTrackingNumber($number);
478
  }
 
 
 
 
 
 
 
 
 
 
 
 
479
  }
3
  * i-parcel External Sales API processing model
4
  *
5
  * @category Iparcel
6
+ * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
+ class Iparcel_Shipping_Model_Api_External_Sales_Order extends Mage_Core_Model_Abstract
10
  {
11
+ /**
12
+ * Initialize resource model
13
+ */
14
+ protected function _construct()
15
+ {
16
+ $this->_init('shippingip/api_order');
17
+ }
18
+
19
  /**
20
  * Initialize adminhtml quote session
21
  *
40
  /**
41
  * Processing quote
42
  *
43
+ * @return Iparcel_Shipping_Model_Api_External_Sales_Order
44
  */
45
  protected function _processQuote()
46
  {
247
  'qty' => $product['qty'],
248
  'price' => is_string($product['price']) ? (float)str_replace(",", ".", $product['price']) : $product['price']
249
  );
250
+
251
+ if (array_key_exists('options', $product)) {
252
+ foreach ($product['options'] as $code => $value) {
253
+ $_options->addItem(new Varien_Object(
254
+ array(
255
+ 'product' => $_product,
256
+ 'code' => $code,
257
+ 'value' => $value
258
+ )
259
+ ));
260
+ }
261
+ $_products[$_product->getId()]['options'] = $product['options'];
262
  }
263
  }
264
  // set products and options
315
  'city' => $_customerShippingAddress->getCity(),
316
  'country_id' => $_customerShippingAddress->getCountryId(),
317
  'region' => $_customerShippingAddress->getRegion(),
318
+ 'region_id' => $_customerShippingAddress->getRegionId(),
319
  'postcode' => $_customerShippingAddress->getPostcode(),
320
  'telephone' => $_customerShippingAddress->getTelephone(),
321
  'fax' => ''
322
  ),
323
  'shipping_method' => 'i-parcel_auto',
324
  'comment' => array(
325
+ 'customer_note' => 'This order has been programmatically created via I-Parcel extension'
326
  ),
327
  'send_confirmation' => '0'
328
  ),
357
  foreach ($this->getProducts() as $id => $productData) {
358
  $_product = Mage::getModel('catalog/product')->load($id);
359
  /* var $_product Mage_Catalog_Model_Product */
360
+ $items = Mage::getSingleton('adminhtml/sales_order_create')->getQuote()->getItemsCollection();
361
+ $item = false;
362
+ foreach($items as $currentItem) {
363
+ if ($currentItem->getProduct()->getId() == $id) {
364
+ $item = $currentItem;
365
+ break;
366
+ }
367
+ }
368
  if (!$item) {
369
  continue;
370
  }
373
  $item->addOption($option);
374
  }
375
  }
376
+
377
  $price = empty($productData['price']) ? $_product->getFinalPrice() : $productData['price'];
378
  $qty = $productData['qty'];
379
  $item->setCustomPrice($price);
495
  Mage::getSingleton('checkout/session')->setTrackingNumber($number);
496
  return parent::setTrackingNumber($number);
497
  }
498
+
499
+ /**
500
+ * Load an Order by Tracking Number
501
+ *
502
+ * @param string $trackingNumber
503
+ * @return Iparcel_Shipping_Model_Api_External_Sales_Order
504
+ */
505
+ public function loadByTrackingNumber($trackingNumber)
506
+ {
507
+ $this->load($trackingNumber, 'tracking_number');
508
+ return $this;
509
+ }
510
  }
app/code/community/Iparcel/Shipping/Model/Api/Log.php CHANGED
@@ -2,9 +2,9 @@
2
  /**
3
  * i-parcel XML log model
4
  *
5
- * Category Iparcel
6
- * Package Iparcel_Shipping
7
- * Author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Api_Log extends Varien_Object
10
  {
@@ -35,28 +35,28 @@ class Iparcel_Shipping_Model_Api_Log extends Varien_Object
35
  return $response;
36
  }
37
 
38
- $file = fopen($this->getLogFilename(), "r");
39
- $this->_jsonData = json_decode(fread($file, filesize($this->getLogFilename())), true);
40
- fclose($file);
41
-
42
- if (!is_array($this->_jsonData)) {
43
- if (!$this->_clear()) {
44
- Mage::throwException(Mage::helper('shippingip')->__('Access Forbidden for i-parcel log file'));
45
- }
46
  $this->_jsonData = array();
47
- return $response;
48
  }
49
 
50
  // for each json log node append Varien Object to Varien Data Collection
51
- foreach ($this->_jsonData['logs'] as $log) {
52
- $_log = new Varien_Object(array(
53
- 'timestamp' => $log['Timestamp'],
54
- 'controller' => $log['Controller'],
55
- 'response' => $log['Response'],
56
- 'request' => $log['Request']
57
- ));
58
- $response->addItem($_log);
 
 
59
  }
 
60
  return $response;
61
  }
62
 
@@ -112,7 +112,13 @@ class Iparcel_Shipping_Model_Api_Log extends Varien_Object
112
  */
113
  protected function _clear()
114
  {
115
- return unlink($this->getLogFilename());
 
 
 
 
 
 
116
  }
117
 
118
  /**
@@ -157,6 +163,12 @@ class Iparcel_Shipping_Model_Api_Log extends Varien_Object
157
  */
158
  public function clear()
159
  {
160
- return $this->_clear();
 
 
 
 
 
 
161
  }
162
  }
2
  /**
3
  * i-parcel XML log model
4
  *
5
+ * @category Iparcel
6
+ * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Api_Log extends Varien_Object
10
  {
35
  return $response;
36
  }
37
 
38
+ $logFilesize = filesize($this->getLogFilename());
39
+ if ($logFilesize > 0) {
40
+ $file = fopen($this->getLogFilename(), "r");
41
+ $this->_jsonData = json_decode(fread($file, filesize($this->getLogFilename())), true);
42
+ fclose($file);
43
+ } else {
 
 
44
  $this->_jsonData = array();
 
45
  }
46
 
47
  // for each json log node append Varien Object to Varien Data Collection
48
+ if (array_key_exists('logs', $this->_jsonData)) {
49
+ foreach ($this->_jsonData['logs'] as $log) {
50
+ $_log = new Varien_Object(array(
51
+ 'timestamp' => $log['Timestamp'],
52
+ 'controller' => $log['Controller'],
53
+ 'response' => $log['Response'],
54
+ 'request' => $log['Request']
55
+ ));
56
+ $response->addItem($_log);
57
+ }
58
  }
59
+
60
  return $response;
61
  }
62
 
112
  */
113
  protected function _clear()
114
  {
115
+ $file = fopen($this->getLogFilename(), 'w');
116
+ if ($file === false) {
117
+ return false;
118
+ }
119
+ fclose($file);
120
+
121
+ return true;
122
  }
123
 
124
  /**
163
  */
164
  public function clear()
165
  {
166
+ $response = $this->_clear();
167
+
168
+ if ($response === false) {
169
+ return false;
170
+ }
171
+
172
+ return true;
173
  }
174
  }
app/code/community/Iparcel/Shipping/Model/Carrier/Iparcel.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Carrier_Iparcel extends Mage_Shipping_Model_Carrier_Abstract implements Mage_Shipping_Model_Carrier_Interface
10
  {
@@ -115,89 +115,65 @@ class Iparcel_Shipping_Model_Carrier_Iparcel extends Mage_Shipping_Model_Carrier
115
 
116
  $result = Mage::getModel('shipping/rate_result');
117
  /*var $result Mage_Shipping_Model_Rate_Result */
118
- $businessSettings = Mage::helper('shippingip/api')->businessSettings();
119
- /* var $businessSettings stdClass */
120
-
121
- // collect rates only if the business settings model is 2 or 3
122
- if (/*true || */$businessSettings &&
123
- isset($businessSettings->model) &&
124
- in_array($businessSettings->model, array(2, 3))) {
125
- $quote = Mage::helper('shippingip/api')->quote($request);
126
- /* var $quote stdClass */
127
-
128
- $serviceLevel = isset($quote->ServiceLevels) ?
129
- $quote->ServiceLevels :
130
- (object)array();
131
-
132
- //$serviceLevel = (object)array(
133
- //(object)array(
134
- //'ServiceLevelID' => 'test1',
135
- //'DutyCompanyCurrency' => '2.33',
136
- //'TaxCompanyCurrency' => '3.33',
137
- //'ShippingChargeCompanyCurrency' => '4.33'
138
- //),
139
- //(object)array(
140
- //'ServiceLevelID' => 'test2',
141
- //'DutyCompanyCurrency' => '3.33',
142
- //'TaxCompanyCurrency' => '4.33',
143
- //'ShippingChargeCompanyCurrency' => '5.33'
144
- //)
145
- //);
146
-
147
- // Load shipping methods names
148
- $methods_names = $this->getMethodsNames();
149
- /* var $methods_names array */
150
-
151
- // Handling serviceLevels results and set up the shipping method
152
- foreach ($serviceLevel as $ci) {
153
- // setting up values
154
- $servicename = @$ci->ServiceLevelID;
155
-
156
- $duty = (float)@$ci->DutyCompanyCurrency;
157
- $tax = (float)@$ci->TaxCompanyCurrency;
158
- $shipping = (float)@$ci->ShippingChargeCompanyCurrency;
159
-
160
- $tax_flag = Mage::getStoreConfig('iparcel/tax/mode') == Iparcel_Shipping_Model_System_Config_Source_Tax_Mode::DISABLED
161
- || $request->getDestCountryId() == $request->getCountryId();
162
- // true if tax intercepting is disabled
163
-
164
- $total = $tax_flag ? (float)($duty + $tax + $shipping) : (float)$shipping;
165
- if (!isset($methods_names[$servicename])) {
166
- continue;
167
- }
168
- $shiplabel = $methods_names[$servicename];
169
- $title = $tax_flag ?
170
- Mage::helper('shippingip')
171
- ->__(
172
- '%s (Shipping Price: %s Duty: %s Tax: %s)',
173
- $shiplabel,
174
- $this->_formatPrice($shipping),
175
- $this->_formatPrice($duty),
176
- $this->_formatPrice($tax)
177
- ) :
178
- $shiplabel;
179
-
180
- $method = Mage::getModel('shipping/rate_result_method');
181
- $method->setCarrier('i-parcel');
182
- $method->setCarrierTitle('i-parcel');
183
- $method->setMethod($servicename);
184
- $method->setMethodTitle($title);
185
- $method->setPrice($total);
186
- $method->setCost($total);
187
- $method->setPriceOriginal($total);
188
- $method->setPriceDuty($duty);
189
- $method->setPriceTax($tax);
190
- $method->setPriceInsurance($total);
191
- $method->setPackageWeight($request->getPackageWeight());
192
-
193
- // append method to result
194
- $result->append($method);
195
-
196
- $iparcel['i-parcel_' . $servicename] = array(
197
- 'duty' => $duty,
198
- 'tax' => $tax
199
- );
200
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
201
  }
202
  Mage::unregister('iparcel');
203
  Mage::register('iparcel', $iparcel);
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Carrier_Iparcel extends Mage_Shipping_Model_Carrier_Abstract implements Mage_Shipping_Model_Carrier_Interface
10
  {
115
 
116
  $result = Mage::getModel('shipping/rate_result');
117
  /*var $result Mage_Shipping_Model_Rate_Result */
118
+
119
+ $quote = Mage::helper('shippingip/api')->quote($request);
120
+ /* var $quote stdClass */
121
+
122
+ $serviceLevel = isset($quote->ServiceLevels) ? $quote->ServiceLevels : (object)array();
123
+
124
+ // Load shipping methods names
125
+ $methods_names = $this->getMethodsNames();
126
+ /* var $methods_names array */
127
+
128
+ // Handling serviceLevels results and set up the shipping method
129
+ foreach ($serviceLevel as $ci) {
130
+ // setting up values
131
+ $servicename = @$ci->ServiceLevelID;
132
+
133
+ $duty = (float)@$ci->DutyCompanyCurrency;
134
+ $tax = (float)@$ci->TaxCompanyCurrency;
135
+ $shipping = (float)@$ci->ShippingChargeCompanyCurrency;
136
+
137
+ $tax_flag = Mage::getStoreConfig('iparcel/tax/mode') == Iparcel_Shipping_Model_System_Config_Source_Tax_Mode::DISABLED
138
+ || $request->getDestCountryId() == $request->getCountryId();
139
+ // true if tax intercepting is disabled
140
+
141
+ $total = $tax_flag ? (float)($duty + $tax + $shipping) : (float)$shipping;
142
+ if (!isset($methods_names[$servicename])) {
143
+ continue;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  }
145
+ $shiplabel = $methods_names[$servicename];
146
+ $title = $tax_flag ?
147
+ Mage::helper('shippingip')
148
+ ->__(
149
+ '%s (Shipping Price: %s Duty: %s Tax: %s)',
150
+ $shiplabel,
151
+ $this->_formatPrice($shipping),
152
+ $this->_formatPrice($duty),
153
+ $this->_formatPrice($tax)
154
+ ) :
155
+ $shiplabel;
156
+
157
+ $method = Mage::getModel('shipping/rate_result_method');
158
+ $method->setCarrier('i-parcel');
159
+ $method->setCarrierTitle('i-parcel');
160
+ $method->setMethod($servicename);
161
+ $method->setMethodTitle($title);
162
+ $method->setPrice($total);
163
+ $method->setCost($total);
164
+ $method->setPriceOriginal($total);
165
+ $method->setPriceDuty($duty);
166
+ $method->setPriceTax($tax);
167
+ $method->setPriceInsurance($total);
168
+ $method->setPackageWeight($request->getPackageWeight());
169
+
170
+ // append method to result
171
+ $result->append($method);
172
+
173
+ $iparcel['i-parcel_' . $servicename] = array(
174
+ 'duty' => $duty,
175
+ 'tax' => $tax
176
+ );
177
  }
178
  Mage::unregister('iparcel');
179
  Mage::register('iparcel', $iparcel);
app/code/community/Iparcel/Shipping/Model/Catalog/Mapping.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Catalog_Mapping
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Catalog_Mapping
10
  {
app/code/community/Iparcel/Shipping/Model/Catalog/Product/Observer.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Catalog_Product_Observer
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Catalog_Product_Observer
10
  {
app/code/community/Iparcel/Shipping/Model/Config/Catalog/Mapping.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Config_Catalog_Mapping extends Mage_Core_Model_Config_Data
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Config_Catalog_Mapping extends Mage_Core_Model_Config_Data
10
  {
app/code/community/Iparcel/Shipping/Model/Config/Data/Date/Monthday.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Config_Data_Date_Monthday extends Mage_Core_Model_Config_Data
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Config_Data_Date_Monthday extends Mage_Core_Model_Config_Data
10
  {
app/code/community/Iparcel/Shipping/Model/Config/Data/Date/Weekday.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Config_Data_Date_Weekday extends Mage_Core_Model_Config_Data
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Config_Data_Date_Weekday extends Mage_Core_Model_Config_Data
10
  {
app/code/community/Iparcel/Shipping/Model/Config/Data/Time/Hour.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Config_Data_Time_Hour extends Mage_Core_Model_Config_Data
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Config_Data_Time_Hour extends Mage_Core_Model_Config_Data
10
  {
app/code/community/Iparcel/Shipping/Model/Config/Data/Time/Minute.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Config_Data_Time_Minute extends Mage_Core_Model_Config_Data
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Config_Data_Time_Minute extends Mage_Core_Model_Config_Data
10
  {
app/code/community/Iparcel/Shipping/Model/Config/Guid.php CHANGED
@@ -3,7 +3,7 @@
3
  *
4
  * @category Iparcel
5
  * @package Iparcel_Shipping
6
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
7
  */
8
  class Iparcel_Shipping_Model_Config_Guid extends Mage_Core_Model_Config_Data
9
  {
3
  *
4
  * @category Iparcel
5
  * @package Iparcel_Shipping
6
+ * @author Bobby Burden <bburden@i-parcel.com>
7
  */
8
  class Iparcel_Shipping_Model_Config_Guid extends Mage_Core_Model_Config_Data
9
  {
app/code/community/Iparcel/Shipping/Model/Config/Script/Js.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>, Maciej Jarmuła <maciej.jarmula@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Config_Script_Js extends Mage_Adminhtml_Model_System_Config_Backend_File
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Config_Script_Js extends Mage_Adminhtml_Model_System_Config_Backend_File
10
  {
app/code/community/Iparcel/Shipping/Model/Cpf.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Cpf extends Mage_Core_Model_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Cpf extends Mage_Core_Model_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Cpf/Order.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Cpf_Order extends Mage_Core_Model_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Cpf_Order extends Mage_Core_Model_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Cpf/Quote.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Cpf_Quote extends Mage_Core_Model_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Cpf_Quote extends Mage_Core_Model_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Observer.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @category Iparcel
4
+ * @package Iparcel_Shipping
5
+ * @author Bobby Burden <bburden@i-parcel.com>
6
+ */
7
+ class Iparcel_Shipping_Model_Observer
8
+ {
9
+ const MAGE_ORDER_MODEL = 'Mage_Sales_Model_Order';
10
+ const IPARCEL_ORDER_MODEL = 'Iparcel_Shipping_Model_Sales_Order';
11
+ const IPARCEL_DYNAMIC_ORDER_MODEL = 'Iparcel_Shipping_Model_Sales_Order_Extend';
12
+
13
+ protected $_eventFlag = true;
14
+ protected $_filePath = null;
15
+
16
+ public function __construct()
17
+ {
18
+ $this->_filePath = Mage::getBaseDir('cache') . DS . self::IPARCEL_DYNAMIC_ORDER_MODEL . '.php';
19
+ }
20
+
21
+ /**
22
+ * Create a class dynamically and apply _checkState() function by i-parcel extension
23
+ */
24
+ public function createCheckState($observer)
25
+ {
26
+ if ($this->_isOrderCreatedByExtension() && $this->_eventFlag) {
27
+ $orderClass = self::MAGE_ORDER_MODEL;
28
+ $iparcelOrderClass = self::IPARCEL_ORDER_MODEL;
29
+ //Get class which overrides Mage_Sales_Model_Order
30
+ $orderRewriteClass = Mage::getConfig()->getNode('global/models/sales/rewrite/order');
31
+
32
+ //If there is any class, use it. Otherwise, use Magento default class
33
+ if ($orderRewriteClass) {
34
+ $orderClass = $orderRewriteClass[0];
35
+ }
36
+
37
+ //Create a class dynamically and apply _checkState() function by i-parcel extension
38
+ $dynamicOrderString = "<?php
39
+ class $iparcelOrderClass extends $orderClass
40
+ {
41
+ protected function _checkState()
42
+ {
43
+ if (Mage::registry('isExternalSale') && Mage::getStoreConfig('external_api/sales/order_status') != Mage_Sales_Model_Order::STATE_COMPLETE) {
44
+ return \$this;
45
+ } else {
46
+ return parent::_checkState();
47
+ }
48
+ }
49
+ }
50
+ ";
51
+
52
+ $cacheStatus = Mage::app()->getCacheInstance()->canUse('config');
53
+
54
+ //if cache is disabled or file does not exist, write $dynamicOrderString to file
55
+ if (!$cacheStatus || !file_exists($this->_filePath)) {
56
+ file_put_contents($this->_filePath, $dynamicOrderString);
57
+ }
58
+ include $this->_filePath;
59
+
60
+ //to avoid file content is changed by anyone
61
+ $fileContent = file_get_contents($this->_filePath);
62
+ if ($fileContent != $dynamicOrderString) {
63
+ file_put_contents($this->_filePath, $dynamicOrderString);
64
+ include $this->_filePath;
65
+ }
66
+
67
+ Mage::getConfig()->setNode('global/models/sales/rewrite/order', $iparcelOrderClass);
68
+ $this->_eventFlag = false;
69
+ }
70
+ }
71
+
72
+ /**
73
+ * Check to ensure that event model_load_before occurs when order is created by i-parcel extension
74
+ *
75
+ * @return boolean
76
+ */
77
+ protected function _isOrderCreatedByExtension()
78
+ {
79
+ return Mage::registry('isExternalSale') == true;
80
+ }
81
+
82
+ /**
83
+ * Remove Iparcel_Shipping_Model_Sales_Order_Extend file when flush or refresh cache
84
+ */
85
+ public function removeExtendFile($observer)
86
+ {
87
+ if (file_exists($this->_filePath)) {
88
+ unlink($this->_filePath);
89
+ }
90
+ }
91
+ }
app/code/community/Iparcel/Shipping/Model/Parcel.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Parcel extends Mage_Core_Model_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Parcel extends Mage_Core_Model_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Payment/Iparcel.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski
8
  */
9
  class Iparcel_Shipping_Model_Payment_Iparcel extends Mage_Payment_Model_Method_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Payment_Iparcel extends Mage_Payment_Model_Method_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Resource/Api/Order.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Resource Model for Iparcel_Shipping_Model_Api_External_Sales_Order class
4
+ *
5
+ * @category Iparcel
6
+ * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
+ */
9
+ class Iparcel_Shipping_Model_Resource_Api_Order extends Mage_Core_Model_Resource_Db_Abstract
10
+ {
11
+ /**
12
+ * Initializing Resource
13
+ */
14
+ protected function _construct()
15
+ {
16
+ $this->_init('shippingip/api_order', 'id');
17
+ }
18
+ }
app/code/community/Iparcel/Shipping/Model/Resource/Cpf.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Cpf extends Mage_Core_Model_Resource_Db_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Cpf extends Mage_Core_Model_Resource_Db_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Resource/Cpf/Collection.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Cpf_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Cpf_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Resource/Cpf/Order.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Cpf_Order extends Mage_Core_Model_Resource_Db_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Cpf_Order extends Mage_Core_Model_Resource_Db_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Resource/Cpf/Order/Collection.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Cpf_Order_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Cpf_Order_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Resource/Cpf/Quote.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Cpf_Quote extends Mage_Core_Model_Resource_Db_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Cpf_Quote extends Mage_Core_Model_Resource_Db_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Resource/Cpf/Quote/Collection.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Cpf_Quote_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Cpf_Quote_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Resource/Parcel.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Parcel extends Mage_Core_Model_Resource_Db_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Parcel extends Mage_Core_Model_Resource_Db_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Resource/Parcel/Collection.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Parcel_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Parcel_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Resource/Setup.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup
10
  {
app/code/community/Iparcel/Shipping/Model/Resource/Tax/Totals.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Tax_Totals extends Mage_Core_Model_Resource_Db_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Tax_Totals extends Mage_Core_Model_Resource_Db_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Resource/Tax/Totals/Collection.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Tax_Totals_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Resource_Tax_Totals_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Sales/Order.php DELETED
@@ -1,24 +0,0 @@
1
- <?php
2
- /**
3
- * Rewrite of Mage_Sales_Model_Order for i-parcel extension
4
- *
5
- * @category Iparcel
6
- * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
- */
9
- class Iparcel_Shipping_Model_Sales_Order extends Mage_Sales_Model_Order
10
- {
11
- /**
12
- * Check order state before saving
13
- *
14
- * @return Iparcel_Shipping_Model_Sales_Order
15
- */
16
- protected function _checkState()
17
- {
18
- if (Mage::registry('isExternalSale') && Mage::getStoreConfig('external_api/sales/order_status') != Mage_Sales_Model_Order::STATE_COMPLETE) {
19
- return $this;
20
- } else {
21
- return parent::_checkState();
22
- }
23
- }
24
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Iparcel/Shipping/Model/Sales/Order/Observer.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Sales_Order_Observer
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Sales_Order_Observer
10
  {
app/code/community/Iparcel/Shipping/Model/Sales/Order/Shipment/Observer.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Sales_Order_Shipment_Observer
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Sales_Order_Shipment_Observer
10
  {
app/code/community/Iparcel/Shipping/Model/Sales/Quote/Observer.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Sales_Quote_Observer
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Sales_Quote_Observer
10
  {
app/code/community/Iparcel/Shipping/Model/System/Config/Source/Catalog/Mapping/Configurable/Price.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Catalog_Mapping_Configurable_Price
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Catalog_Mapping_Configurable_Price
10
  {
app/code/community/Iparcel/Shipping/Model/System/Config/Source/Catalog/Mapping/Mode.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Catalog_Mapping_Mode
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Catalog_Mapping_Mode
10
  {
app/code/community/Iparcel/Shipping/Model/System/Config/Source/Catalog/Product/Attribute.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Catalog_Product_Attribute
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Catalog_Product_Attribute
10
  {
app/code/community/Iparcel/Shipping/Model/System/Config/Source/Catalog/Product/Attribute/Boolean.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Catalog_Product_Attribute_Boolean
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Catalog_Product_Attribute_Boolean
10
  {
app/code/community/Iparcel/Shipping/Model/System/Config/Source/Date/Weekday.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Date_Weekday
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Date_Weekday
10
  {
app/code/community/Iparcel/Shipping/Model/System/Config/Source/Sales/Order/Status.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Sales_Order_Status
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Sales_Order_Status
10
  {
app/code/community/Iparcel/Shipping/Model/System/Config/Source/Tax/Mode.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Tax_Mode
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_System_Config_Source_Tax_Mode
10
  {
app/code/community/Iparcel/Shipping/Model/Tax/Calculation.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Calculation extends Mage_Tax_Model_Calculation
10
  {
@@ -19,8 +19,10 @@ class Iparcel_Shipping_Model_Tax_Calculation extends Mage_Tax_Model_Calculation
19
  if (!$request->getCountryId() || !$request->getCustomerClassId() || !$request->getProductClassId()) {
20
  return 0;
21
  }
22
- /* var $quote Mage_Sales_Model_Quote */
23
  $quote = Mage::getSingleton('checkout/session')->getQuote();
 
 
24
  // if no quote go to parent
25
  // if i-parcel tax&duty intercepting is disabled go to parent
26
  // if quote is virtual go to parent
@@ -28,14 +30,12 @@ class Iparcel_Shipping_Model_Tax_Calculation extends Mage_Tax_Model_Calculation
28
  if (!$quote->getId()
29
  || Mage::getStoreConfig('iparcel/tax/mode') == Iparcel_Shipping_Model_System_Config_Source_Tax_Mode::DISABLED
30
  || $quote->isVirtual()
31
- || explode('_', $quote->getShippingAddress()->getShippingMethod())[0] != 'i-parcel'
32
  || Mage::getStoreConfig('general/store_information/merchant_country') == $request->getCountryId()) {
33
  return parent::getRate($request);
34
  }
35
  $method = $quote->getShippingAddress()->getShippingMethod();
36
- /* var $method string */
37
  $method = explode('_', $method);
38
- /* var $method array */
39
  // if not i-parcel shipping go to parent
40
  if ($method[0] != 'i-parcel') {
41
  return parent::getRate($request);
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Calculation extends Mage_Tax_Model_Calculation
10
  {
19
  if (!$request->getCountryId() || !$request->getCustomerClassId() || !$request->getProductClassId()) {
20
  return 0;
21
  }
22
+ /** @var Mage_Sales_Model_Quote $quote Current session's quote */
23
  $quote = Mage::getSingleton('checkout/session')->getQuote();
24
+
25
+ $shippingMethod = explode('_', $quote->getShippingAddress()->getShippingMethod());
26
  // if no quote go to parent
27
  // if i-parcel tax&duty intercepting is disabled go to parent
28
  // if quote is virtual go to parent
30
  if (!$quote->getId()
31
  || Mage::getStoreConfig('iparcel/tax/mode') == Iparcel_Shipping_Model_System_Config_Source_Tax_Mode::DISABLED
32
  || $quote->isVirtual()
33
+ || $shippingMethod[0] != 'i-parcel'
34
  || Mage::getStoreConfig('general/store_information/merchant_country') == $request->getCountryId()) {
35
  return parent::getRate($request);
36
  }
37
  $method = $quote->getShippingAddress()->getShippingMethod();
 
38
  $method = explode('_', $method);
 
39
  // if not i-parcel shipping go to parent
40
  if ($method[0] != 'i-parcel') {
41
  return parent::getRate($request);
app/code/community/Iparcel/Shipping/Model/Tax/Totals.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals extends Mage_Core_Model_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals extends Mage_Core_Model_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Tax/Totals/Abstract.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  abstract class Iparcel_Shipping_Model_Tax_Totals_Abstract extends Mage_Sales_Model_Quote_Address_Total_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  abstract class Iparcel_Shipping_Model_Tax_Totals_Abstract extends Mage_Sales_Model_Quote_Address_Total_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Tax/Totals/Duty/Creditmemo.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Duty_Creditmemo extends Mage_Sales_Model_Order_Creditmemo_Total_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Duty_Creditmemo extends Mage_Sales_Model_Order_Creditmemo_Total_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Tax/Totals/Duty/Invoice.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Duty_Invoice extends Mage_Sales_Model_Order_Invoice_Total_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Duty_Invoice extends Mage_Sales_Model_Order_Invoice_Total_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Tax/Totals/Duty/Quote.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Duty_Quote extends Iparcel_Shipping_Model_Tax_Totals_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Duty_Quote extends Iparcel_Shipping_Model_Tax_Totals_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Tax/Totals/Tax/Creditmemo.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Tax_Creditmemo extends Mage_Sales_Model_Order_Creditmemo_Total_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Tax_Creditmemo extends Mage_Sales_Model_Order_Creditmemo_Total_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Tax/Totals/Tax/Invoice.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Tax_Invoice extends Mage_Sales_Model_Order_Invoice_Total_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Tax_Invoice extends Mage_Sales_Model_Order_Invoice_Total_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Tax/Totals/Tax/Quote.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Tax_Quote extends Iparcel_Shipping_Model_Tax_Totals_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Tax_Quote extends Iparcel_Shipping_Model_Tax_Totals_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Tax/Totals/Taxduty/Creditmemo.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Taxduty_Creditmemo extends Mage_Sales_Model_Order_Creditmemo_Total_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Taxduty_Creditmemo extends Mage_Sales_Model_Order_Creditmemo_Total_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Tax/Totals/Taxduty/Invoice.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Taxduty_Invoice extends Mage_Sales_Model_Order_Invoice_Total_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Taxduty_Invoice extends Mage_Sales_Model_Order_Invoice_Total_Abstract
10
  {
app/code/community/Iparcel/Shipping/Model/Tax/Totals/Taxduty/Quote.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Taxduty_Quote extends Iparcel_Shipping_Model_Tax_Totals_Abstract
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Model_Tax_Totals_Taxduty_Quote extends Iparcel_Shipping_Model_Tax_Totals_Abstract
10
  {
app/code/community/Iparcel/Shipping/controllers/Adminhtml/Shippingip/LogController.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Adminhtml_Shippingip_LogController extends Mage_Adminhtml_Controller_Action
10
  {
@@ -37,7 +37,9 @@ class Iparcel_Shipping_Adminhtml_Shippingip_LogController extends Mage_Adminhtml
37
  */
38
  public function clearAction()
39
  {
40
- Mage::getModel('shippingip/api_log')->clear();
 
 
41
  $this->_redirect('*/*/index');
42
  }
43
  }
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Adminhtml_Shippingip_LogController extends Mage_Adminhtml_Controller_Action
10
  {
37
  */
38
  public function clearAction()
39
  {
40
+ if (Mage::getModel('shippingip/api_log')->clear() === false) {
41
+ Mage::getSingleton('core/session')->addError($this->__('Unable to write to the log file.'));
42
+ }
43
  $this->_redirect('*/*/index');
44
  }
45
  }
app/code/community/Iparcel/Shipping/controllers/Adminhtml/Shippingip/Sync/AjaxController.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Adminhtml_Shippingip_Sync_AjaxController extends Mage_Adminhtml_Controller_Action
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Adminhtml_Shippingip_Sync_AjaxController extends Mage_Adminhtml_Controller_Action
10
  {
app/code/community/Iparcel/Shipping/controllers/Adminhtml/Shippingip/SyncController.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_Adminhtml_Shippingip_SyncController extends Mage_Adminhtml_Controller_Action
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_Adminhtml_Shippingip_SyncController extends Mage_Adminhtml_Controller_Action
10
  {
app/code/community/Iparcel/Shipping/controllers/AjaxController.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
8
  */
9
  class Iparcel_Shipping_AjaxController extends Mage_Core_Controller_Front_Action
10
  {
@@ -15,36 +15,77 @@ class Iparcel_Shipping_AjaxController extends Mage_Core_Controller_Front_Action
15
  {
16
  $sku = $this->getRequest()->getParam('sku');
17
  $super_attribute = $this->getRequest()->getParam('super_attribute');
 
18
  // var $product Mage_Catalog_Model_Product
19
  $product = Mage::getModel('catalog/product')->loadByAttribute('sku', $sku);
20
- // var $child Mage_Catalog_Model_Product
21
- $child = Mage::getModel('catalog/product_type_configurable')->getProductByAttributes($super_attribute, $product);
22
- // var $typeInstance Mage_Catalog_Model_Product_Type_Abstract
23
- $typeInstance = $product->getTypeInstance(true);
24
- if (!$typeInstance instanceof Mage_Catalog_Model_Product_Type_Configurable) {
25
- return;
26
- }
27
- $attributes = $product->getTypeInstance(true)->getConfigurableAttributes($product);
28
- // var $attributes array
29
- $options = array();
30
- foreach ($attributes as $attribute) {
31
- $id = $attribute->getAttributeId();
32
- foreach ($attribute->getPrices() as $value) {
33
- if ($value['value_index'] == $super_attribute[$id]) {
34
- $options[$attribute->getProductAttribute()->getAttributeCode()] = $value['label'];
35
- break;
 
 
 
 
 
 
 
 
 
36
  }
37
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  }
 
39
  if ($child) {
40
  $this->getResponse()
41
  ->clearHeaders()
42
- ->setHeader('Content-Type', 'application/json');
43
- echo json_encode(array(
44
- 'sku' => $child->getSku(),
45
- 'attributes' => $options,
46
- 'stock' => Mage::getModel('cataloginventory/stock_item')->loadByProduct($child)->getQty()
47
- ));
 
 
 
48
  }
49
  }
50
  }
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_AjaxController extends Mage_Core_Controller_Front_Action
10
  {
15
  {
16
  $sku = $this->getRequest()->getParam('sku');
17
  $super_attribute = $this->getRequest()->getParam('super_attribute');
18
+ $customOptions = $this->getRequest()->getParam('options');
19
  // var $product Mage_Catalog_Model_Product
20
  $product = Mage::getModel('catalog/product')->loadByAttribute('sku', $sku);
21
+
22
+ /**
23
+ * If we are dealing with a simple product, we just need to worry about
24
+ * custom options.
25
+ */
26
+ if ($product->getTypeId() == "configurable") {
27
+ // var $child Mage_Catalog_Model_Product
28
+ $child = Mage::getModel('catalog/product_type_configurable')->getProductByAttributes($super_attribute, $product);
29
+
30
+ // var $typeInstance Mage_Catalog_Model_Product_Type_Abstract
31
+ $typeInstance = $product->getTypeInstance(true);
32
+ if (!$typeInstance instanceof Mage_Catalog_Model_Product_Type_Configurable) {
33
+ return;
34
+ }
35
+
36
+ $attributes = $product->getTypeInstance(true)->getConfigurableAttributes($product);
37
+ // var $attributes array
38
+ $options = array();
39
+ foreach ($attributes as $attribute) {
40
+ $id = $attribute->getAttributeId();
41
+ foreach ($attribute->getPrices() as $value) {
42
+ if ($value['value_index'] == $super_attribute[$id]) {
43
+ $options[$attribute->getProductAttribute()->getAttributeCode()] = $value['label'];
44
+ break;
45
+ }
46
  }
47
  }
48
+
49
+ $sku = $child->getSku();
50
+
51
+ } else {
52
+ /**
53
+ * Attempt to load the simple product with the custom options set
54
+ * to match the user's input. If a product is found with this
55
+ * configuration, use the SKU formed by adding the option IDs to the
56
+ * product's SKU.
57
+ */
58
+ $child = Mage::getModel('catalog/product')->load($product->getId());
59
+ $optionIds = array();
60
+ $options = array();
61
+ foreach ($child->getOptions() as $option) {
62
+ $id = $option->getId();
63
+ if (array_key_exists($id, $customOptions)) {
64
+ if ($customOptions[$id] !== "") {
65
+ $options[$option->getTitle()] = $customOptions[$id];
66
+ $optionIds[] = $id;
67
+ }
68
+ }
69
+ }
70
+
71
+ // If valid options are filled, at their ID to the SKU
72
+ if (count($optionIds)) {
73
+ $sku = $child->getSKU() . '__' . join('_', $optionIds);
74
+ }
75
  }
76
+
77
  if ($child) {
78
  $this->getResponse()
79
  ->clearHeaders()
80
+ ->setHeader('Content-Type', 'application/json')
81
+ ->setBody(
82
+ json_encode(array(
83
+ 'sku' => $sku,
84
+ 'attributes' => $options,
85
+ 'stock' => Mage::getModel('cataloginventory/stock_item')->loadByProduct($child)->getQty()
86
+ )
87
+ )
88
+ );
89
  }
90
  }
91
  }
app/code/community/Iparcel/Shipping/controllers/DevController.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com
8
  */
9
  class Iparcel_Shipping_DevController extends Mage_Core_Controller_Front_Action
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_DevController extends Mage_Core_Controller_Front_Action
10
  {
app/code/community/Iparcel/Shipping/controllers/InternationalController.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com
8
  */
9
  class Iparcel_Shipping_InternationalController extends Mage_Core_Controller_Front_Action
10
  {
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_InternationalController extends Mage_Core_Controller_Front_Action
10
  {
app/code/community/Iparcel/Shipping/controllers/OrderController.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com
8
  */
9
  class Iparcel_Shipping_OrderController extends Mage_Core_Controller_Front_Action
10
  {
@@ -57,18 +57,29 @@ class Iparcel_Shipping_OrderController extends Mage_Core_Controller_Front_Action
57
  try {
58
  $request = $this->_checkRequest();
59
  $orders = $request->getPost('orders');
 
 
 
 
 
 
60
  $tax = $request->getPost('tax');
61
  $tax = is_string($tax) ? (float)str_replace(",", ".", $tax) : $tax;
62
  $shipping = $request->getPost('shipping');
63
  $shipping = is_string($shipping) ? (float)str_replace(",", ".", $shipping) : $shipping;
64
  $currency = $request->getPost('currency');
65
  $tracking = $request->getPost('tracking');
 
 
66
  $model = Mage::getModel('shippingip/api_external_sales_order');
67
- // var $model Iparcel_Shipping_Model_Api_External_Sales_Order
68
- // terminate if there's no orders in request
69
- if (count($orders) == 0) {
70
- Mage::throwException('There are no orders in your request');
 
 
71
  }
 
72
  $user = $request->getPost('user');
73
  // checking if user's email is specified
74
  if (!isset($user['email'])) {
@@ -97,6 +108,15 @@ class Iparcel_Shipping_OrderController extends Mage_Core_Controller_Front_Action
97
  $model->setDefaultCustomerShippingAddress();
98
  }
99
 
 
 
 
 
 
 
 
 
 
100
  $model->setOrderData($orders);
101
  $model->setShippingCosts($shipping);
102
  $model->setTax($tax);
@@ -110,6 +130,8 @@ class Iparcel_Shipping_OrderController extends Mage_Core_Controller_Front_Action
110
  if ($order = $model->createOrder()) {
111
  $invoice = $model->createInvoice();
112
  echo $order->getIncrementId();
 
 
113
  }
114
  } catch (Mage_Core_Exception $e) {
115
  echo $e->getMessage();
@@ -135,4 +157,119 @@ class Iparcel_Shipping_OrderController extends Mage_Core_Controller_Front_Action
135
  echo $e->getMessage();
136
  }
137
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  }
4
  *
5
  * @category Iparcel
6
  * @package Iparcel_Shipping
7
+ * @author Bobby Burden <bburden@i-parcel.com>
8
  */
9
  class Iparcel_Shipping_OrderController extends Mage_Core_Controller_Front_Action
10
  {
57
  try {
58
  $request = $this->_checkRequest();
59
  $orders = $request->getPost('orders');
60
+
61
+ // terminate if there's no orders in request
62
+ if (count($orders) == 0) {
63
+ Mage::throwException('There are no orders in your request');
64
+ }
65
+
66
  $tax = $request->getPost('tax');
67
  $tax = is_string($tax) ? (float)str_replace(",", ".", $tax) : $tax;
68
  $shipping = $request->getPost('shipping');
69
  $shipping = is_string($shipping) ? (float)str_replace(",", ".", $shipping) : $shipping;
70
  $currency = $request->getPost('currency');
71
  $tracking = $request->getPost('tracking');
72
+
73
+ /** @var Iparcel_Shipping_Model_Api_External_Sales_Order $model */
74
  $model = Mage::getModel('shippingip/api_external_sales_order');
75
+
76
+ // Make sure that an order doesn't already exist for this request
77
+ $model->loadByTrackingNumber($tracking['number']);
78
+ if ($model->getId()) {
79
+ echo $model->getOrderIncrementId();
80
+ return true;
81
  }
82
+
83
  $user = $request->getPost('user');
84
  // checking if user's email is specified
85
  if (!isset($user['email'])) {
108
  $model->setDefaultCustomerShippingAddress();
109
  }
110
 
111
+ // Convert ['options'] to id => value_id
112
+ $orders = $this->_convertOptions($orders);
113
+
114
+ // Check the order to see if there are products with Custom Options
115
+ // If so, alter the order to reflect the Custom Options correctly
116
+ if ($this->_orderHasCustomOptions($orders)) {
117
+ $orders = $this->_addCustomOptionsToOrder($orders);
118
+ }
119
+
120
  $model->setOrderData($orders);
121
  $model->setShippingCosts($shipping);
122
  $model->setTax($tax);
130
  if ($order = $model->createOrder()) {
131
  $invoice = $model->createInvoice();
132
  echo $order->getIncrementId();
133
+ $model->setOrderIncrementId($order->getIncrementId());
134
+ $model->save();
135
  }
136
  } catch (Mage_Core_Exception $e) {
137
  echo $e->getMessage();
157
  echo $e->getMessage();
158
  }
159
  }
160
+
161
+ /**
162
+ * Checks the Order for a product with Custom Options
163
+ *
164
+ * @param array $orders Array of orders from the request
165
+ * @return bool true if the product has Custom Options
166
+ */
167
+ private function _orderHasCustomOptions($orders)
168
+ {
169
+ foreach($orders as $order) {
170
+ $product = Mage::getModel('catalog/product')
171
+ ->loadByAttribute('sku', $order['sku']);
172
+
173
+ /**
174
+ * If the SKU doesn't load a product, the SKU is built from a
175
+ * product with custom options
176
+ */
177
+ if ($product == false) {
178
+ return true;
179
+ }
180
+ }
181
+
182
+ return false;
183
+ }
184
+
185
+ /**
186
+ * Adds Custom Option information to the order data
187
+ *
188
+ * @param array $orders Array of orders from the request
189
+ * @return array Updated $orders array
190
+ */
191
+ private function _addCustomOptionsToOrder($orders)
192
+ {
193
+ foreach($orders as &$order) {
194
+ // Attempt to load the product by stripping out the Custom Options
195
+ $splitSku = preg_split('/__/', $order['sku']);
196
+ $sku = $splitSku[0];
197
+
198
+ $product = Mage::getModel('catalog/product')
199
+ ->loadByAttribute('sku', $sku);
200
+ /**
201
+ * If the SKU doesn't load a product, return the existing $orders
202
+ * array, and attempt order creation
203
+ */
204
+ if ($product == false) {
205
+ continue;
206
+ }
207
+
208
+ $order['sku'] = $sku;
209
+
210
+ /**
211
+ * Split the SKU options into an array of:
212
+ * [optionID] => optionValueID
213
+ */
214
+ $optionsValues = preg_split('/_/', $splitSku[1]);
215
+ foreach($optionsValues as $key => $optionValue) {
216
+ unset($optionsValues[$key]);
217
+ $split = preg_split('/-/', $optionValue);
218
+ $optionsValues[$split[0]] = $split[1];
219
+ }
220
+
221
+ $order['options'] = $optionsValues;
222
+ }
223
+
224
+ return $orders;
225
+ }
226
+
227
+ /**
228
+ * Converts ['options'] array into 'id' => 'value_id'
229
+ *
230
+ * @param array $orders Array of orders from the request
231
+ * @return array Updated $ordes array
232
+ */
233
+ private function _convertOptions($orders)
234
+ {
235
+ foreach ($orders as &$order) {
236
+ if (!array_key_exists('options', $order)) {
237
+ continue;
238
+ }
239
+
240
+ $product = Mage::getModel('catalog/product')
241
+ ->loadByAttribute('sku', $order['sku']);
242
+ $options = $order['options'];
243
+
244
+ $product = $product->load($product->getId());
245
+ $productOptions = $product->getOptions();
246
+
247
+ foreach($options as $title => $value) {
248
+ foreach($productOptions as $id => $productOption) {
249
+ if ($productOption->getTitle() == $title) {
250
+ /**
251
+ * If this is a text field, add the id => value to the
252
+ * $options array. Otherwise, add id => value_id.
253
+ */
254
+ if (in_array($productOption->getType(), array('field', 'area'))) {
255
+ $options[$id] = $value;
256
+ unset($options[$title]);
257
+ } else {
258
+ foreach($productOption->getValues() as $valueId => $valueObject) {
259
+ if ($valueObject->getTitle() == $value) {
260
+ $options[$id] = $valueId;
261
+ unset($options[$title]);
262
+ }
263
+ }
264
+ }
265
+ }
266
+ }
267
+ }
268
+
269
+ $order['options'] = $options;
270
+ }
271
+
272
+ return $orders;
273
+ }
274
+
275
  }
app/code/community/Iparcel/Shipping/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Iparcel_Shipping>
5
- <version>2.4.6</version>
6
  </Iparcel_Shipping>
7
  </modules>
8
  <crontab>
@@ -90,8 +90,7 @@
90
  <class>Iparcel_Shipping_Model_Resource</class>
91
  <entities>
92
  <api_order>
93
- <!-- DEPRECATED in v2.3.4.2 -->
94
- <table>iparcel_shipping_api_orders</table>
95
  </api_order>
96
  <cpf>
97
  <table>iparcel_shipping_cpf</table>
@@ -110,11 +109,6 @@
110
  </tax_totals>
111
  </entities>
112
  </shippingip_resource>
113
- <sales>
114
- <rewrite>
115
- <order>Iparcel_Shipping_Model_Sales_Order</order>
116
- </rewrite>
117
- </sales>
118
  <tax>
119
  <rewrite>
120
  <calculation>Iparcel_Shipping_Model_Tax_Calculation</calculation>
@@ -221,6 +215,42 @@
221
  </iparcel_sales_quote_save_before_observer>
222
  </observers>
223
  </sales_quote_save_before>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
224
  </events>
225
  <resources>
226
  <shippingip_setup>
@@ -430,4 +460,4 @@
430
  </attributes>
431
  </catalog_mapping>
432
  </default>
433
- </config>
2
  <config>
3
  <modules>
4
  <Iparcel_Shipping>
5
+ <version>2.4.7</version>
6
  </Iparcel_Shipping>
7
  </modules>
8
  <crontab>
90
  <class>Iparcel_Shipping_Model_Resource</class>
91
  <entities>
92
  <api_order>
93
+ <table>iparcel_shipping_api_order</table>
 
94
  </api_order>
95
  <cpf>
96
  <table>iparcel_shipping_cpf</table>
109
  </tax_totals>
110
  </entities>
111
  </shippingip_resource>
 
 
 
 
 
112
  <tax>
113
  <rewrite>
114
  <calculation>Iparcel_Shipping_Model_Tax_Calculation</calculation>
215
  </iparcel_sales_quote_save_before_observer>
216
  </observers>
217
  </sales_quote_save_before>
218
+ <model_load_before>
219
+ <observers>
220
+ <iparcel_model_load_before_observer>
221
+ <type>singleton</type>
222
+ <class>Iparcel_Shipping_Model_Observer</class>
223
+ <method>createCheckState</method>
224
+ </iparcel_model_load_before_observer>
225
+ </observers>
226
+ </model_load_before>
227
+ <adminhtml_cache_refresh_type>
228
+ <observers>
229
+ <iparcel_adminhtml_cache_refresh_type_observer>
230
+ <type>singleton</type>
231
+ <class>Iparcel_Shipping_Model_Observer</class>
232
+ <method>removeExtendFile</method>
233
+ </iparcel_adminhtml_cache_refresh_type_observer>
234
+ </observers>
235
+ </adminhtml_cache_refresh_type>
236
+ <adminhtml_cache_flush_all>
237
+ <observers>
238
+ <iparcel_adminhtml_cache_flush_all_observer>
239
+ <type>singleton</type>
240
+ <class>Iparcel_Shipping_Model_Observer</class>
241
+ <method>removeExtendFile</method>
242
+ </iparcel_adminhtml_cache_flush_all_observer>
243
+ </observers>
244
+ </adminhtml_cache_flush_all>
245
+ <adminhtml_cache_flush_system>
246
+ <observers>
247
+ <iparcel_adminhtml_cache_flush_system_observer>
248
+ <type>singleton</type>
249
+ <class>Iparcel_Shipping_Model_Observer</class>
250
+ <method>removeExtendFile</method>
251
+ </iparcel_adminhtml_cache_flush_system_observer>
252
+ </observers>
253
+ </adminhtml_cache_flush_system>
254
  </events>
255
  <resources>
256
  <shippingip_setup>
460
  </attributes>
461
  </catalog_mapping>
462
  </default>
463
+ </config>
app/code/community/Iparcel/Shipping/etc/system.xml CHANGED
@@ -145,7 +145,7 @@
145
  <show_in_default>1</show_in_default>
146
  <show_in_website>1</show_in_website>
147
  <show_in_store>0</show_in_store>
148
- <tooltip>This is the Customer ID provided by i-parcel.</tooltip>
149
  </custid>
150
  <userid translate="label">
151
  <label>Web Service Key (GUID)</label>
145
  <show_in_default>1</show_in_default>
146
  <show_in_website>1</show_in_website>
147
  <show_in_store>0</show_in_store>
148
+ <tooltip>This is the Company ID provided by i-parcel.</tooltip>
149
  </custid>
150
  <userid translate="label">
151
  <label>Web Service Key (GUID)</label>
app/code/community/Iparcel/Shipping/sql/shippingip_setup/mysql4-upgrade-2.4.1.6-2.4.1.7.php CHANGED
@@ -1,7 +1,8 @@
1
  <?php
2
  $installer = $this;
3
  $connection = $installer->getConnection();
4
- $data = Mage::getModel('shippingip/parcel')->getCollection()->toArray()['items'];
 
5
 
6
  $installer->startSetup();
7
  if ($connection->isTableExists($installer->getTable('shippingip/parcel'))) {
1
  <?php
2
  $installer = $this;
3
  $connection = $installer->getConnection();
4
+ $data = Mage::getModel('shippingip/parcel')->getCollection()->toArray();
5
+ $data = $data['items'];
6
 
7
  $installer->startSetup();
8
  if ($connection->isTableExists($installer->getTable('shippingip/parcel'))) {
app/code/community/Iparcel/Shipping/sql/shippingip_setup/mysql4-upgrade-2.4.6-2.4.7.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $installer = $this;
3
+ $connection = $installer->getConnection();
4
+
5
+ $installer->startSetup();
6
+
7
+ /**
8
+ * This installer adds a new database table to keep track of inserted orders.
9
+ * This allows for the same Order/Add request to be sent without creating
10
+ * duplicate Magento orders.
11
+ */
12
+ $installer->run("
13
+ DROP TABLE IF EXISTS {$this->getTable('shippingip/api_order')};
14
+ CREATE TABLE {$this->getTable('shippingip/api_order')} (
15
+ `id` int(11) unsigned NOT NULL auto_increment,
16
+ `tracking_number` varchar(255) NOT NULL,
17
+ `order_increment_id` varchar(255) NOT NULL,
18
+ PRIMARY KEY (`id`)
19
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
20
+ ");
21
+
22
+ $installer->endSetup();
app/design/adminhtml/default/default/template/iparcel/sales/order/shipment/view/tracking.phtml CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
6
  * @class Iparcel_Shipping_Block_Adminhtml_Sales_Order_Shipment_View_Tracking
7
  */
8
  ?>
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
+ * @author Bobby Burden <bburden@i-parcel.com>
6
  * @class Iparcel_Shipping_Block_Adminhtml_Sales_Order_Shipment_View_Tracking
7
  */
8
  ?>
app/design/adminhtml/default/default/template/iparcel/sync/ajax/catalog.phtml CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
6
  * @class Mage_Core_Block_Template
7
  */
8
  ?>
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
+ * @author Bobby Burden <bburden@i-parcel.com>
6
  * @class Mage_Core_Block_Template
7
  */
8
  ?>
app/design/adminhtml/default/default/template/iparcel/sync/ajax/checkitems.phtml CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
6
  * @class Mage_Core_Block_Template
7
  */
8
  ?>
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
+ * @author Bobby Burden <bburden@i-parcel.com>
6
  * @class Mage_Core_Block_Template
7
  */
8
  ?>
app/design/frontend/base/default/template/shippingip/cpf.phtml CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
6
  * @class Iparcel_Shipping_Block_Cpf
7
  */
8
  ?>
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
+ * @author Bobby Burden <bburden@i-parcel.com>
6
  * @class Iparcel_Shipping_Block_Cpf
7
  */
8
  ?>
app/design/frontend/base/default/template/shippingip/html/head/iparcel.phtml CHANGED
@@ -2,13 +2,13 @@
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
6
  * @class Iparcel_Shipping_Block_Html_Head_Jquery
7
  */
8
  $helper = Mage::helper('shippingip');
9
  ?>
10
  <?php if($this->getFlag()): ?>
11
- <script type="text/javascript" src="<?php echo $helper->getScriptUrl(); ?>/JavaScript/Merchant/<?php echo Mage::helper('shippingip')->getCustomerId(); ?>/1"></script>
12
  <script type="text/javascript">var ipar_is_mage = true;</script>
13
- <link rel="stylesheet" type="text/css" href="<?php echo $helper->getScriptUrl(); ?>/CSS/Merchant/<?php echo Mage::helper('shippingip')->getCustomerId(); ?>/1" />
14
  <?php endif; ?>
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
+ * @author Bobby Burden <bburden@i-parcel.com>
6
  * @class Iparcel_Shipping_Block_Html_Head_Jquery
7
  */
8
  $helper = Mage::helper('shippingip');
9
  ?>
10
  <?php if($this->getFlag()): ?>
11
+ <script type="text/javascript" src="<?php echo $helper->getScriptUrl(); ?>JavaScript/Merchant/<?php echo Mage::helper('shippingip')->getCustomerId(); ?>/1"></script>
12
  <script type="text/javascript">var ipar_is_mage = true;</script>
13
+ <link rel="stylesheet" type="text/css" href="<?php echo $helper->getScriptUrl(); ?>CSS/Merchant/<?php echo Mage::helper('shippingip')->getCustomerId(); ?>/1" />
14
  <?php endif; ?>
app/design/frontend/base/default/template/shippingip/html/head/jquery.phtml CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
6
  * @class Iparcel_Shipping_Block_Html_Head_Jquery
7
  */
8
  ?>
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
+ * @author Bobby Burden <bburden@i-parcel.com>
6
  * @class Iparcel_Shipping_Block_Html_Head_Jquery
7
  */
8
  ?>
app/design/frontend/base/default/template/shippingip/html/head/post.phtml CHANGED
@@ -2,8 +2,10 @@
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
6
  * @class Iparcel_Shipping_Block_Html_Head_Post
7
  */
8
  ?>
9
- <script type="text/javascript" src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS).$this->getScript(); ?>"></script>
 
 
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
+ * @author Bobby Burden <bburden@i-parcel.com>
6
  * @class Iparcel_Shipping_Block_Html_Head_Post
7
  */
8
  ?>
9
+ <?php foreach($this->getScript() as $script):?>
10
+ <script type="text/javascript" src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS).$script; ?>"></script>
11
+ <?php endforeach;?>
app/design/frontend/base/default/template/shippingip/post.phtml CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
6
  * @class Iparcel_Shipping_Block_Catalog_Product
7
  */
8
  ?>
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
+ * @author Bobby Burden <bburden@i-parcel.com>
6
  * @class Iparcel_Shipping_Block_Catalog_Product
7
  */
8
  ?>
app/design/frontend/base/default/template/shippingip/post/list.phtml CHANGED
@@ -2,22 +2,23 @@
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
6
  * @class Iparcel_Shipping_Block_Catalog_Product_List
7
  */
8
  ?>
9
  <?php
10
  $_productCollection = $this->getLoadedProductCollection();
 
11
  ?>
12
  <script type="text/javascript">
13
  iparcelPost.sku_list({
14
  <?php foreach ($_productCollection as $_product): ?>
15
- "<?php echo $_product->getSku(); ?>": "<?php echo $_product->getName(); ?>",
16
  <?php endforeach; ?>
17
  });
18
  iparcelPost.stock_list({
19
  <?php foreach ($_productCollection as $_product): ?>
20
- "<?php echo $_product->getName(); ?>": "<?php echo $this->getStock($_product); ?>",
21
  <?php endforeach; ?>
22
  });
23
  </script>
2
  /**
3
  * @category design
4
  * @package Iparcel_Shipping
5
+ * @author Bobby Burden <bburden@i-parcel.com>
6
  * @class Iparcel_Shipping_Block_Catalog_Product_List
7
  */
8
  ?>
9
  <?php
10
  $_productCollection = $this->getLoadedProductCollection();
11
+ $helper = Mage::helper('shippingip')
12
  ?>
13
  <script type="text/javascript">
14
  iparcelPost.sku_list({
15
  <?php foreach ($_productCollection as $_product): ?>
16
+ "<?php echo $helper->jsEscape($_product->getSku()); ?>": "<?php echo $helper->jsEscape($_product->getName()); ?>",
17
  <?php endforeach; ?>
18
  });
19
  iparcelPost.stock_list({
20
  <?php foreach ($_productCollection as $_product): ?>
21
+ "<?php echo $helper->jsEscape($_product->getName()); ?>": "<?php echo $this->getStock($_product); ?>",
22
  <?php endforeach; ?>
23
  });
24
  </script>
js/iparcel/adminhtml/label.js CHANGED
@@ -1,10 +1,3 @@
1
- /**
2
- * Label Printing script for i-parcel shipping
3
- *
4
- * @category Iparcel
5
- * @package Iparcel_Shipping
6
- * @author Patryk Grudniewski
7
- */
8
  var iparcel = {
9
  xhr: function (url, obj, async, cfunc){
10
  object=obj;
 
 
 
 
 
 
 
1
  var iparcel = {
2
  xhr: function (url, obj, async, cfunc){
3
  object=obj;
js/iparcel/adminhtml/sync.js CHANGED
@@ -1,10 +1,3 @@
1
- /**
2
- * js lib for i-parcel's ajax sync
3
- *
4
- * @category Iparcel
5
- * @package Iparcel_Shipping
6
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
7
- */
8
  var iparcelSync = {
9
  item: null,
10
  sync: null,
 
 
 
 
 
 
 
1
  var iparcelSync = {
2
  item: null,
3
  sync: null,
js/iparcel/cpf.js CHANGED
@@ -1,10 +1,3 @@
1
- /**
2
- * i-parcel's CPF field processing script
3
- *
4
- * @category Iparcel
5
- * @package Iparcel_Shipping
6
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
7
- */
8
  var iparcel = {
9
  /**
10
  * Processing Shipping/Billing country changes
 
 
 
 
 
 
 
1
  var iparcel = {
2
  /**
3
  * Processing Shipping/Billing country changes
js/iparcel/lib.js CHANGED
@@ -1,10 +1,3 @@
1
- /**
2
- * i-parcel frontend lib for post scripts
3
- *
4
- * @category Iparcel
5
- * @package Iparcel_Shipping
6
- * @author Patryk Grudniewski <patryk.grudniewski@sabiosystem.com>
7
- */
8
  var iparcelMage = {
9
  displayEligibility: function(){
10
  try{
@@ -12,7 +5,7 @@ var iparcelMage = {
12
  }catch(exception){}
13
  },
14
  ajax: {
15
- post: function(sku, super_attribute, url){
16
  var $jip = jQuery.noConflict();
17
  var data = super_attribute+'sku='+sku;
18
  $jip.ajax({
 
 
 
 
 
 
 
1
  var iparcelMage = {
2
  displayEligibility: function(){
3
  try{
5
  }catch(exception){}
6
  },
7
  ajax: {
8
+ post: function(sku, super_attribute, url) {
9
  var $jip = jQuery.noConflict();
10
  var data = super_attribute+'sku='+sku;
11
  $jip.ajax({
js/iparcel/post.js CHANGED
@@ -1,97 +1,144 @@
1
- /**
2
- * Default i-parcel's post script
3
- *
4
- * @category Iparcel
5
- * @package Iparcel_Shipping
6
- * @author Patryk Grudniewski
7
- */
8
  var iparcelPost = {
9
- single: function(sku, url, qty){
10
- var $jip = jQuery.noConflict();
11
- iparcelPost.stock(qty);
12
- url+='shippingip/ajax/configurable';
13
- $jip(document).ready(function(){
14
- var $sku = $jip("<div/>");
15
- $sku.css("display","none");
16
- $sku.attr("class","iparcelsku");
17
- $sku.text(sku);
18
- $jip('.add-to-cart').append($sku);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
- var $options = $jip("<div/>");
21
- $options.css("display","none");
22
- $options.attr("class","iparceloptions");
23
- $jip('.add-to-cart').append($options);
24
-
25
- var $stockqty = $jip("<div/>");
26
- $stockqty.css("display","none");
27
- $stockqty.attr("class","iparcelstockquantity");
28
- $stockqty.text(qty);
29
- $jip('.add-to-cart').append($stockqty);
30
-
31
- var change = function(){
32
- iparcelPost.setStock('false');
33
- var validate = true;
34
- var super_attribute = '';
35
- $jip('.super-attribute-select').each(function(){
36
- var $this = $jip(this);
37
- if ($this.val().length == 0){
38
- validate = false;
39
- }
40
- super_attribute+=$this.attr('name')+'='+$this.val()+'&';
41
- });
42
- if (!validate){
43
- iparcelMage.displayEligibility();
44
- return;
45
- }
46
- iparcelMage.ajax.post(sku, super_attribute, url);
47
- }
48
- change();
49
- $jip('.super-attribute-select').change(function(){
50
- change();
51
- });
52
- });
53
- },
54
- stock: function(qty){
55
- var $jip = jQuery.noConflict();
56
- $jip(document).ready(function(){
57
- var $stock = $jip("<div/>");
58
- $stock.css("display","none");
59
- $stock.attr("class","iparcelstock");
60
- $stock.text(qty > 0 ? 'true' : 'false');
61
- $jip('.add-to-cart').append($stock);
62
- });
63
- },
64
- setStock: function(value){
65
- jQuery('.iparcelstock').text(value);
66
- },
67
- sku_list: function(sku_list){
68
- var $jip = jQuery.noConflict();
69
- $jip(document).ready(function(){
70
- $jip.each(sku_list, function(sku,name){
71
- var $sku = $jip("<div/>");
72
- $sku.css("display","none");
73
- $sku.attr("class","iparcelsku");
74
- $sku.text(sku);
75
- $jip('.item>a[title="'+name+'"]').parent().find('.actions').append($sku);
76
- });
77
- });
78
- },
79
- stock_list: function(stock_list){
80
- var $jip = jQuery.noConflict();
81
- $jip(document).ready(function(){
82
- $jip.each(stock_list, function(name,qty){
83
- var $stock = $jip("<div/>");
84
- $stock.css("display","none");
85
- $stock.attr("class","iparcelstock");
86
- $stock.text(qty > 0 ? 'true' : 'false');
87
- $jip('.item>a[title="'+name+'"]').parent().find('.actions').append($stock);
88
-
89
- var $stockQty = $jip("<div/>");
90
- $stockQty.css('display','none');
91
- $stockQty.attr('class','iparcelstockquantity');
92
- $stockQty.text(qty);
93
- $jip('.item>a[title="'+name+'"]').parent().find('.actions').append($stockQty);
94
- });
95
- });
96
- }
97
- }
1
+ var $jip = jQuery.noConflict();
 
 
 
 
 
 
2
  var iparcelPost = {
3
+ sku: null,
4
+ url: null,
5
+ sku_list_cache: null,
6
+ stock_list_cache: null,
7
+ textSelectors: '.product-custom-option[type="text"], textarea.product-custom-option',
8
+ clear: function () {
9
+ $jip('.iparcelsku,.iparcelstock').remove();
10
+ },
11
+ single: function(sku, url){
12
+ this.sku = sku;
13
+ if (url.indexOf(':') == 0) {
14
+ url = url.substring(1,url.length);
15
+ }
16
+ this.url = url+'shippingip/ajax/configurable';
17
+ $jip(document).ready(function(){
18
+ var $sku = $jip("<div/>");
19
+ $sku.css("display","none");
20
+ $sku.attr("class","iparcelsku");
21
+ $sku.text(sku);
22
+ $jip('.add-to-cart').append($sku);
23
+ var $options = $jip("<div/>");
24
+ $options.css("display","none");
25
+ $options.attr("class","iparceloptions");
26
+ $jip('.add-to-cart').append($options);
27
+ $jip('.super-attribute-select').change(function(){
28
+ iparcelPost.setStock('false');
29
+ iparcelPost.updateSelect();
30
+ });
31
+ // Watch for custom option text fields, areas
32
+ $jip(iparcelPost.textSelectors).change(function() {
33
+ iparcelPost.setStock('false');
34
+ iparcelPost.updateTextfields();
35
+ });
36
+ var $iterator = 0;
37
+ $jip(document).bind('DOMNodeInserted', function(e){
38
+ if ($jip(e.target).attr('class') == 'swatch-link'){
39
+ $jip(e.target).click(iparcelPost.update);
40
+ if ($iterator++ == 0){
41
+ var target = e.target;
42
+ setTimeout(function(){
43
+ if($iterator == 1){
44
+ $jip(target).click();
45
+ }
46
+ },500);
47
+ }
48
+ }
49
+ });
50
+ $jip('.swatch-link').click(iparcelPost.update);
51
+ });
52
+ },
53
+ update: function(){
54
+ var $this = $jip(this);
55
+ var id = $this.parent().attr('id').split('option')[1];
56
+ var val = $this.attr('id').split('swatch')[1];
57
+ var super_attribute = '';
58
+ $jip('.super-attribute-select').each(function(){
59
+ var $this = $jip(this);
60
+ if ($this.attr('name') != 'super_attribute['+id+']'){
61
+ super_attribute+=$this.attr('name')+'='+$this.val()+'&';
62
+ }
63
+ });
64
+ iparcelMage.ajax.post(iparcelPost.sku,super_attribute,iparcelPost.url);
65
+ },
66
+ updateSelect: function () {
67
+ var $this = $jip(this);
68
+ var super_attribute = '';
69
+ $jip('.super-attribute-select, .product-custom-option').each(function () {
70
+ var $this = $jip(this);
71
+ super_attribute += $this.attr('name') + '=' + $this.val() + '&';
72
+ });
73
+ iparcelMage.ajax.post(iparcelPost.sku, super_attribute, iparcelPost.url);
74
+ },
75
+ updateTextfields: function() {
76
+ var custom_options = '';
77
+ $jip(iparcelPost.textSelectors).each(function() {
78
+ var $this = $jip(this);
79
+ custom_options += $this.attr('name') + '=' + $this.val() + '&';
80
+ });
81
+ iparcelMage.ajax.post(iparcelPost.sku, custom_options, iparcelPost.url);
82
+ },
83
+ stock: function(qty){
84
+ $jip(document).ready(function(){
85
+ var $stock = $jip("<div/>");
86
+ $stock.css("display","none");
87
+ $stock.attr("class","iparcelstock");
88
+ $stock.text(qty > 0 ? 'true' : 'false');
89
+ $jip('.add-to-cart').append($stock);
90
+ });
91
+ },
92
+ setStock: function(value){
93
+ $jip('.iparcelstock').text(value);
94
+ },
95
+ sku_list: function (sku_list) {
96
+ this.sku_list_cache = sku_list;
97
+ $jip(document).ready(function(){
98
+ $jip.each(sku_list, function(sku,name){
99
+ name = iparcelMage.parseHtmlEntities(name);
100
+ var $sku = $jip("<div/>");
101
+ $sku.css("display","none");
102
+ $sku.attr("class","iparcelsku");
103
+ $sku.text(sku);
104
+ iparcelPost.append($sku,name);
105
+ });
106
+ });
107
+ $jip(document).ajaxSuccess(function(data){
108
+ iparcelPost.sku_list(sku_list);
109
+ });
110
+ },
111
+ stock_list: function(stock_list){
112
+ this.stock_list_cache = stock_list;
113
+ $jip(document).ready(function(){
114
+ $jip.each(stock_list, function(name,qty){
115
+ name = iparcelMage.parseHtmlEntities(name);
116
+ var $stock = $jip("<div/>");
117
+ $stock.css("display","none");
118
+ $stock.attr("class","iparcelstock");
119
+ $stock.text(qty > 0 ? 'true' : 'false');
120
+ iparcelPost.append($stock,name);
121
+ });
122
+ });
123
+ },
124
+ append: function(item,name){
125
+ $jip('.item .product-name a:contains('+name+')').closest('.item').append(item);
126
+ }
127
+ };
128
 
129
+ Ajax.Responders.register({
130
+ onComplete: function(args){
131
+ iparcelPost.sku_list(iparcelPost.sku_list_cache);
132
+ iparcelPost.stock_list(iparcelPost.stock_list_cache);
133
+ if( typeof iparcel.session !== "undefined" ) {
134
+ if( typeof iparcel.session.content !== "undefined" ) {
135
+ if( typeof iparcel.session.content.locale !== "undefined" && iparcel.session.content.locale == "US" ) {
136
+ $_ipar(iparcel.settings.productListingPriceElement).css("visibility","visible");
137
+ }
138
+ else{
139
+ iparcel.ux.displayEligibility();
140
+ }
141
+ }
142
+ }
143
+ }
144
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>iparcel_connect</name>
4
- <version>2.4.6</version>
5
  <stability>stable</stability>
6
  <license>GPL</license>
7
  <channel>community</channel>
@@ -11,19 +11,14 @@
11
  <notes>Notes</notes>
12
  <authors>
13
  <author>
14
- <name>Patryk Grudniewski</name>
15
- <user>pgrudniewski</user>
16
- <email>patryk.grudniewski@sabiosystem.com</email>
17
- </author>
18
- <author>
19
- <name>Maciej Jarmula</name>
20
- <user>mjarmula</user>
21
- <email>maciej.jarmula@sabiosystem.com</email>
22
  </author>
23
  </authors>
24
- <date>2015-11-05</date>
25
- <time>19:42:29</time>
26
- <contents><target name="mageweb"><dir name="app"><dir name="code"><dir name="community"><dir name="Iparcel"><dir name="Shipping"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Checkitems"><file name="Button.php" hash="cc1aa4cf8759fa575f22d74b199c6090"/></dir><dir name="Mapping"><file name="Button.php" hash="15953681517cc13bcdaa14d9cda43a6b"/></dir></dir><dir name="Iparcel"><file name="Dashboard.php" hash="2a3e19b84692ce10618bcce2bce55752"/></dir><dir name="Logs"><file name="Grid.php" hash="7e23ac946a85c14f8640a551bd5fd333"/></dir><file name="Logs.php" hash="95a043d5ac014ec0ea1b1dd410f0978d"/><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Totals.php" hash="860e5a537a30fefee9870386afa7e647"/></dir><dir name="Invoice"><file name="Totals.php" hash="4f5cd1680099b4deb5fefd2668aa4ce8"/></dir><dir name="Shipment"><dir name="View"><file name="Form.php" hash="1ba8bace9160f09d83744a218bc42650"/><file name="Tracking.php" hash="918c93bc535447b1b79900d05265f83e"/></dir></dir><file name="Totals.php" hash="faa0ae754492b004585ab1592fd72688"/></dir></dir><dir name="Salesrule"><dir name="Rule"><file name="Sync.php" hash="5aee9bc6b145b4343be39156b6d2c011"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Method.php" hash="e2adb858a292118fbfe9d8f61791bb49"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><file name="List.php" hash="4f023d8aac69c37399a42af4abca89ad"/></dir><file name="Product.php" hash="575e131da76d888f1b23d3f38ff9be1d"/></dir><dir name="Catalogsearch"><dir name="Advanced"><file name="Result.php" hash="5dae8b0b2887d6c7df56b4150fcca21f"/></dir><file name="Result.php" hash="fb38a46e7df874188f25bcc7ab9d721a"/></dir><file name="Cpf.php" hash="ecc152d72f74381e3bc7d8d3ca8e7055"/><dir name="Html"><dir name="Head"><file name="Iparcel.php" hash="8f82d5c95ce6e45baf2143fe115194d2"/><file name="Jquery.php" hash="0b0c70b6c86af9e38a435e790c32f87f"/><file name="Post.php" hash="861b6f298f5ede0f1806e4422a002e13"/></dir></dir><dir name="Payment"><file name="Info.php" hash="fcb621af11db8f45a5c865aef92dda37"/></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Totals.php" hash="6a8e2d307c3a8a9e136b6e3abd11bae0"/></dir><dir name="Invoice"><file name="Totals.php" hash="09b0712477a6f89c619118e5795b3d4b"/></dir><file name="Totals.php" hash="4088cc4c881f968764dda62ed5eeec7e"/></dir></dir><dir name="Tax"><dir name="Checkout"><file name="Tax.php" hash="790d7b3167765b2826885e0600bfa964"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Shippingip"><file name="LogController.php" hash="49eca6944223e2a410172654d65cae3d"/><file name="SyncController.php" hash="92f3473852d37d8cf57cbd12751fb4e9"/><dir name="Sync"><file name="AjaxController.php" hash="9a78b01482982f2a40d2008b8cf57a83"/></dir></dir></dir><file name="AjaxController.php" hash="600a78f19c76e94000158352b5ed627d"/><file name="DevController.php" hash="174f6a367ad59439ff7eff7044c66324"/><file name="InternationalController.php" hash="6f6e2687b5cb871bab9309aec1b230af"/><file name="OrderController.php" hash="c42301c3665a6e3095541447e75ac834"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d7c09b8f804f5095d28b91732f58fcea"/><file name="config.xml" hash="acec23b6cb1fcd32f0a08618ba0c88eb"/><file name="system.xml" hash="4a010dc3a2c18b775bbf6f234478aeda"/></dir><dir name="Helper"><dir name="Api"><file name="External.php" hash="259d44d670c91e4ba19fa82107e9337f"/></dir><file name="Api.php" hash="c9d585b611c6b3d60f94ea5a2b02b891"/><file name="Data.php" hash="bf96a75c39a2e93d083a702c06795b8c"/><file name="International.php" hash="9ea0c45aa697496eec2fd411e20edb8a"/><file name="String.php" hash="3bcda32c783dcb62d12d978c0ce5bd23"/><file name="Tax.php" hash="1b34958c290947247f70646270ff56fb"/><dir name="Sales"><file name="Data.php" hash="eebca4999dbeb54302af61a2416f3dca"/></dir></dir><dir name="Model"><dir name="Api"><dir name="External"><dir name="Sales"><file name="Order.php" hash="9bf1b29363d4b5184d1230ccb5903e4e"/></dir></dir><file name="Log.php" hash="e834aee91e19a55600360b12d19c8f12"/></dir><dir name="Carrier"><file name="Iparcel.php" hash="ff69da346758a078246f4f26f3504c85"/></dir><dir name="Catalog"><file name="Mapping.php" hash="9edc722ff3faa465db1de3834743298e"/><dir name="Product"><file name="Observer.php" hash="73b75b6029515f57f09cfd768ec978b6"/></dir></dir><dir name="Config"><dir name="Catalog"><file name="Mapping.php" hash="347fd7caa1d5c62df7f6366f67fde54f"/></dir><dir name="Data"><dir name="Date"><file name="Monthday.php" hash="4c5ce3f7664f13d529e11ebabdad9448"/><file name="Weekday.php" hash="0b620fdb69deec5d78583b7be22f058b"/></dir><dir name="Time"><file name="Hour.php" hash="1b5430f68d727417537bb5c69c6b128f"/><file name="Minute.php" hash="1321c21cb9147c9f3e2d312b5446677e"/></dir></dir><file name="Guid.php" hash="d1a7ff7ab39a8676df027e3c2056597f"/><dir name="Script"><file name="Js.php" hash="228cab50d4b3a2c6bb2662d2ad75b8e5"/></dir></dir><dir name="Cpf"><file name="Order.php" hash="995d84e6bd09b5c47e493dd2d6482dea"/><file name="Quote.php" hash="79c8b66a495b658d2777e6ef5fa2cb48"/></dir><file name="Cpf.php" hash="e0dcb99dbbbc730c01383c21be7916bf"/><file name="Parcel.php" hash="8ca68a8744fb2321274939f3664ba509"/><dir name="Payment"><file name="Iparcel.php" hash="68c472a7cf149f7c53154caf89b46228"/></dir><dir name="Resource"><dir name="Cpf"><file name="Collection.php" hash="dc9b9c280af0ab82e2bd5477868dc5a5"/><file name="Order.php" hash="cb44d1288ceae39cc54044d613523a3a"/><file name="Quote.php" hash="0184e6c0aef69ac12791b1b9ed4e7b77"/><dir name="Order"><file name="Collection.php" hash="fc0f9a60092fd2093ac02bc7e9a5da59"/></dir><dir name="Quote"><file name="Collection.php" hash="efa8636bf62c4059ee49b8efdd082177"/></dir></dir><file name="Cpf.php" hash="8574900614953d733ce64408bc960c17"/><file name="Parcel.php" hash="14e7ae8f8cdf6a63fee885bd91661361"/><file name="Setup.php" hash="5c9293a1ca48034ff86f091beabe461b"/><dir name="Parcel"><file name="Collection.php" hash="3ded0db6b72b53901487fe5210268386"/></dir><dir name="Tax"><dir name="Totals"><file name="Collection.php" hash="e51135362027c8b18ce850a7833b4a96"/></dir><file name="Totals.php" hash="dae8465f9ca720672b950d4635153d07"/></dir></dir><dir name="Sales"><dir name="Order"><file name="Observer.php" hash="d5f14a318e9bd2fa9416ad78d6288097"/><dir name="Shipment"><file name="Observer.php" hash="fa818d0782c860bf3e13f2f14d97f683"/></dir></dir><file name="Order.php" hash="ef00fa7cb5e6ddcc8f6544e3df776378"/><dir name="Quote"><file name="Observer.php" hash="d7d58ffb4441fa2cf76c5c98ab7ae7a8"/></dir></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Catalog"><dir name="Mapping"><dir name="Configurable"><file name="Price.php" hash="178306a97aafb7e717938ab92c98035f"/></dir><file name="Mode.php" hash="003514d0c14291b6ec59d97555aa0991"/></dir><dir name="Product"><dir name="Attribute"><file name="Boolean.php" hash="17109b32710e636b9bdc879982a5d0d3"/></dir><file name="Attribute.php" hash="1deed1a6723034b7ad06cc73ce297398"/></dir></dir><dir name="Date"><file name="Weekday.php" hash="4b2c5b300e1c16879278858d6030d644"/></dir><dir name="Sales"><dir name="Order"><file name="Status.php" hash="c25d8254cb63325bb96ca898321d33b2"/></dir></dir><dir name="Tax"><file name="Mode.php" hash="ca23108b89c655f865f1383543ece982"/></dir></dir></dir></dir><dir name="Tax"><file name="Calculation.php" hash="b9dcfddc9a756d26b113b5bc102f768a"/><file name="Totals.php" hash="71438be80c8eec389117a4ef74a90645"/><dir name="Totals"><file name="Abstract.php" hash="2dd86336b3857ba09e3983577e425858"/><dir name="Duty"><file name="Creditmemo.php" hash="e6c309335650ab3367f083d6aeb1b063"/><file name="Invoice.php" hash="97fb7063feaebad3ba0d8e28c015c84c"/><file name="Quote.php" hash="6d9fe68106b9283a919b2b90b1c5f059"/></dir><dir name="Tax"><file name="Creditmemo.php" hash="8fb2059eb74629260352eb449b906a24"/><file name="Invoice.php" hash="3b7f4eea0548dcc71a3f57edddb6e1ed"/><file name="Quote.php" hash="999679f2a74e3b68e2d55ec4244be4ec"/></dir><dir name="Taxduty"><file name="Creditmemo.php" hash="ec4c696fded4179fce6831f48e998afa"/><file name="Invoice.php" hash="4ff5c20b92018d46143eb8ba6dbc925c"/><file name="Quote.php" hash="8856b399c49c8dfd1c8a0953dea4379f"/></dir></dir></dir></dir><dir name="sql"><dir name="shippingip_setup"><file name="mysql4-install-0.2.0.php" hash="0444109a77906bdf7cd48305a94b9af9"/><file name="mysql4-install-0.3.0.php" hash="0444109a77906bdf7cd48305a94b9af9"/><file name="mysql4-install-2.3.4.2.php" hash="95a02156352063f5ca992a1b01d6c19f"/><file name="mysql4-upgrade-0.2.0-0.3.0.php" hash="52a232b3e60be6ba2ec8ecd6a7b49db7"/><file name="mysql4-upgrade-0.3.0-0.3.1.php" hash="423a0f3b34346514a5edf1798246b6ca"/><file name="mysql4-upgrade-0.3.1-0.3.2.php" hash="881e48b8921cb3cbcd2348092ae8da13"/><file name="mysql4-upgrade-0.3.2-2.0.0.php" hash="1ec688052256ff2217c80369e75c9f76"/><file name="mysql4-upgrade-2.0.0-2.3.4.2.php" hash="850c05b3c300c8fb8449393e0d1b97e7"/><file name="mysql4-upgrade-2.3.4.2-2.3.4.4.php" hash="378ad84572e259d6bce61470ca0b9571"/><file name="mysql4-upgrade-2.3.4.3-2.3.4.4.php" hash="378ad84572e259d6bce61470ca0b9571"/><file name="mysql4-upgrade-2.4.0.3-2.4.1.0.php" hash="672903f59d4711306875a24f4dd5a27a"/><file name="mysql4-upgrade-2.4.1.17-2.4.3.0.php" hash="0fe7df3bf25ab47206508176961595b4"/><file name="mysql4-upgrade-2.4.1.6-2.4.1.7.php" hash="440fd8f5d25a092dea5b5b60076bf809"/></dir></dir></dir></dir></dir></dir><dir name="design"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="iparcel"><dir name="sales"><dir name="order"><dir name="shipment"><dir name="view"><file name="tracking.phtml" hash="8e7db62fb7a6afdf4ecac2046cb143bc"/></dir></dir></dir></dir><dir name="sync"><dir name="ajax"><file name="catalog.phtml" hash="fb42ce66a7bcc3e74b77f331a7d13470"/><file name="checkitems.phtml" hash="9da1fd48d6fa9cb2b9048233d04cabd4"/></dir></dir></dir></dir><dir name="layout"><file name="externalsales.xml" hash="cec9963a1742a676b73824eab850b2d0"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="shippingip"><file name="cpf.phtml" hash="c5ce5632e329af430265d1a069f1549b"/><file name="post.phtml" hash="06a01a4e559474c66956c247cbd0acf3"/><dir name="html"><dir name="head"><file name="iparcel.phtml" hash="2c6ebcb17c00043066afa773c97563bf"/><file name="jquery.phtml" hash="9c7eb5b39de8e0a7821607fa5985e888"/><file name="post.phtml" hash="997d566fa62b8d7a575422d3434d2eb0"/></dir></dir><dir name="post"><file name="list.phtml" hash="8807f5a2dfd7efb9d18367aaf6bcf164"/></dir></dir></dir><dir name="layout"><file name="externalshipping.xml" hash="7010ac3511fa4895e4d6ee341ff8eaca"/></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><file name="Iparcel_Shipping.xml" hash="82c0c0b16f4647a662536274f17f5d18"/></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="4078e7d784a59362c7d3b53be80507fe"/><file name="sync.js" hash="f50716af0dde3aa6ce2d030f37ab9e0b"/></dir><file name="cpf.js" hash="5cf13252eae4218a80548fa01b0f6d02"/><file name="jQuery.js" hash="8fc25e27d42774aeae6edbc0a18b72aa"/><file name="lib.js" hash="ea60539f64dae3763c13c930df0454ca"/><file name="post.js" hash="27c649cb11499bbb7139f7d157282bd6"/></dir></dir><dir name="media"><dir name="font"><file name="code128.ttf" hash="8ffedc82f9b9a02f4016f502ab30117e"/></dir></dir><dir name="skin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="iparcel"><file name="ajaxSync.css" hash="c622b9e4b77589bc0f3c0555124d2751"/></dir></dir></dir></dir></dir></target></contents>
27
  <compatible/>
28
  <dependencies>
29
  <required>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>iparcel_connect</name>
4
+ <version>2.4.7</version>
5
  <stability>stable</stability>
6
  <license>GPL</license>
7
  <channel>community</channel>
11
  <notes>Notes</notes>
12
  <authors>
13
  <author>
14
+ <name>Bobby Burden</name>
15
+ <user>bburden</user>
16
+ <email>bburden@i-parcel.com</email>
 
 
 
 
 
17
  </author>
18
  </authors>
19
+ <date>2015-12-14</date>
20
+ <time>15:44:13</time>
21
+ <contents><target name="mageweb"><dir name="app"><dir name="code"><dir name="community"><dir name="Iparcel"><file name=".DS_Store" hash="452239a21a4dd68bfb3c4b5265c9a0ed"/><dir name="Shipping"><file name=".DS_Store" hash="9b0e33790c707cc6db87abdb333c961e"/><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Checkitems"><file name="Button.php" hash="b91ff14cf069bde0963320bf0409d7d6"/></dir><dir name="Mapping"><file name="Button.php" hash="ca949264be1a2946447a81405c21d5a8"/></dir></dir><dir name="Iparcel"><file name="Dashboard.php" hash="6c823eb6595c464638285ff3fb9e04b0"/></dir><dir name="Logs"><file name="Grid.php" hash="3fc2f3f7993571f3dac855abe59fec01"/></dir><file name="Logs.php" hash="c81ac5f1c6efe608b1a1a1ff8a1b409a"/><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Totals.php" hash="c0739e3ca186ce2b6b67613491e197e9"/></dir><dir name="Invoice"><file name="Totals.php" hash="05b24de84077924bb37251d8ef73bf44"/></dir><dir name="Shipment"><dir name="View"><file name="Form.php" hash="229b14530784faaacf094126d726b4ae"/><file name="Tracking.php" hash="9efac22323af23771e29338dbb18135c"/></dir></dir><file name="Totals.php" hash="51b2043c49739ffccec082970b49b605"/></dir></dir><dir name="Salesrule"><dir name="Rule"><file name="Sync.php" hash="becdb480a9ec80561e8f244e7902316a"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Method.php" hash="e2adb858a292118fbfe9d8f61791bb49"/></dir></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><file name="List.php" hash="3a784eec9e2837f8b0fccb53661a0333"/></dir><file name="Product.php" hash="6c6f146ecd1d7fc3c89615d74ad8c89e"/></dir><dir name="Catalogsearch"><dir name="Advanced"><file name="Result.php" hash="5dae8b0b2887d6c7df56b4150fcca21f"/></dir><file name="Result.php" hash="fb38a46e7df874188f25bcc7ab9d721a"/></dir><file name="Cpf.php" hash="ef6c85747d762858fc24ca2c1f579bfc"/><dir name="Html"><dir name="Head"><file name="Iparcel.php" hash="76c22656af05546abf19e94793889b19"/><file name="Jquery.php" hash="80b6b653516ae72e77a0ec5c28e88a41"/><file name="Post.php" hash="6dd772f2984d5f7e8063966ff73b9cf4"/></dir></dir><dir name="Payment"><file name="Info.php" hash="41b3173f2374995d1f1f132d93abcaa3"/></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Totals.php" hash="7b9c9c4c16badf3e0bf46ac4c0066927"/></dir><dir name="Invoice"><file name="Totals.php" hash="b0d49b76ee38ad36a924488f58d1dcd7"/></dir><file name="Totals.php" hash="065dd4ff8742134a6248f1679c7f0472"/></dir></dir><dir name="Tax"><dir name="Checkout"><file name="Tax.php" hash="790d7b3167765b2826885e0600bfa964"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Shippingip"><file name="LogController.php" hash="a86bc09065a0d4f329dbc52a224f0bab"/><file name="SyncController.php" hash="8df4ee930dbe5f5dd5cc70f64525a58d"/><dir name="Sync"><file name="AjaxController.php" hash="d25880fc0332e62c696335f61d02e7f9"/></dir></dir></dir><file name="AjaxController.php" hash="174226fe959522f26778f6e4bc8de188"/><file name="DevController.php" hash="1b4aebebe545026dac11c63acfcad75b"/><file name="InternationalController.php" hash="9b7116f44fa3b6ea22a5e6ad3659c9c7"/><file name="OrderController.php" hash="0af5009731475c9d7c6e21b07dbe90e3"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d7c09b8f804f5095d28b91732f58fcea"/><file name="config.xml" hash="6971c73ad966398cee034f1306dc1188"/><file name="system.xml" hash="fff364173aeee0963e55182734efeaf2"/></dir><dir name="Helper"><dir name="Api"><file name="External.php" hash="093ecd77863b24db8bf58a5d9c82e1c8"/></dir><file name="Api.php" hash="27ba120229929f5e0a290c2132540d7d"/><file name="Data.php" hash="771195d6c90602e9bf829785ada02690"/><file name="International.php" hash="a42c46ee707b1037f3d010d420e9d7e5"/><file name="String.php" hash="2147e64a80e4e3b896ab1b1444d3ac03"/><file name="Tax.php" hash="9c33601ec3da9d70cd23e6bebbfc1b7a"/><dir name="Sales"><file name="Data.php" hash="9f55c4116ed7fa91638bb6dd2a29c463"/></dir></dir><dir name="Model"><dir name="Api"><dir name="External"><file name=".DS_Store" hash="5ee8c4bbc012aeaf270df800dca1f0eb"/><dir name="Sales"><file name="Order.php" hash="99c3a95369e9ca5bdf25a1034d87c393"/></dir></dir><file name="Log.php" hash="9dea214fe8d337a6cee6d4b04c4b0823"/></dir><dir name="Carrier"><file name="Iparcel.php" hash="b921161ef6b2d1ac03ffbb6b765e8b26"/></dir><dir name="Catalog"><file name="Mapping.php" hash="f670a14b28323ba224b67192b108ec03"/><dir name="Product"><file name="Observer.php" hash="9fdd35d79826f4bb18e8393dab2e0c59"/></dir></dir><dir name="Config"><dir name="Catalog"><file name="Mapping.php" hash="552a5fbd97d0ce11134f801f88ada779"/></dir><dir name="Data"><dir name="Date"><file name="Monthday.php" hash="b40792549a861293215c8d40994d30c6"/><file name="Weekday.php" hash="7653b7ad1dc90d26b21e4b0127926286"/></dir><dir name="Time"><file name="Hour.php" hash="de16a76a5aa33e66d2fd5b8267dc62b1"/><file name="Minute.php" hash="2e9aae74986f7d45aab08b532ca833a7"/></dir></dir><file name="Guid.php" hash="7e13d4a22e3a0b1af0de90aff0bb0bb7"/><dir name="Script"><file name="Js.php" hash="38f7acaa80052a3cdbfc7b814e85c571"/></dir></dir><dir name="Cpf"><file name="Order.php" hash="768e3e071e4649dbfe0ce0460620f420"/><file name="Quote.php" hash="d99fbc197e1173ac2920ee2b5f202abe"/></dir><file name="Cpf.php" hash="a33b9f7d9f63b694221aec37a395e299"/><file name="Observer.php" hash="5bdc7709bb74556eeb2798689927ced4"/><file name="Parcel.php" hash="b36e0c21c0ec91c9a9bd7529dcb101fa"/><dir name="Payment"><file name="Iparcel.php" hash="6fb1c3167b2e14bdf9325e438a1a5faf"/></dir><dir name="Resource"><dir name="Api"><file name="Order.php" hash="3a95182d84c1584a9c3c5c6bca4c5005"/></dir><dir name="Cpf"><file name="Collection.php" hash="7caf21860e5fac87ebb845c8a6e8ef5d"/><file name="Order.php" hash="c79c0deae8e9166b76e4b53f1f360a23"/><file name="Quote.php" hash="f4d92ef99b16523c1baebfee42519622"/><dir name="Order"><file name="Collection.php" hash="b6452433e36b3394d1c518604d7aec6f"/></dir><dir name="Quote"><file name="Collection.php" hash="31c3e33f029bc4757284bd53489ef7b2"/></dir></dir><file name="Cpf.php" hash="32288ab0de32f9f90b643a05f12cc4c6"/><file name="Parcel.php" hash="57585af5ae851db90999a4ed4ea0b1bd"/><file name="Setup.php" hash="18f16dddafb414ca0dbcc5a9202cb0dc"/><dir name="Parcel"><file name="Collection.php" hash="641c3a3b4c8b63b8380d9d0a92cf1deb"/></dir><dir name="Tax"><dir name="Totals"><file name="Collection.php" hash="e6164a325bdff1b7a6451c1ca01416b3"/></dir><file name="Totals.php" hash="11d9457fc4b52f18ccc1ab3f6e677598"/></dir></dir><dir name="Sales"><dir name="Order"><file name="Observer.php" hash="44bec26acd06ef693e6e233a52eb64d7"/><dir name="Shipment"><file name="Observer.php" hash="3388ef509f3b0d7a5bc702872dd1e455"/></dir></dir><dir name="Quote"><file name="Observer.php" hash="9883bcc92ad348a4c45d356b7301f295"/></dir></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Catalog"><dir name="Mapping"><dir name="Configurable"><file name="Price.php" hash="d9a6e4417ee1135af58849e19945d8bf"/></dir><file name="Mode.php" hash="0b1c595182ffac855717776fc3e24490"/></dir><dir name="Product"><dir name="Attribute"><file name="Boolean.php" hash="c352d8179613dbc6e7f08e0811442dd0"/></dir><file name="Attribute.php" hash="5353c9a5a8bcc834228b8df5210eb08e"/></dir></dir><dir name="Date"><file name="Weekday.php" hash="f4341285b79feb4b3063b113889a9f7a"/></dir><dir name="Sales"><dir name="Order"><file name="Status.php" hash="26d444ae9644e78f040e580b6bb319f5"/></dir></dir><dir name="Tax"><file name="Mode.php" hash="291ad4eff21d0178200abd058787ebbe"/></dir></dir></dir></dir><dir name="Tax"><file name="Calculation.php" hash="9001dd79af61eed769faa2bbac629bf6"/><file name="Totals.php" hash="1d2af5b8fb0df1ccd5d7550cd55d3fcb"/><dir name="Totals"><file name="Abstract.php" hash="56dca2b3d7689b90d4ede5362bcc62bb"/><dir name="Duty"><file name="Creditmemo.php" hash="1ae6546a91bfe85c7c4c9c1b4e1d97c3"/><file name="Invoice.php" hash="eb7bfee47e0544973da092e56f26a5ab"/><file name="Quote.php" hash="9b7d1e47bc768ba85ac8c6f5ebc518ba"/></dir><dir name="Tax"><file name="Creditmemo.php" hash="4b16edce04ca034cbfba219def5dfe92"/><file name="Invoice.php" hash="681e224403795adf80e9025a454374b4"/><file name="Quote.php" hash="5f53caf617b69ae7f81696a8c57fe535"/></dir><dir name="Taxduty"><file name="Creditmemo.php" hash="8da554edc2d20ad794ea5c9eb3b5a957"/><file name="Invoice.php" hash="c787d7f5b24a908989cd2c40d1af5870"/><file name="Quote.php" hash="68bb998187ec3fdfaf1b2a638a09b5c3"/></dir></dir></dir></dir><dir name="sql"><dir name="shippingip_setup"><file name="mysql4-install-0.2.0.php" hash="0444109a77906bdf7cd48305a94b9af9"/><file name="mysql4-install-0.3.0.php" hash="0444109a77906bdf7cd48305a94b9af9"/><file name="mysql4-install-2.3.4.2.php" hash="95a02156352063f5ca992a1b01d6c19f"/><file name="mysql4-upgrade-0.2.0-0.3.0.php" hash="52a232b3e60be6ba2ec8ecd6a7b49db7"/><file name="mysql4-upgrade-0.3.0-0.3.1.php" hash="423a0f3b34346514a5edf1798246b6ca"/><file name="mysql4-upgrade-0.3.1-0.3.2.php" hash="881e48b8921cb3cbcd2348092ae8da13"/><file name="mysql4-upgrade-0.3.2-2.0.0.php" hash="1ec688052256ff2217c80369e75c9f76"/><file name="mysql4-upgrade-2.0.0-2.3.4.2.php" hash="850c05b3c300c8fb8449393e0d1b97e7"/><file name="mysql4-upgrade-2.3.4.2-2.3.4.4.php" hash="378ad84572e259d6bce61470ca0b9571"/><file name="mysql4-upgrade-2.3.4.3-2.3.4.4.php" hash="378ad84572e259d6bce61470ca0b9571"/><file name="mysql4-upgrade-2.4.0.3-2.4.1.0.php" hash="672903f59d4711306875a24f4dd5a27a"/><file name="mysql4-upgrade-2.4.1.17-2.4.3.0.php" hash="0fe7df3bf25ab47206508176961595b4"/><file name="mysql4-upgrade-2.4.1.6-2.4.1.7.php" hash="19fadcf9d5275eec31b192f4938ea3cd"/><file name="mysql4-upgrade-2.4.6-2.4.7.php" hash="743525067bd7a70135444328afb65961"/></dir></dir></dir></dir></dir></dir><dir name="design"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="iparcel"><dir name="sales"><dir name="order"><dir name="shipment"><dir name="view"><file name="tracking.phtml" hash="c8c306dd5222d236316416fc24e878e3"/></dir></dir></dir></dir><dir name="sync"><dir name="ajax"><file name="catalog.phtml" hash="48865e1197957ebfaedfcd404112b31f"/><file name="checkitems.phtml" hash="91b8a960a7e6c14d83d282cfa1ae0541"/></dir></dir></dir></dir><dir name="layout"><file name="externalsales.xml" hash="cec9963a1742a676b73824eab850b2d0"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="shippingip"><file name="cpf.phtml" hash="a447be164b935badb27ec5030bd6fdbc"/><file name="post.phtml" hash="ae6ee4b40efe875771dd39048b3f3a3a"/><dir name="html"><dir name="head"><file name="iparcel.phtml" hash="24dd2314962ab204aba21f37bb43ebc0"/><file name="jquery.phtml" hash="69e3266c61fbf24c4f876fbfd4283b80"/><file name="post.phtml" hash="faab1b60f4f35f135df23859f62b39ab"/></dir></dir><dir name="post"><file name="list.phtml" hash="fa484d152b7473b7af449118f2112f84"/></dir></dir></dir><dir name="layout"><file name="externalshipping.xml" hash="7010ac3511fa4895e4d6ee341ff8eaca"/></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><file name="Iparcel_Shipping.xml" hash="82c0c0b16f4647a662536274f17f5d18"/></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="sync.js" hash="51f7ef4d8fb857589bbde1dc1e12d16f"/></dir><file name="cpf.js" hash="92443ee9633827b535044aebbdaeef87"/><file name="jQuery.js" hash="8fc25e27d42774aeae6edbc0a18b72aa"/><file name="lib.js" hash="ec9c54d4694182dab4c69245e13bbdc7"/><file name="post.js" hash="dd7a29142752104ab4317ca005280c16"/></dir></dir><dir name="media"><dir name="font"><file name="code128.ttf" hash="8ffedc82f9b9a02f4016f502ab30117e"/></dir></dir><dir name="skin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="iparcel"><file name="ajaxSync.css" hash="c622b9e4b77589bc0f3c0555124d2751"/></dir></dir></dir></dir></dir></target></contents>
22
  <compatible/>
23
  <dependencies>
24
  <required>