kash_gateway - Version 0.2.0

Version Notes

v0.1.6 - Initial Release

Download this release

Release Info

Developer Kash Corp.
Extension kash_gateway
Version 0.2.0
Comparing to
See all releases


Code changes from version 0.1.4 to 0.2.0

app/code/local/Kash/Gateway/Model/Api/Bb.php CHANGED
@@ -135,6 +135,19 @@ class Kash_Gateway_Model_Api_Bb extends Kash_Gateway_Model_Api_Abstract
135
  $request = $this->_importAddresses($request);
136
  }
137
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  $date = Zend_Date::now();
139
  $request['x_timestamp'] = $date->getIso();
140
  $request['x_signature'] = $this->getSignature($request, $this->getHmacKey());
135
  $request = $this->_importAddresses($request);
136
  }
137
 
138
+ //make sure we have the email
139
+ if (empty($request['x_customer_email'])) {
140
+ try {
141
+ $customer = Mage::getSingleton('customer/session')->getCustomer();
142
+ $request['x_customer_email'] = $customer->getEmail();
143
+ } catch (Exception $e) {
144
+ Mage::log($e->getMessage());
145
+ }
146
+ }
147
+
148
+ $request['x_version'] = '2';
149
+ $request['x_plugin'] = 'magento';
150
+
151
  $date = Zend_Date::now();
152
  $request['x_timestamp'] = $date->getIso();
153
  $request['x_signature'] = $this->getSignature($request, $this->getHmacKey());
app/code/local/Kash/Gateway/Model/Checkout.php CHANGED
@@ -374,6 +374,14 @@ class Kash_Gateway_Model_Checkout
374
  return $this;
375
  }
376
 
 
 
 
 
 
 
 
 
377
  /**
378
  * Checks if customer with email coming from Express checkout exists
379
  * +/
@@ -459,6 +467,7 @@ class Kash_Gateway_Model_Checkout
459
  $shipping = $quote->isVirtual() ? null : $quote->getShippingAddress();
460
 
461
  $customer = $this->getCustomerSession()->getCustomer();
 
462
  if (!$billing->getCustomerId() || $billing->getSaveInAddressBook()) {
463
  $customerBilling = $billing->exportCustomerAddress();
464
  $customer->addAddress($customerBilling);
@@ -641,3 +650,4 @@ class Kash_Gateway_Model_Checkout
641
  }
642
  }
643
  }
 
374
  return $this;
375
  }
376
 
377
+ /**
378
+ * Logins the user so orders can be created with the right account
379
+ */
380
+ public function loginUser() {
381
+ $customerId = $this->_lookupCustomerId();
382
+ $this->getCustomerSession()->loginById($customerId);
383
+ }
384
+
385
  /**
386
  * Checks if customer with email coming from Express checkout exists
387
  * +/
467
  $shipping = $quote->isVirtual() ? null : $quote->getShippingAddress();
468
 
469
  $customer = $this->getCustomerSession()->getCustomer();
470
+
471
  if (!$billing->getCustomerId() || $billing->getSaveInAddressBook()) {
472
  $customerBilling = $billing->exportCustomerAddress();
473
  $customer->addAddress($customerBilling);
650
  }
651
  }
652
  }
653
+
app/code/local/Kash/Gateway/controllers/BbController.php CHANGED
@@ -116,25 +116,38 @@ class Kash_Gateway_BbController extends Mage_Core_Controller_Front_Action
116
  public function callbackAction()
117
  {
118
  $param = Mage::app()->getRequest()->getParam('x_reference');
119
- $quota = Mage::getModel('sales/quote')->load($param, 'reserved_order_id');
120
- $this->_quote = $quota;
121
 
122
  $this->_config->setStoreId($this->_getQuote()->getStoreId());
123
  $this->_checkout = Mage::getSingleton($this->_checkoutType, array(
124
  'config' => $this->_config,
125
- 'quote' => $quota,
126
  ));
127
 
128
  $params = Mage::app()->getRequest()->getParams();
129
  $this->_checkout->setParams($params);
130
 
131
- if ($this->_checkout->checkSignature() &&
132
- $this->_checkout->checkResult() &&
133
- $quota->getIsActive()
134
- ) {
135
- $this->_checkout->place();
136
- $order = $this->_checkout->getOrder();
137
- $this->invoiceOrder($order);
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  }
139
  }
140
 
@@ -144,7 +157,7 @@ class Kash_Gateway_BbController extends Mage_Core_Controller_Front_Action
144
  public function completeAction()
145
  {
146
  try {
147
- if (!$this->_initCheckout()) {
148
  $this->getResponse()->setRedirect(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB));
149
  return;
150
  }
@@ -161,7 +174,29 @@ class Kash_Gateway_BbController extends Mage_Core_Controller_Front_Action
161
  return;
162
  }
163
 
164
- $this->placeOrder();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  if (!$this->_checkout->canSkipOrderReviewStep()) {
166
  $this->_redirect('checkout/onepage/success');
167
  } else {
@@ -186,18 +221,18 @@ class Kash_Gateway_BbController extends Mage_Core_Controller_Front_Action
186
  $session = $this->_getCheckoutSession();
187
  // "last successful quote"
188
  $quoteId = $session->getLastQuoteId();
189
- $quota = Mage::getModel('sales/quote')->load($quoteId);
190
 
191
  $this->loadLayout();
192
  $this->_initLayoutMessages('kash_gateway/session');
193
  $reviewBlock = $this->getLayout()->getBlock('gateway.kash.review');
194
- $reviewBlock->setQuote($quota);
195
- $detailsBlock = $reviewBlock->getChild('details')->setCustomQuote($quota);
196
  if ($reviewBlock->getChild('shipping_method')) {
197
- $reviewBlock->getChild('shipping_method')->setCustomQuote($quota);
198
  }
199
  if ($detailsBlock->getChild('totals')) {
200
- $detailsBlock->getChild('totals')->setCustomQuote($quota);
201
  }
202
  $this->renderLayout();
203
  return;
@@ -212,55 +247,6 @@ class Kash_Gateway_BbController extends Mage_Core_Controller_Front_Action
212
  $this->_redirect('checkout/cart');
213
  }
214
 
215
- /**
216
- * Submit the order
217
- */
218
- protected function placeOrder()
219
- {
220
- try {
221
- $this->_initToken();
222
- $this->_checkout->place();
223
-
224
- // prepare session to success or cancellation page
225
- $session = $this->_getCheckoutSession();
226
- $session->clearHelperData();
227
-
228
- // "last successful quote"
229
- $quoteId = $this->_getQuote()->getId();
230
- $session->setLastQuoteId($quoteId)
231
- ->setLastSuccessQuoteId($quoteId);
232
-
233
- // an order may be created
234
- $order = $this->_checkout->getOrder();
235
- $this->invoiceOrder($order);
236
- if ($order) {
237
- $session->setLastOrderId($order->getId())
238
- ->setLastRealOrderId($order->getIncrementId());
239
- }
240
-
241
- // redirect if Payment specified some URL
242
- $url = $this->_checkout->getRedirectUrl();
243
- if ($url) {
244
- $this->getResponse()->setRedirect($url);
245
- return;
246
- }
247
- $this->_initToken(false); // no need in token anymore
248
- return;
249
- } catch (Mage_Core_Exception $e) {
250
- Mage::helper('checkout')->sendPaymentFailedEmail($this->_getQuote(), $e->getMessage());
251
- $this->_getSession()->addError($e->getMessage());
252
- $this->_redirect('*/*/review');
253
- } catch (Exception $e) {
254
- Mage::helper('checkout')->sendPaymentFailedEmail(
255
- $this->_getQuote(),
256
- $this->__('Unable to place the order.')
257
- );
258
- $this->_getSession()->addError($this->__('Unable to place the order.'));
259
- Mage::logException($e);
260
- $this->_redirect('*/*/review');
261
- }
262
- }
263
-
264
  /**
265
  * Auto invoice for order
266
  *
@@ -446,4 +432,4 @@ class Kash_Gateway_BbController extends Mage_Core_Controller_Front_Action
446
  $params = $this->_checkout->start();
447
  return $params;
448
  }
449
- }
116
  public function callbackAction()
117
  {
118
  $param = Mage::app()->getRequest()->getParam('x_reference');
119
+ $quote = Mage::getModel('sales/quote')->load($param, 'reserved_order_id');
120
+ $this->_quote = $quote;
121
 
122
  $this->_config->setStoreId($this->_getQuote()->getStoreId());
123
  $this->_checkout = Mage::getSingleton($this->_checkoutType, array(
124
  'config' => $this->_config,
125
+ 'quote' => $quote,
126
  ));
127
 
128
  $params = Mage::app()->getRequest()->getParams();
129
  $this->_checkout->setParams($params);
130
 
131
+ $this->_checkout->loginUser();
132
+
133
+ if ($this->_checkout->checkSignature() && $this->_checkout->checkResult() && $quote->getIsActive()) {
134
+ $connection = Mage::getSingleton('core/resource')->getConnection('core_write');
135
+ try {
136
+ $connection->beginTransaction();
137
+
138
+ $this->_checkout->place();
139
+ $order = $this->_checkout->getOrder();
140
+
141
+ if ($order->getIncrementId() == $param) {
142
+ $this->invoiceOrder($order);
143
+ $connection->commit();
144
+ }
145
+ else {
146
+ $connection->rollback();
147
+ }
148
+ } catch (Exception $e) {
149
+ $connection->rollback();
150
+ }
151
  }
152
  }
153
 
157
  public function completeAction()
158
  {
159
  try {
160
+ if (!$this->_initCheckout(true)) {
161
  $this->getResponse()->setRedirect(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB));
162
  return;
163
  }
174
  return;
175
  }
176
 
177
+
178
+ $this->_initToken();
179
+
180
+ // prepare session to success or cancellation page
181
+ $session = $this->_getCheckoutSession();
182
+ $session->clearHelperData();
183
+
184
+ // store the last successful quote and order so the correct order can be displayed on
185
+ // on the next screen. Get the Quote and Order from the db using xref, since it's not
186
+ // in the session once callback completes.
187
+ $xref = $this->_checkout->getParams('x_reference');
188
+ $quote = Mage::getModel('sales/quote')->load($xref, 'reserved_order_id');
189
+ $session->setLastQuoteId($quote->getId())
190
+ ->setLastSuccessQuoteId($quote->getId());
191
+
192
+ //get the order that was created and store the IDs for use in info pages
193
+ $order = Mage::getModel('sales/order')->loadByIncrementId($xref);
194
+ $session->setLastOrderId($order->getId())
195
+ ->setLastRealOrderId($order->getIncrementId());
196
+
197
+ // no need in token anymore
198
+ $this->_initToken(false);
199
+
200
  if (!$this->_checkout->canSkipOrderReviewStep()) {
201
  $this->_redirect('checkout/onepage/success');
202
  } else {
221
  $session = $this->_getCheckoutSession();
222
  // "last successful quote"
223
  $quoteId = $session->getLastQuoteId();
224
+ $quote = Mage::getModel('sales/quote')->load($quoteId);
225
 
226
  $this->loadLayout();
227
  $this->_initLayoutMessages('kash_gateway/session');
228
  $reviewBlock = $this->getLayout()->getBlock('gateway.kash.review');
229
+ $reviewBlock->setQuote($quote);
230
+ $detailsBlock = $reviewBlock->getChild('details')->setCustomQuote($quote);
231
  if ($reviewBlock->getChild('shipping_method')) {
232
+ $reviewBlock->getChild('shipping_method')->setCustomQuote($quote);
233
  }
234
  if ($detailsBlock->getChild('totals')) {
235
+ $detailsBlock->getChild('totals')->setCustomQuote($quote);
236
  }
237
  $this->renderLayout();
238
  return;
247
  $this->_redirect('checkout/cart');
248
  }
249
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
250
  /**
251
  * Auto invoice for order
252
  *
432
  $params = $this->_checkout->start();
433
  return $params;
434
  }
435
+ }
app/code/local/Kash/Gateway/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Kash_Gateway>
5
- <version>0.1.4</version>
6
  </Kash_Gateway>
7
  </modules>
8
  <global>
2
  <config>
3
  <modules>
4
  <Kash_Gateway>
5
+ <version>0.2.0</version>
6
  </Kash_Gateway>
7
  </modules>
8
  <global>
package.xml CHANGED
@@ -1,22 +1,28 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>kash_gateway</name>
4
- <version>0.1.4</version>
5
  <stability>stable</stability>
6
  <license>MITL</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Payment gateway that allows customers in the US to make payment via Direct Debit or Credit Card for just 0.5%.</summary>
10
- <description>Kash (http://www.withkash.com) allows you to accept payments for just 0.5%!&#xD;
11
- &#xD;
12
- Kash does this by offering customers the option to pay using their bank account. For customers that don't want to use their bank account to pay, they'll have the option of using credit card instead. You can choose to either charge the credit card processing fee to the customer, or pay for the fee yourself like you do currently.&#xD;
13
- &#xD;
14
- You will need a Kash account in order to use this gateway. Please contact info@withkash.com for any questions.</description>
15
- <notes>v0.1.4 - Initial Release</notes>
16
- <authors><author><name>Kash Corp.</name><user>kash_corp</user><email>info@withkash.com</email></author></authors>
17
- <date>2015-12-02</date>
18
- <time>20:42:30</time>
19
- <contents><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="kash"><file name="lightwindow.css" hash="1addd9e2971e76af24c5eadf67fafc60"/><file name="start.css" hash="d310d178769035d366ebb2caff9bd4a3"/><file name="._lightwindow.css" hash="6bac7309b1e370cf137d882ba90d6510"/></dir></dir><dir name="js"><dir name="kash"><file name="lightwindow.js" hash="a63e1ae37ef7f727c97ffa0f4f0292d7"/><file name="._lightwindow.js" hash="6bac7309b1e370cf137d882ba90d6510"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Kash_Gateway.xml" hash="03365c54da611a023ea2a12c6404c455"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="kash"><file name="gateway.xml" hash="62ce90320a5d09cc8334e512c3cda3b3"/></dir></dir><dir name="template"><dir name="kash"><file name="container.phtml" hash="9dafeab90d16b221ab8684990ef62ec3"/><file name="form.phtml" hash="0b4b05f427474b08d1c52cfc09fc3485"/><file name="js.phtml" hash="3a1b1a96fd25b4035f41dbe95633f229"/><dir name="payment"><file name="mark.phtml" hash="96ac85ef2f73ec0953dee53cd3d7d0a7"/><file name="redirect.phtml" hash="9cd530bec26cc5f76ab01cfb57095c32"/><dir name="review"><file name="details.phtml" hash="ff2ad65893e66920a4cc8b098dc397c1"/></dir><file name="review.phtml" hash="ef1d435a2bc0e9daff56594a715bed1a"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="kash"><dir name="info"><file name="default.phtml" hash="79bcf1003e40c03ec35c383ec4ca5236"/></dir></dir></dir></dir></dir></dir></target><target name="magelocal"><dir name="Kash"><dir name="Gateway"><dir name="Block"><dir name="Adminhtml"><file name="Info.php" hash="186ac575a69755543d649d2174f43474"/><dir name="Sales"><dir name="Order"><file name="Grid.php" hash="757f5028ff98d3c375cf3345675d55b7"/></dir></dir></dir><dir name="Form"><file name="Bb.php" hash="2516cb64469800cfc450710250317d72"/></dir><dir name="Review"><file name="Details.php" hash="9a077c6688f913bd4f9fee74fad68b7e"/></dir><file name="Review.php" hash="a2a24914d577262188c491898c77307e"/></dir><dir name="Helper"><file name="Checkout.php" hash="89863d74391a81e7336073a8c9634ce8"/><file name="Data.php" hash="cc0eb77c1be47e1d4e846033cc2aed9a"/></dir><dir name="Model"><dir name="Api"><file name="Abstract.php" hash="99ed019c3e8e13caf90fa248e608c9ea"/><file name="Bb.php" hash="f1605310d4042b4704577fe2925c2a86"/></dir><file name="Cart.php" hash="ced06fca31abf3fbe20e3e2eb430cfea"/><file name="Checkout.php" hash="bed98494d4bb1d93b6e6758555d98450"/><file name="Config.php" hash="5299275ecc589f56c9bc9c9123e39405"/><dir name="Method"><file name="Bb.php" hash="6cd0683fa597d31d830ae7787b0284cd"/></dir><file name="Observer.php" hash="eede09fb15543e8a535820612104e520"/><file name="Session.php" hash="1778fbe493d2ceb81d8a20b58a21ce3c"/></dir><dir name="controllers"><file name="BbController.php" hash="3ab8fcfabbc52474eb7f161fc91c5986"/></dir><dir name="data"><dir name="kash_gateway_setup"><file name="data-install-0.0.1.php" hash="5fe91e15bc5e6269eadcc50f8991250a"/><file name="data-upgrade-0.0.1-0.0.2.php" hash="632331f77e2238438e1bddfe4c2b82bf"/></dir></dir><dir name="etc"><file name="config.xml" hash="9538e1037a44f4280726f537f0a9d3e5"/><file name="system.xml" hash="3667ceed76bc0a905af96e7b4adbf2b0"/></dir><dir name="sql"><dir name="kash_gateway_setup"><file name="install-0.0.1.php" hash="9ecb52ba48345cdbee9ce0fd92d2aff9"/></dir></dir></dir></dir></target></contents>
 
 
 
 
 
 
20
  <compatible/>
21
  <dependencies><required><php><min>5.4.45</min><max>5.6.15</max></php></required></dependencies>
22
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>kash_gateway</name>
4
+ <version>0.2.0</version>
5
  <stability>stable</stability>
6
  <license>MITL</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Payment gateway that allows customers in the US to make payment via Direct Debit or Credit Card for just 0.5%.</summary>
10
+ <description>&lt;a href="http://www.withkash.com"&gt;Kash&lt;/a&gt; payment gateway allows you to accept payments for just 0.5% fee per transaction.&lt;br /&gt;&#xD;
11
+ &lt;br /&gt;&#xD;
12
+ - Accept Direct Debit payments&lt;br /&gt;&#xD;
13
+ - Accept credit card payments as well (you could either include or exclude the credit card fee in the total)&lt;br /&gt;&#xD;
14
+ - No monthly fee&lt;br /&gt;&#xD;
15
+ - No chargebacks on Direct Debit payments&lt;br /&gt;&#xD;
16
+ - Daily clearance (money deposited to your bank by next business day)&lt;br /&gt;&#xD;
17
+ &lt;br /&gt;&#xD;
18
+ You will need a Kash account in order to use this gateway. Please contact info@withkash.com for any questions.&lt;br /&gt;&#xD;
19
+ &lt;br /&gt;&#xD;
20
+ Direct Debit payment works by having the customers use their bank account to pay. Your customers can have the option to pay using a credit card as well. You can choose to either charge the credit card processing fee to the customer, or pay for the fee yourself like you do currently.</description>
21
+ <notes>v0.1.6 - Initial Release</notes>
22
+ <authors><author><name>Kash Corp.</name><user>Kash Corp</user><email>info@withkash.com</email></author></authors>
23
+ <date>2015-12-08</date>
24
+ <time>23:53:50</time>
25
+ <contents><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="kash"><file name="lightwindow.css" hash="543637b1312fd4b72696f18c14fc7a54"/><file name="start.css" hash="d310d178769035d366ebb2caff9bd4a3"/><file name="._lightwindow.css" hash="6bac7309b1e370cf137d882ba90d6510"/></dir></dir><dir name="js"><dir name="kash"><file name="lightwindow.js" hash="d94daf37446ba2fd00222de24c7cf9b6"/><file name="._lightwindow.js" hash="6bac7309b1e370cf137d882ba90d6510"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Kash_Gateway.xml" hash="03365c54da611a023ea2a12c6404c455"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="kash"><file name="gateway.xml" hash="62ce90320a5d09cc8334e512c3cda3b3"/></dir></dir><dir name="template"><dir name="kash"><file name="container.phtml" hash="9dafeab90d16b221ab8684990ef62ec3"/><file name="form.phtml" hash="0b4b05f427474b08d1c52cfc09fc3485"/><file name="js.phtml" hash="3a1b1a96fd25b4035f41dbe95633f229"/><dir name="payment"><file name="mark.phtml" hash="96ac85ef2f73ec0953dee53cd3d7d0a7"/><file name="redirect.phtml" hash="9cd530bec26cc5f76ab01cfb57095c32"/><dir name="review"><file name="details.phtml" hash="ff2ad65893e66920a4cc8b098dc397c1"/></dir><file name="review.phtml" hash="ef1d435a2bc0e9daff56594a715bed1a"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="kash"><dir name="info"><file name="default.phtml" hash="79bcf1003e40c03ec35c383ec4ca5236"/></dir></dir></dir></dir></dir></dir></target><target name="magelocal"><dir name="Kash"><dir name="Gateway"><dir name="Block"><dir name="Adminhtml"><file name="Info.php" hash="186ac575a69755543d649d2174f43474"/><dir name="Sales"><dir name="Order"><file name="Grid.php" hash="757f5028ff98d3c375cf3345675d55b7"/></dir></dir></dir><dir name="Form"><file name="Bb.php" hash="2516cb64469800cfc450710250317d72"/></dir><dir name="Review"><file name="Details.php" hash="9a077c6688f913bd4f9fee74fad68b7e"/></dir><file name="Review.php" hash="a2a24914d577262188c491898c77307e"/></dir><dir name="Helper"><file name="Checkout.php" hash="89863d74391a81e7336073a8c9634ce8"/><file name="Data.php" hash="cc0eb77c1be47e1d4e846033cc2aed9a"/></dir><dir name="Model"><dir name="Api"><file name="Abstract.php" hash="99ed019c3e8e13caf90fa248e608c9ea"/><file name="Bb.php" hash="3cabc71ab5f616b0614fa3d628e9dc4a"/></dir><file name="Cart.php" hash="ced06fca31abf3fbe20e3e2eb430cfea"/><file name="Checkout.php" hash="bed98494d4bb1d93b6e6758555d98450"/><file name="Config.php" hash="5299275ecc589f56c9bc9c9123e39405"/><dir name="Method"><file name="Bb.php" hash="6cd0683fa597d31d830ae7787b0284cd"/></dir><file name="Observer.php" hash="eede09fb15543e8a535820612104e520"/><file name="Session.php" hash="1778fbe493d2ceb81d8a20b58a21ce3c"/></dir><dir name="controllers"><file name="BbController.php" hash="3ab8fcfabbc52474eb7f161fc91c5986"/></dir><dir name="data"><dir name="kash_gateway_setup"><file name="data-install-0.0.1.php" hash="5fe91e15bc5e6269eadcc50f8991250a"/><file name="data-upgrade-0.0.1-0.0.2.php" hash="632331f77e2238438e1bddfe4c2b82bf"/></dir></dir><dir name="etc"><file name="config.xml" hash="9538e1037a44f4280726f537f0a9d3e5"/><file name="system.xml" hash="3667ceed76bc0a905af96e7b4adbf2b0"/></dir><dir name="sql"><dir name="kash_gateway_setup"><file name="install-0.0.1.php" hash="9ecb52ba48345cdbee9ce0fd92d2aff9"/></dir></dir></dir></dir></target></contents>
26
  <compatible/>
27
  <dependencies><required><php><min>5.4.45</min><max>5.6.15</max></php></required></dependencies>
28
  </package>
skin/frontend/base/default/css/kash/._lightwindow.css ADDED
Binary file
skin/frontend/base/default/css/kash/lightwindow.css CHANGED
@@ -58,6 +58,9 @@
58
  -webkit-box-sizing: content-box;
59
  -moz-box-sizing: content-box;
60
  box-sizing: content-box;
 
 
 
61
  }
62
 
63
  #lightwindow_loading {
58
  -webkit-box-sizing: content-box;
59
  -moz-box-sizing: content-box;
60
  box-sizing: content-box;
61
+ /* needed for iOS scroller */
62
+ -webkit-overflow-scrolling: touch;
63
+ overflow-y: scroll;
64
  }
65
 
66
  #lightwindow_loading {
skin/frontend/base/default/js/kash/._lightwindow.js ADDED
Binary file
skin/frontend/base/default/js/kash/lightwindow.js CHANGED
@@ -585,10 +585,14 @@ lightwindow.prototype = {
585
  // Empty the contents
586
  $('lightwindow_contents').innerHTML = '';
587
 
588
- // Reset the scroll bars
589
- $('lightwindow_contents').setStyle({
590
- overflow: 'hidden'
591
- });
 
 
 
 
592
 
593
  if (!this.windowActive) {
594
  $('lightwindow_data_slide_inner').setStyle({
585
  // Empty the contents
586
  $('lightwindow_contents').innerHTML = '';
587
 
588
+ var userAgent = navigator.userAgent || navigator.vendor || window.opera;
589
+ if (!userAgent.match(/iPad|iPhone|iPod/i)) {
590
+ // Reset the scroll bars, except on iOS
591
+ $('lightwindow_contents').setStyle({
592
+ overflow: 'hidden'
593
+ });
594
+ }
595
+
596
 
597
  if (!this.windowActive) {
598
  $('lightwindow_data_slide_inner').setStyle({