Ced_LayBuy - Version 2.1.8.5

Version Notes

1.New secure communication protocal.

Download this release

Release Info

Developer Warrin
Extension Ced_LayBuy
Version 2.1.8.5
Comparing to
See all releases


Code changes from version 2.1.8.4 to 2.1.8.5

app/code/local/Ced/LayBuy/Helper/Address.php ADDED
@@ -0,0 +1,290 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Customer
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Customer address helper
29
+ *
30
+ * @author Magento Core Team <core@magentocommerce.com>
31
+ */
32
+ class Ced_Laybuy_Helper_Address extends Mage_Customer_Helper_Address
33
+ {
34
+ /**
35
+ * VAT Validation parameters XML paths
36
+ */
37
+ const XML_PATH_VIV_DISABLE_AUTO_ASSIGN_DEFAULT = 'customer/create_account/viv_disable_auto_group_assign_default';
38
+ const XML_PATH_VIV_ON_EACH_TRANSACTION = 'customer/create_account/viv_on_each_transaction';
39
+ const XML_PATH_VAT_VALIDATION_ENABLED = 'customer/create_account/auto_group_assign';
40
+ const XML_PATH_VIV_TAX_CALCULATION_ADDRESS_TYPE = 'customer/create_account/tax_calculation_address_type';
41
+ const XML_PATH_VAT_FRONTEND_VISIBILITY = 'customer/create_account/vat_frontend_visibility';
42
+
43
+ /**
44
+ * Array of Customer Address Attributes
45
+ *
46
+ * @var array
47
+ */
48
+ protected $_attributes;
49
+
50
+ /**
51
+ * Customer address config node per website
52
+ *
53
+ * @var array
54
+ */
55
+ protected $_config = array();
56
+
57
+ /**
58
+ * Customer Number of Lines in a Street Address per website
59
+ *
60
+ * @var array
61
+ */
62
+ protected $_streetLines = array();
63
+ protected $_formatTemplate = array();
64
+
65
+ /**
66
+ * Addresses url
67
+ */
68
+ public function getBookUrl()
69
+ {
70
+
71
+ }
72
+
73
+ public function getEditUrl()
74
+ {
75
+
76
+ }
77
+
78
+ public function getDeleteUrl()
79
+ {
80
+
81
+ }
82
+
83
+ public function getCreateUrl()
84
+ {
85
+
86
+ }
87
+
88
+ public function getRenderer($renderer)
89
+ {
90
+ if(is_string($renderer) && $className = Mage::getConfig()->getBlockClassName($renderer)) {
91
+ return new $className();
92
+ } else {
93
+ return $renderer;
94
+ }
95
+ }
96
+
97
+ /**
98
+ * Return customer address config value by key and store
99
+ *
100
+ * @param string $key
101
+ * @param Mage_Core_Model_Store|int|string $store
102
+ * @return string|null
103
+ */
104
+ public function getConfig($key, $store = null)
105
+ {
106
+ $websiteId = Mage::app()->getStore($store)->getWebsiteId();
107
+
108
+ if (!isset($this->_config[$websiteId])) {
109
+ $this->_config[$websiteId] = Mage::getStoreConfig('customer/address', $store);
110
+ }
111
+ return isset($this->_config[$websiteId][$key]) ? (string)$this->_config[$websiteId][$key] : null;
112
+ }
113
+
114
+ /**
115
+ * Return Number of Lines in a Street Address for store
116
+ *
117
+ * @param Mage_Core_Model_Store|int|string $store
118
+ * @return int
119
+ */
120
+ public function getStreetLines($store = null)
121
+ {
122
+ $websiteId = Mage::app()->getStore($store)->getWebsiteId();
123
+ if (!isset($this->_streetLines[$websiteId])) {
124
+ $attribute = Mage::getSingleton('eav/config')->getAttribute('customer_address', 'street');
125
+ $lines = (int)$attribute->getMultilineCount();
126
+ if($lines <= 0) {
127
+ $lines = 2;
128
+ }
129
+ $this->_streetLines[$websiteId] = min(4, $lines);
130
+ }
131
+
132
+ return $this->_streetLines[$websiteId];
133
+ }
134
+
135
+ public function getFormat($code)
136
+ {
137
+ $format = Mage::getSingleton('customer/address_config')->getFormatByCode($code);
138
+ return $format->getRenderer() ? $format->getRenderer()->getFormat() : '';
139
+ }
140
+
141
+ /**
142
+ * Determine if specified address config value can be shown
143
+ *
144
+ * @param string $key
145
+ * @return bool
146
+ */
147
+ public function canShowConfig($key)
148
+ {
149
+ return (bool)$this->getConfig($key);
150
+ }
151
+
152
+ /**
153
+ * Return array of Customer Address Attributes
154
+ *
155
+ * @return array
156
+ */
157
+ public function getAttributes()
158
+ {
159
+ if (is_null($this->_attributes)) {
160
+ $this->_attributes = array();
161
+ /* @var $config Mage_Eav_Model_Config */
162
+ $config = Mage::getSingleton('eav/config');
163
+ foreach ($config->getEntityAttributeCodes('customer_address') as $attributeCode) {
164
+ $this->_attributes[$attributeCode] = $config->getAttribute('customer_address', $attributeCode);
165
+ }
166
+ }
167
+ return $this->_attributes;
168
+ }
169
+
170
+ /**
171
+ * Get string with frontend validation classes for attribute
172
+ *
173
+ * @param string $attributeCode
174
+ * @return string
175
+ */
176
+ public function getAttributeValidationClass($attributeCode)
177
+ {
178
+ /** @var $attribute Mage_Customer_Model_Attribute */
179
+ $attribute = isset($this->_attributes[$attributeCode]) ? $this->_attributes[$attributeCode]
180
+ : Mage::getSingleton('eav/config')->getAttribute('customer_address', $attributeCode);
181
+ $class = $attribute ? $attribute->getFrontend()->getClass() : '';
182
+
183
+ if (in_array($attributeCode, array('firstname', 'middlename', 'lastname', 'prefix', 'suffix', 'taxvat'))) {
184
+ if ($class && !$attribute->getIsVisible()) {
185
+ $class = ''; // address attribute is not visible thus its validation rules are not applied
186
+ }
187
+
188
+ /** @var $customerAttribute Mage_Customer_Model_Attribute */
189
+ $customerAttribute = Mage::getSingleton('eav/config')->getAttribute('customer', $attributeCode);
190
+ $class .= $customerAttribute && $customerAttribute->getIsVisible()
191
+ ? $customerAttribute->getFrontend()->getClass() : '';
192
+ $class = implode(' ', array_unique(array_filter(explode(' ', $class))));
193
+ }
194
+
195
+ return $class;
196
+ }
197
+
198
+ /**
199
+ * Convert streets array to new street lines count
200
+ * Examples of use:
201
+ * $origStreets = array('street1', 'street2', 'street3', 'street4')
202
+ * $toCount = 3
203
+ * Result:
204
+ * array('street1 street2', 'street3', 'street4')
205
+ * $toCount = 2
206
+ * Result:
207
+ * array('street1 street2', 'street3 street4')
208
+ *
209
+ * @param array $origStreets
210
+ * @param int $toCount
211
+ * @return array
212
+ */
213
+ public function convertStreetLines($origStreets, $toCount)
214
+ {
215
+ $lines = array();
216
+ if (!empty($origStreets) && $toCount > 0) {
217
+ $countArgs = (int)floor(count($origStreets)/$toCount);
218
+ $modulo = count($origStreets) % $toCount;
219
+ $offset = 0;
220
+ $neededLinesCount = 0;
221
+ for ($i = 0; $i < $toCount; $i++) {
222
+ $offset += $neededLinesCount;
223
+ $neededLinesCount = $countArgs;
224
+ if ($modulo > 0) {
225
+ ++$neededLinesCount;
226
+ --$modulo;
227
+ }
228
+ $values = array_slice($origStreets, $offset, $neededLinesCount);
229
+ if (is_array($values)) {
230
+ $lines[] = implode(' ', $values);
231
+ }
232
+ }
233
+ }
234
+
235
+ return $lines;
236
+ }
237
+
238
+ /**
239
+ * Check whether VAT ID validation is enabled
240
+ *
241
+ * @param Mage_Core_Model_Store|string|int $store
242
+ * @return bool
243
+ */
244
+ public function isVatValidationEnabled($store = null)
245
+ {
246
+ return (bool)Mage::getStoreConfig(self::XML_PATH_VAT_VALIDATION_ENABLED, $store);
247
+ }
248
+
249
+ /**
250
+ * Retrieve disable auto group assign default value
251
+ *
252
+ * @return bool
253
+ */
254
+ public function getDisableAutoGroupAssignDefaultValue()
255
+ {
256
+ return (bool)Mage::getStoreConfig(self::XML_PATH_VIV_DISABLE_AUTO_ASSIGN_DEFAULT);
257
+ }
258
+
259
+ /**
260
+ * Retrieve 'validate on each transaction' value
261
+ *
262
+ * @param Mage_Core_Model_Store|string|int $store
263
+ * @return bool
264
+ */
265
+ public function getValidateOnEachTransaction($store = null)
266
+ {
267
+ return (bool)Mage::getStoreConfig(self::XML_PATH_VIV_ON_EACH_TRANSACTION, $store);
268
+ }
269
+
270
+ /**
271
+ * Retrieve customer address type on which tax calculation must be based
272
+ *
273
+ * @param Mage_Core_Model_Store|string|int|null $store
274
+ * @return string
275
+ */
276
+ public function getTaxCalculationAddressType($store = null)
277
+ {
278
+ return (string)Mage::getStoreConfig(self::XML_PATH_VIV_TAX_CALCULATION_ADDRESS_TYPE, $store);
279
+ }
280
+
281
+ /**
282
+ * Check if VAT ID address attribute has to be shown on frontend (on Customer Address management forms)
283
+ *
284
+ * @return boolean
285
+ */
286
+ public function isVatAttributeVisible()
287
+ {
288
+ return (bool)Mage::getStoreConfig(self::XML_PATH_VAT_FRONTEND_VISIBILITY);
289
+ }
290
+ }
app/code/local/Ced/LayBuy/Model/Mysql4/Region/Collection.php CHANGED
@@ -33,6 +33,96 @@
33
  */
34
  class Ced_Laybuy_Model_Mysql4_Region_Collection extends Mage_Directory_Model_Mysql4_Region_Collection
35
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  /**
37
  * Filter region by its code or name
38
  *
33
  */
34
  class Ced_Laybuy_Model_Mysql4_Region_Collection extends Mage_Directory_Model_Mysql4_Region_Collection
35
  {
36
+ protected $_regionTable;
37
+ protected $_regionNameTable;
38
+ protected $_countryTable;
39
+
40
+ public function __construct()
41
+ {
42
+ parent::__construct(Mage::getSingleton('core/resource')->getConnection('directory_read'));
43
+
44
+ $this->_countryTable = Mage::getSingleton('core/resource')->getTableName('directory/country');
45
+ $this->_regionTable = Mage::getSingleton('core/resource')->getTableName('directory/country_region');
46
+ $this->_regionNameTable = Mage::getSingleton('core/resource')->getTableName('directory/country_region_name');
47
+
48
+ $locale = $this->_select->getAdapter()->quote(
49
+ Mage::app()->getLocale()->getLocaleCode());
50
+
51
+
52
+ $this->_select->from(array('region'=>$this->_regionTable),
53
+ array(
54
+ 'region_id' => 'region_id',
55
+ 'country_id' => 'country_id',
56
+ 'code' => 'code',
57
+ 'default_name' => 'default_name'
58
+ ));
59
+ $this->_select->joinLeft(array('rname'=>$this->_regionNameTable),
60
+ 'region.region_id = rname.region_id AND rname.locale = ' . $locale,
61
+ array('name'));
62
+
63
+ $this->setItemObjectClass(Mage::getConfig()->getModelClassName('directory/region'));
64
+ }
65
+
66
+ public function addCountryFilter($countryId)
67
+ {
68
+ if (!empty($countryId)) {
69
+ if (is_array($countryId)) {
70
+ $this->addFieldToFilter('region.country_id', array('in' => $countryId));
71
+ } else {
72
+ $this->addFieldToFilter('region.country_id', $countryId);
73
+ }
74
+ }
75
+ return $this;
76
+ }
77
+
78
+ public function addCountryCodeFilter($countryCode)
79
+ {
80
+ $this->_select->joinLeft(array('country'=>$this->_countryTable), 'region.country_id=country.country_id');
81
+ $this->_select->where('country.iso3_code = ?', $countryCode);
82
+ return $this;
83
+ }
84
+
85
+ public function addRegionCodeFilter($regionCode)
86
+ {
87
+ if (!empty($regionCode)) {
88
+ if (is_array($regionCode)) {
89
+ $this->_select->where('region.code IN(?)', $regionCode);
90
+ } else {
91
+ $this->_select->where('region.code = ?', $regionCode);
92
+ }
93
+ }
94
+ return $this;
95
+ }
96
+
97
+ public function addRegionNameFilter($regionName)
98
+ {
99
+ if (!empty($regionName)) {
100
+ if (is_array($regionName)) {
101
+ $this->_select->where('region.default_name IN(?)', $regionName);
102
+ } else {
103
+ $this->_select->where('region.default_name = ?', $regionName);
104
+ }
105
+ }
106
+ return $this;
107
+ }
108
+
109
+ public function toOptionArray()
110
+ {
111
+ $options = array();
112
+ foreach ($this as $item) {
113
+ $options[] = array(
114
+ 'value' => $item->getId(),
115
+ 'label' => $item->getName()
116
+ );
117
+ }
118
+ if (count($options)>0) {
119
+ array_unshift($options,
120
+ array('title' => null,
121
+ 'value' => '0',
122
+ 'label' => Mage::helper('directory')->__('-- Please select --')));
123
+ }
124
+ return $options;
125
+ }
126
  /**
127
  * Filter region by its code or name
128
  *
app/code/local/Ced/LayBuy/Model/Resource/Region/Collection.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Directory
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+
28
+ /**
29
+ * Country collection
30
+ *
31
+ * @category Mage
32
+ * @package Mage_Directory
33
+ * @author Magento Core Team <core@magentocommerce.com>
34
+ */
35
+ class Ced_LayBuy_Model_Resource_Region_Collection extends Mage_Directory_Model_Resource_Region_Collection
36
+ {
37
+ /**
38
+ * Filter region by its code or name
39
+ *
40
+ * @param string|array $region
41
+ * @return Mage_Directory_Model_Resource_Region_Collection
42
+ */
43
+ public function addRegionCodeOrNameFilter($region)
44
+ {
45
+ if (!empty($region)) {
46
+ $condition = is_array($region) ? array('in' => $region) : $region;
47
+ $this->addFieldToFilter(array('main_table.code', 'main_table.default_name'), array($condition, $condition));
48
+ }
49
+ return $this;
50
+ }
51
+
52
+ }
app/code/local/Ced/LayBuy/controllers/ExpressController.php CHANGED
@@ -444,8 +444,13 @@ class Ced_LayBuy_ExpressController extends Mage_Core_Controller_Front_Action
444
 
445
  $quote = $this->_getQuote();
446
  if (!$quote->hasItems() || $quote->getHasError()) {
447
- $this->getResponse()->setHeader('HTTP/1.1','403 Forbidden');
448
- Mage::throwException(Mage::helper('laybuy')->__('Unable to initialize Laybuy Express Checkout.'));
 
 
 
 
 
449
  }
450
  $model=Mage::getModel("laybuy/express");
451
  $product_id="";
@@ -470,6 +475,7 @@ class Ced_LayBuy_ExpressController extends Mage_Core_Controller_Front_Action
470
 
471
  }
472
  public function formAction(){
 
473
  $quote = $this->_getQuote();
474
  $model=Mage::getModel("laybuy/express");
475
  $product_id="";
@@ -483,9 +489,12 @@ class Ced_LayBuy_ExpressController extends Mage_Core_Controller_Front_Action
483
  }
484
  $this->_redirect('checkout/cart/index');
485
  }
 
486
  if($this->getRequest()->getParams()){
487
  $quote=Mage::getSingleton('checkout/session')->getQuote();
 
488
  $email = $quote->getBillingAddress()->getEmail();
 
489
  if (!$email) $email = $quote->getCustomerEmail();
490
 
491
  $request=array();
@@ -496,7 +505,7 @@ class Ced_LayBuy_ExpressController extends Mage_Core_Controller_Front_Action
496
  $totals = $checkout->getQuote()->getTotals();
497
  $amt = $totals["grand_total"]->getValue();
498
  }
499
-
500
  $currency_code ="";
501
  $currency_code = Mage::app()->getStore()->getCurrentCurrencyCode();
502
  $request["AMOUNT"]=$amt;
@@ -533,6 +542,7 @@ class Ced_LayBuy_ExpressController extends Mage_Core_Controller_Front_Action
533
 
534
  $mnth= $params["laybuy_months"];
535
  $init=$params["laybuy_init"];
 
536
  $request["INIT"]=0;
537
  $MAXD = Mage::getStoreConfig('payment/laybuy/maxd',$storeId);
538
  $MIND = Mage::getStoreConfig('payment/laybuy/mind',$storeId);
@@ -578,6 +588,7 @@ class Ced_LayBuy_ExpressController extends Mage_Core_Controller_Front_Action
578
  $helper=Mage::helper('laybuy');
579
  $redirectURL="http://lay-buys.com/expressgateway/";
580
  $token="";
 
581
  if($token = $helper->postToLaybuy($redirectURL,$request)){
582
  $this->getResponse()->setBody($this->getLayout()->createBlock('Ced_LayBuy_Block_Express_Redirect')->setData('token',$token)->toHtml());
583
  }
@@ -1047,18 +1058,18 @@ class Ced_LayBuy_ExpressController extends Mage_Core_Controller_Front_Action
1047
  // attempt to fetch region_id from directory
1048
  if ($address->getCountryId() && $address->getRegion()) {
1049
  $regions = Mage::getModel('directory/country')->loadByCode($address->getCountryId())->getRegionCollection()
1050
- //->addRegionCodeOrNameFilter($address->getRegion())
1051
  ->setPageSize(1);
1052
  /**********************new added code*************************/
1053
- $region1="";
1054
  $condition="";
1055
  $region1=$address->getRegion();
1056
 
1057
  if (!empty($region1)) {
1058
  $condition = is_array($region1) ? array('in' => $region1) : $region1;
1059
- $regions->addFieldToFilter(array('main_table.code', 'main_table.default_name'), array($condition, $condition));
1060
-
1061
- }
1062
  /**********************new added code ends*************************/
1063
  foreach ($regions as $region) {
1064
  $address->setRegionId($region->getId());
444
 
445
  $quote = $this->_getQuote();
446
  if (!$quote->hasItems() || $quote->getHasError()) {
447
+ $url = Mage::helper('core/http')->getHttpReferer() ? Mage::helper('core/http')->getHttpReferer() : Mage::getUrl();
448
+ Mage::getSingleton('core/session')->addError(Mage::helper('laybuy')->__('Product is not added to Cart,unable to initialize Laybuy Express Checkout.Please try again.'));
449
+ Mage::app()->getFrontController()->getResponse()->setRedirect($url);
450
+ Mage::app()->getResponse()->sendResponse();
451
+ exit;
452
+ //$this->getResponse()->setHeader('HTTP/1.1','403 Forbidden');
453
+ //Mage::throwException(Mage::helper('laybuy')->__('Unable to initialize Laybuy Express Checkout.'));
454
  }
455
  $model=Mage::getModel("laybuy/express");
456
  $product_id="";
475
 
476
  }
477
  public function formAction(){
478
+
479
  $quote = $this->_getQuote();
480
  $model=Mage::getModel("laybuy/express");
481
  $product_id="";
489
  }
490
  $this->_redirect('checkout/cart/index');
491
  }
492
+
493
  if($this->getRequest()->getParams()){
494
  $quote=Mage::getSingleton('checkout/session')->getQuote();
495
+
496
  $email = $quote->getBillingAddress()->getEmail();
497
+
498
  if (!$email) $email = $quote->getCustomerEmail();
499
 
500
  $request=array();
505
  $totals = $checkout->getQuote()->getTotals();
506
  $amt = $totals["grand_total"]->getValue();
507
  }
508
+
509
  $currency_code ="";
510
  $currency_code = Mage::app()->getStore()->getCurrentCurrencyCode();
511
  $request["AMOUNT"]=$amt;
542
 
543
  $mnth= $params["laybuy_months"];
544
  $init=$params["laybuy_init"];
545
+
546
  $request["INIT"]=0;
547
  $MAXD = Mage::getStoreConfig('payment/laybuy/maxd',$storeId);
548
  $MIND = Mage::getStoreConfig('payment/laybuy/mind',$storeId);
588
  $helper=Mage::helper('laybuy');
589
  $redirectURL="http://lay-buys.com/expressgateway/";
590
  $token="";
591
+
592
  if($token = $helper->postToLaybuy($redirectURL,$request)){
593
  $this->getResponse()->setBody($this->getLayout()->createBlock('Ced_LayBuy_Block_Express_Redirect')->setData('token',$token)->toHtml());
594
  }
1058
  // attempt to fetch region_id from directory
1059
  if ($address->getCountryId() && $address->getRegion()) {
1060
  $regions = Mage::getModel('directory/country')->loadByCode($address->getCountryId())->getRegionCollection()
1061
+ ->addRegionCodeOrNameFilter($address->getRegion())
1062
  ->setPageSize(1);
1063
  /**********************new added code*************************/
1064
+ /*$region1="";
1065
  $condition="";
1066
  $region1=$address->getRegion();
1067
 
1068
  if (!empty($region1)) {
1069
  $condition = is_array($region1) ? array('in' => $region1) : $region1;
1070
+ $regions->addFieldToFilter(array('e.code', 'e.default_name'), array($condition, $condition));
1071
+ echo $regions->getSelect();die("lkhj");
1072
+ }*/
1073
  /**********************new added code ends*************************/
1074
  foreach ($regions as $region) {
1075
  $address->setRegionId($region->getId());
app/code/local/Ced/LayBuy/etc/config.xml CHANGED
@@ -74,17 +74,23 @@
74
  </sales_convert_quote_payment>
75
  </fieldsets>
76
  <models>
77
- <!-- <directory_mysql4>
78
- <rewrite>
79
- <region_collection>Ced_Laybuy_Model_Mysql4_Region_Collection</region_collection>
80
- </rewrite>
81
- </directory_mysql4>-->
82
  <laybuy>
83
  <class>Ced_LayBuy_Model</class>
84
  <resourceModel>laybuy_mysql4</resourceModel>
85
  </laybuy>
 
 
 
 
 
 
 
 
 
 
86
  <laybuy_mysql4>
87
  <class>Ced_LayBuy_Model_Mysql4</class>
 
88
  <entities>
89
  <report>
90
  <table>laybuy_transaction_report</table>
@@ -107,6 +113,11 @@
107
  </laybuy_setup>
108
  </resources>
109
  <helpers>
 
 
 
 
 
110
  <laybuy>
111
  <class>Ced_LayBuy_Helper</class>
112
  </laybuy>
74
  </sales_convert_quote_payment>
75
  </fieldsets>
76
  <models>
 
 
 
 
 
77
  <laybuy>
78
  <class>Ced_LayBuy_Model</class>
79
  <resourceModel>laybuy_mysql4</resourceModel>
80
  </laybuy>
81
+ <directory_resource>
82
+ <rewrite>
83
+ <region_collection>Ced_LayBuy_Model_Resource_Region_Collection</region_collection>
84
+ </rewrite>
85
+ </directory_resource>
86
+ <directory_mysql4>
87
+ <rewrite>
88
+ <region_collection>Ced_Laybuy_Model_Mysql4_Region_Collection</region_collection>
89
+ </rewrite>
90
+ </directory_mysql4>
91
  <laybuy_mysql4>
92
  <class>Ced_LayBuy_Model_Mysql4</class>
93
+ <deprecatedNode>laybuy_resource</deprecatedNode>
94
  <entities>
95
  <report>
96
  <table>laybuy_transaction_report</table>
113
  </laybuy_setup>
114
  </resources>
115
  <helpers>
116
+ <customer>
117
+ <rewrite>
118
+ <address>Ced_LayBuy_Helper_Address</address>
119
+ </rewrite>
120
+ </customer>
121
  <laybuy>
122
  <class>Ced_LayBuy_Helper</class>
123
  </laybuy>
app/design/frontend/base/default/layout/laybuy.xml CHANGED
@@ -104,6 +104,7 @@
104
  </reference>
105
  <reference name="content">
106
  <block type="laybuy/express_review" name="laybuy.express.review" template="laybuy/express/review.phtml">
 
107
  <block type="laybuy/express_review_billing" name="express.review.billing" as="billing" template="laybuy/express/review/address.phtml"/>
108
  <block type="laybuy/express_review_shipping" name="express.review.shipping" as="shipping" template="laybuy/express/review/address.phtml"/>
109
  <block type="laybuy/express_review" name="express.review.shipping.method" as="shipping_method" template="laybuy/express/review/shipping/method.phtml"/>
@@ -117,7 +118,8 @@
117
  </block>
118
  </reference>
119
  <reference name="head">
120
- <action method="addItem"><type>skin_js</type><name>js/checkout/review.js</name></action>
 
121
  </reference>
122
  <block type="core/text_list" name="additional.product.info" />
123
  </laybuy_express_review>
@@ -126,6 +128,7 @@
126
  <action method="addItemRender"><type>default</type><block>checkout/cart_item_renderer</block><template>checkout/onepage/review/item.phtml</template></action>
127
  <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/onepage/review/item.phtml</template></action>
128
  <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/onepage/review/item.phtml</template></action>
 
129
  <block type="checkout/cart_totals" name="laybuy.express.review.details.totals" as="totals" template="checkout/onepage/review/totals.phtml"/>
130
  </block>
131
  </laybuy_express_review_details>
104
  </reference>
105
  <reference name="content">
106
  <block type="laybuy/express_review" name="laybuy.express.review" template="laybuy/express/review.phtml">
107
+ <block type="core/template" name="laybuy.checkout.onepage.review.button" as="laybuy_button" template="laybuy/checkout/onepage/review/button_express.phtml"/>
108
  <block type="laybuy/express_review_billing" name="express.review.billing" as="billing" template="laybuy/express/review/address.phtml"/>
109
  <block type="laybuy/express_review_shipping" name="express.review.shipping" as="shipping" template="laybuy/express/review/address.phtml"/>
110
  <block type="laybuy/express_review" name="express.review.shipping.method" as="shipping_method" template="laybuy/express/review/shipping/method.phtml"/>
118
  </block>
119
  </reference>
120
  <reference name="head">
121
+ <!--<action method="addItem"><type>skin_js</type><name>js/checkout/review.js</name></action>-->
122
+ <action method="addItem" ifconfig="payment/laybuy/active"><type>js</type><name>laybuy/review.js</name></action>
123
  </reference>
124
  <block type="core/text_list" name="additional.product.info" />
125
  </laybuy_express_review>
128
  <action method="addItemRender"><type>default</type><block>checkout/cart_item_renderer</block><template>checkout/onepage/review/item.phtml</template></action>
129
  <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/onepage/review/item.phtml</template></action>
130
  <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/onepage/review/item.phtml</template></action>
131
+ <block type="core/template" name="laybuy.checkout.onepage.review.button" as="laybuy_button" template="laybuy/checkout/onepage/review/button_express.phtml"/>
132
  <block type="checkout/cart_totals" name="laybuy.express.review.details.totals" as="totals" template="checkout/onepage/review/totals.phtml"/>
133
  </block>
134
  </laybuy_express_review_details>
app/design/frontend/base/default/template/laybuy/checkout/onepage/review/button_express.phtml ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Lay-Buys
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php
28
+ $this->setLayBuyTitle(Mage::helper('laybuy')->__('A recurring payment solution'))
29
+ ->setPaymentAcceptanceMarkSrc('http://lay-buys.com/gateway/LAY-BUY.png')
30
+ ->setPaymentAcceptanceMarkHref('http://lay-buys.com/');
31
+ $sessionPayment = Mage::getSingleton('checkout/session')->getQuote()->getPayment();
32
+ $method = $sessionPayment->getData('method');
33
+ $init=Mage::getSingleton('core/session')->getPaymentInit();
34
+ $month=Mage::getSingleton('core/session')->getPaymentMonths();
35
+ $customerOptions = Mage::helper('laybuy')->getInstalmentData($sessionPayment);
36
+ $totals = Mage::getSingleton('checkout/session')->getQuote()->getTotals();
37
+ $grandtotal = $totals["grand_total"]->getValue();
38
+ ?>
39
+ <?php if($method == 'laybuy_express'){ ?>
40
+ <div class="buttons-set">
41
+ <br/>
42
+ <div class="input-box" id="laybuy-preview-wrapper" style="clear: both !important;">
43
+ <span style="text-align: center !important; display: block !important;"><strong><?php echo $this->__('Plan Preview'); ?></strong></span>
44
+ <iframe src="<?php echo $this->getUrl('laybuy/standard/docalc',array('_secure' => true)); ?>?currency=<?php echo Mage::app()->getStore()->getCurrentCurrencyCode(); ?>&amt=<?php echo $grandtotal; ?>&init=<?php echo $init;//$customerOptions['INIT']; ?>&mnth=<?php echo $month;//$customerOptions['MONTHS']; ?>&html=1" name="preview-tbl" id="preview-tbl" style="width:100%; height:157px; border:0; margin:0; overflow:hidden" marginheight="0" marginwidth="0" noscroll></iframe>
45
+ </div>
46
+ </div>
47
+ <?php } ?>
48
+ <?php //echo $this->getLayout()->createBlock("core/template")->setTemplate("checkout/onepage/review/button.phtml")->toHtml();
49
+
50
+
app/design/frontend/base/default/template/laybuy/express/review.phtml CHANGED
@@ -91,6 +91,7 @@ $shippingAddress = $this->getShippingAddress();
91
  <h2 class="legend"><?php echo $this->__('Items in Your Shopping Cart') ?><span class="separator"> | </span><a href="<?php echo $this->getUrl('checkout/cart') ?>"><?php echo $this->__('Edit Shopping Cart') ?></a></h2>
92
  <div id="details-reload">
93
  <?php echo $this->getChildHtml('details') ?>
 
94
  </div>
95
  </div>
96
  <?php echo $this->getChildHtml('agreements'); ?>
91
  <h2 class="legend"><?php echo $this->__('Items in Your Shopping Cart') ?><span class="separator"> | </span><a href="<?php echo $this->getUrl('checkout/cart') ?>"><?php echo $this->__('Edit Shopping Cart') ?></a></h2>
92
  <div id="details-reload">
93
  <?php echo $this->getChildHtml('details') ?>
94
+ <?php echo $this->getChildHtml('laybuy_button') ?>
95
  </div>
96
  </div>
97
  <?php echo $this->getChildHtml('agreements'); ?>
app/design/frontend/base/default/template/laybuy/express/review/details.phtml CHANGED
@@ -61,4 +61,5 @@
61
  <?php endforeach ?>
62
  </tbody>
63
  </table>
 
64
  <script type="text/javascript">decorateTable('details-table');</script>
61
  <?php endforeach ?>
62
  </tbody>
63
  </table>
64
+ <?php echo $this->getChildHtml('laybuy_button'); ?>
65
  <script type="text/javascript">decorateTable('details-table');</script>
js/laybuy/review.js ADDED
@@ -0,0 +1,454 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Magento
3
+ *
4
+ * NOTICE OF LICENSE
5
+ *
6
+ * This source file is subject to the Academic Free License (AFL 3.0)
7
+ * that is bundled with this package in the file LICENSE_AFL.txt.
8
+ * It is also available through the world-wide-web at this URL:
9
+ * http://opensource.org/licenses/afl-3.0.php
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magentocommerce.com so we can send you a copy immediately.
13
+ *
14
+ * DISCLAIMER
15
+ *
16
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
17
+ * versions in the future. If you wish to customize Magento for your
18
+ * needs please refer to http://www.magentocommerce.com for more information.
19
+ *
20
+ * @category design
21
+ * @package base_default
22
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
23
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
24
+ */
25
+
26
+ /**
27
+ * Controller of order review form that may select shipping method
28
+ */
29
+ OrderReviewController = Class.create();
30
+ OrderReviewController.prototype = {
31
+ _canSubmitOrder : false,
32
+ _pleaseWait : false,
33
+ shippingSelect : false,
34
+ reloadByShippingSelect : false,
35
+ _copyElement : false,
36
+ onSubmitShippingSuccess : false,
37
+ shippingMethodsUpdateUrl : false,
38
+ _updateShippingMethods: false,
39
+ _ubpdateOrderButton : false,
40
+ shippingMethodsContainer: false,
41
+ _submitUpdateOrderUrl : false,
42
+ _itemsGrid : false,
43
+
44
+ /**
45
+ * Add listeners to provided objects, if any
46
+ * @param orderForm - form of the order submission
47
+ * @param orderFormSubmit - element for the order form submission (optional)
48
+ * @param shippingSelect - dropdown with available shipping methods (optional)
49
+ * @param shippingSubmitForm - form of shipping method submission (optional, requires shippingSelect)
50
+ * @param shippingResultId - element where to update results of shipping ajax submission (optional, requires shippingSubmitForm)
51
+ */
52
+ initialize : function(orderForm, orderFormSubmit, shippingSelect, shippingSubmitForm, shippingResultId, shippingSubmit)
53
+ {
54
+ if (!orderForm) {
55
+ return;
56
+ }
57
+ this.form = orderForm;
58
+ if (orderFormSubmit) {
59
+ this.formSubmit = orderFormSubmit;
60
+ Event.observe(orderFormSubmit, 'click', this._submitOrder.bind(this));
61
+ }
62
+
63
+ if (shippingSubmitForm) {
64
+ this.reloadByShippingSelect = true;
65
+ if (shippingSubmitForm && shippingSelect) {
66
+ this.shippingSelect = shippingSelect;
67
+ Event.observe(
68
+ shippingSelect,
69
+ 'change',
70
+ this._submitShipping.bindAsEventListener(this, shippingSubmitForm.action, shippingResultId)
71
+ );
72
+ this._updateOrderSubmit(false);
73
+ } else {
74
+ this._canSubmitOrder = true;
75
+ }
76
+ } else {
77
+ Form.getElements(this.form).each(this._bindElementChange, this);
78
+
79
+ if (shippingSelect && $(shippingSelect)) {
80
+ this.shippingSelect = $(shippingSelect).id;
81
+ this.shippingMethodsContainer = $(this.shippingSelect).up();
82
+ } else {
83
+ this.shippingSelect = shippingSelect;
84
+ }
85
+ this._updateOrderSubmit(false);
86
+ }
87
+ },
88
+
89
+ /**
90
+ * Register element that should show up when ajax request is in progress
91
+ * @param element
92
+ */
93
+ addPleaseWait : function(element)
94
+ {
95
+ if (element) {
96
+ this._pleaseWait = element;
97
+ }
98
+ },
99
+
100
+ /**
101
+ * Dispatch an ajax request of shipping method submission
102
+ * @param event
103
+ * @param url - url where to submit shipping method
104
+ * @param resultId - id of element to be updated
105
+ */
106
+ _submitShipping : function(event, url, resultId)
107
+ {
108
+ if (this.shippingSelect && url && resultId) {
109
+ this._updateOrderSubmit(true);
110
+ if (this._pleaseWait) {
111
+ this._pleaseWait.show();
112
+ }
113
+ if ('' != this.shippingSelect.value) {
114
+ new Ajax.Updater(resultId, url, {
115
+ parameters: {isAjax:true, shipping_method:this.shippingSelect.value},
116
+ onComplete: function() {
117
+ if (this._pleaseWait) {
118
+ this._pleaseWait.hide();
119
+ }
120
+ }.bind(this),
121
+ onSuccess: this._onSubmitShippingSuccess.bind(this),
122
+ evalScripts: true
123
+ });
124
+ }
125
+ }
126
+ },
127
+
128
+ /**
129
+ * Set event observer to Update Order button
130
+ * @param element
131
+ * @param url - url to submit on Update button
132
+ * @param resultId - id of element to be updated
133
+ */
134
+ setUpdateButton : function(element, url, resultId)
135
+ {
136
+ if (element) {
137
+ this._ubpdateOrderButton = element;
138
+ this._submitUpdateOrderUrl = url;
139
+ this._itemsGrid = resultId;
140
+ Event.observe(element, 'click', this._submitUpdateOrder.bindAsEventListener(this, url, resultId));
141
+ if(this.shippingSelect) {
142
+ this._updateShipping();
143
+ }
144
+ this._updateOrderSubmit(!this._validateForm());
145
+ this.formValidator.reset();
146
+ this._clearValidation('');
147
+ }
148
+ },
149
+
150
+ /**
151
+ * Set event observer to copy data from shipping address to billing
152
+ * @param element
153
+ */
154
+ setCopyElement : function(element)
155
+ {
156
+ if (element) {
157
+ this._copyElement = element;
158
+ Event.observe(element, 'click', this._copyShippingToBilling.bind(this));
159
+ this._copyShippingToBilling();
160
+ }
161
+ },
162
+
163
+ /**
164
+ * Set observers to Shipping Address elements
165
+ * @param element Container of Shipping Address elements
166
+ */
167
+ setShippingAddressContainer: function(element)
168
+ {
169
+ if (element) {
170
+ Form.getElements(element).each(function(input) {
171
+ if (input.type.toLowerCase() == 'radio' || input.type.toLowerCase() == 'checkbox') {
172
+ Event.observe(input, 'click', this._onShippingChange.bindAsEventListener(this));
173
+ } else {
174
+ Event.observe(input, 'change', this._onShippingChange.bindAsEventListener(this));
175
+ }
176
+ }, this);
177
+ }
178
+ },
179
+
180
+ /**
181
+ * Sets Container element of Shipping Method
182
+ * @param element Container element of Shipping Method
183
+ */
184
+ setShippingMethodContainer: function(element)
185
+ {
186
+ if (element) {
187
+ this.shippingMethodsContainer = element;
188
+ }
189
+ },
190
+
191
+ /**
192
+ * Copy element value from shipping to billing address
193
+ * @param el
194
+ */
195
+ _copyElementValue: function(el)
196
+ {
197
+ var newId = el.id.replace('shipping:','billing:');
198
+ if (newId && $(newId) && $(newId).type != 'hidden') {
199
+ $(newId).value = el.value;
200
+ $(newId).setAttribute('readOnly', 'readonly');
201
+ $(newId).addClassName('local-validation');
202
+ $(newId).setStyle({opacity:.5});
203
+ $(newId).disable();
204
+ }
205
+ },
206
+
207
+ /**
208
+ * Copy data from shipping address to billing
209
+ */
210
+ _copyShippingToBilling : function (event)
211
+ {
212
+ if (!this._copyElement) {
213
+ return;
214
+ }
215
+ if (this._copyElement.checked) {
216
+ this._copyElementValue($('shipping:country_id'));
217
+ billingRegionUpdater.update();
218
+ $$('[id^="shipping:"]').each(this._copyElementValue);
219
+ this._clearValidation('billing');
220
+ } else {
221
+ $$('[id^="billing:"]').invoke('enable');
222
+ $$('[id^="billing:"]').each(function(el){el.removeAttribute("readOnly");});
223
+ $$('[id^="billing:"]').invoke('removeClassName', 'local-validation');
224
+ $$('[id^="billing:"]').invoke('setStyle', {opacity:1});
225
+ }
226
+ if (event) {
227
+ this._updateOrderSubmit(true);
228
+ }
229
+ },
230
+
231
+ /**
232
+ * Dispatch an ajax request of Update Order submission
233
+ * @param url - url where to submit shipping method
234
+ * @param resultId - id of element to be updated
235
+ */
236
+ _submitUpdateOrder : function(event, url, resultId)
237
+ {
238
+ this._copyShippingToBilling();
239
+ if (url && resultId && this._validateForm()) {
240
+ if (this._copyElement && this._copyElement.checked) {
241
+ this._clearValidation('billing');
242
+ }
243
+ this._updateOrderSubmit(true);
244
+ if (this._pleaseWait) {
245
+ this._pleaseWait.show();
246
+ }
247
+ this._toggleButton(this._ubpdateOrderButton, true);
248
+
249
+ arr = $$('[id^="billing:"]').invoke('enable');
250
+ var formData = this.form.serialize(true);
251
+ if (this._copyElement.checked) {
252
+ $$('[id^="billing:"]').invoke('disable');
253
+ this._copyElement.enable();
254
+ }
255
+ formData.isAjax = true;
256
+ new Ajax.Updater(resultId, url, {
257
+ parameters: formData,
258
+ onComplete: function() {
259
+ if (this._pleaseWait && !this._updateShippingMethods) {
260
+ this._pleaseWait.hide();
261
+ }
262
+ this._toggleButton(this._ubpdateOrderButton, false);
263
+ }.bind(this),
264
+ onSuccess: this._updateShippingMethodsElement.bind(this),
265
+ evalScripts: true
266
+ });
267
+ } else {
268
+ if (this._copyElement && this._copyElement.checked) {
269
+ this._clearValidation('billing');
270
+ }
271
+ }
272
+ },
273
+
274
+ /**
275
+ * Update Shipping Methods Element from server
276
+ */
277
+ _updateShippingMethodsElement : function (){
278
+ if (this._updateShippingMethods ) {
279
+ new Ajax.Updater($(this.shippingMethodsContainer).up(), this.shippingMethodsUpdateUrl, {
280
+ onComplete: this._updateShipping.bind(this),
281
+ onSuccess: this._onSubmitShippingSuccess.bind(this),
282
+ evalScripts: false
283
+ });
284
+ } else {
285
+ this._onSubmitShippingSuccess();
286
+ }
287
+ },
288
+
289
+ /**
290
+ * Update Shipping Method select element and bind events
291
+ */
292
+ _updateShipping : function () {
293
+ if ($(this.shippingSelect)) {
294
+ $(this.shippingSelect).enable();
295
+ Event.stopObserving($(this.shippingSelect), 'change');
296
+
297
+ this._bindElementChange($(this.shippingSelect));
298
+ Event.observe(
299
+ $(this.shippingSelect),
300
+ 'change',
301
+ this._submitUpdateOrder.bindAsEventListener(this, this._submitUpdateOrderUrl, this._itemsGrid)
302
+ );
303
+
304
+ $(this.shippingSelect + '_update').hide();
305
+ $(this.shippingSelect).show();
306
+ }
307
+ this._updateShippingMethods = false;
308
+ if (this._pleaseWait) {
309
+ this._pleaseWait.hide();
310
+ }
311
+ },
312
+
313
+ /**
314
+ * Validate Order form
315
+ */
316
+ _validateForm : function()
317
+ {
318
+ if (!this.form) {
319
+ return false;
320
+ }
321
+ if (!this.formValidator) {
322
+ this.formValidator = new Validation(this.form);
323
+ }
324
+
325
+ return this.formValidator.validate();
326
+ },
327
+
328
+ /**
329
+ * Actions on change Shipping Address data
330
+ * @param event
331
+ */
332
+ _onShippingChange : function(event){
333
+ var element = Event.element(event);
334
+ if (element != $(this.shippingSelect) && !($(this.shippingSelect) && $(this.shippingSelect).disabled)) {
335
+ if ($(this.shippingSelect)) {
336
+ $(this.shippingSelect).disable();
337
+ $(this.shippingSelect).hide();
338
+ if ($('advice-required-entry-' + this.shippingSelect)) {
339
+ $('advice-required-entry-' + this.shippingSelect).hide();
340
+ }
341
+ }
342
+ if (this.shippingMethodsContainer && $(this.shippingMethodsContainer)) {
343
+ $(this.shippingMethodsContainer).hide();
344
+ }
345
+
346
+ if (this.shippingSelect && $(this.shippingSelect + '_update')) {
347
+ $(this.shippingSelect + '_update').show();
348
+ }
349
+ this._updateShippingMethods = true;
350
+ }
351
+ },
352
+
353
+ /**
354
+ * Bind onChange event listener to elements for update Submit Order button state
355
+ * @param input
356
+ */
357
+ _bindElementChange : function(input){
358
+ Event.observe(input, 'change', this._onElementChange.bindAsEventListener(this))
359
+ },
360
+
361
+ /**
362
+ * Disable Submit Order button
363
+ */
364
+ _onElementChange : function(){
365
+ this._updateOrderSubmit(true);
366
+ },
367
+
368
+ /**
369
+ * Clear validation result for all form elements or for elements with id prefix
370
+ * @param idprefix
371
+ */
372
+ _clearValidation : function(idprefix)
373
+ {
374
+ var prefix = '';
375
+ if (idprefix) {
376
+ prefix = '[id*="' + idprefix + ':"]';
377
+ $$(prefix).each(function(el){
378
+ el.up().removeClassName('validation-failed')
379
+ .removeClassName('validation-passed')
380
+ .removeClassName('validation-error');
381
+ });
382
+ } else {
383
+ this.formValidator.reset();
384
+ }
385
+ $$('.validation-advice' + prefix).invoke('remove');
386
+ $$('.validation-failed' + prefix).invoke('removeClassName', 'validation-failed');
387
+ $$('.validation-passed' + prefix).invoke('removeClassName', 'validation-passed');
388
+ $$('.validation-error' + prefix).invoke('removeClassName', 'validation-error');
389
+ },
390
+
391
+ /**
392
+ * Attempt to submit order
393
+ */
394
+ _submitOrder : function()
395
+ {
396
+ if (this._canSubmitOrder && (this.reloadByShippingSelect || this._validateForm())) {
397
+ this.form.submit();
398
+ this._updateOrderSubmit(true);
399
+ if (this._ubpdateOrderButton) {
400
+ this._ubpdateOrderButton.addClassName('no-checkout');
401
+ this._ubpdateOrderButton.setStyle({opacity:.5});
402
+ }
403
+ if (this._pleaseWait) {
404
+ this._pleaseWait.show();
405
+ }
406
+ return;
407
+ }
408
+ this._updateOrderSubmit(true);
409
+ },
410
+
411
+ /**
412
+ * Explicitly enable order submission
413
+ */
414
+ _onSubmitShippingSuccess : function()
415
+ {
416
+ this._updateOrderSubmit(false);
417
+ if (this.onSubmitShippingSuccess) {
418
+ this.onSubmitShippingSuccess();
419
+ }
420
+ },
421
+
422
+ /**
423
+ * Check/Set whether order can be submitted
424
+ * Also disables form submission element, if any
425
+ * @param shouldDisable - whether should prevent order submission explicitly
426
+ */
427
+ _updateOrderSubmit : function(shouldDisable)
428
+ {
429
+ var isDisabled = shouldDisable || (
430
+ this.reloadByShippingSelect && (!this.shippingSelect || '' == this.shippingSelect.value)
431
+ );
432
+ this._canSubmitOrder = !isDisabled;
433
+ if (this.formSubmit) {
434
+ this._toggleButton(this.formSubmit, isDisabled);
435
+ }
436
+ },
437
+
438
+ /**
439
+ * Enable/Disable button
440
+ *
441
+ * @param button
442
+ * @param disable
443
+ */
444
+ _toggleButton : function(button, disable)
445
+ {
446
+ button.disabled = disable;
447
+ button.removeClassName('no-checkout');
448
+ button.setStyle({opacity:1});
449
+ if (disable) {
450
+ button.addClassName('no-checkout');
451
+ button.setStyle({opacity:.5});
452
+ }
453
+ }
454
+ };
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Ced_LayBuy</name>
4
- <version>2.1.8.4</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
7
  <channel>community</channel>
@@ -20,9 +20,9 @@ Merchants however only deliver the product or service after receipt of the final
20
  This effectively increases sales and radically improves cash flow where all the customer monies are paid directly into your PayPal account</description>
21
  <notes>1.New secure communication protocal.</notes>
22
  <authors><author><name>Warrin</name><user>Warrin</user><email>warrin@lay-buys.com</email></author><author><name>Asheesh Singh</name><user>asheeshsingh</user><email>asheeshsingh@cedcoss.com</email></author><author><name>Sanjeev Kumar Gupta</name><user>sanjeevgupta</user><email>sanjeevkumargupta@cedcoss.com</email></author></authors>
23
- <date>2015-04-14</date>
24
- <time>11:52:59</time>
25
- <contents><target name="magelocal"><dir name="Ced"><dir name="LayBuy"><dir><dir name="Block"><dir name="Adminhtml"><file name="Docalc.php" hash="c12af05bee0d480ac49835b46ca8011e"/><dir name="Orders"><file name="Grid.php" hash="54a924cd69f95cf9496f91702a4edeec"/><file name="Grid.php.bkp" hash="b37908e3e7f57787c4b3d441be869ba9"/></dir><file name="Orders.php" hash="aa89abe43868eedab8cb195b5dcbe77f"/><dir name="Report"><dir name="Details"><file name="Form.php" hash="e0ce57d85efc14656d4294021e5f5257"/></dir><file name="Details.php" hash="16317e0652d7e33e1207d0a1b29ed185"/><dir name="Edit"><file name="Form.php" hash="ca0b74b0301d0051930478f87aec2080"/></dir><file name="Edit.php" hash="5dc6f961714c5d38a228f6b943c3127d"/><file name="Grid.php" hash="a94a86483b880c9908572e3fc8f5d30d"/><dir name="Renderer"><file name="Email.php" hash="8e6c0938d80f629cd285303018945ea1"/><file name="Order.php" hash="51a2ba685b652f69df633ccfa4b5900a"/><file name="Record.php" hash="95eb9f836a50f3f80d254a7cdd8e1d6e"/></dir></dir><file name="Report.php" hash="ff77fef080779db3a699cdb8a4703c49"/></dir><dir name="Customer"><dir name="Account"><file name="Details.php" hash="5bb9caf5b0a6e9584046f6af9ee4ae5f"/><file name="Grid.php" hash="3b170ed3f70422b3a64263535d3543e3"/></dir></dir><dir name="Express"><file name="Layform.php" hash="5220c8b272517893117c106cfcb225f1"/><file name="Layshortcut.php" hash="6f816b7629cd900f0fa96717a717d54e"/><file name="Redirect.php" hash="6f55337e5b979cca8c7cff64e955327f"/><dir name="Review"><file name="Billing.php" hash="b54899379bc5203920b8ebb92a557783"/><file name="Details.php" hash="94e0a0692b80c2e74897bded2e3d8bfb"/><file name="Shipping.php" hash="419447e905bd26df390660b906de4293"/></dir><file name="Review.php" hash="2aaa2ee5979b99f9e1c8fc62f8462056"/></dir><dir name="Form"><file name="Laybuy.php" hash="cbf8b96d0fa26d4b772bafd021e3fc83"/></dir><dir name="Info"><file name="Laybuy.php" hash="bced26100dc8bbadc334b54349734637"/></dir><dir name="Payment"><file name="Info.php" hash="ada79889134af121d15cc20b5d20e631"/></dir><dir name="Revise"><file name="Redirect.php" hash="6f63613d0fe5540a296804c14263a614"/></dir><dir name="Standard"><file name="Docalc.php" hash="42b2b63a23577c888cccc5f6c20b8867"/><file name="Redirect.php" hash="bdf403ef8c7c290ce0af83cdd172dcb7"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="OrdersController.php" hash="b439600c08514fb9ada1ae0e75272e21"/><file name="ReportController.php" hash="b22ab26daaeca1c067427288230d1656"/></dir><file name="ExpressController.php" hash="7ea759f39d712fb1ae1fc5216c503bc6"/><file name="ReportController.php" hash="e2c5e9ce734b2c3320eb503e05baecae"/><file name="ReviseController.php" hash="39cf4f4031522b1cf0f623f51c186715"/><file name="StandardController.php" hash="0c4233798441091d6749766c0a894789"/></dir><dir name="etc"><file name="adminhtml.xml" hash="6bc550c65f0f65b11d6dbb38aafcb63d"/><file name="config.xml" hash="80e5e4827e2bfd3dd5fe16aa567bb284"/><file name="system.xml" hash="083f553c6c6a29b965467e91ba722446"/></dir><dir name="Helper"><file name="Config.php" hash="360b6125612be9de5cd0e3b69f4422c2"/><file name="Data.php" hash="6860d634141dd0f96ac93fe17e57d6ff"/></dir><dir name="Model"><file name="Abstract.php" hash="bbe69ad50f5aa1e02fa0d581addbc06e"/><file name="Config.php" hash="6d45f8a0d8d6d3deeb0ed6e13fbeafc0"/><file name="Express.php" hash="b411edad160b1adf63e9581884b3579b"/><file name="Laybuyresp.php" hash="66379c09b62cc940a8aef23e796f3128"/><dir name="Mysql4"><dir name="Laybuyresp"><file name="Collection.php" hash="fff7dbedfd6536c10251d50843924798"/></dir><file name="Laybuyresp.php" hash="1270556aab8ccaf4c92e1f3c902153dc"/><dir name="Region"><file name="Collection.php" hash="8c99fda8daf14cbb54ff4a6bd515084c"/></dir><dir name="Report"><file name="Collection.php" hash="a3e133f1128200662330a5e21a94c809"/></dir><file name="Report.php" hash="25568238c401ab5e5768596fb76f7ef8"/><dir name="Revise"><file name="Collection.php" hash="2a502f75e4634e4f231f93226ef49b8a"/></dir><file name="Revise.php" hash="cd1a424882417e0ec94561a8cca378e8"/><file name="Setup.php" hash="261838defadf805c7ee29768f6ea8cec"/></dir><file name="Observer.php" hash="e085e396516583f6685648f75d967a66"/><file name="Pro.php" hash="47788ab1d076d7cd809e19b4a4e8bc11"/><file name="Report.php" hash="ffb651448186ad401e238b2060074317"/><file name="Revise.php" hash="b9bbea4b6760b464ec8ff66c872def7a"/><file name="Standard.php" hash="b991b733940156d1b24b6a0c813d68e0"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="955ae77c29ecbc063d8f779898d08472"/><file name="Cron.php.bkp" hash="24c8fcf93531c9877d03f2eebde2e2dd"/></dir><dir name="Source"><file name="Allowspecificcategory.php" hash="0463f2be60a2695e4f76411c979b6bc8"/><file name="Allowspecificgroup.php" hash="a27c9bf1231a59a8f38668b525c420ba"/><file name="Categories.php" hash="92c61dba3c23e7838cddbaaee8f21d05"/><file name="FetchingSchedule.php" hash="7ad862c46ec8f54299cc92ae87b61322"/><file name="FetchingSchedule.php.bkp" hash="4f3e5aec5a17991d1625d6f17c0f7d32"/><file name="Groups.php" hash="87a205676d93d59a26d1d7bb69266991"/></dir></dir></dir></dir><dir name="sql"><dir name="laybuy_setup"><file name="mysql4-install-0.1.0.php" hash="68e359cd24b6051d0c2a91daad899d71"/><file name="mysql4-upgrade-0.1.0-0.2.0.php" hash="bec5e37090cb5a6da6c8ba3652a8bd32"/><file name="mysql4-upgrade-0.2.0-0.3.0.php" hash="97aa7a2a8c91e46c896a6d04d9554aeb"/><file name="mysql4-upgrade-0.3.0-0.4.0.php" hash="9b147158166b94d52e0cfff369ce965c"/><file name="mysql4-upgrade-0.4.0-0.5.0.php" hash="7626925b0cac03d0918eb6b1d51e6d19"/><file name="mysql4-upgrade-0.5.0-0.6.0.php" hash="bc96daed76ca1f04b1eb422508bc3a4b"/><file name="mysql4-upgrade-0.6.0-0.7.0.php" hash="6aa013f47e3b78e4d78e2cba9b471cd4"/><file name="mysql4-upgrade-0.7.0-0.8.0.php" hash="c2ea0f16c8f1e0dc7412a6a0fda1c622"/><file name="mysql4-upgrade-0.8.0-0.9.0.php" hash="d98ba6bef5f4f46ca741d5db014686f1"/><file name="mysql4-upgrade-0.9.0-1.0.0.php" hash="a20364c9f3a1b2a6a7e33a2e2f03bd60"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="047c77c6ad5a49b47165ed242279fd4e"/></dir></dir></dir><file name="README.txt" hash="7930d4ac1e8f9957bb2052983eab4340"/></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="laybuy.xml" hash="b8732c983d0c9c7c8807208985ca3953"/></dir><dir name="template"><dir name="laybuy"><dir><dir name="checkout"><dir name="onepage"><dir name="review"><file name="button.phtml" hash="a1e678a76d674b223e944bdd4de0625a"/></dir></dir></dir><dir name="customer"><dir name="account"><file name="details.phtml" hash="965a58454b4b3cdcc115d78e595f7c33"/><file name="grid.phtml" hash="2dc802991a69b459f263f4e78c657549"/></dir></dir><dir name="express"><file name="extraexpress.phtml" hash="51ceb076c4eff7c1ea7cd931d65c9f3f"/><file name="layshortcut1.phtml" hash="a3b7490f991dcd03571a02c2e68a8020"/><file name="layshortcut.phtml" hash="96e953a90a36b7fd98f714db1ca6a407"/><dir name="review"><file name="address.phtml" hash="56f47a05c89dcff636144d1e5171188d"/><file name="details.phtml" hash="d9cfdaa646d2d6693002bf6f00064201"/><dir name="shipping"><file name="method.phtml" hash="f71cbdfc5a8fe543eb03c8475a1818d3"/></dir></dir><file name="review.phtml" hash="962f5e4e7d5e0720849eea77db6098b1"/></dir><dir name="form"><file name="extra.phtml" hash="535609083ce3e06706ec30766b354d8a"/><file name="extra.phtml.bkp" hash="e089ba0a3bd4ff1c0bc631c88ba32dd2"/><file name="laybuy.phtml" hash="5169cbb58cb7fec4312eb70325829e70"/><file name="laybuy.phtml.bkp" hash="a1c8dc8ff7ebd565d0100785ad089f64"/></dir><dir name="info"><file name="default.phtml" hash="b0bdfa731e4410c99a79c3b5b0a86cff"/></dir></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="laybuy.xml" hash="b60d76e466dac9154654041350d5e829"/></dir><dir name="template"><dir name="laybuy"><dir><dir name="info"><file name="default.phtml" hash="a9dfb322a83df7bc53bb2a64c6f192e3"/><dir name="pdf"><file name="laybuy.phtml" hash="e96cab97e4bd4ca32a022e90d5449eae"/></dir></dir></dir><file name="notification.phtml" hash="efb99f36ea192d6bc8c60d53dec8a6e1"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Ced_LayBuy.xml" hash="394d4e115e1955ba12681f6a81cb118d"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Ced_LayBuy.csv" hash="f79a1a6ca61c5e7a7463c380eb00896d"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="laybuy"><file name="tooltip.css" hash="ece078bf3d8bb27db4a616fdad505671"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="laybuy"><file name="jquery.atooltip.js" hash="5ad78b7e8ac539053ff56a2ea25e4d4c"/><file name="jquery.min.js" hash="41ab3fafa358a66f764b91d072f16615"/></dir></dir></target></contents>
26
  <compatible/>
27
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
28
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Ced_LayBuy</name>
4
+ <version>2.1.8.5</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
7
  <channel>community</channel>
20
  This effectively increases sales and radically improves cash flow where all the customer monies are paid directly into your PayPal account</description>
21
  <notes>1.New secure communication protocal.</notes>
22
  <authors><author><name>Warrin</name><user>Warrin</user><email>warrin@lay-buys.com</email></author><author><name>Asheesh Singh</name><user>asheeshsingh</user><email>asheeshsingh@cedcoss.com</email></author><author><name>Sanjeev Kumar Gupta</name><user>sanjeevgupta</user><email>sanjeevkumargupta@cedcoss.com</email></author></authors>
23
+ <date>2015-04-20</date>
24
+ <time>07:12:11</time>
25
+ <contents><target name="magelocal"><dir name="Ced"><dir name="LayBuy"><dir><dir name="Block"><dir name="Adminhtml"><file name="Docalc.php" hash="c12af05bee0d480ac49835b46ca8011e"/><dir name="Orders"><file name="Grid.php" hash="54a924cd69f95cf9496f91702a4edeec"/><file name="Grid.php.bkp" hash="b37908e3e7f57787c4b3d441be869ba9"/></dir><file name="Orders.php" hash="aa89abe43868eedab8cb195b5dcbe77f"/><dir name="Report"><dir name="Details"><file name="Form.php" hash="e0ce57d85efc14656d4294021e5f5257"/></dir><file name="Details.php" hash="16317e0652d7e33e1207d0a1b29ed185"/><dir name="Edit"><file name="Form.php" hash="ca0b74b0301d0051930478f87aec2080"/></dir><file name="Edit.php" hash="5dc6f961714c5d38a228f6b943c3127d"/><file name="Grid.php" hash="a94a86483b880c9908572e3fc8f5d30d"/><dir name="Renderer"><file name="Email.php" hash="8e6c0938d80f629cd285303018945ea1"/><file name="Order.php" hash="51a2ba685b652f69df633ccfa4b5900a"/><file name="Record.php" hash="95eb9f836a50f3f80d254a7cdd8e1d6e"/></dir></dir><file name="Report.php" hash="ff77fef080779db3a699cdb8a4703c49"/></dir><dir name="Customer"><dir name="Account"><file name="Details.php" hash="5bb9caf5b0a6e9584046f6af9ee4ae5f"/><file name="Grid.php" hash="3b170ed3f70422b3a64263535d3543e3"/></dir></dir><dir name="Express"><file name="Layform.php" hash="5220c8b272517893117c106cfcb225f1"/><file name="Layshortcut.php" hash="6f816b7629cd900f0fa96717a717d54e"/><file name="Redirect.php" hash="6f55337e5b979cca8c7cff64e955327f"/><dir name="Review"><file name="Billing.php" hash="b54899379bc5203920b8ebb92a557783"/><file name="Details.php" hash="94e0a0692b80c2e74897bded2e3d8bfb"/><file name="Shipping.php" hash="419447e905bd26df390660b906de4293"/></dir><file name="Review.php" hash="2aaa2ee5979b99f9e1c8fc62f8462056"/></dir><dir name="Form"><file name="Laybuy.php" hash="cbf8b96d0fa26d4b772bafd021e3fc83"/></dir><dir name="Info"><file name="Laybuy.php" hash="bced26100dc8bbadc334b54349734637"/></dir><dir name="Payment"><file name="Info.php" hash="ada79889134af121d15cc20b5d20e631"/></dir><dir name="Revise"><file name="Redirect.php" hash="6f63613d0fe5540a296804c14263a614"/></dir><dir name="Standard"><file name="Docalc.php" hash="42b2b63a23577c888cccc5f6c20b8867"/><file name="Redirect.php" hash="bdf403ef8c7c290ce0af83cdd172dcb7"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="OrdersController.php" hash="b439600c08514fb9ada1ae0e75272e21"/><file name="ReportController.php" hash="b22ab26daaeca1c067427288230d1656"/></dir><file name="ExpressController.php" hash="947195560503f147638b16577e9ff1b2"/><file name="ReportController.php" hash="e2c5e9ce734b2c3320eb503e05baecae"/><file name="ReviseController.php" hash="39cf4f4031522b1cf0f623f51c186715"/><file name="StandardController.php" hash="0c4233798441091d6749766c0a894789"/></dir><dir name="etc"><file name="adminhtml.xml" hash="6bc550c65f0f65b11d6dbb38aafcb63d"/><file name="config.xml" hash="0f8a2c7d6b6afc535bc7b0559642e9e4"/><file name="system.xml" hash="083f553c6c6a29b965467e91ba722446"/></dir><dir name="Helper"><file name="Address.php" hash="eba2dfcaddcba539acea15c41965ce3e"/><file name="Config.php" hash="360b6125612be9de5cd0e3b69f4422c2"/><file name="Data.php" hash="6860d634141dd0f96ac93fe17e57d6ff"/></dir><dir name="Model"><file name="Abstract.php" hash="bbe69ad50f5aa1e02fa0d581addbc06e"/><file name="Config.php" hash="6d45f8a0d8d6d3deeb0ed6e13fbeafc0"/><file name="Express.php" hash="b411edad160b1adf63e9581884b3579b"/><file name="Laybuyresp.php" hash="66379c09b62cc940a8aef23e796f3128"/><dir name="Mysql4"><dir name="Laybuyresp"><file name="Collection.php" hash="fff7dbedfd6536c10251d50843924798"/></dir><file name="Laybuyresp.php" hash="1270556aab8ccaf4c92e1f3c902153dc"/><dir name="Region"><file name="Collection.php" hash="0c3a0397fb958da4d027a8fc5d84edc3"/></dir><dir name="Report"><file name="Collection.php" hash="a3e133f1128200662330a5e21a94c809"/></dir><file name="Report.php" hash="25568238c401ab5e5768596fb76f7ef8"/><dir name="Revise"><file name="Collection.php" hash="2a502f75e4634e4f231f93226ef49b8a"/></dir><file name="Revise.php" hash="cd1a424882417e0ec94561a8cca378e8"/><file name="Setup.php" hash="261838defadf805c7ee29768f6ea8cec"/></dir><file name="Observer.php" hash="e085e396516583f6685648f75d967a66"/><file name="Pro.php" hash="47788ab1d076d7cd809e19b4a4e8bc11"/><file name="Report.php" hash="ffb651448186ad401e238b2060074317"/><dir name="Resource"><dir name="Region"><file name="Collection.php" hash="0ea10faa49ee6bebca7fb232e04c73e8"/></dir></dir><file name="Revise.php" hash="b9bbea4b6760b464ec8ff66c872def7a"/><file name="Standard.php" hash="b991b733940156d1b24b6a0c813d68e0"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="955ae77c29ecbc063d8f779898d08472"/><file name="Cron.php.bkp" hash="24c8fcf93531c9877d03f2eebde2e2dd"/></dir><dir name="Source"><file name="Allowspecificcategory.php" hash="0463f2be60a2695e4f76411c979b6bc8"/><file name="Allowspecificgroup.php" hash="a27c9bf1231a59a8f38668b525c420ba"/><file name="Categories.php" hash="92c61dba3c23e7838cddbaaee8f21d05"/><file name="FetchingSchedule.php" hash="7ad862c46ec8f54299cc92ae87b61322"/><file name="FetchingSchedule.php.bkp" hash="4f3e5aec5a17991d1625d6f17c0f7d32"/><file name="Groups.php" hash="87a205676d93d59a26d1d7bb69266991"/></dir></dir></dir></dir><dir name="sql"><dir name="laybuy_setup"><file name="mysql4-install-0.1.0.php" hash="68e359cd24b6051d0c2a91daad899d71"/><file name="mysql4-upgrade-0.1.0-0.2.0.php" hash="bec5e37090cb5a6da6c8ba3652a8bd32"/><file name="mysql4-upgrade-0.2.0-0.3.0.php" hash="97aa7a2a8c91e46c896a6d04d9554aeb"/><file name="mysql4-upgrade-0.3.0-0.4.0.php" hash="9b147158166b94d52e0cfff369ce965c"/><file name="mysql4-upgrade-0.4.0-0.5.0.php" hash="7626925b0cac03d0918eb6b1d51e6d19"/><file name="mysql4-upgrade-0.5.0-0.6.0.php" hash="bc96daed76ca1f04b1eb422508bc3a4b"/><file name="mysql4-upgrade-0.6.0-0.7.0.php" hash="6aa013f47e3b78e4d78e2cba9b471cd4"/><file name="mysql4-upgrade-0.7.0-0.8.0.php" hash="c2ea0f16c8f1e0dc7412a6a0fda1c622"/><file name="mysql4-upgrade-0.8.0-0.9.0.php" hash="d98ba6bef5f4f46ca741d5db014686f1"/><file name="mysql4-upgrade-0.9.0-1.0.0.php" hash="a20364c9f3a1b2a6a7e33a2e2f03bd60"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="047c77c6ad5a49b47165ed242279fd4e"/></dir></dir></dir><file name="README.txt" hash="7930d4ac1e8f9957bb2052983eab4340"/></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="laybuy.xml" hash="87f5299abedf38da6e024f38758e46e5"/></dir><dir name="template"><dir name="laybuy"><dir><dir name="checkout"><dir name="onepage"><dir name="review"><file name="button_express.phtml" hash="e9eb77d424df95dae8a214caee2ad1d2"/><file name="button.phtml" hash="a1e678a76d674b223e944bdd4de0625a"/></dir></dir></dir><dir name="customer"><dir name="account"><file name="details.phtml" hash="965a58454b4b3cdcc115d78e595f7c33"/><file name="grid.phtml" hash="2dc802991a69b459f263f4e78c657549"/></dir></dir><dir name="express"><file name="extraexpress.phtml" hash="51ceb076c4eff7c1ea7cd931d65c9f3f"/><file name="layshortcut1.phtml" hash="a3b7490f991dcd03571a02c2e68a8020"/><file name="layshortcut.phtml" hash="96e953a90a36b7fd98f714db1ca6a407"/><dir name="review"><file name="address.phtml" hash="56f47a05c89dcff636144d1e5171188d"/><file name="details.phtml" hash="9ae6bb664adee411e9cd3f7a6bbb8f03"/><dir name="shipping"><file name="method.phtml" hash="f71cbdfc5a8fe543eb03c8475a1818d3"/></dir></dir><file name="review.phtml" hash="f882237d7f932bf03edb8a8be3f5b691"/></dir><dir name="form"><file name="extra.phtml" hash="535609083ce3e06706ec30766b354d8a"/><file name="extra.phtml.bkp" hash="e089ba0a3bd4ff1c0bc631c88ba32dd2"/><file name="laybuy.phtml" hash="5169cbb58cb7fec4312eb70325829e70"/><file name="laybuy.phtml.bkp" hash="a1c8dc8ff7ebd565d0100785ad089f64"/></dir><dir name="info"><file name="default.phtml" hash="b0bdfa731e4410c99a79c3b5b0a86cff"/></dir></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="laybuy.xml" hash="b60d76e466dac9154654041350d5e829"/></dir><dir name="template"><dir name="laybuy"><dir><dir name="info"><file name="default.phtml" hash="a9dfb322a83df7bc53bb2a64c6f192e3"/><dir name="pdf"><file name="laybuy.phtml" hash="e96cab97e4bd4ca32a022e90d5449eae"/></dir></dir></dir><file name="notification.phtml" hash="efb99f36ea192d6bc8c60d53dec8a6e1"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Ced_LayBuy.xml" hash="394d4e115e1955ba12681f6a81cb118d"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Ced_LayBuy.csv" hash="f79a1a6ca61c5e7a7463c380eb00896d"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="laybuy"><file name="tooltip.css" hash="ece078bf3d8bb27db4a616fdad505671"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="laybuy"><file name="jquery.atooltip.js" hash="5ad78b7e8ac539053ff56a2ea25e4d4c"/><file name="jquery.min.js" hash="41ab3fafa358a66f764b91d072f16615"/><file name="review.js" hash="3a9f485e377f6e3e004a713b7e76fdd4"/></dir></dir></target></contents>
26
  <compatible/>
27
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
28
  </package>