Avenla_KlarnaCheckout - Version 1.0.7

Version Notes

Klarna Checkout module

Download this release

Release Info

Developer Avenla Oy
Extension Avenla_KlarnaCheckout
Version 1.0.7
Comparing to
See all releases


Code changes from version 1.0.6 to 1.0.7

Files changed (26) hide show
  1. app/code/community/Avenla/KlarnaCheckout/Block/Adminhtml/System/Config/Fieldset/Info.php +2 -1
  2. app/code/community/Avenla/KlarnaCheckout/Block/KCO/Newsletter.php +43 -0
  3. app/code/community/Avenla/KlarnaCheckout/Model/Api.php +3 -0
  4. app/code/community/Avenla/KlarnaCheckout/Model/Config.php +20 -0
  5. app/code/community/Avenla/KlarnaCheckout/Model/Newsletter.php +65 -0
  6. app/code/community/Avenla/KlarnaCheckout/Model/Observer.php +11 -2
  7. app/code/community/Avenla/KlarnaCheckout/Model/Order.php +4 -0
  8. app/code/community/Avenla/KlarnaCheckout/Model/Source/Kcolayout.php +39 -0
  9. app/code/community/Avenla/KlarnaCheckout/Model/Source/Taxclass.php +0 -1
  10. app/code/community/Avenla/KlarnaCheckout/controllers/KCOController.php +32 -1
  11. app/code/community/Avenla/KlarnaCheckout/etc/config.xml +1 -1
  12. app/code/community/Avenla/KlarnaCheckout/etc/system.xml +21 -3
  13. app/design/adminhtml/default/default/template/KCO/info.phtml +1 -1
  14. app/design/frontend/base/default/layout/KCO.xml +28 -4
  15. app/design/frontend/base/default/template/KCO/KCO.phtml +3 -2
  16. app/design/frontend/base/default/template/KCO/cart.phtml +61 -68
  17. app/design/frontend/base/default/template/KCO/cart/item/default.phtml +282 -0
  18. app/design/frontend/base/default/template/KCO/cart/shipping.phtml +1 -1
  19. app/design/frontend/base/default/template/KCO/cart_twocolumns.phtml +238 -0
  20. app/design/frontend/base/default/template/KCO/link.phtml +1 -1
  21. app/design/frontend/base/default/template/KCO/newsletter.phtml +55 -0
  22. app/locale/fi_FI/Avenla_KlarnaCheckout.csv +5 -1
  23. lib/KlarnaCheckout/Checkout/UserAgent.php +1 -1
  24. package.xml +4 -4
  25. skin/frontend/base/default/KCO/kco.css +89 -78
  26. skin/frontend/base/default/KCO/klarna_simplifying.png +0 -0
app/code/community/Avenla/KlarnaCheckout/Block/Adminhtml/System/Config/Fieldset/Info.php CHANGED
@@ -44,7 +44,8 @@ class Avenla_KlarnaCheckout_Block_Adminhtml_System_Config_Fieldset_Info extends
44
  *
45
  * @return array
46
  */
47
- public function getAlerts(){
 
48
  $alerts = array();
49
 
50
  if(!$this->helper->getConnectionStatus())
44
  *
45
  * @return array
46
  */
47
+ public function getAlerts()
48
+ {
49
  $alerts = array();
50
 
51
  if(!$this->helper->getConnectionStatus())
app/code/community/Avenla/KlarnaCheckout/Block/KCO/Newsletter.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file is released under a custom license by Avenla Oy.
4
+ * All rights reserved
5
+ *
6
+ * License and more information can be found at http://productdownloads.avenla.com/magento-modules/klarna-checkout/
7
+ * For questions and support - klarna-support@avenla.com
8
+ *
9
+ * @category Avenla
10
+ * @package Avenla_KlarnaCheckout
11
+ * @copyright Copyright (c) Avenla Oy
12
+ * @link http://www.avenla.fi
13
+ */
14
+
15
+ /**
16
+ * Avenla KlarnaCheckout
17
+ *
18
+ * @category Avenla
19
+ * @package Avenla_KlarnaCheckout
20
+ */
21
+ class Avenla_KlarnaCheckout_Block_KCO_Newsletter extends Mage_Core_Block_Template
22
+ {
23
+
24
+ protected function _toHtml()
25
+ {
26
+ $this->setTemplate('KCO/newsletter.phtml');
27
+ return parent::_toHtml();
28
+ }
29
+
30
+ /**
31
+ * Check for previous selection
32
+ *
33
+ * @return bool
34
+ */
35
+ public function isChecked()
36
+ {
37
+ $quote = Mage::getSingleton('checkout/session')->getQuote();
38
+ if($quote->getPayment()->getAdditionalInformation("klarna_newsletter"))
39
+ return true;
40
+
41
+ return false;
42
+ }
43
+ }
app/code/community/Avenla/KlarnaCheckout/Model/Api.php CHANGED
@@ -91,6 +91,9 @@ class Avenla_KlarnaCheckout_Model_Api extends Mage_Core_Model_Abstract
91
  if($item->getQtyShipped() > $item->getQtyInvoiced()){
92
  $qtys[$item->getId()] = $item->getQtyShipped() - $item->getQtyInvoiced();
93
  }
 
 
 
94
 
95
  if($item->getQtyShipped() != $item->getQtyOrdered())
96
  $partial = true;
91
  if($item->getQtyShipped() > $item->getQtyInvoiced()){
92
  $qtys[$item->getId()] = $item->getQtyShipped() - $item->getQtyInvoiced();
93
  }
94
+ else{
95
+ $qtys[$item->getId()] = 0;
96
+ }
97
 
98
  if($item->getQtyShipped() != $item->getQtyOrdered())
99
  $partial = true;
app/code/community/Avenla/KlarnaCheckout/Model/Config.php CHANGED
@@ -223,4 +223,24 @@ class Avenla_KlarnaCheckout_Model_Config extends Varien_Object
223
  {
224
  return $this->getConfigData('default_checkout');
225
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  }
223
  {
224
  return $this->getConfigData('default_checkout');
225
  }
226
+
227
+ /**
228
+ * Get layout selection for KCO cart
229
+ *
230
+ * @return string
231
+ */
232
+ public function getKcoLayout()
233
+ {
234
+ return $this->getConfigData('kco_layout');
235
+ }
236
+
237
+ /**
238
+ * Show sign for newsletter checkbox
239
+ *
240
+ * @return bool
241
+ */
242
+ public function showNewsletter()
243
+ {
244
+ return $this->getConfigData('show_newsletter');
245
+ }
246
  }
app/code/community/Avenla/KlarnaCheckout/Model/Newsletter.php ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file is released under a custom license by Avenla Oy.
4
+ * All rights reserved
5
+ *
6
+ * License and more information can be found at http://productdownloads.avenla.com/magento-modules/klarna-checkout/
7
+ * For questions and support - klarna-support@avenla.com
8
+ *
9
+ * @category Avenla
10
+ * @package Avenla_KlarnaCheckout
11
+ * @copyright Copyright (c) Avenla Oy
12
+ * @link http://www.avenla.fi
13
+ */
14
+
15
+ /**
16
+ * Avenla KlarnaCheckout
17
+ *
18
+ * @category Avenla
19
+ * @package Avenla_KlarnaCheckout
20
+ */
21
+
22
+ class Avenla_KlarnaCheckout_Model_Newsletter extends Mage_Core_Model_Abstract
23
+ {
24
+
25
+ /**
26
+ * Save newsletter selection to additional data
27
+ *
28
+ * @param bool $status
29
+ */
30
+ public function addNewsletterStatus($status)
31
+ {
32
+ $customerSession = Mage::getSingleton('customer/session');
33
+ $quote = Mage::getSingleton('checkout/session')->getQuote();
34
+ $quote->getPayment()->setAdditionalInformation("klarna_newsletter", $status);
35
+ $quote->save();
36
+ }
37
+
38
+ /**
39
+ * Subscribe order e-mail for newsletter
40
+ *
41
+ * @param Mage_Sales_Model_Order $mo
42
+ * @param int $websiteId
43
+ */
44
+ public function signForNewsLetter($mo, $websiteId)
45
+ {
46
+ $email = $mo->getCustomerEmail();
47
+ $subscriberId = Mage::getModel('newsletter/subscriber')->loadByEmail($email)->getId();
48
+
49
+ if($subscriberId)
50
+ return false;
51
+
52
+ try{
53
+ if(!$mo->getCustomerIsGuest()){
54
+ $customer = Mage::getModel('customer/customer')->load($mo->getCustomerId());
55
+ Mage::getModel('newsletter/subscriber')->subscribeCustomer($customer);
56
+ }
57
+ else{
58
+ Mage::getModel('newsletter/subscriber')->subscribe($email);
59
+ }
60
+ }
61
+ catch (Exception $e) {
62
+ Mage::logException($e);
63
+ }
64
+ }
65
+ }
app/code/community/Avenla/KlarnaCheckout/Model/Observer.php CHANGED
@@ -114,6 +114,9 @@ class Avenla_KlarnaCheckout_Model_Observer
114
  $block = $observer->getBlock();
115
  $isLogged = Mage::helper('customer')->isLoggedIn();
116
 
 
 
 
117
  if (
118
  $block->getType() == 'checkout/onepage_login' ||
119
  ($isLogged && $block->getType() == 'checkout/onepage_billing') ||
@@ -125,7 +128,6 @@ class Avenla_KlarnaCheckout_Model_Observer
125
  $child->setType('klarnaCheckout/KCO_Link');
126
  $block->setChild('original', $child);
127
  $block->setTemplate('KCO/link.phtml');
128
-
129
  }
130
  }
131
 
@@ -160,9 +162,16 @@ class Avenla_KlarnaCheckout_Model_Observer
160
  */
161
  public function layoutLoadBefore($observer)
162
  {
163
- if (Mage::getModel('klarnaCheckout/config')->hideDefaultCheckout()){
164
  $observer->getEvent()->getLayout()->getUpdate()
165
  ->addHandle('kco_only');
166
  }
 
 
 
 
 
 
 
167
  }
168
  }
114
  $block = $observer->getBlock();
115
  $isLogged = Mage::helper('customer')->isLoggedIn();
116
 
117
+ if(!Mage::getModel('klarnaCheckout/config')->isActive())
118
+ return $this;
119
+
120
  if (
121
  $block->getType() == 'checkout/onepage_login' ||
122
  ($isLogged && $block->getType() == 'checkout/onepage_billing') ||
128
  $child->setType('klarnaCheckout/KCO_Link');
129
  $block->setChild('original', $child);
130
  $block->setTemplate('KCO/link.phtml');
 
131
  }
132
  }
133
 
162
  */
163
  public function layoutLoadBefore($observer)
164
  {
165
+ if (Mage::getModel('klarnaCheckout/config')->hideDefaultCheckout()){
166
  $observer->getEvent()->getLayout()->getUpdate()
167
  ->addHandle('kco_only');
168
  }
169
+
170
+ $kco_layout = Mage::getModel('klarnaCheckout/config')->getKcoLayout();
171
+
172
+ if($observer->getAction()->getFullActionName() == "checkout_cart_index" && ($kco_layout && $kco_layout != "default")){
173
+ $observer->getEvent()->getLayout()->getUpdate()
174
+ ->addHandle($kco_layout);
175
+ }
176
  }
177
  }
app/code/community/Avenla/KlarnaCheckout/Model/Order.php CHANGED
@@ -93,6 +93,8 @@ class Avenla_KlarnaCheckout_Model_Order extends Klarna_Checkout_Order
93
  $create['merchant_reference']['orderid1'] = $this->quote ? $this->quote->getId() : '12345';
94
  $create['gui']['options'] = array('disable_autofocus');
95
  $create['gui']['layout'] = $this->mobile ? 'mobile' : 'desktop';
 
 
96
 
97
  $info = $this->getCustomerInfo();
98
 
@@ -170,11 +172,13 @@ class Avenla_KlarnaCheckout_Model_Order extends Klarna_Checkout_Order
170
  private function getCustomerInfo()
171
  {
172
  $info = array();
 
173
  if($this->quote){
174
  $sa = $this->quote->getShippingAddress();
175
  $sa->getPostcode() != null ? $info['postal_code'] = $sa->getPostcode() : '';
176
  $sa->getEmail() != null ? $info['email'] = $sa->getEmail() : '';
177
  }
 
178
  return $info;
179
  }
180
 
93
  $create['merchant_reference']['orderid1'] = $this->quote ? $this->quote->getId() : '12345';
94
  $create['gui']['options'] = array('disable_autofocus');
95
  $create['gui']['layout'] = $this->mobile ? 'mobile' : 'desktop';
96
+ $layout = $this->mobile ? 'mobile' : 'desktop';
97
+ Mage::log($layout);
98
 
99
  $info = $this->getCustomerInfo();
100
 
172
  private function getCustomerInfo()
173
  {
174
  $info = array();
175
+
176
  if($this->quote){
177
  $sa = $this->quote->getShippingAddress();
178
  $sa->getPostcode() != null ? $info['postal_code'] = $sa->getPostcode() : '';
179
  $sa->getEmail() != null ? $info['email'] = $sa->getEmail() : '';
180
  }
181
+
182
  return $info;
183
  }
184
 
app/code/community/Avenla/KlarnaCheckout/Model/Source/Kcolayout.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file is released under a custom license by Avenla Oy.
4
+ * All rights reserved
5
+ *
6
+ * License and more information can be found at http://productdownloads.avenla.com/magento-modules/klarna-checkout/
7
+ * For questions and support - klarna-support@avenla.com
8
+ *
9
+ * @category Avenla
10
+ * @package Avenla_KlarnaCheckout
11
+ * @copyright Copyright (c) Avenla Oy
12
+ * @link http://www.avenla.fi
13
+ */
14
+
15
+ /**
16
+ * Avenla KlarnaCheckout
17
+ *
18
+ * @category Avenla
19
+ * @package Avenla_KlarnaCheckout
20
+ */
21
+
22
+ class Avenla_KlarnaCheckout_Model_Source_Kcolayout
23
+ {
24
+ public function toOptionArray()
25
+ {
26
+ $options = array(
27
+ array(
28
+ 'label' => Mage::helper('klarnaCheckout')->__('Default'),
29
+ 'value' => 'default'
30
+ ),
31
+ array(
32
+ 'label' => Mage::helper('klarnaCheckout')->__('Two columns'),
33
+ 'value' => 'kco_twocolumns'
34
+ )
35
+ );
36
+
37
+ return $options;
38
+ }
39
+ }
app/code/community/Avenla/KlarnaCheckout/Model/Source/Taxclass.php CHANGED
@@ -26,5 +26,4 @@ class Avenla_KlarnaCheckout_Model_Source_Taxclass
26
  $options = Mage::getModel('tax/class_source_product')->toOptionArray();
27
  return $options;
28
  }
29
-
30
  }
26
  $options = Mage::getModel('tax/class_source_product')->toOptionArray();
27
  return $options;
28
  }
 
29
  }
app/code/community/Avenla/KlarnaCheckout/controllers/KCOController.php CHANGED
@@ -247,6 +247,9 @@ class Avenla_KlarnaCheckout_KCOController extends Mage_Core_Controller_Front_Act
247
  else{
248
  $mo->getSendConfirmation(null);
249
  $mo->sendNewOrderEmail();
 
 
 
250
  }
251
  }
252
  else{
@@ -257,7 +260,7 @@ class Avenla_KlarnaCheckout_KCOController extends Mage_Core_Controller_Front_Act
257
  Mage::getModel('klarnaCheckout/api')->cancelReservation($ko['reservation']);
258
  Mage::log("Couldn't find quote id for Klarna reservation " . $ko['reservation']);
259
  }
260
- }
261
  }
262
 
263
  /**
@@ -303,4 +306,32 @@ class Avenla_KlarnaCheckout_KCOController extends Mage_Core_Controller_Front_Act
303
  $quote->setIsActive(false)->save();
304
  Mage::getSingleton('checkout/session')->clear();
305
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
306
  }
247
  else{
248
  $mo->getSendConfirmation(null);
249
  $mo->sendNewOrderEmail();
250
+
251
+ if($mo->getPayment()->getAdditionalInformation("klarna_newsletter"))
252
+ Mage::getModel('klarnaCheckout/newsletter')->signForNewsletter($mo, Mage::app()->getStore()->getWebsiteId());
253
  }
254
  }
255
  else{
260
  Mage::getModel('klarnaCheckout/api')->cancelReservation($ko['reservation']);
261
  Mage::log("Couldn't find quote id for Klarna reservation " . $ko['reservation']);
262
  }
263
+ }
264
  }
265
 
266
  /**
306
  $quote->setIsActive(false)->save();
307
  Mage::getSingleton('checkout/session')->clear();
308
  }
309
+
310
+ /**
311
+ * Subscribe to newsletter
312
+ *
313
+ */
314
+ public function newsletterAction()
315
+ {
316
+ $result = array();
317
+ $status = false;
318
+ $customerSession = Mage::getSingleton('customer/session');
319
+
320
+ if($this->getRequest()->getParam('status') == true)
321
+ $status = true;
322
+
323
+ if ($status && Mage::getStoreConfig(Mage_Newsletter_Model_Subscriber::XML_PATH_ALLOW_GUEST_SUBSCRIBE_FLAG) != 1 &&
324
+ !$customerSession->isLoggedIn()) {
325
+ $result['letter_msg'] = $this->__(
326
+ 'Sorry, but administrator denied subscription for guests. Please <a href="%s">register</a>.',
327
+ Mage::helper('customer')->getRegisterUrl()
328
+ );
329
+ $status = false;
330
+ }
331
+
332
+ $result['msg'] = ' ';
333
+
334
+ Mage::getModel('klarnaCheckout/newsletter')->addNewsletterStatus($status);
335
+ $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
336
+ }
337
  }
app/code/community/Avenla/KlarnaCheckout/etc/config.xml CHANGED
@@ -23,7 +23,7 @@
23
  <config>
24
  <modules>
25
  <Avenla_KlarnaCheckout>
26
- <version>1.0.6</version>
27
  </Avenla_KlarnaCheckout>
28
  </modules>
29
  <global>
23
  <config>
24
  <modules>
25
  <Avenla_KlarnaCheckout>
26
+ <version>1.0.7</version>
27
  </Avenla_KlarnaCheckout>
28
  </modules>
29
  <global>
app/code/community/Avenla/KlarnaCheckout/etc/system.xml CHANGED
@@ -143,11 +143,20 @@
143
  <show_in_website>1</show_in_website>
144
  <show_in_store>1</show_in_store>
145
  </default_checkout>
 
 
 
 
 
 
 
 
 
146
  <disabled_shipping_methods translate="label">
147
  <label>Disabled shipping methods</label>
148
  <frontend_type>multiselect</frontend_type>
149
  <source_model>klarnaCheckout/source_shippingmethods</source_model>
150
- <sort_order>15</sort_order>
151
  <show_in_default>1</show_in_default>
152
  <show_in_website>1</show_in_website>
153
  <show_in_store>1</show_in_store>
@@ -157,7 +166,7 @@
157
  <label>Show part payment widget on product page</label>
158
  <frontend_type>select</frontend_type>
159
  <source_model>adminhtml/system_config_source_yesno</source_model>
160
- <sort_order>16</sort_order>
161
  <show_in_default>1</show_in_default>
162
  <show_in_website>1</show_in_website>
163
  <show_in_store>1</show_in_store>
@@ -167,11 +176,20 @@
167
  <label>Part payment widget layout</label>
168
  <frontend_type>select</frontend_type>
169
  <source_model>klarnaCheckout/source_pplayout</source_model>
170
- <sort_order>17</sort_order>
171
  <show_in_default>1</show_in_default>
172
  <show_in_website>1</show_in_website>
173
  <show_in_store>1</show_in_store>
174
  </pp_layout>
 
 
 
 
 
 
 
 
 
175
  </fields>
176
  </klarnaCheckout_payment>
177
  </groups>
143
  <show_in_website>1</show_in_website>
144
  <show_in_store>1</show_in_store>
145
  </default_checkout>
146
+ <kco_layout translate="label">
147
+ <label>Cart page layout</label>
148
+ <frontend_type>select</frontend_type>
149
+ <source_model>klarnaCheckout/source_kcolayout</source_model>
150
+ <sort_order>15</sort_order>
151
+ <show_in_default>1</show_in_default>
152
+ <show_in_website>1</show_in_website>
153
+ <show_in_store>1</show_in_store>
154
+ </kco_layout>
155
  <disabled_shipping_methods translate="label">
156
  <label>Disabled shipping methods</label>
157
  <frontend_type>multiselect</frontend_type>
158
  <source_model>klarnaCheckout/source_shippingmethods</source_model>
159
+ <sort_order>16</sort_order>
160
  <show_in_default>1</show_in_default>
161
  <show_in_website>1</show_in_website>
162
  <show_in_store>1</show_in_store>
166
  <label>Show part payment widget on product page</label>
167
  <frontend_type>select</frontend_type>
168
  <source_model>adminhtml/system_config_source_yesno</source_model>
169
+ <sort_order>17</sort_order>
170
  <show_in_default>1</show_in_default>
171
  <show_in_website>1</show_in_website>
172
  <show_in_store>1</show_in_store>
176
  <label>Part payment widget layout</label>
177
  <frontend_type>select</frontend_type>
178
  <source_model>klarnaCheckout/source_pplayout</source_model>
179
+ <sort_order>18</sort_order>
180
  <show_in_default>1</show_in_default>
181
  <show_in_website>1</show_in_website>
182
  <show_in_store>1</show_in_store>
183
  </pp_layout>
184
+ <show_newsletter translate="label">
185
+ <label>Show newsletter subscription checkbox</label>
186
+ <frontend_type>select</frontend_type>
187
+ <source_model>adminhtml/system_config_source_yesno</source_model>
188
+ <sort_order>19</sort_order>
189
+ <show_in_default>1</show_in_default>
190
+ <show_in_website>1</show_in_website>
191
+ <show_in_store>1</show_in_store>
192
+ </show_newsletter>
193
  </fields>
194
  </klarnaCheckout_payment>
195
  </groups>
app/design/adminhtml/default/default/template/KCO/info.phtml CHANGED
@@ -53,7 +53,7 @@
53
  $now = new Zend_Date();
54
  ?>
55
  <?php if(strtotime($info->getAdditionalInformation("klarna_order_reservation_expiration")) < $now->get()): ?>
56
- <p class="klarna_alert"><?php echo $this->__('Klarna reservation has expired.'); ?></p>
57
  <?php endif; ?>
58
  <?php endif; ?>
59
  </b></p>
53
  $now = new Zend_Date();
54
  ?>
55
  <?php if(strtotime($info->getAdditionalInformation("klarna_order_reservation_expiration")) < $now->get()): ?>
56
+ <p class="klarnaAlert" style="font-weight:bold; color:red;"><?php echo $this->__('Klarna reservation has expired.'); ?></p>
57
  <?php endif; ?>
58
  <?php endif; ?>
59
  </b></p>
app/design/frontend/base/default/layout/KCO.xml CHANGED
@@ -55,19 +55,34 @@
55
  <reference name="checkout.cart">
56
  <action method="setCartTemplate" ifconfig="payment/klarnaCheckout_payment/active"><value>KCO/cart.phtml</value></action>
57
  <action method="chooseTemplate"/>
58
- <block type="klarnaCheckout/KCO" name="checkout.cart.klarnacheckout" as="klarnacheckout" template="KCO/KCO.phtml" />
59
- </reference>
60
- <reference name="checkout.cart.shipping">
61
- <action method="setTemplate" ifconfig="payment/klarnaCheckout_payment/active"><template>KCO/cart/shipping.phtml</template></action>
 
 
 
 
 
 
62
  </reference>
63
  <reference name="checkout.cart.crosssell">
64
  <action method="setTemplate" ifconfig="payment/klarnaCheckout_payment/active"><template>KCO/cart/crosssell.phtml</template></action>
65
  </reference>
 
 
 
66
  <reference name="checkout.cart.methods.onepage">
67
  <action method="setTemplate" ifconfig="payment/klarnaCheckout_payment/active"><template>KCO/onepage/link.phtml</template></action>
68
  </reference>
69
  </checkout_cart_index>
70
 
 
 
 
 
 
 
71
  <catalog_product_view>
72
  <block type="klarnaCheckout/catalog_product_ppwidget" template="KCO/catalog/product/ppwidget.phtml" name="klarna_pp_widget" />
73
  <reference name="head">
@@ -84,6 +99,15 @@
84
  </reference>
85
  </catalog_product_view>
86
 
 
 
 
 
 
 
 
 
 
87
  </layout>
88
 
89
 
55
  <reference name="checkout.cart">
56
  <action method="setCartTemplate" ifconfig="payment/klarnaCheckout_payment/active"><value>KCO/cart.phtml</value></action>
57
  <action method="chooseTemplate"/>
58
+ <action method="addItemRender" ifconfig="payment/klarnaCheckout_payment/active">
59
+ <type>simple</type><block>checkout/cart_item_renderer</block><template>KCO/cart/item/default.phtml</template>
60
+ </action>
61
+ <action method="addItemRender" ifconfig="payment/klarnaCheckout_payment/active">
62
+ <type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>KCO/cart/item/default.phtml</template>
63
+ </action>
64
+ <action method="addItemRender" ifconfig="payment/klarnaCheckout_payment/active">
65
+ <type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>KCO/cart/item/default.phtml</template>
66
+ </action>
67
+ <block type="klarnaCheckout/KCO" name="checkout.cart.klarnacheckout" as="klarnacheckout" template="KCO/KCO.phtml" />
68
  </reference>
69
  <reference name="checkout.cart.crosssell">
70
  <action method="setTemplate" ifconfig="payment/klarnaCheckout_payment/active"><template>KCO/cart/crosssell.phtml</template></action>
71
  </reference>
72
+ <reference name="checkout.cart.shipping">
73
+ <action method="setTemplate" ifconfig="payment/klarnaCheckout_payment/active"><template>KCO/cart/shipping.phtml</template></action>
74
+ </reference>
75
  <reference name="checkout.cart.methods.onepage">
76
  <action method="setTemplate" ifconfig="payment/klarnaCheckout_payment/active"><template>KCO/onepage/link.phtml</template></action>
77
  </reference>
78
  </checkout_cart_index>
79
 
80
+ <checkout_onepage_index>
81
+ <reference name="head">
82
+ <action method="addCss" ifconfig="payment/klarnaCheckout_payment/active"><stylesheet>KCO/kco.css</stylesheet></action>
83
+ </reference>
84
+ </checkout_onepage_index>
85
+
86
  <catalog_product_view>
87
  <block type="klarnaCheckout/catalog_product_ppwidget" template="KCO/catalog/product/ppwidget.phtml" name="klarna_pp_widget" />
88
  <reference name="head">
99
  </reference>
100
  </catalog_product_view>
101
 
102
+ <kco_twocolumns>
103
+ <reference name="checkout.cart">
104
+ <action method="setCartTemplate" ifconfig="payment/klarnaCheckout_payment/active">
105
+ <value>KCO/cart_twocolumns.phtml</value>
106
+ </action>
107
+ <action method="chooseTemplate"/>
108
+ </reference>
109
+ </kco_twocolumns>
110
+
111
  </layout>
112
 
113
 
app/design/frontend/base/default/template/KCO/KCO.phtml CHANGED
@@ -33,16 +33,17 @@
33
  var kcoloadurl = '<?php echo $this->getUrl("klarnaCheckout/KCO/loadKcoFrame/", array("_secure" => true)) ?>';
34
 
35
  if($$('div.payments')[0]){
36
- if($$('div.payments')[0].getWidth() < 750)
37
  kcoloadurl = kcoloadurl + 'mobile/1';
38
  }
39
-
40
  new Ajax.Request(kcoloadurl, {
41
  method:'POST',
42
  onSuccess: function(k) {
43
  var response = eval("(" + k.responseText + ")");
44
  if(response.msg){
45
  $('klarnaMsg').update('<h2>'+ response.msg +'</h2>').show();
 
46
  }
47
  else{
48
  $('klarnaMsg').update('').hide();
33
  var kcoloadurl = '<?php echo $this->getUrl("klarnaCheckout/KCO/loadKcoFrame/", array("_secure" => true)) ?>';
34
 
35
  if($$('div.payments')[0]){
36
+ if($$('div.payments')[0].getWidth() < 600)
37
  kcoloadurl = kcoloadurl + 'mobile/1';
38
  }
39
+
40
  new Ajax.Request(kcoloadurl, {
41
  method:'POST',
42
  onSuccess: function(k) {
43
  var response = eval("(" + k.responseText + ")");
44
  if(response.msg){
45
  $('klarnaMsg').update('<h2>'+ response.msg +'</h2>').show();
46
+ $('klarnaOverlay').show();
47
  }
48
  else{
49
  $('klarnaMsg').update('').hide();
app/design/frontend/base/default/template/KCO/cart.phtml CHANGED
@@ -38,47 +38,30 @@
38
  <?php echo $this->getBlockHtml('formkey'); ?>
39
  <fieldset>
40
  <table id="shopping-cart-table" class="data-table cart-table">
41
- <col width="1" />
42
- <col />
43
- <col width="1" />
44
- <?php if ($this->helper('wishlist')->isAllowInCart()) : ?>
45
- <col width="1" />
46
- <?php endif ?>
47
- <?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
48
- <col width="1" />
49
- <?php endif; ?>
50
- <?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
51
- <col width="1" />
52
- <?php endif; ?>
53
- <col width="1" />
54
- <?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
55
- <col width="1" />
56
- <?php endif; ?>
57
- <?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
58
- <col width="1" />
59
- <?php endif; ?>
60
- <col width="1" />
61
-
62
- <?php $mergedCells = ($this->helper('tax')->displayCartBothPrices() ? 2 : 1); ?>
63
  <thead>
64
  <tr>
65
- <th rowspan="<?php echo $mergedCells; ?>">&nbsp;</th>
66
- <th rowspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo $this->__('Product Name') ?></span></th>
67
- <th rowspan="<?php echo $mergedCells; ?>"></th>
68
- <?php if ($this->helper('wishlist')->isAllowInCart()) : ?>
69
- <th rowspan="<?php echo $mergedCells; ?>" class="a-center"><span class="nobr"><?php echo $this->__('Move to Wishlist') ?></span></th>
70
- <?php endif ?>
71
- <th class="a-center" colspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo $this->__('Unit Price') ?></span></th>
72
- <th rowspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo $this->__('Qty') ?></th>
73
- <th class="a-center" colspan="<?php echo $mergedCells; ?>"><?php echo $this->__('Subtotal') ?></th>
74
- <th rowspan="<?php echo $mergedCells; ?>" class="a-center">&nbsp;</th>
 
 
 
 
75
  </tr>
76
  <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
77
  <tr>
78
- <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
79
- <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
80
- <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
81
- <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
82
  </tr>
83
  <?php endif; ?>
84
  </thead>
@@ -126,7 +109,7 @@
126
  </form>
127
 
128
 
129
- <div class="cart-collaterals">
130
  <div class="col1-set">
131
  <div class="col-1">
132
  <?php echo $this->getChildHtml('crosssell') ?>
@@ -140,15 +123,20 @@
140
 
141
  <?php if (!$this->getIsVirtual()): echo $this->getChildHtml('shipping'); endif; ?>
142
 
143
- <div class="col2-set totals_row">
144
  <div class="col-1">
145
  <?php echo $this->getChildHtml('coupon') ?>
 
 
 
 
146
  </div>
147
  <div class="col-2">
148
- <div class="totals">
149
  <?php echo $this->getChildHtml('totals'); ?>
150
  </div>
151
  </div>
 
152
  </div>
153
  <div class="col1-set">
154
  <div class="col-1">
@@ -157,7 +145,11 @@
157
  <?php if(!Mage::getModel('klarnaCheckout/config')->hideDefaultCheckout()): ?>
158
  <div class="paymentMenuContainer">
159
  <ul>
160
- <li class="active"><a href="#"><?php echo Mage::getSingleton('klarnaCheckout/config')->getTitle(); ?></a></li>
 
 
 
 
161
  <?php foreach ($this->getMethods('methods') as $method): ?>
162
  <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
163
  <?php if(strlen(preg_replace( "/\r|\n/", "", $methodHtml)) > 0): ?>
@@ -168,37 +160,38 @@
168
  </ul>
169
  </div>
170
  <?php endif; ?>
171
- <div class="payment_container">
172
  <?php echo $this->getChildHtml('klarnacheckout'); ?>
173
  </div>
174
  <script>
175
- document.observe('dom:loaded', function(){
176
- var width = 0;
177
-
178
- $$('div.payments ul li').each(function(e){
179
- width += e.getWidth();
180
- width += 5;
181
- });
182
-
183
- if(width > $$('div.col-main')[0].getWidth()){
184
- $$('div.payments')[0].removeClassName('payments').addClassName('responsive-payments');
185
- $$('div.responsive-payments ul')[0].insert({before: '<span class="paymentnavi-toggle"></span>'});
186
- }
187
- if($$('.paymentnavi-toggle')[0] !== undefined){
188
- $$('.paymentnavi-toggle')[0].observe('click', function(event) {
189
- $$('div.responsive-payments ul li').each(function(e, index){
190
- if(index > 0){
191
- if(e.visible()){
192
- e.style.display = 'none';
193
- }
194
- else{
195
- e.style.display = 'block';
196
- }
197
- }
198
- });
199
- });
200
- }
201
- });
 
202
  </script>
203
  <?php endif; ?>
204
  </div>
38
  <?php echo $this->getBlockHtml('formkey'); ?>
39
  <fieldset>
40
  <table id="shopping-cart-table" class="data-table cart-table">
41
+ <?php $mergedCells = ($this->helper('tax')->displayCartBothPrices() ? 2 : 1); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  <thead>
43
  <tr>
44
+ <th rowspan="<?php echo $mergedCells; ?>" ><span class="nobr"><?php echo $this->__('Product') ?></span></th>
45
+
46
+ <th rowspan="<?php echo $mergedCells; ?>" class="hideToFit">&nbsp;</th>
47
+
48
+ <th class="a-center cart-price-head" colspan="<?php echo $mergedCells; ?>">
49
+ <span class="nobr"><?php echo $this->__('Price') ?></span>
50
+ </th>
51
+ <th rowspan="<?php echo $mergedCells; ?>" class="a-center">
52
+ <?php echo $this->__('Qty') ?>
53
+ </th>
54
+ <th class="a-center cart-total-head" colspan="<?php echo $mergedCells; ?>">
55
+ <?php echo $this->__('Subtotal') ?>
56
+ </th>
57
+ <th class="a-center" rowspan="<?php echo $mergedCells; ?>">&nbsp;</th>
58
  </tr>
59
  <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
60
  <tr>
61
+ <th class="a-center cart-price-head"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
62
+ <th class="a-center cart-price-head"><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
63
+ <th class="a-center cart-total-head"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
64
+ <th class="a-center cart-total-head"><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
65
  </tr>
66
  <?php endif; ?>
67
  </thead>
109
  </form>
110
 
111
 
112
+ <div class="cart-collaterals cart-forms">
113
  <div class="col1-set">
114
  <div class="col-1">
115
  <?php echo $this->getChildHtml('crosssell') ?>
123
 
124
  <?php if (!$this->getIsVirtual()): echo $this->getChildHtml('shipping'); endif; ?>
125
 
126
+ <div class="col2-set totalsRow">
127
  <div class="col-1">
128
  <?php echo $this->getChildHtml('coupon') ?>
129
+ <?php
130
+ if(Mage::getModel('klarnaCheckout/config')->showNewsletter())
131
+ echo $this->getLayout()->createBlock('klarnaCheckout/KCO_newsletter')->toHtml();
132
+ ?>
133
  </div>
134
  <div class="col-2">
135
+ <div class="totals cart-totals">
136
  <?php echo $this->getChildHtml('totals'); ?>
137
  </div>
138
  </div>
139
+
140
  </div>
141
  <div class="col1-set">
142
  <div class="col-1">
145
  <?php if(!Mage::getModel('klarnaCheckout/config')->hideDefaultCheckout()): ?>
146
  <div class="paymentMenuContainer">
147
  <ul>
148
+ <li class="active">
149
+ <a href="#">
150
+ <img src="<?php echo $this->getSkinUrl('KCO/klarna_simplifying.png') ?>" alt="<?php echo Mage::getSingleton('klarnaCheckout/config')->getTitle(); ?>" />
151
+ </a>
152
+ </li>
153
  <?php foreach ($this->getMethods('methods') as $method): ?>
154
  <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
155
  <?php if(strlen(preg_replace( "/\r|\n/", "", $methodHtml)) > 0): ?>
160
  </ul>
161
  </div>
162
  <?php endif; ?>
163
+ <div class="paymentContainer">
164
  <?php echo $this->getChildHtml('klarnacheckout'); ?>
165
  </div>
166
  <script>
167
+ Event.observe(window, 'load', function() {
168
+ var width = 0;
169
+ $$('div.payments ul li').each(function(e){
170
+ width += e.getWidth();
171
+ });
172
+
173
+ if(width > $$('div.paymentMenuContainer')[0].getWidth()){
174
+ $$('div.payments')[0].removeClassName('payments').addClassName('responsive-payments');
175
+ $$('div.responsive-payments ul')[0].insert({before: '<span class="paymentnavi-toggle"></span>'});
176
+ }
177
+
178
+ if($$('.paymentnavi-toggle')[0] !== undefined){
179
+ $$('.paymentnavi-toggle')[0].observe('click', function(event){
180
+ $$('div.responsive-payments ul li').each(function(e, index){
181
+ if(index > 0){
182
+ var display = window.getComputedStyle(e).display;
183
+ if(display == "none"){
184
+ e.style.display = 'block';
185
+ }
186
+ else{
187
+ e.style.display = 'none';
188
+ }
189
+ }
190
+ });
191
+ });
192
+ }
193
+
194
+ });
195
  </script>
196
  <?php endif; ?>
197
  </div>
app/design/frontend/base/default/template/KCO/cart/item/default.phtml ADDED
@@ -0,0 +1,282 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <?php
3
+ $_item = $this->getItem();
4
+ $isVisibleProduct = $_item->getProduct()->isVisibleInSiteVisibility();
5
+ $canApplyMsrp = Mage::helper('catalog')->canApplyMsrp($_item->getProduct(), Mage_Catalog_Model_Product_Attribute_Source_Msrp_Type::TYPE_BEFORE_ORDER_CONFIRM);
6
+ ?>
7
+ <tr>
8
+ <td class="product-cart-image hideToFit">
9
+ <?php if ($this->hasProductUrl()):?>
10
+ <a href="<?php echo $this->getProductUrl() ?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product-image">
11
+ <?php endif;?>
12
+ <img src="<?php echo $this->getProductThumbnail()->resize(80); ?>" alt="<?php echo $this->escapeHtml($this->getProductName()) ?>" />
13
+ <?php if ($this->hasProductUrl()):?>
14
+ </a>
15
+ <?php endif;?>
16
+
17
+ </td>
18
+
19
+ <td class="product-cart-info">
20
+ <h2 class="product-name">
21
+ <?php if ($this->hasProductUrl()):?>
22
+ <a href="<?php echo $this->getProductUrl() ?>" class="rowInfoLink"><?php echo $this->escapeHtml($this->getProductName()) ?></a>
23
+ <?php else: ?>
24
+ <?php echo $this->escapeHtml($this->getProductName()) ?>
25
+ <?php endif; ?>
26
+ </h2>
27
+
28
+ <?php if ($_options = $this->getOptionList()):?>
29
+ <dl class="item-options">
30
+ <?php foreach ($_options as $_option) : ?>
31
+ <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
32
+ <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
33
+ <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
34
+ <?php if (isset($_formatedOptionValue['full_view'])): ?>
35
+ <div class="truncated_full_value">
36
+ <dl class="item-options">
37
+ <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
38
+ <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
39
+ </dl>
40
+ </div>
41
+ <?php endif; ?>
42
+ </dd>
43
+ <?php endforeach; ?>
44
+ </dl>
45
+ <?php endif;?>
46
+
47
+ <?php if ($messages = $this->getMessages()): ?>
48
+ <?php foreach ($messages as $message): ?>
49
+ <p class="item-msg <?php echo $message['type'] ?>">
50
+ * <?php echo $this->escapeHtml($message['text']) ?>
51
+ </p>
52
+ <?php endforeach; ?>
53
+ <?php endif; ?>
54
+
55
+ <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
56
+ <?php if ($addInfoBlock): ?>
57
+ <?php echo $addInfoBlock->setItem($_item)->toHtml() ?>
58
+ <?php endif;?>
59
+
60
+ </td>
61
+
62
+ <?php if ($canApplyMsrp): ?>
63
+ <td class="a-center product-cart-price"<?php if ($this->helper('tax')->displayCartBothPrices()): ?> colspan="2"<?php endif; ?>>
64
+ <span class="cart-price">
65
+ <span class="cart-msrp-unit"><?php echo $this->__('See price before order confirmation.'); ?></span>
66
+ <?php $helpLinkId = 'cart-msrp-help-' . $_item->getId(); ?>
67
+ <a id="<?php echo $helpLinkId ?>" href="#" class="map-help-link"><?php echo $this->__("What's this?"); ?></a>
68
+
69
+ <script type="text/javascript">
70
+ Catalog.Map.addHelpLink($('<?php echo $helpLinkId ?>'), "<?php echo $this->__("What&#39;s this?") ?>");
71
+ </script>
72
+
73
+ </span>
74
+ </td>
75
+ <?php else: ?>
76
+
77
+ <?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
78
+ <td class="product-cart-price" data-rwd-label="<?php echo $this->__('Price'); ?>" data-rwd-tax-label="<?php echo $this->__('Excl. Tax'); ?>">
79
+
80
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
81
+ <span class="cart-tax-total" onclick="taxToggle('eunit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
82
+ <?php else: ?>
83
+ <span class="cart-price">
84
+ <?php endif; ?>
85
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
86
+ <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
87
+ <?php else: ?>
88
+ <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()) ?>
89
+ <?php endif; ?>
90
+
91
+ </span>
92
+
93
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
94
+
95
+ <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
96
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
97
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
98
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span>
99
+ <?php endforeach; ?>
100
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
101
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
102
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span>
103
+ <?php endforeach; ?>
104
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
105
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
106
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span>
107
+ <?php endforeach; ?>
108
+ <?php endif; ?>
109
+ </div>
110
+
111
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
112
+ <div class="cart-tax-total" onclick="taxToggle('eunit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
113
+ <span class="weee"><?php echo Mage::helper('weee')->__('Total'); ?>: <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
114
+ </div>
115
+ <?php endif; ?>
116
+ <?php endif; ?>
117
+ </td>
118
+ <?php endif; ?><!-- inclusive price starts here -->
119
+ <?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
120
+ <td class="product-cart-price" data-rwd-label="<?php echo $this->__('Price'); ?>" data-rwd-tax-label="<?php echo $this->__('Incl. Tax'); ?>">
121
+ <?php $_incl = $this->helper('checkout')->getPriceInclTax($_item); ?>
122
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
123
+ <span class="cart-tax-total" onclick="taxToggle('unit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
124
+ <?php else: ?>
125
+ <span class="cart-price">
126
+ <?php endif; ?>
127
+
128
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
129
+ <?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getWeeeTaxInclTax($_item)); ?>
130
+ <?php else: ?>
131
+ <?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
132
+ <?php endif; ?>
133
+
134
+ </span>
135
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
136
+
137
+ <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
138
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
139
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
140
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
141
+ <?php endforeach; ?>
142
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
143
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
144
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
145
+ <?php endforeach; ?>
146
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
147
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
148
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
149
+ <?php endforeach; ?>
150
+ <?php endif; ?>
151
+ </div>
152
+
153
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
154
+ <div class="cart-tax-total" onclick="taxToggle('unit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
155
+ <span class="weee"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>: <?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getWeeeTaxInclTax($_item)); ?></span>
156
+ </div>
157
+ <?php endif; ?>
158
+ <?php endif; ?>
159
+ </td>
160
+ <?php endif; ?>
161
+ <?php endif; ?>
162
+ <td class="product-cart-actions" data-rwd-label="<?php echo $this->__('Qty'); ?>">
163
+ <input type="text" pattern="\d*" name="cart[<?php echo $_item->getId() ?>][qty]" value="<?php echo $this->getQty() ?>" size="4" title="<?php echo $this->__('Qty') ?>" class="input-text qty" maxlength="12" />
164
+
165
+ <ul class="cart-links">
166
+ <?php if ($isVisibleProduct): ?>
167
+ <li>
168
+ <a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo $this->__('Edit item parameters') ?>"><?php echo $this->__('Edit') ?></a>
169
+ </li>
170
+ <?php endif ?>
171
+
172
+ <?php if ($this->helper('wishlist')->isAllowInCart()) : ?>
173
+ <li>
174
+ <?php if ($isVisibleProduct): ?>
175
+ <a href="<?php echo $this->helper('wishlist')->getMoveFromCartUrl($_item->getId()); ?>" class="link-wishlist use-ajax"><?php echo $this->__('Move to wishlist'); ?></a>
176
+ <?php endif ?>
177
+ </li>
178
+ <?php endif ?>
179
+ </ul>
180
+
181
+ </td>
182
+
183
+ <!--Sub total starts here -->
184
+ <?php if (($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
185
+ <td class="product-cart-total" data-rwd-label="<?php echo $this->__('Subtotal'); ?>">
186
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
187
+ <span class="cart-tax-total" onclick="taxToggle('esubtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
188
+ <?php else: ?>
189
+ <span class="cart-price">
190
+ <?php endif; ?>
191
+
192
+ <?php if ($canApplyMsrp): ?>
193
+ <span class="cart-msrp-subtotal">--</span>
194
+ <?php else: ?>
195
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
196
+ <?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
197
+ <?php else: ?>
198
+ <?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()) ?>
199
+ <?php endif; ?>
200
+ <?php endif; ?>
201
+
202
+ </span>
203
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
204
+
205
+ <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
206
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
207
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
208
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount'],true,true); ?></span>
209
+ <?php endforeach; ?>
210
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
211
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
212
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount'],true,true); ?></span>
213
+ <?php endforeach; ?>
214
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
215
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
216
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount'],true,true); ?></span>
217
+ <?php endforeach; ?>
218
+ <?php endif; ?>
219
+ </div>
220
+
221
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
222
+ <div class="cart-tax-total" onclick="taxToggle('esubtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
223
+ <span class="weee"><?php echo Mage::helper('weee')->__('Total'); ?>: <?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
224
+ </div>
225
+ <?php endif; ?>
226
+ <?php endif; ?>
227
+ </td>
228
+ <?php endif; ?>
229
+ <?php if (($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
230
+ <td class="product-cart-total" data-rwd-label="<?php echo $this->__('Subtotal'); ?>">
231
+ <?php $_incl = $this->helper('checkout')->getSubtotalInclTax($_item); ?>
232
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
233
+ <span class="cart-tax-total" onclick="taxToggle('subtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
234
+ <?php else: ?>
235
+ <span class="cart-price">
236
+ <?php endif; ?>
237
+
238
+ <?php if ($canApplyMsrp): ?>
239
+ <span class="cart-msrp-subtotal">--</span>
240
+ <?php else: ?>
241
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
242
+ <?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getRowWeeeTaxInclTax($_item)); ?>
243
+ <?php else: ?>
244
+ <?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
245
+ <?php endif; ?>
246
+ <?php endif; ?>
247
+
248
+ </span>
249
+
250
+
251
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
252
+
253
+ <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
254
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
255
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
256
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
257
+ <?php endforeach; ?>
258
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
259
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
260
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
261
+ <?php endforeach; ?>
262
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
263
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
264
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
265
+ <?php endforeach; ?>
266
+ <?php endif; ?>
267
+ </div>
268
+
269
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
270
+ <div class="cart-tax-total" onclick="taxToggle('subtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
271
+ <span class="weee"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>: <?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getRowWeeeTaxInclTax($_item)); ?></span>
272
+ </div>
273
+ <?php endif; ?>
274
+ <?php endif; ?>
275
+ </td>
276
+ <?php endif; ?>
277
+ <td class="a-center product-cart-remove">
278
+ <a href="<?php echo $this->getDeleteUrl() ?>" title="<?php echo $this->__('Remove Item') ?>" class="btn-remove btn-remove2"><?php echo $this->__('Remove Item') ?></a>
279
+ </td>
280
+ </tr>
281
+
282
+
app/design/frontend/base/default/template/KCO/cart/shipping.phtml CHANGED
@@ -173,7 +173,7 @@
173
  }
174
  }
175
 
176
- document.observe("dom:loaded", function() {
177
  addObservers();
178
  });
179
 
173
  }
174
  }
175
 
176
+ Event.observe(window, 'load', function(){
177
  addObservers();
178
  });
179
 
app/design/frontend/base/default/template/KCO/cart_twocolumns.phtml ADDED
@@ -0,0 +1,238 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file is released under a custom license by Avenla Oy.
4
+ * All rights reserved
5
+ *
6
+ * License and more information can be found at http://productdownloads.avenla.com/magento-modules/klarna-checkout/
7
+ * For questions and support - klarna-support@avenla.com
8
+ *
9
+ * @category Avenla
10
+ * @package Avenla_KlarnaCheckout
11
+ * @copyright Copyright (c) Avenla Oy
12
+ * @link http://www.avenla.fi
13
+ */
14
+
15
+ /**
16
+ * Avenla KlarnaCheckout
17
+ *
18
+ * @category Avenla
19
+ * @package Avenla_KlarnaCheckout
20
+ */
21
+ ?>
22
+ <div class="cart twocolumncart">
23
+ <div class="page-title title-buttons">
24
+ <h1><?php echo $this->__('Shopping Cart') ?></h1>
25
+ <?php if(!$this->hasError()): ?>
26
+ <ul class="checkout-types">
27
+ <?php foreach ($this->getMethods('top_methods') as $method): ?>
28
+ <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
29
+ <li><?php echo $methodHtml; ?></li>
30
+ <?php endif; ?>
31
+ <?php endforeach; ?>
32
+ </ul>
33
+ <?php endif; ?>
34
+ </div>
35
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
36
+ <?php echo $this->getChildHtml('form_before') ?>
37
+
38
+ <!-- To left side -->
39
+ <div class="col2-set">
40
+ <div class="col-1 cart-col">
41
+
42
+ <form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="post">
43
+ <?php echo $this->getBlockHtml('formkey'); ?>
44
+ <fieldset>
45
+ <table id="shopping-cart-table" class="data-table cart-table">
46
+
47
+ <?php $mergedCells = ($this->helper('tax')->displayCartBothPrices() ? 2 : 1); ?>
48
+ <thead>
49
+ <tr>
50
+ <th rowspan="<?php echo $mergedCells; ?>" ><span class="nobr"><?php echo $this->__('Product') ?></span></th>
51
+
52
+ <th rowspan="<?php echo $mergedCells; ?>" class="hideToFit">&nbsp;</th>
53
+
54
+ <th class="a-center cart-price-head" colspan="<?php echo $mergedCells; ?>">
55
+ <span class="nobr"><?php echo $this->__('Price') ?></span>
56
+ </th>
57
+ <th rowspan="<?php echo $mergedCells; ?>" class="a-center">
58
+ <?php echo $this->__('Qty') ?>
59
+ </th>
60
+ <th class="a-center cart-total-head" colspan="<?php echo $mergedCells; ?>">
61
+ <?php echo $this->__('Subtotal') ?>
62
+ </th>
63
+ <th class="a-center" rowspan="<?php echo $mergedCells; ?>">&nbsp;</th>
64
+ </tr>
65
+ <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
66
+ <tr>
67
+ <th class="a-center cart-price-head"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
68
+ <th class="a-center cart-price-head"><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
69
+ <th class="a-center cart-total-head"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
70
+ <th class="a-center cart-total-head"><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
71
+ </tr>
72
+ <?php endif; ?>
73
+ </thead>
74
+
75
+ <tfoot>
76
+ <tr>
77
+ <td colspan="50" class="a-right">
78
+ <?php if($this->getContinueShoppingUrl()): ?>
79
+ <button type="button" title="<?php echo $this->__('Continue Shopping') ?>" class="button btn-continue" onclick="setLocation('<?php echo $this->getContinueShoppingUrl() ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
80
+ <?php endif; ?>
81
+ <button type="submit" name="update_cart_action" value="empty_cart" title="<?php echo $this->__('Clear Shopping Cart'); ?>" class="button btn-empty" id="empty_cart_button"><span><span><?php echo $this->__('Clear Shopping Cart'); ?></span></span></button>
82
+
83
+ <button type="submit" name="update_cart_action" value="update_qty" title="<?php echo $this->__('Update Shopping Cart'); ?>" class="button btn-update"><span><span><?php echo $this->__('Update Shopping Cart'); ?></span></span></button>
84
+
85
+ <!--[if lt IE 8]>
86
+ <input type="hidden" id="update_cart_action_container" />
87
+ <script type="text/javascript">
88
+ //<![CDATA[
89
+ Event.observe(window, 'load', function()
90
+ {
91
+ // Internet Explorer (lt 8) does not support value attribute in button elements
92
+ $emptyCartButton = $('empty_cart_button');
93
+ $cartActionContainer = $('update_cart_action_container');
94
+ if ($emptyCartButton && $cartActionContainer) {
95
+ Event.observe($emptyCartButton, 'click', function()
96
+ {
97
+ $emptyCartButton.setAttribute('name', 'update_cart_action_temp');
98
+ $cartActionContainer.setAttribute('name', 'update_cart_action');
99
+ $cartActionContainer.setValue('empty_cart');
100
+ });
101
+ }
102
+
103
+ });
104
+ //]]>
105
+ </script>
106
+ <![endif]-->
107
+ </td>
108
+ </tr>
109
+ </tfoot>
110
+ <tbody>
111
+ <?php foreach($this->getItems() as $_item): ?>
112
+ <?php echo $this->getItemHtml($_item) ?>
113
+ <?php endforeach ?>
114
+ </tbody>
115
+
116
+ </table>
117
+ <script type="text/javascript">decorateTable('shopping-cart-table')</script>
118
+
119
+ </fieldset>
120
+ </form>
121
+
122
+ <div class="cart-collaterals cart-forms">
123
+ <?php if (!$this->getIsVirtual()): echo $this->getChildHtml('shipping'); endif; ?>
124
+
125
+ <div class="full-column">
126
+ <?php echo $this->getChildHtml('coupon') ?>
127
+ </div>
128
+
129
+ <div class="full-column cart-totals-wrapper">
130
+ <div class="totals cart-totals">
131
+ <?php echo $this->getChildHtml('totals'); ?>
132
+ </div>
133
+ </div>
134
+
135
+ <div class="full-column">
136
+ <?php echo $this->getChildHtml('checkout.cart.extra') ?>
137
+ <?php
138
+ if(Mage::getModel('klarnaCheckout/config')->showNewsletter())
139
+ echo $this->getLayout()->createBlock('klarnaCheckout/KCO_newsletter')->toHtml();
140
+ ?>
141
+ </div>
142
+
143
+ </div>
144
+ </div>
145
+ <!-- end left side -->
146
+ <div class="col-2">
147
+ <div class="col1-set">
148
+ <div class="full-column">
149
+ <div class="payments">
150
+ <?php if(!$this->hasError()): ?>
151
+ <?php if(!Mage::getModel('klarnaCheckout/config')->hideDefaultCheckout()): ?>
152
+ <div class="paymentMenuContainer">
153
+ <ul>
154
+ <li class="active">
155
+ <a href="#">
156
+ <img src="<?php echo $this->getSkinUrl('KCO/klarna_simplifying.png') ?>" alt="<?php echo Mage::getSingleton('klarnaCheckout/config')->getTitle(); ?>" />
157
+ </a>
158
+ </li>
159
+ <?php foreach ($this->getMethods('methods') as $method): ?>
160
+ <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
161
+ <?php if(strlen(preg_replace( "/\r|\n/", "", $methodHtml)) > 0): ?>
162
+ <li><?php echo $methodHtml; ?></li>
163
+ <?php endif; ?>
164
+ <?php endif; ?>
165
+ <?php endforeach; ?>
166
+ </ul>
167
+ </div>
168
+ <?php endif; ?>
169
+ <div class="paymentContainer">
170
+ <?php echo $this->getChildHtml('klarnacheckout'); ?>
171
+ </div>
172
+ <script>
173
+ Event.observe(window, 'load', function() {
174
+ fitCartTable();
175
+ var width = 0;
176
+ $$('div.payments ul li').each(function(e){
177
+ width += e.getWidth();
178
+ });
179
+
180
+ if(width > $$('div.paymentMenuContainer')[0].getWidth()){
181
+ $$('div.payments')[0].removeClassName('payments').addClassName('responsive-payments');
182
+ $$('div.responsive-payments ul')[0].insert({before: '<span class="paymentnavi-toggle"></span>'});
183
+ }
184
+
185
+ if($$('.paymentnavi-toggle')[0] !== undefined){
186
+ $$('.paymentnavi-toggle')[0].observe('click', function(event){
187
+ $$('div.responsive-payments ul li').each(function(e, index){
188
+ if(index > 0){
189
+ var display = window.getComputedStyle(e).display;
190
+ if(display == "none"){
191
+ e.style.display = 'block';
192
+ }
193
+ else{
194
+ e.style.display = 'none';
195
+ }
196
+ }
197
+ });
198
+ });
199
+ }
200
+
201
+ });
202
+
203
+ function fitCartTable()
204
+ {
205
+ if($('shopping-cart-table').getWidth() > $$('div.cart-col')[0].getWidth()){
206
+ $$('.hideToFit').each(function(element) {
207
+ tableFit = true;
208
+ element.hide();
209
+ });
210
+ }
211
+
212
+ if($('shopping-cart-table').getWidth() > $$('div.cart-col')[0].getWidth()){
213
+ tableFit = false;
214
+ $$('.col-1').each(function(element) {
215
+ element.addClassName('full-column');
216
+ });
217
+
218
+ $$('.col-2').each(function(element) {
219
+ element.addClassName('full-column');
220
+ });
221
+
222
+ $$('.hideToFit').each(function(element){
223
+ element.show();
224
+ });
225
+ }
226
+ }
227
+
228
+ </script>
229
+ <?php endif; ?>
230
+ </div>
231
+ </div>
232
+ </div>
233
+ </div>
234
+ </div>
235
+ <div class="crosssell-container">
236
+ <?php echo $this->getChildHtml('crosssell') ?>
237
+ </div>
238
+ </div>
app/design/frontend/base/default/template/KCO/link.phtml CHANGED
@@ -23,7 +23,7 @@
23
 
24
  <a href="<?php echo $helper->getCartUri();?>" class="klarnaLink">
25
  <img src="<?php echo $helper->getLogoSrc(); ?>" alt="Klarna Checkout" />
26
- <p class="klarna_link_text"><?php echo $this->__($helper->getLinkText());?></p>
27
  </a>
28
 
29
  <?php echo $this->getChildHtml('original'); ?>
23
 
24
  <a href="<?php echo $helper->getCartUri();?>" class="klarnaLink">
25
  <img src="<?php echo $helper->getLogoSrc(); ?>" alt="Klarna Checkout" />
26
+ <p class="klarnaLinkText"><?php echo $this->__($helper->getLinkText());?></p>
27
  </a>
28
 
29
  <?php echo $this->getChildHtml('original'); ?>
app/design/frontend/base/default/template/KCO/newsletter.phtml ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file is released under a custom license by Avenla Oy.
4
+ * All rights reserved
5
+ *
6
+ * License and more information can be found at http://productdownloads.avenla.com/magento-modules/klarna-checkout/
7
+ * For questions and support - klarna-support@avenla.com
8
+ *
9
+ * @category Avenla
10
+ * @package Avenla_KlarnaCheckout
11
+ * @copyright Copyright (c) Avenla Oy
12
+ * @link http://www.avenla.fi
13
+ */
14
+
15
+ /**
16
+ * Avenla KlarnaCheckout
17
+ *
18
+ * @category Avenla
19
+ * @package Avenla_KlarnaCheckout
20
+ */
21
+ ?>
22
+ <form id="kcoNewsLetterForm">
23
+ <input type="checkbox" id="signNewsletter" name="signNewsletter" title="<?php echo Mage::helper('newsletter')->__('Sign up for our newsletter') ?>"
24
+ <?php echo $this->isChecked() ? 'checked="checked"' : ''; ?>
25
+ />
26
+ <label for="signNewsletter">
27
+ <?php echo Mage::helper('newsletter')->__('Sign up for our newsletter') ?>
28
+ </label>
29
+
30
+
31
+ </form>
32
+ <p id="kcoNewsMessage" style="display:none;"></p>
33
+
34
+ <script>
35
+ $$('#kcoNewsLetterForm input[type="checkbox"]').invoke('observe','click',function(field) {
36
+ var newsletterurl = '<?php echo $this->getUrl("klarnaCheckout/KCO/newsletter/", array("_secure" => true)) ?>';
37
+ var box = this;
38
+ if(box.checked)
39
+ newsletterurl += 'status/1';
40
+
41
+ new Ajax.Request(newsletterurl, {
42
+ method:'POST',
43
+ onSuccess: function(k) {
44
+ var response = eval("(" + k.responseText + ")");
45
+ if(response.letter_msg){
46
+ $('kcoNewsMessage').update(response.letter_msg).show();
47
+ box.checked = false;
48
+ }
49
+ else{
50
+ $('kcoNewsMessage').update('').hide();
51
+ }
52
+ }
53
+ });
54
+ });
55
+ </script>
app/locale/fi_FI/Avenla_KlarnaCheckout.csv CHANGED
@@ -48,4 +48,8 @@
48
  "Please use the same post code for your quote and Klarna.", "Toimitustavan valinnassa tulee käyttää samaa postinumeroa kuin Klarnan tilaajan tiedoissa."
49
  "Hide links to default Checkout", "Piilota linkit kassasivulle"
50
  "Text shown in Klarna link at Magento Checkout", "Kassan linkissä näytettävä teksti"
51
- "Please specify a shipping method.", "Ole hyvä ja täytä puhelinnumerosi."
 
 
 
 
48
  "Please use the same post code for your quote and Klarna.", "Toimitustavan valinnassa tulee käyttää samaa postinumeroa kuin Klarnan tilaajan tiedoissa."
49
  "Hide links to default Checkout", "Piilota linkit kassasivulle"
50
  "Text shown in Klarna link at Magento Checkout", "Kassan linkissä näytettävä teksti"
51
+ "Please specify a shipping method.", "Ole hyvä ja täytä puhelinnumerosi."
52
+ "Cart page layout", "Ostoskori sivun asettelu"
53
+ "Show newsletter subscription checkbox", "Näytä valintaruutu uutiskirjeen tilaamiseen"
54
+ "Default", "Oletus"
55
+ "Two columns", "Kaksi palstaa"
lib/KlarnaCheckout/Checkout/UserAgent.php CHANGED
@@ -67,7 +67,7 @@ class Klarna_Checkout_UserAgent
67
  ),
68
  'Module' => array(
69
  'name' => 'KlarnaCheckout.MagentoModule',
70
- 'version' => '1.0.6'
71
  )
72
  );
73
  }
67
  ),
68
  'Module' => array(
69
  'name' => 'KlarnaCheckout.MagentoModule',
70
+ 'version' => '1.0.7'
71
  )
72
  );
73
  }
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Avenla_KlarnaCheckout</name>
4
- <version>1.0.6</version>
5
  <stability>stable</stability>
6
  <license uri="http://productdownloads.avenla.com/magento-modules/klarna-checkout/">Custom license by Avenla Oy</license>
7
  <channel>community</channel>
@@ -13,9 +13,9 @@ For questions and support - klarna-support@avenla.com&#xD;
13
  </description>
14
  <notes>Klarna Checkout module</notes>
15
  <authors><author><name>Avenla Oy</name><user>Avenla</user><email>info@avenla.fi</email></author></authors>
16
- <date>2014-08-07</date>
17
- <time>09:14:15</time>
18
- <contents><target name="magecommunity"><dir name="Avenla"><dir name="KlarnaCheckout"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Info.php" hash="3d0fd774a6116513e4d413a078e80848"/></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><file name="Ppwidget.php" hash="bdf50c2d2fc94994d853f33ff9600117"/></dir></dir><dir name="KCO"><file name="Confirmation.php" hash="61e58e00070fa76b9f067619e0db5ba5"/><file name="Info.php" hash="2af961abb2eb0609b84f8da5281332ad"/></dir><file name="KCO.php" hash="1abf22f4408a872572c1f8babed730d6"/></dir><dir name="Helper"><file name="Api.php" hash="40f14b72afdcf758b97b564ebe27d0c6"/><file name="Data.php" hash="ca36161784169edf2e055088ac14a49d"/></dir><dir name="Model"><file name="Api.php" hash="dad35c50097e6e3aa5e72cbb4bc54ce1"/><file name="Config.php" hash="f0417d1bf67e0f6da2f6e581c763491c"/><file name="KCO.php" hash="48565fcddce1d3cad0192afc67972f0c"/><file name="Observer.php" hash="32a73fb00607a252ddc912f14ae630a2"/><file name="Order.php" hash="a634c4edd45cd92a217c6ba878d77aaa"/><dir name="Source"><file name="Countries.php" hash="0440b3ecc5528cf42dbb937eb7d9c0cb"/><file name="Orderlocale.php" hash="a88769cf211991c70a0f51185bc53fb0"/><file name="Pplayout.php" hash="455484dbea2ff0770aa17e42851b81a6"/><file name="Servermode.php" hash="df4420b3831b1a1e1ec04daa53711a4d"/><file name="Shippingmethods.php" hash="fecb931e29be4ae008c678cc1d760a02"/><file name="Taxclass.php" hash="ff40a1943352031fd7971688b805be05"/></dir><file name="Validator.php" hash="cb8148baee0988c4a59eb6d9c5b1989d"/></dir><dir name="controllers"><file name="CartController.php" hash="891403418045004e6c047c0173dc7c6a"/><file name="KCOController.php" hash="daea867511eca9b03ba7a9c668e52290"/></dir><dir name="etc"><file name="config.xml" hash="6c816ad3033638da7789186136d12efb"/><file name="system.xml" hash="697422c0d777501a660ab102411b9ae2"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="KCO"><file name="info.phtml" hash="3fd13b1139150ac3949bc23dd22a63a4"/><dir name="system"><dir name="config"><dir name="fieldset"><file name="info.phtml" hash="36a21983fcc4816b7c8a6b8fe9f2e78c"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="KCO"><file name="KCO.phtml" hash="659a8f322539d18d7e9a068dd5c48b15"/><dir name="cart"><file name="crosssell.phtml" hash="e7f78cb99e14ab680b794524b8666812"/><file name="shipping.phtml" hash="d5526d17ffe083471b02d683147ca2a2"/></dir><file name="cart.phtml" hash="587df7307d1a49d01525e6b6ae6e7a68"/><dir name="catalog"><dir name="product"><file name="ppwidget.phtml" hash="806ac81d9394ef9566daa080eb582832"/></dir></dir><file name="info.phtml" hash="a87d8ee70c92a10445fa864a63d042ba"/><file name="link.phtml" hash="7dadce1567975585dddd51bc904b95fa"/><dir name="onepage"><file name="link.phtml" hash="a05ab2ebf5f0ed225c2f3967e2bceced"/></dir></dir></dir><dir name="layout"><file name="KCO.xml" hash="86b6db0d5c6c777c0d7620cfeed5f6c1"/></dir></dir></dir></dir></target><target name="magelib"><dir name="Klarna"><file name="Country.php" hash="40360c3964fc6193e7fb922845eb419b"/><file name="Currency.php" hash="a709407428d86521cc0775cbeb281523"/><file name="Encoding.php" hash="f8f8e744303ff7ce7f4b226331e7bdcf"/><file name="Exceptions.php" hash="933b2811e910da817743766cdde8ffeb"/><file name="Flags.php" hash="b407a1373adf5f172bef3e3d01e81cdb"/><file name="Klarna.php" hash="dc69f2c10e9b65999057bc04246c3fe8"/><file name="Language.php" hash="8e40aed0dece8f0a3fbe07e37451af16"/><dir name="checkout"><file name="checkouthtml.intf.php" hash="81e0740254585f2af67895df28093d35"/><file name="threatmetrix.class.php" hash="6ce1bfded90b6b3bb329176ff4c7acac"/></dir><dir name="examples"><file name="activate.php" hash="85a84a8eaeec830949551dfd98fe0236"/><file name="activateInvoice.php" hash="cfac2ed57d0c79679fb35ca723eaffab"/><file name="activatePart.php" hash="b46475c2d9f5b326ff2cd65586a1de6e"/><file name="activateReservation.php" hash="bd9b0e5717eaa32ebf6b5d31ad66e5d4"/><file name="addTransaction.php" hash="6426b7965de733bb17ddc7f74ee3949f"/><file name="calc_monthly_cost.php" hash="30e78c4d40db82643396f9289749a898"/><file name="cancelReservation.php" hash="ae8d00e19c671f6cfe8454a5bb590ab1"/><file name="changeReservation.php" hash="43d9486d29326a8c33a4fda466612149"/><file name="checkOrderStatus.php" hash="bef76f120b3e486790d78b50f4101701"/><file name="creditInvoice.php" hash="8edca171c9f7be2a3c15b23ff166048e"/><file name="creditPart.php" hash="5497b9307da7cccadbf4a6c0dc943876"/><file name="deleteInvoice.php" hash="6d2a6e53c64e7a1aacb79c775a46da5b"/><file name="emailInvoice.php" hash="764fbd5fab4f52dacd767a3f7ac17234"/><file name="fetchPClasses.php" hash="aac08dc4d9cfece6ac9e9a9c4e7b20cc"/><file name="getAddresses.php" hash="ebd79224ea702c92e99a407a53d42da0"/><file name="getPClasses.php" hash="8e444c98a7c63b82512af1f4ce35ac65"/><file name="invoiceAddress.php" hash="97475403b1db4264c0add60930380434"/><file name="invoiceAmount.php" hash="2f5dc326549b179cf99c27518b715e88"/><file name="invoicePartAmount.php" hash="87bf68e855bfdd4f6ba3547091104c97"/><file name="reserveAmount.php" hash="1a97ef5c39f5a2c6d97660504cbbfa10"/><file name="reserveOCR.php" hash="9349b5ea9807060cba4b5f3fcd14369f"/><file name="returnAmount.php" hash="02caca4d76b6d055d504023c770961a4"/><file name="sendInvoice.php" hash="9139eef562746840d09f9d9d5a465c21"/><file name="splitReservation.php" hash="0e09421de645d97c3b74485d51edacfd"/><file name="update.php" hash="3e3561165f4c6727731afe451b0f87d6"/><file name="updateChargeAmount.php" hash="34de26a7f6a089bdb18f67eae1f903c7"/><file name="updateGoodsQty.php" hash="e4f9ee36f56b47924ba35cda500cf13e"/><file name="updateOrderNo.php" hash="cdd594a386072f7bffbf05d2ecdcb9b7"/></dir><file name="klarnaaddr.php" hash="b090d4b0a819fdb7cc58815a8643de18"/><file name="klarnacalc.php" hash="3ab728bf3889240b881f282122fd25fd"/><file name="klarnaconfig.php" hash="a3a4011dccda60fcf3567f56254699ff"/><file name="klarnapclass.php" hash="26a8fd1df0806788f6719cb894787f76"/><dir name="pclasses"><file name="jsonstorage.class.php" hash="e59e526d9dcc17d1ca92ded188750672"/><file name="mysqlstorage.class.php" hash="896a5cd4edf461ef517e0bb2e328707b"/><file name="sqlstorage.class.php" hash="bb7ba4359e7e69424c9f0ecdafc0c9ae"/><file name="storage.intf.php" hash="26db57484b6db3d717c0150ffaa87b19"/><file name="xmlstorage.class.php" hash="4f13939bf8d73f2724f858dd17f219de"/></dir><dir name="transport"><dir name="xmlrpc-3.0.0.beta"><dir name="lib"><file name="xmlrpc.inc" hash="5a74ea2a831648febc9b2c8f809b252c"/><file name="xmlrpc_wrappers.inc" hash="5aa00141ead09fc5498d9a3c9fcab888"/><file name="xmlrpcs.inc" hash="158b97bda79333e9b40793d876b6e98f"/></dir></dir></dir></dir><dir name="KlarnaCheckout"><dir name="Checkout"><file name="BasicConnector.php" hash="42afc7257646279bbc9239e5e427a76d"/><file name="ConnectionErrorException.php" hash="352ae3f5bbb18c04f0a9d3ca1be30faf"/><file name="Connector.php" hash="767cd6181abcd144ea8b2d1738f0a617"/><file name="ConnectorException.php" hash="fe4017579c8757798e018fb0755496c0"/><file name="ConnectorInterface.php" hash="0ebfd5610fec6ddce7b7fd0f45f3d1d6"/><file name="Digest.php" hash="d7c2ea4ff1f22c8919685aad7e4e9c8b"/><file name="Exception.php" hash="31a95e8212f01d149265f75e20b31bcb"/><dir name="HTTP"><file name="CURLFactory.php" hash="591493c487797a80fd76f4f80ca598d0"/><file name="CURLHandle.php" hash="2d58ba553ffddafdcc9c80bea0c2c5ee"/><file name="CURLHandleInterface.php" hash="df5e3ddf82deb09164c75249c7235756"/><file name="CURLHeaders.php" hash="2a900efb8591defaf9230368403c975f"/><file name="CURLTransport.php" hash="c35a9910a04007372c2d6673f4657b89"/><file name="Request.php" hash="180f04ffd522b713b4261087a7e60c68"/><file name="Response.php" hash="86993580c2a11b14bab4af6328caa6de"/><file name="Transport.php" hash="4aa96d5086e105d79b0f97593fbe5d9b"/><file name="TransportInterface.php" hash="3d6aab36479741136c9dee1bbcf3914e"/></dir><file name="Order.php" hash="568242a47b838ae9abf8438a4bc7301e"/><file name="ResourceInterface.php" hash="55fc925edc0f69a89f2d79e348152a2c"/><file name="UserAgent.php" hash="a7b2e9b256c679d1f314a0c5433703cf"/></dir><file name="Checkout.php" hash="6e16bb237ecfc54f086a0d533a8e69e3"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="KCO"><file name="dropdown.png" hash="a408e177ff3130bdb4bb491935700df4"/><file name="kco.css" hash="fb072bb34dde0222d3e66bf076e91178"/><file name="loader.gif" hash="5e51d58f5d9bd09ab814d9ca9347d3b9"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Avenla_KlarnaCheckout.xml" hash="22b47fd5cc2c12370457a51ffff752d6"/></dir></target><target name="magelocale"><dir name="fi_FI"><file name="Avenla_KlarnaCheckout.csv" hash="90c9e7967b95400592d6b00c9fd6395a"/></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.2.16</min><max>5.5.0</max></php></required></dependencies>
21
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Avenla_KlarnaCheckout</name>
4
+ <version>1.0.7</version>
5
  <stability>stable</stability>
6
  <license uri="http://productdownloads.avenla.com/magento-modules/klarna-checkout/">Custom license by Avenla Oy</license>
7
  <channel>community</channel>
13
  </description>
14
  <notes>Klarna Checkout module</notes>
15
  <authors><author><name>Avenla Oy</name><user>Avenla</user><email>info@avenla.fi</email></author></authors>
16
+ <date>2014-09-03</date>
17
+ <time>13:38:32</time>
18
+ <contents><target name="magecommunity"><dir name="Avenla"><dir name="KlarnaCheckout"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Info.php" hash="a7fd2dde41ccfe8477267a45be3abf5a"/></dir></dir></dir></dir><dir name="Catalog"><dir name="Product"><file name="Ppwidget.php" hash="bdf50c2d2fc94994d853f33ff9600117"/></dir></dir><dir name="KCO"><file name="Confirmation.php" hash="61e58e00070fa76b9f067619e0db5ba5"/><file name="Info.php" hash="2af961abb2eb0609b84f8da5281332ad"/><file name="Newsletter.php" hash="8d02745a2c814101ae61b2bf00e8901e"/></dir><file name="KCO.php" hash="1abf22f4408a872572c1f8babed730d6"/></dir><dir name="Helper"><file name="Api.php" hash="40f14b72afdcf758b97b564ebe27d0c6"/><file name="Data.php" hash="ca36161784169edf2e055088ac14a49d"/></dir><dir name="Model"><file name="Api.php" hash="db031c305dae508fcaf669e3db98059e"/><file name="Config.php" hash="803e584143a6bc8088f822dda67a7d0d"/><file name="KCO.php" hash="48565fcddce1d3cad0192afc67972f0c"/><file name="Newsletter.php" hash="9696df5adee53302fba4d614656350f2"/><file name="Observer.php" hash="032c1dc5216c5da585e82b797948dc71"/><file name="Order.php" hash="a6506fab0bba0ef53f6a1137ccba2bc3"/><dir name="Source"><file name="Countries.php" hash="0440b3ecc5528cf42dbb937eb7d9c0cb"/><file name="Kcolayout.php" hash="9ece6e53ebb4e39e3c1d4d534d71cb27"/><file name="Orderlocale.php" hash="a88769cf211991c70a0f51185bc53fb0"/><file name="Pplayout.php" hash="455484dbea2ff0770aa17e42851b81a6"/><file name="Servermode.php" hash="df4420b3831b1a1e1ec04daa53711a4d"/><file name="Shippingmethods.php" hash="fecb931e29be4ae008c678cc1d760a02"/><file name="Taxclass.php" hash="c770ce5721c820c27895580e4d2de4b1"/></dir><file name="Validator.php" hash="cb8148baee0988c4a59eb6d9c5b1989d"/></dir><dir name="controllers"><file name="CartController.php" hash="891403418045004e6c047c0173dc7c6a"/><file name="KCOController.php" hash="9c4b8291a19bb3ffe9f565067003ac56"/></dir><dir name="etc"><file name="config.xml" hash="b179ca1715fa0ead98fdfe811008c4d4"/><file name="system.xml" hash="f075ba6afb07937c3e5fd8550706e8aa"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="KCO"><file name="info.phtml" hash="92048d26b2b4f751e4c83ddddab89448"/><dir name="system"><dir name="config"><dir name="fieldset"><file name="info.phtml" hash="36a21983fcc4816b7c8a6b8fe9f2e78c"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="KCO"><file name="KCO.phtml" hash="3183d8d8a74f327a44308353f6931c45"/><dir name="cart"><file name="crosssell.phtml" hash="e7f78cb99e14ab680b794524b8666812"/><dir name="item"><file name="default.phtml" hash="9190b3fad2f2ed57ea2ffbed2e1faa02"/></dir><file name="shipping.phtml" hash="ce0ac87d3ac930b05272344b70a202b9"/></dir><file name="cart.phtml" hash="e56d9f139143a64f9ed5e44d8b2cfc84"/><file name="cart_twocolumns.phtml" hash="e70f3d5efd41d4cffe9ff4c553637fb6"/><dir name="catalog"><dir name="product"><file name="ppwidget.phtml" hash="806ac81d9394ef9566daa080eb582832"/></dir></dir><file name="info.phtml" hash="a87d8ee70c92a10445fa864a63d042ba"/><file name="link.phtml" hash="69c1f3ff3b41c20ada4b021f98c7177b"/><file name="newsletter.phtml" hash="87c3730ed525d3810a5df0a9180bf993"/><dir name="onepage"><file name="link.phtml" hash="a05ab2ebf5f0ed225c2f3967e2bceced"/></dir></dir></dir><dir name="layout"><file name="KCO.xml" hash="81bbf5e3be3edf0f81b467ff22a0a54d"/></dir></dir></dir></dir></target><target name="magelib"><dir name="Klarna"><file name="Country.php" hash="40360c3964fc6193e7fb922845eb419b"/><file name="Currency.php" hash="a709407428d86521cc0775cbeb281523"/><file name="Encoding.php" hash="f8f8e744303ff7ce7f4b226331e7bdcf"/><file name="Exceptions.php" hash="933b2811e910da817743766cdde8ffeb"/><file name="Flags.php" hash="b407a1373adf5f172bef3e3d01e81cdb"/><file name="Klarna.php" hash="dc69f2c10e9b65999057bc04246c3fe8"/><file name="Language.php" hash="8e40aed0dece8f0a3fbe07e37451af16"/><dir name="checkout"><file name="checkouthtml.intf.php" hash="81e0740254585f2af67895df28093d35"/><file name="threatmetrix.class.php" hash="6ce1bfded90b6b3bb329176ff4c7acac"/></dir><dir name="examples"><file name="activate.php" hash="85a84a8eaeec830949551dfd98fe0236"/><file name="activateInvoice.php" hash="cfac2ed57d0c79679fb35ca723eaffab"/><file name="activatePart.php" hash="b46475c2d9f5b326ff2cd65586a1de6e"/><file name="activateReservation.php" hash="bd9b0e5717eaa32ebf6b5d31ad66e5d4"/><file name="addTransaction.php" hash="6426b7965de733bb17ddc7f74ee3949f"/><file name="calc_monthly_cost.php" hash="30e78c4d40db82643396f9289749a898"/><file name="cancelReservation.php" hash="ae8d00e19c671f6cfe8454a5bb590ab1"/><file name="changeReservation.php" hash="43d9486d29326a8c33a4fda466612149"/><file name="checkOrderStatus.php" hash="bef76f120b3e486790d78b50f4101701"/><file name="creditInvoice.php" hash="8edca171c9f7be2a3c15b23ff166048e"/><file name="creditPart.php" hash="5497b9307da7cccadbf4a6c0dc943876"/><file name="deleteInvoice.php" hash="6d2a6e53c64e7a1aacb79c775a46da5b"/><file name="emailInvoice.php" hash="764fbd5fab4f52dacd767a3f7ac17234"/><file name="fetchPClasses.php" hash="aac08dc4d9cfece6ac9e9a9c4e7b20cc"/><file name="getAddresses.php" hash="ebd79224ea702c92e99a407a53d42da0"/><file name="getPClasses.php" hash="8e444c98a7c63b82512af1f4ce35ac65"/><file name="invoiceAddress.php" hash="97475403b1db4264c0add60930380434"/><file name="invoiceAmount.php" hash="2f5dc326549b179cf99c27518b715e88"/><file name="invoicePartAmount.php" hash="87bf68e855bfdd4f6ba3547091104c97"/><file name="reserveAmount.php" hash="1a97ef5c39f5a2c6d97660504cbbfa10"/><file name="reserveOCR.php" hash="9349b5ea9807060cba4b5f3fcd14369f"/><file name="returnAmount.php" hash="02caca4d76b6d055d504023c770961a4"/><file name="sendInvoice.php" hash="9139eef562746840d09f9d9d5a465c21"/><file name="splitReservation.php" hash="0e09421de645d97c3b74485d51edacfd"/><file name="update.php" hash="3e3561165f4c6727731afe451b0f87d6"/><file name="updateChargeAmount.php" hash="34de26a7f6a089bdb18f67eae1f903c7"/><file name="updateGoodsQty.php" hash="e4f9ee36f56b47924ba35cda500cf13e"/><file name="updateOrderNo.php" hash="cdd594a386072f7bffbf05d2ecdcb9b7"/></dir><file name="klarnaaddr.php" hash="b090d4b0a819fdb7cc58815a8643de18"/><file name="klarnacalc.php" hash="3ab728bf3889240b881f282122fd25fd"/><file name="klarnaconfig.php" hash="a3a4011dccda60fcf3567f56254699ff"/><file name="klarnapclass.php" hash="26a8fd1df0806788f6719cb894787f76"/><dir name="pclasses"><file name="jsonstorage.class.php" hash="e59e526d9dcc17d1ca92ded188750672"/><file name="mysqlstorage.class.php" hash="896a5cd4edf461ef517e0bb2e328707b"/><file name="sqlstorage.class.php" hash="bb7ba4359e7e69424c9f0ecdafc0c9ae"/><file name="storage.intf.php" hash="26db57484b6db3d717c0150ffaa87b19"/><file name="xmlstorage.class.php" hash="4f13939bf8d73f2724f858dd17f219de"/></dir><dir name="transport"><dir name="xmlrpc-3.0.0.beta"><dir name="lib"><file name="xmlrpc.inc" hash="5a74ea2a831648febc9b2c8f809b252c"/><file name="xmlrpc_wrappers.inc" hash="5aa00141ead09fc5498d9a3c9fcab888"/><file name="xmlrpcs.inc" hash="158b97bda79333e9b40793d876b6e98f"/></dir></dir></dir></dir><dir name="KlarnaCheckout"><dir name="Checkout"><file name="BasicConnector.php" hash="42afc7257646279bbc9239e5e427a76d"/><file name="ConnectionErrorException.php" hash="352ae3f5bbb18c04f0a9d3ca1be30faf"/><file name="Connector.php" hash="767cd6181abcd144ea8b2d1738f0a617"/><file name="ConnectorException.php" hash="fe4017579c8757798e018fb0755496c0"/><file name="ConnectorInterface.php" hash="0ebfd5610fec6ddce7b7fd0f45f3d1d6"/><file name="Digest.php" hash="d7c2ea4ff1f22c8919685aad7e4e9c8b"/><file name="Exception.php" hash="31a95e8212f01d149265f75e20b31bcb"/><dir name="HTTP"><file name="CURLFactory.php" hash="591493c487797a80fd76f4f80ca598d0"/><file name="CURLHandle.php" hash="2d58ba553ffddafdcc9c80bea0c2c5ee"/><file name="CURLHandleInterface.php" hash="df5e3ddf82deb09164c75249c7235756"/><file name="CURLHeaders.php" hash="2a900efb8591defaf9230368403c975f"/><file name="CURLTransport.php" hash="c35a9910a04007372c2d6673f4657b89"/><file name="Request.php" hash="180f04ffd522b713b4261087a7e60c68"/><file name="Response.php" hash="86993580c2a11b14bab4af6328caa6de"/><file name="Transport.php" hash="4aa96d5086e105d79b0f97593fbe5d9b"/><file name="TransportInterface.php" hash="3d6aab36479741136c9dee1bbcf3914e"/></dir><file name="Order.php" hash="568242a47b838ae9abf8438a4bc7301e"/><file name="ResourceInterface.php" hash="55fc925edc0f69a89f2d79e348152a2c"/><file name="UserAgent.php" hash="34e91c37303e2125c6b5524e8d1916aa"/></dir><file name="Checkout.php" hash="6e16bb237ecfc54f086a0d533a8e69e3"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="KCO"><file name="dropdown.png" hash="a408e177ff3130bdb4bb491935700df4"/><file name="kco.css" hash="626f52c0afdb00db2625c6c4449ba79f"/><file name="klarna_simplifying.png" hash="280abffdadbbd0d372a8505c4c83a9e8"/><file name="loader.gif" hash="5e51d58f5d9bd09ab814d9ca9347d3b9"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Avenla_KlarnaCheckout.xml" hash="22b47fd5cc2c12370457a51ffff752d6"/></dir></target><target name="magelocale"><dir name="fi_FI"><file name="Avenla_KlarnaCheckout.csv" hash="4ea006b60187bbf21b3b46c4f53ad4dd"/></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.2.16</min><max>5.5.0</max></php></required></dependencies>
21
  </package>
skin/frontend/base/default/KCO/kco.css CHANGED
@@ -1,101 +1,112 @@
1
  #klarnaWrapper {position: relative;}
2
- .klarnaLink, #klarnaMsg{
3
- background-color:#FFF;
4
- text-align:center;
5
- border:1px solid #1e7ec8;
6
- display:block;
7
- padding:20px 5px;
8
- margin-bottom:0px;
9
- border-radius:3px;
10
- }
11
- .klarnaLink {margin-bottom:10px;}
12
- .klarna_link_text{margin:10px 0px 0px 0px;font-weight:bold;}
13
- #klarnaMsg h2{
14
- color:#1e7ec8;
15
- font-weight:bold;
16
- margin:0px;
17
- }
18
  .klarnaLink:hover{border:1px solid #8CCBFC;}
19
- .klarna_alert{font-weight:bold; color:red;}
20
- #klarnaOverlay{
21
- background-color:#FFF;
22
- position:absolute;
23
- height:100%;
24
- width:100%;
25
- opacity:0.5;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  }
27
- .cart .totals_row{margin: 0 0 18px;}
28
- .cart .payments ul{display:inline;margin-bottom:-5px;}
29
- .cart .payments ul li {
30
  display:block;
31
  float:left;
32
  border: 1px solid #d0cbc1;
33
  padding:10px 20px;
34
- -webkit-border-top-left-radius: 5px;
35
- -webkit-border-top-right-radius: 5px;
36
- -moz-border-radius-topleft: 5px;
37
- -moz-border-radius-topright: 5px;
38
- border-top-left-radius: 5px;
39
- border-top-right-radius: 5px;
40
- margin-left:5px;
41
  border-bottom:0px;
42
- background: #eeeeee;
43
- background: -moz-linear-gradient(top, #eeeeee 0%, #cccccc 100%);
44
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(100%,#cccccc));
45
- background: -webkit-linear-gradient(top, #eeeeee 0%,#cccccc 100%);
46
- background: -o-linear-gradient(top, #eeeeee 0%,#cccccc 100%);
47
- background: -ms-linear-gradient(top, #eeeeee 0%,#cccccc 100%);
48
- background: linear-gradient(to bottom, #eeeeee 0%,#cccccc 100%);
49
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#cccccc',GradientType=0 );
50
  }
51
- .cart .payments ul li a{
52
- display:block;
 
 
 
 
 
 
 
53
  text-decoration:none;
54
  font: bold 13px/16px Arial, Helvetica, sans-serif;
55
  color: #000;
56
  text-transform: uppercase;
57
  }
58
- .cart .payments ul li.active{
59
- position:relative;
60
- z-index:20;
61
- background: rgb(178,225,255);
62
- background: -moz-linear-gradient(top, rgba(178,225,255,1) 0%, rgba(102,182,252,1) 100%);
63
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(178,225,255,1)), color-stop(100%,rgba(102,182,252,1)));
64
- background: -webkit-linear-gradient(top, rgba(178,225,255,1) 0%,rgba(102,182,252,1) 100%);
65
- background: -o-linear-gradient(top, rgba(178,225,255,1) 0%,rgba(102,182,252,1) 100%);
66
- background: -ms-linear-gradient(top, rgba(178,225,255,1) 0%,rgba(102,182,252,1) 100%);
67
- background: linear-gradient(to bottom, rgba(178,225,255,1) 0%,rgba(102,182,252,1) 100%);
68
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b2e1ff', endColorstr='#66b6fc',GradientType=0 );
69
- margin-bottom: -1px;
70
- margin-top: 1px;
71
- }
72
- .cart .payments ul li:hover{
73
- background: rgb(222,239,255);
74
- background: -moz-linear-gradient(top, rgba(222,239,255,1) 0%, rgba(152,190,222,1) 100%);
75
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(222,239,255,1)), color-stop(100%,rgba(152,190,222,1)));
76
- background: -webkit-linear-gradient(top, rgba(222,239,255,1) 0%,rgba(152,190,222,1) 100%);
77
- background: -o-linear-gradient(top, rgba(222,239,255,1) 0%,rgba(152,190,222,1) 100%);
78
- background: -ms-linear-gradient(top, rgba(222,239,255,1) 0%,rgba(152,190,222,1) 100%);
79
- background: linear-gradient(to bottom, rgba(222,239,255,1) 0%,rgba(152,190,222,1) 100%);
80
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#deefff', endColorstr='#98bede',GradientType=0 );
81
- }
82
- .payment_container{
83
  padding:5px;
84
  overflow: hidden;
85
  clear:left;
86
- margin-top: -20px;
87
  position: relative;
88
  -webkit-border-radius: 2px;
89
  -moz-border-radius: 2px;
90
  border: 1px solid #d0cbc1;
91
  }
92
- .sp-methods{
93
- background:none !important;
94
- margin:0px !important;
95
- padding:0px !important;
 
 
 
 
 
 
 
96
  }
97
- .cart .crosssell{margin: 0 0 18px;overflow:hidden;}
98
- .cart .cart-collaterals .col2-set, .cart .totals{width:auto;float:none;}
99
- .cart .cart-collaterals .col2-set .col-2{width: 48.5%;}
100
- .cart .crosssell li.item{float:left;margin-right:10px;}
101
- .loading{ background: url('loader.gif') no-repeat 50% 50% !important; opacity:0.7;}
 
 
 
 
 
 
1
  #klarnaWrapper {position: relative;}
2
+ #klarnaOverlay{background-color:#FFF;position:absolute;height:100%;width:100%;opacity:0.5;}
3
+ #klarnaMsg h2{color:#1e7ec8;font-weight:bold;margin:0px;}
4
+ #kcoNewsLetterForm {display:block;margin: 10px 0px;}
5
+ .klarnaLink{margin-bottom:10px;}
6
+ .klarnaLink img{margin:0 auto;}
7
+ .klarnaLinkText{margin:10px 0px 0px 0px;font-weight:bold;}
 
 
 
 
 
 
 
 
 
 
8
  .klarnaLink:hover{border:1px solid #8CCBFC;}
9
+ .klarnaLink, #klarnaMsg{background-color:#FFF;text-align:center;border:1px solid #1e7ec8;display:block;padding:20px 5px;margin-bottom:0px;border-radius:3px;}
10
+ .cart .totalsRow{margin: 0 0 18px;}
11
+ .cart .crosssell{margin: 0 0 18px;overflow:hidden;float:none !important;clear:none !important;width:auto}
12
+ .cart .crosssell li.item{float:left;margin-right:10px;margin-bottom:10px;width:48%;}
13
+ .cart .crosssell li.item .product-image{display:inline-block;float:left;margin-right: 10px;}
14
+ .cart .crosssell li.item .product-details{float:left;margin-left:0px;}
15
+ .cart .crosssell li.item .product-details .add-to-links, .cart .crosssell li.item .product-details .button{display:inline-block !important;}
16
+ .crosssell .products-grid{width:100%;border:1px solid red;}
17
+ .crosssell .products-grid > li:nth-child(3n+1) {clear: none !important;}
18
+ .crosssell .products-grid .product-image{max-width: 100px;margin: 5px auto;}
19
+ .cart .cart-collaterals .col2-set, .cart .totals{width:auto;float:none;}
20
+ .cart .cart-collaterals .col2-set .col-2{width: 48.5%;}
21
+ .cart-forms, .cart-totals-wrapper {float:none !important;clear:none !important;width:100% !important;}
22
+ .cart .loading{ background: url('loader.gif') no-repeat 50% 50% !important; opacity:0.7;}
23
+ .cart .sp-methods{background:none !important;margin:0px !important;padding:0px !important;}
24
+ .cart .sp-methods dd label{min-width: 0px !important; width:100%!important;}
25
+ .cart .cart-table{width:100% !important;}
26
+ .cart-table .product-cart-total, .cart-table .product-cart-price, .a-center, .cart-table tfoot td, td.product-cart-actions{text-align: center;}
27
+ .cart-table .product-cart-image{text-align:center;}
28
+ .cart-table .product-cart-image .product-image img {max-width: 100%;width:auto !important;}
29
+ .cart-table .product-cart-image .product-image{text-align: center;display: inline-block;}
30
+ .cart-table .btn-empty {float: none !important;}
31
+ .cart-forms, .cart-totals-wrapper{padding-left:0px !important;}
32
+ .cart .form-list .input-box{width:90% !important;}
33
+ .cart .payments ul li.active, .cart .responsive-payments ul li.active{background: #0186D3 !important;position:relative;z-index:2;}
34
+ .cart .payments ul li.active img, .cart .responsive-payments ul li.active img{max-height:30px;margin:0 auto;}
35
+ .cart .payments ul li button, .cart .responsive-payments ul li button{background:none;padding:0px;color:#000;}
36
+ .cart .paymentMenuContainer{position:relative;overflow: hidden;}
37
+ .cart .full-column {margin-bottom:20px;}
38
+ .cart .payments ul li, .cart .responsive-payments ul li{
39
+ background: rgb(252,255,244);
40
+ background: -moz-linear-gradient(top, rgba(252,255,244,1) 0%, rgba(233,233,206,1) 100%);
41
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(252,255,244,1)), color-stop(100%,rgba(233,233,206,1)));
42
+ background: -webkit-linear-gradient(top, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%);
43
+ background: -o-linear-gradient(top, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%);
44
+ background: -ms-linear-gradient(top, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%);
45
+ background: linear-gradient(to bottom, rgba(252,255,244,1) 0%,rgba(233,233,206,1) 100%);
46
+ -webkit-box-sizing: border-box;
47
+ -moz-box-sizing: border-box;
48
+ box-sizing: border-box;
49
+ height:50px;
50
  }
51
+ .cart .payments ul li{
 
 
52
  display:block;
53
  float:left;
54
  border: 1px solid #d0cbc1;
55
  padding:10px 20px;
56
+ -webkit-border-top-left-radius: 3px;
57
+ -webkit-border-top-right-radius: 3px;
58
+ -moz-border-radius-topleft: 3px;
59
+ -moz-border-radius-topright: 3px;
60
+ border-top-left-radius: 3px;
61
+ border-top-right-radius: 3px;
 
62
  border-bottom:0px;
 
 
 
 
 
 
 
 
63
  }
64
+ .cart .responsive-payments ul li{
65
+ padding:8px 0px !important;
66
+ float:none !important;
67
+ text-align:center;
68
+ border-bottom:1px solid #ddd;
69
+ display:none;
70
+ transition:0.4s;
71
+ }
72
+ .cart .payments ul li a, .cart .responsive-payments ul li a{
73
  text-decoration:none;
74
  font: bold 13px/16px Arial, Helvetica, sans-serif;
75
  color: #000;
76
  text-transform: uppercase;
77
  }
78
+ .responsive-payments .paymentnavi-toggle:hover{cursor:pointer;}
79
+ .responsive-payments ul li:hover, .payments ul li:hover {box-shadow:inset 0px 0px 5px 5px rgba(0,0,0,0.025);}
80
+ .responsive-payments ul li.active{display:block !important;}
81
+ .cart .paymentContainer{
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
  padding:5px;
83
  overflow: hidden;
84
  clear:left;
 
85
  position: relative;
86
  -webkit-border-radius: 2px;
87
  -moz-border-radius: 2px;
88
  border: 1px solid #d0cbc1;
89
  }
90
+ .responsive-payments ul{overflow:hidden;border:1px solid #ddd;border-radius:3px 0px 0px 3px;margin-bottom:10px !important;}
91
+ .responsive-payments .paymentnavi-toggle{
92
+ display:block;
93
+ position:absolute;
94
+ right:0;
95
+ top:1px;
96
+ height:49px;
97
+ width:49px;
98
+ background:url('dropdown.png') no-repeat;
99
+ background-size: cover;
100
+ z-index:20;
101
  }
102
+ .twocolumncart .col2-set .col-narrow { width:49%; }
103
+ .twocolumncart .col2-set .col-wide { width:49%; }
104
+ .twocolumncart .crosssell{overflow: hidden;margin-top:10px;}
105
+ .twocolumncart .shipping .shipping-form .form-list > li input, .twocolumncart .shipping .shipping-form .form-list > li select {width: 100%;}
106
+ .twocolumncart .col2-set .full-column{float:none;width: auto;border: 0;padding-right: 0;padding-left: 0;}
107
+ .twocolumncart .col2-set .col-2{padding:20px 0px;}
108
+ @media only screen and (max-width: 800px){
109
+ .twocolumncart .col2-set .col-1, .twocolumncart .col2-set .col-2{float: none;width: auto;border: 0;padding-right: 0;padding-left: 0;}
110
+ .twocolumncart .cart-collaterals .col2-set .col-1, .twocolumncart .cart-collaterals .col2-set .col-2, .cart .cart-collaterals .col2-set .col-2 {width: 100%;}
111
+ .cart-table button.button{margin-bottom:5px;}
112
+ }
skin/frontend/base/default/KCO/klarna_simplifying.png ADDED
Binary file