LetsSyncroLLC_Oct8ne - Version 1.2.0

Version Notes

Notes

Download this release

Release Info

Developer Oct8ne
Extension LetsSyncroLLC_Oct8ne
Version 1.2.0
Comparing to
See all releases


Code changes from version 1.1.5 to 1.2.0

Files changed (82) hide show
  1. app/code/community/LetsSyncroLLC/Oct8ne/Block/Accountconfig.php +16 -2
  2. app/code/community/LetsSyncroLLC/Oct8ne/Block/Customer/Notifier.php +5 -5
  3. app/code/community/LetsSyncroLLC/Oct8ne/Block/Html/Head.php +32 -32
  4. app/code/community/LetsSyncroLLC/Oct8ne/Block/Mage/Product/View.php +12 -0
  5. app/code/community/LetsSyncroLLC/Oct8ne/Helper/Customer/Data.php +80 -80
  6. app/code/community/LetsSyncroLLC/Oct8ne/Helper/Data.php +176 -125
  7. app/code/community/LetsSyncroLLC/Oct8ne/Helper/Search.php +74 -74
  8. app/code/community/LetsSyncroLLC/Oct8ne/Helper/Url.php +32 -26
  9. app/code/community/LetsSyncroLLC/Oct8ne/Model/Cron.php +5 -5
  10. app/code/community/LetsSyncroLLC/Oct8ne/Model/Mage/Onepage.php +21 -21
  11. app/code/community/LetsSyncroLLC/Oct8ne/Model/Mage/Package.php +83 -0
  12. app/code/community/LetsSyncroLLC/Oct8ne/Model/Mage/Request.php +38 -0
  13. app/code/community/LetsSyncroLLC/Oct8ne/Model/Mage/Rewrite.php +19 -0
  14. app/code/community/LetsSyncroLLC/Oct8ne/Model/Mage/Url.php +21 -21
  15. app/code/community/LetsSyncroLLC/Oct8ne/Model/Mysql4/Orderproducts.php +8 -8
  16. app/code/community/LetsSyncroLLC/Oct8ne/Model/Mysql4/Orderproducts/Collection.php +9 -9
  17. app/code/community/LetsSyncroLLC/Oct8ne/Model/Mysql4/Quoteproducts.php +8 -0
  18. app/code/community/LetsSyncroLLC/Oct8ne/Model/Mysql4/Quoteproducts/Collection.php +9 -0
  19. app/code/community/LetsSyncroLLC/Oct8ne/Model/Observer.php +107 -4
  20. app/code/community/LetsSyncroLLC/Oct8ne/Model/Orderproducts.php +8 -8
  21. app/code/community/LetsSyncroLLC/Oct8ne/Model/Quoteproducts.php +9 -0
  22. app/code/community/LetsSyncroLLC/Oct8ne/controllers/AccountController.php +9 -0
  23. app/code/community/LetsSyncroLLC/Oct8ne/controllers/FrameController.php +395 -243
  24. app/code/community/LetsSyncroLLC/Oct8ne/controllers/letssyncro.phtml +2 -0
  25. app/code/community/LetsSyncroLLC/Oct8ne/etc/config.xml +117 -64
  26. app/code/community/LetsSyncroLLC/Oct8ne/etc/config.xml.bak +263 -0
  27. app/code/community/LetsSyncroLLC/Oct8ne/sql/oct8ne_setup/mysql4-upgrade-1.0.0-1.1.0.php +19 -19
  28. app/code/community/LetsSyncroLLC/Oct8ne/sql/oct8ne_setup/mysql4-upgrade-1.1.6-1.1.7.php +37 -0
  29. app/design/frontend/base/default/layout/oct8ne.xml +21 -31
  30. app/design/frontend/base/default/template/oct8ne/frame/addtowishlist.phtml +9 -9
  31. app/design/frontend/base/default/template/oct8ne/frame/clean-page.phtml +19 -19
  32. app/design/frontend/base/default/template/oct8ne/frame/customer/data.phtml +75 -71
  33. app/design/frontend/base/default/template/oct8ne/frame/customer/getversion.phtml +9 -0
  34. app/design/frontend/base/default/template/oct8ne/frame/customer/notifier.phtml +5 -5
  35. app/design/frontend/base/default/template/oct8ne/frame/getcart.phtml +3 -1
  36. app/design/frontend/base/default/template/oct8ne/frame/getreportdata.phtml +1 -0
  37. app/design/frontend/base/default/template/oct8ne/frame/getversion.phtml +5 -0
  38. app/design/frontend/base/default/template/oct8ne/frame/getwishlist.phtml +3 -1
  39. app/design/frontend/base/default/template/oct8ne/frame/json-page.phtml +1 -1
  40. app/design/frontend/base/default/template/oct8ne/frame/loginpost.phtml +8 -8
  41. app/design/frontend/base/default/template/oct8ne/frame/naked-page.phtml +18 -18
  42. app/design/frontend/base/default/template/oct8ne/frame/productinfo.phtml +15 -16
  43. app/design/frontend/base/default/template/oct8ne/frame/productrelated.phtml +5 -6
  44. app/design/frontend/base/default/template/oct8ne/frame/productview-FROM-SCRATCH.phtml +121 -121
  45. app/design/frontend/base/default/template/oct8ne/frame/productview.phtml +163 -163
  46. app/design/frontend/base/default/template/oct8ne/frame/productview/additional.phtml +29 -29
  47. app/design/frontend/base/default/template/oct8ne/frame/productview/addto.phtml +27 -27
  48. app/design/frontend/base/default/template/oct8ne/frame/productview/addtocart.phtml +38 -38
  49. app/design/frontend/base/default/template/oct8ne/frame/productview/attributes.phtml +52 -52
  50. app/design/frontend/base/default/template/oct8ne/frame/productview/description.phtml +39 -39
  51. app/design/frontend/base/default/template/oct8ne/frame/productview/media.phtml +63 -63
  52. app/design/frontend/base/default/template/oct8ne/frame/productview/media.phtml.ORIGINAL +78 -78
  53. app/design/frontend/base/default/template/oct8ne/frame/productview/options.phtml +193 -193
  54. app/design/frontend/base/default/template/oct8ne/frame/productview/options/js.phtml +89 -89
  55. app/design/frontend/base/default/template/oct8ne/frame/productview/options/type/date.phtml +92 -92
  56. app/design/frontend/base/default/template/oct8ne/frame/productview/options/type/default.phtml +30 -30
  57. app/design/frontend/base/default/template/oct8ne/frame/productview/options/type/file.phtml +103 -103
  58. app/design/frontend/base/default/template/oct8ne/frame/productview/options/type/select.phtml +40 -40
  59. app/design/frontend/base/default/template/oct8ne/frame/productview/options/type/text.phtml +41 -41
  60. app/design/frontend/base/default/template/oct8ne/frame/productview/options/wrapper.phtml +33 -33
  61. app/design/frontend/base/default/template/oct8ne/frame/productview/options/wrapper/bottom.phtml +29 -29
  62. app/design/frontend/base/default/template/oct8ne/frame/productview/price.phtml +34 -34
  63. app/design/frontend/base/default/template/oct8ne/frame/productview/price_clone.phtml +28 -28
  64. app/design/frontend/base/default/template/oct8ne/frame/productview/tierprices.phtml +232 -232
  65. app/design/frontend/base/default/template/oct8ne/frame/productview/type/configurable.phtml +31 -31
  66. app/design/frontend/base/default/template/oct8ne/frame/productview/type/default.phtml +36 -36
  67. app/design/frontend/base/default/template/oct8ne/frame/productview/type/grouped.phtml +91 -91
  68. app/design/frontend/base/default/template/oct8ne/frame/productview/type/options/configurable.phtml +48 -48
  69. app/design/frontend/base/default/template/oct8ne/frame/productview/type/simple.phtml +31 -31
  70. app/design/frontend/base/default/template/oct8ne/frame/productview/type/virtual.phtml +31 -31
  71. app/design/frontend/base/default/template/oct8ne/frame/removefromwishlist.phtml +9 -9
  72. app/design/frontend/base/default/template/oct8ne/frame/search.phtml +3 -1
  73. app/design/frontend/base/default/template/oct8ne/letssyncro.phtml +7 -2
  74. app/design/frontend/default/oct8ne/layout/oct8ne.xml +246 -0
  75. app/design/frontend/default/oct8ne/template/page/1column.phtml +46 -46
  76. app/design/frontend/default/oct8ne/template/page/2columns-left.phtml +46 -46
  77. app/design/frontend/default/oct8ne/template/page/2columns-right.phtml +46 -46
  78. app/design/frontend/default/oct8ne/template/page/3columns.phtml +46 -46
  79. app/etc/modules/LetsSyncroLLC_Oct8ne.xml +1 -1
  80. app/locale/es_ES/LetsSyncroLLC_Oct8ne.csv +38 -38
  81. package.xml +232 -193
  82. skin/frontend/base/default/oct8ne.css +28 -0
app/code/community/LetsSyncroLLC/Oct8ne/Block/Accountconfig.php CHANGED
@@ -223,6 +223,12 @@ class LetsSyncroLLC_Oct8ne_Block_Accountconfig extends Mage_Core_Block_Template
223
 
224
  if($letssyncro_enabled == '1' && ($letssyncro_licenseid == '' || strlen($letssyncro_licenseid) != 32))
225
  return false;
 
 
 
 
 
 
226
 
227
  return $letssyncromodel->setEnabled($letssyncro_enabled);
228
  }
@@ -317,7 +323,7 @@ class LetsSyncroLLC_Oct8ne_Block_Accountconfig extends Mage_Core_Block_Template
317
  return $response;
318
  }
319
 
320
- public function createXML_Logon($letssyncro_useremail, $letssyncro_password)
321
  {
322
  $DOM = new DOMDocument('1.0','UTF-8');
323
  $XML = $DOM->createElement('User');
@@ -333,6 +339,9 @@ class LetsSyncroLLC_Oct8ne_Block_Accountconfig extends Mage_Core_Block_Template
333
  // $currency = $DOM->createElement('CheckoutUrl', Mage::helper('checkout/url')->getCheckoutUrl());
334
  $platform = $DOM->createElement('Platform', 'MAGENTO');
335
  $domain = $DOM->createElement('UrlDomain', str_replace("index.php/", "", Mage::getBaseUrl()));
 
 
 
336
 
337
  $XML->appendChild($baseurl);
338
  $XML->appendChild($checkouturl);
@@ -341,8 +350,13 @@ class LetsSyncroLLC_Oct8ne_Block_Accountconfig extends Mage_Core_Block_Template
341
  $XML->appendChild($loginurl);
342
  $XML->appendChild($Pass);
343
  $XML->appendChild($platform);
344
- $XML->appendChild($domain);
 
 
345
 
 
 
 
346
  return $DOM->saveXML($DOM->documentElement);
347
  }
348
 
223
 
224
  if($letssyncro_enabled == '1' && ($letssyncro_licenseid == '' || strlen($letssyncro_licenseid) != 32))
225
  return false;
226
+
227
+ $letssyncro_useremail = $letssyncrooptions['email'];
228
+ $letssyncro_password = $letssyncrooptions['password'];
229
+
230
+ $xmlData = $this->createXML_Logon($letssyncro_useremail, $letssyncro_password, $letssyncro_enabled ? 1: 0);
231
+ $this->sendRequest($xmlData, 'logon', $letssyncrooptions['urlapi']);
232
 
233
  return $letssyncromodel->setEnabled($letssyncro_enabled);
234
  }
323
  return $response;
324
  }
325
 
326
+ public function createXML_Logon($letssyncro_useremail, $letssyncro_password, $status_platform = null)
327
  {
328
  $DOM = new DOMDocument('1.0','UTF-8');
329
  $XML = $DOM->createElement('User');
339
  // $currency = $DOM->createElement('CheckoutUrl', Mage::helper('checkout/url')->getCheckoutUrl());
340
  $platform = $DOM->createElement('Platform', 'MAGENTO');
341
  $domain = $DOM->createElement('UrlDomain', str_replace("index.php/", "", Mage::getBaseUrl()));
342
+
343
+ if(!is_null($status_platform))
344
+ $StatusPlatform = $DOM->createElement('StatusPlatform', $status_platform);
345
 
346
  $XML->appendChild($baseurl);
347
  $XML->appendChild($checkouturl);
350
  $XML->appendChild($loginurl);
351
  $XML->appendChild($Pass);
352
  $XML->appendChild($platform);
353
+
354
+ if(!is_null($status_platform))
355
+ $XML->appendChild($StatusPlatform);
356
 
357
+
358
+ $XML->appendChild($domain);
359
+
360
  return $DOM->saveXML($DOM->documentElement);
361
  }
362
 
app/code/community/LetsSyncroLLC/Oct8ne/Block/Customer/Notifier.php CHANGED
@@ -1,5 +1,5 @@
1
- <?php
2
- class LetsSyncroLLC_Oct8ne_Block_Customer_Notifier extends Mage_Core_Block_Template
3
- {
4
-
5
- }
1
+ <?php
2
+ class LetsSyncroLLC_Oct8ne_Block_Customer_Notifier extends Mage_Core_Block_Template
3
+ {
4
+
5
+ }
app/code/community/LetsSyncroLLC/Oct8ne/Block/Html/Head.php CHANGED
@@ -1,33 +1,33 @@
1
- <?php
2
- /*
3
- Añadimos la posibilidad de meter javascript inline
4
- */
5
- class LetsSyncroLLC_Oct8ne_Block_Html_Head extends Mage_Page_Block_Html_Head
6
- {
7
- /**
8
- * Classify HTML head item and queue it into "lines" array
9
- *
10
- * @see self::getCssJsHtml()
11
- * @param array &$lines
12
- * @param string $itemIf
13
- * @param string $itemType
14
- * @param string $itemParams
15
- * @param string $itemName
16
- * @param array $itemThe
17
- */
18
- protected function _separateOtherHtmlHeadElements(&$lines, $itemIf, $itemType, $itemParams, $itemName, $itemThe)
19
- {
20
- $tmp = count($lines[$itemIf]['other']);
21
- parent::_separateOtherHtmlHeadElements($lines, $itemIf, $itemType, $itemParams, $itemName, $itemThe);
22
-
23
- if($tmp == count($lines[$itemIf]['other'])) {
24
- $params = $itemParams ? ' ' . $itemParams : '';
25
- $href = $itemName;
26
- switch ($itemType) {
27
- case 'script':
28
- $lines[$itemIf]['other'][] = sprintf('<script type="text/javascript">%s</script>', $params);
29
- break;
30
- }
31
- }
32
- }
33
  }
1
+ <?php
2
+ /*
3
+ Añadimos la posibilidad de meter javascript inline
4
+ */
5
+ class LetsSyncroLLC_Oct8ne_Block_Html_Head extends Mage_Page_Block_Html_Head
6
+ {
7
+ /**
8
+ * Classify HTML head item and queue it into "lines" array
9
+ *
10
+ * @see self::getCssJsHtml()
11
+ * @param array &$lines
12
+ * @param string $itemIf
13
+ * @param string $itemType
14
+ * @param string $itemParams
15
+ * @param string $itemName
16
+ * @param array $itemThe
17
+ */
18
+ protected function _separateOtherHtmlHeadElements(&$lines, $itemIf, $itemType, $itemParams, $itemName, $itemThe)
19
+ {
20
+ $tmp = count($lines[$itemIf]['other']);
21
+ parent::_separateOtherHtmlHeadElements($lines, $itemIf, $itemType, $itemParams, $itemName, $itemThe);
22
+
23
+ if($tmp == count($lines[$itemIf]['other'])) {
24
+ $params = $itemParams ? ' ' . $itemParams : '';
25
+ $href = $itemName;
26
+ switch ($itemType) {
27
+ case 'script':
28
+ $lines[$itemIf]['other'][] = sprintf('<script type="text/javascript">%s</script>', $params);
29
+ break;
30
+ }
31
+ }
32
+ }
33
  }
app/code/community/LetsSyncroLLC/Oct8ne/Block/Mage/Product/View.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class LetsSyncroLLC_Oct8ne_Block_Mage_Product_View extends Mage_Catalog_Block_Product_View
3
+ {
4
+ public function getAddToCartUrl($product, $additional = array())
5
+ {
6
+ if(Mage::registry('oct8ne') === 1)
7
+ {
8
+ return Mage::helper('oct8ne/url')->getAdd2CartUrl( $product );
9
+ }
10
+ return parent::getAddToCartUrl($product, $additional);
11
+ }
12
+ }
app/code/community/LetsSyncroLLC/Oct8ne/Helper/Customer/Data.php CHANGED
@@ -1,80 +1,80 @@
1
- <?php
2
-
3
- class LetsSyncroLLC_Oct8ne_Helper_Customer_Data extends Mage_Core_Helper_Abstract {
4
-
5
- static public function getCurrency() {
6
- $raw = Mage::app()->getLocale()->currency( Mage::app()->getStore()->getCurrentCurrencyCode() )->toCurrency();
7
- return mb_substr( $raw, 0, 1, mb_detect_encoding($raw) );
8
- }
9
-
10
- public function gatherLoginData() {
11
- if ( !Mage::getSingleton('customer/session')->isLoggedIn() )
12
- return null;
13
- else {
14
- $customer = Mage::getSingleton('customer/session')->getCustomer();
15
-
16
- return
17
- array(
18
- 'id' => $customer->getId(),
19
- 'first_name' => $customer->getFirstname(),
20
- 'last_name' => $customer->getLastname(),
21
- 'email' => $customer->getEmail()
22
- );
23
- }
24
- }
25
-
26
- public function gatherCartData() {
27
- $currency = self::getCurrency();
28
- $quote = Mage::getSingleton('checkout/session')->getQuote();
29
- $items = $quote->getAllVisibleItems();
30
- $v = array();
31
- foreach( $items as $item ) {
32
- $product = $item->getProduct();
33
- /*
34
- $vi = $item->getData();
35
- if ( is_numeric( @$vi['special_price'] ) )
36
- $vi['price'] = $vi['special_price'];
37
- // $vi['price'] = sprintf( "%.02f$currency", $vi['price'] );
38
- $vi['price'] = number_format($vi['price'], '2', '.', ',');
39
- //$vi['currency'] = Mage::app()->getStore()->getCurrentCurrencyCode();
40
- $vi['img_url'] = Mage::helper('catalog/image')->init( $item->getProduct(), 'thumbnail' );
41
- */
42
- $v[] = Mage::helper('oct8ne')->getProductInfo($product->getId(), $item->getQty());
43
- }
44
-
45
- return $v;
46
- /*
47
- $cart = Mage::getSingleton('checkout/cart');
48
- foreach($cart->getItems() as $item)
49
- {
50
- $vi = $item->getData();
51
- if ( is_numeric( @$vi['special_price'] ) )
52
- $vi['price'] = $vi['special_price'];
53
- $vi['price'] = $vi['price']; // sprintf( "%.02f$currency", $vi['price'] );
54
- $vi['img_url'] = Mage::helper('catalog/image')->init( $item->getProduct(), 'thumbnail' );
55
- $v[] = $vi;
56
- }
57
- return $v;
58
- */
59
- }
60
-
61
- public function gatherWishlistData() {
62
- $currency = self::getCurrency();
63
- $collection = Mage::helper('wishlist')->getWishlistItemCollection();
64
- $v = array();
65
- foreach( $collection as $item ) {
66
- /*
67
- $vi = $item->getData();
68
- $vi['price'] = number_format($vi['price'], '2', '.', ','); // sprintf( "%.02f".$currency, $vi['price'] );
69
- // $vi['price'] = Mage::getModel('directory/currency')->format( $vi['price'] );
70
- $vi['img_url'] = Mage::helper('catalog/image')->init( $item->getProduct(), 'thumbnail' );
71
- $v[] = $vi;
72
- */
73
- $product = $item->getProduct();
74
- $v[] = Mage::helper('oct8ne')->getProductInfo($product->getId());
75
- }
76
-
77
- return $v;
78
- }
79
-
80
- };
1
+ <?php
2
+
3
+ class LetsSyncroLLC_Oct8ne_Helper_Customer_Data extends Mage_Core_Helper_Abstract {
4
+
5
+ static public function getCurrency() {
6
+ $raw = Mage::app()->getLocale()->currency( Mage::app()->getStore()->getCurrentCurrencyCode() )->toCurrency();
7
+ return mb_substr( $raw, 0, 1, mb_detect_encoding($raw) );
8
+ }
9
+
10
+ public function gatherLoginData() {
11
+ if ( !Mage::getSingleton('customer/session')->isLoggedIn() )
12
+ return null;
13
+ else {
14
+ $customer = Mage::getSingleton('customer/session')->getCustomer();
15
+
16
+ return
17
+ array(
18
+ 'id' => $customer->getId(),
19
+ 'first_name' => $customer->getFirstname(),
20
+ 'last_name' => $customer->getLastname(),
21
+ 'email' => $customer->getEmail()
22
+ );
23
+ }
24
+ }
25
+
26
+ public function gatherCartData() {
27
+ $currency = self::getCurrency();
28
+ $quote = Mage::getSingleton('checkout/session')->getQuote();
29
+ $items = $quote->getAllVisibleItems();
30
+ $v = array();
31
+ foreach( $items as $item ) {
32
+ $product = $item->getProduct();
33
+ /*
34
+ $vi = $item->getData();
35
+ if ( is_numeric( @$vi['special_price'] ) )
36
+ $vi['price'] = $vi['special_price'];
37
+ // $vi['price'] = sprintf( "%.02f$currency", $vi['price'] );
38
+ $vi['price'] = number_format($vi['price'], '2', '.', ',');
39
+ //$vi['currency'] = Mage::app()->getStore()->getCurrentCurrencyCode();
40
+ $vi['img_url'] = Mage::helper('catalog/image')->init( $item->getProduct(), 'thumbnail' );
41
+ */
42
+ $v[] = Mage::helper('oct8ne')->getProductInfo($product->getId(), $item->getQty());
43
+ }
44
+
45
+ return $v;
46
+ /*
47
+ $cart = Mage::getSingleton('checkout/cart');
48
+ foreach($cart->getItems() as $item)
49
+ {
50
+ $vi = $item->getData();
51
+ if ( is_numeric( @$vi['special_price'] ) )
52
+ $vi['price'] = $vi['special_price'];
53
+ $vi['price'] = $vi['price']; // sprintf( "%.02f$currency", $vi['price'] );
54
+ $vi['img_url'] = Mage::helper('catalog/image')->init( $item->getProduct(), 'thumbnail' );
55
+ $v[] = $vi;
56
+ }
57
+ return $v;
58
+ */
59
+ }
60
+
61
+ public function gatherWishlistData() {
62
+ $currency = self::getCurrency();
63
+ $collection = Mage::helper('wishlist')->getWishlistItemCollection();
64
+ $v = array();
65
+ foreach( $collection as $item ) {
66
+ /*
67
+ $vi = $item->getData();
68
+ $vi['price'] = number_format($vi['price'], '2', '.', ','); // sprintf( "%.02f".$currency, $vi['price'] );
69
+ // $vi['price'] = Mage::getModel('directory/currency')->format( $vi['price'] );
70
+ $vi['img_url'] = Mage::helper('catalog/image')->init( $item->getProduct(), 'thumbnail' );
71
+ $v[] = $vi;
72
+ */
73
+ $product = $item->getProduct();
74
+ $v[] = Mage::helper('oct8ne')->getProductInfo($product->getId());
75
+ }
76
+
77
+ return $v;
78
+ }
79
+
80
+ };
app/code/community/LetsSyncroLLC/Oct8ne/Helper/Data.php CHANGED
@@ -1,125 +1,176 @@
1
- <?php
2
- class LetsSyncroLLC_Oct8ne_Helper_Data extends Mage_Core_Helper_Abstract {
3
-
4
- static public function getProductFullUrl( $product ) {
5
- $categories = $product->getCategoryIds();
6
- $category = Mage::getModel('catalog/category')->load( $categories[0] );
7
- //$url = Mage::getUrl( $category->getUrlPath() ).basename( $product->getProductUrl() );
8
- $url = Mage::getUrl( basename( $product->getProductUrl() ) );
9
- return $url;
10
- }
11
-
12
- static public function getProductImagesUrl( $product ) {
13
- $v = array();
14
- $gallery_data = $product->getData( 'media_gallery' );
15
- foreach( $gallery_data['images'] as $image )
16
- $v[] = array(
17
- 'url' => Mage::getBaseUrl('media').'catalog/product'.$image['file']
18
- );
19
-
20
- return $v;
21
- }
22
-
23
- static protected $_productThumbnail = array();
24
- static public function getProductThumbnail($product, $width = null)
25
- {
26
- $id = $product->getId();
27
- if (array_key_exists($id, self::$_productThumbnail)) {
28
- return self::$_productThumbnail[$id];
29
- }
30
- $thumb = Mage::helper('catalog/image')->init($product, 'thumbnail');
31
-
32
- if(!is_null($width))
33
- $thumb->resize($width);
34
-
35
- $file = (string)$thumb;
36
-
37
- self::$_productThumbnail[$id] = $file;
38
-
39
- return $file;
40
- }
41
-
42
- static public function getProductInfo($product_id, $qty = null)
43
- {
44
- $product = Mage::getModel('catalog/product')->load( $product_id );
45
- // $description = str_replace( array("\r\n", "\n", "\r"), "\\n", htmlentities ($product->getDescription()) );
46
- $description = htmlspecialchars($product->getDescription(), ENT_QUOTES, "UTF-8");
47
- $description = trim($description, "\r\n\t ");
48
- $description = str_replace("\r", "", $description);
49
- $description = str_replace("\t", "", $description);
50
- $description = str_replace("\n", "<br/>", $description);
51
- $tmp = is_null($qty) ? array() : array('qty' => $qty);
52
- return array_merge($tmp, array(
53
- 'id' => $product->getId(),
54
- 'title' => htmlspecialchars($product->getName(), ENT_QUOTES, "UTF-8"), // htmlentities( $product->getName() ),
55
- // 'price' => sprintf( "%.02f$currency", is_numeric($product->getSpecialPrice()) ? $product->getSpecialPrice() : $product->getPrice() ),
56
- //'price' => Mage::helper('core')->currency(number_format($product->getFinalPrice(), '2', '.', ',')),
57
- 'original_price' => number_format(
58
- Mage::helper('core')->currency( $product->getPrice(), false, false ),
59
- '2', '.', ','
60
- ),
61
- 'price' => number_format( Mage::helper('core')->currency($product->getFinalPrice(), false, false), '2', '.', ',' ),
62
- 'description' => $description,
63
- 'url' => Mage::helper('oct8ne')->getProductFullUrl( $product ),
64
- 'imgs' => Mage::helper('oct8ne')->getProductImagesUrl( $product ),
65
- 'thumbnail' => Mage::helper('oct8ne')->getProductThumbnail( $product, 120 ),
66
- 'rating' => self::getProductRating($product_id)
67
- ));
68
- }
69
-
70
- static public function getProductRating($productId)
71
- {
72
- // Obtener la colección de reviews
73
- $reviews = Mage::getModel('review/review')
74
- ->getResourceCollection()
75
- ->addStoreFilter(Mage::app()->getStore()->getId())
76
- ->addEntityFilter('product', $productId)
77
- ->addStatusFilter(Mage_Review_Model_Review::STATUS_APPROVED)
78
- ->setDateOrder()
79
- ->addRateVotes();
80
- // Calcular la media de ratings/reviews
81
- $avg = 0;
82
- $ratings = array();
83
- if (count($reviews) > 0) {
84
- foreach ($reviews->getItems() as $review) {
85
- foreach( $review->getRatingVotes() as $vote ) {
86
- $ratings[] = $vote->getPercent();
87
- }
88
- }
89
- $avg = array_sum($ratings)/count($ratings);
90
- }
91
- else
92
- {
93
- return 'no-rating';
94
- }
95
- return $avg;
96
- }
97
-
98
- static public function getRelatedProducts($productId)
99
- {
100
- // obtener categorias del producto $productId
101
- $product = Mage::getModel('catalog/product')->load($productId);
102
- $cats = $product->getCategoryIds();
103
-
104
- // buscar todos los productos de las categorias obtenidas
105
- $productsInfo = array();
106
- $productIds = array();
107
- foreach ($cats as $category_id) {
108
- $cat = Mage::getModel('catalog/category')->load($category_id) ;
109
- //get all products in this category
110
- foreach ($cat->getProductCollection() as $product){
111
- if(!in_array($product->getId(), $productIds)){
112
- $productIds[$product->getId()] = $product->getId();
113
- $productsInfo[] = self::getProductInfo($product->getId());
114
- }
115
- }
116
- }
117
-
118
- // retornar array de getProductInfo();
119
- return $productsInfo;
120
- }
121
-
122
- public function getExtensionVersion() {
123
- return (string) Mage::getConfig()->getNode()->modules->LetsSyncroLLC_Oct8ne->version;
124
- }
125
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class LetsSyncroLLC_Oct8ne_Helper_Data extends Mage_Core_Helper_Abstract {
3
+
4
+ static public function getProductFullUrl($product) {
5
+ $categories = $product -> getCategoryIds();
6
+ $category = Mage::getModel('catalog/category') -> load($categories[0]);
7
+ //$url = Mage::getUrl( $category->getUrlPath() ).basename( $product->getProductUrl() );
8
+ $url = Mage::getUrl(basename($product -> getProductUrl()));
9
+ return $url;
10
+ }
11
+
12
+ static public function getProductImagesUrl($product) {
13
+ $v = array();
14
+ $gallery_data = $product -> getData('media_gallery');
15
+
16
+ // $url = parse_url(self::_remove_http(Mage::getUrl('oct8ne/frame/image'));
17
+ // $url['query']['file'] = 'catalog/product'.$image['file'];
18
+ $url = Mage::getUrl('oct8ne/frame/image');
19
+ $join = (strstr($url, "?") === FALSE) ? '?' : '&';
20
+
21
+ $gallery_info = $gallery_data['images'];
22
+ if (array_key_exists('configurable_images', $gallery_data))
23
+ $gallery_info = $gallery_data['configurable_images'];
24
+
25
+ foreach ($gallery_info as $j => $image) {
26
+ $file = $image['file'];
27
+ if (strpos($file, '/') !== 0)
28
+ $file = "/$file";
29
+
30
+ $v[] = array(
31
+ // 'url' => Mage::getBaseUrl('media').'catalog/product'.$image['file']
32
+ // 'url' => Mage::getUrl('oct8ne/frame/image', array('file' => 'catalog/product'.$image['file']))
33
+ 'Id' => $j, 'FileName' => self::_remove_http($url) . $join . 'file=catalog/product' . $file);
34
+ }
35
+
36
+ return $v;
37
+ }
38
+
39
+ static protected $_productThumbnail = array();
40
+ static public function getProductThumbnail($product, $width = null) {
41
+ $id = $product -> getId();
42
+ if (array_key_exists($id, self::$_productThumbnail)) {
43
+ return self::$_productThumbnail[$id];
44
+ }
45
+ $thumb = Mage::helper('catalog/image') -> init($product, 'image');
46
+
47
+ if (!is_null($width))
48
+ $thumb -> resize($width);
49
+
50
+ $file = (string)$thumb;
51
+
52
+ self::$_productThumbnail[$id] = $file;
53
+
54
+ return $file;
55
+ }
56
+
57
+ static public function getProductInfo($product_id, $qty = null) {
58
+ $product = Mage::getModel('catalog/product') -> load($product_id);
59
+ // $description = str_replace( array("\r\n", "\n", "\r"), "\\n", htmlentities ($product->getDescription()) );
60
+ $description = htmlspecialchars($product -> getDescription(), ENT_QUOTES, "UTF-8");
61
+ $description = trim($description, "\r\n\t ");
62
+ $description = str_replace("\r", "", $description);
63
+ $description = str_replace("\t", "", $description);
64
+ $description = str_replace("\n", "&lt;br\/&gt;", $description);
65
+ $tmp = is_null($qty) ? array() : array('Qty' => $qty);
66
+ return array_merge($tmp, array('InternalId' => $product -> getId(), 'Title' => htmlspecialchars($product -> getName(), ENT_QUOTES, "UTF-8"), // htmlentities( $product->getName() ),
67
+ // 'price' => sprintf( "%.02f$currency", is_numeric($product->getSpecialPrice()) ? $product->getSpecialPrice() : $product->getPrice() ),
68
+ // 'price' => Mage::helper('core')->currency(number_format($product->getFinalPrice(), '2', '.', ',')),
69
+ 'PrevPrice' => number_format(Mage::helper('core') -> currency($product -> getPrice(), false, false), '2', '.', ','), 'Price' => number_format(Mage::helper('core') -> currency($product -> getFinalPrice(), false, false), '2', '.', ','),
70
+ 'Description' => trim($description),
71
+ 'Stock' => intval($product->getStockItem()->getQty()),
72
+ 'Rating' => self::getProductRating($product_id), 'RouteTo' => self::_remove_http(Mage::helper('oct8ne') -> getProductFullUrl($product)), 'BuyURL' => self::getProductBuyUrl($product_id), 'Medias' => Mage::helper('oct8ne') -> getProductImagesUrl($product), 'Thumbnail' => self::_remove_http(Mage::helper('oct8ne') -> getProductThumbnail($product, 120)), 'HasOptions' => self::getProductOptions($product_id), 'Visibility' => $product -> getVisibility()));
73
+ }
74
+
75
+ static public function getProductOptions($productId) {
76
+ $has_options = "false";
77
+ $product_load = Mage::getModel('catalog/product') -> load($productId);
78
+
79
+ /** Options **/
80
+ $product_options = $product_load -> getTypeInstance(true) -> hasOptions($product_load);
81
+ $has_options = ($product_options ? "true" : $has_options);
82
+
83
+ /** Grouped Product **/
84
+ $product_grouped = $product_load -> getTypeId();
85
+ $has_options = ($product_grouped == "grouped" ? "true" : $has_options);
86
+
87
+ return $has_options;
88
+ }
89
+
90
+ static public function getProductBuyUrl($productId) {
91
+ $product = Mage::getModel('catalog/product') -> load($productId);
92
+ $full_url = Mage::helper('checkout/cart') -> getAddUrl($product);
93
+
94
+ $buy_url = preg_replace('#^https?:#', '', $full_url);
95
+
96
+ return $buy_url;
97
+ }
98
+
99
+ static public function getProductRating($productId) {
100
+ // Obtener la colección de reviews
101
+ $reviews = Mage::getModel('review/review') -> getResourceCollection() -> addStoreFilter(Mage::app() -> getStore() -> getId()) -> addEntityFilter('product', $productId) -> addStatusFilter(Mage_Review_Model_Review::STATUS_APPROVED) -> setDateOrder() -> addRateVotes();
102
+ // Calcular la media de ratings/reviews
103
+ $avg = 0;
104
+ $ratings = array();
105
+ if (count($reviews) > 0) {
106
+ foreach ($reviews->getItems() as $review) {
107
+ foreach ($review->getRatingVotes() as $vote) {
108
+ $ratings[] = $vote -> getPercent();
109
+ }
110
+ }
111
+ $avg = array_sum($ratings) / count($ratings);
112
+ } else {
113
+ return 'no-rating';
114
+ }
115
+ return $avg;
116
+ }
117
+
118
+ static public function getRelatedProducts($productId) {
119
+ $start = Mage::registry("oct8ne_product_related_start");
120
+ $items = Mage::registry("oct8ne_product_related_num_items");
121
+
122
+ if ($start < 0)
123
+ $start = 0;
124
+ if ($items < 1)
125
+ $items = 1;
126
+
127
+ // obtener categorias del producto $productId
128
+ $product = Mage::getModel('catalog/product') -> load($productId);
129
+ $cats = $product -> getCategoryIds();
130
+
131
+ // buscar todos los productos de las categorias obtenidas
132
+ $productsInfo = array();
133
+ $productIds = array();
134
+ foreach ($cats as $category_id) {
135
+ $cat = Mage::getModel('catalog/category') -> load($category_id);
136
+
137
+ $collection = $cat -> getProductCollection();
138
+ $collection -> addAttributeToFilter('visibility', 4);
139
+
140
+ //get all products in this category
141
+ $current = 0;
142
+ foreach ($collection as $product) {
143
+ if ($current > $start + $items)
144
+ return $productsInfo;
145
+ // ya hemos terminado
146
+ if (!in_array($product -> getId(), $productIds) && $product -> getStatus() == Mage_Catalog_Model_Product_Status::STATUS_ENABLED) {
147
+ if ($current >= $start) {
148
+ $productIds[$product -> getId()] = $product -> getId();
149
+ $productsInfo[] = self::getProductInfo($product -> getId());
150
+ }
151
+ $current++;
152
+ }
153
+ }
154
+ }
155
+
156
+ // retornar array de getProductInfo();
157
+ return $productsInfo;
158
+ }
159
+
160
+ static public function getExtensionVersion() {
161
+ return (string)Mage::getConfig() -> getNode() -> modules -> LetsSyncroLLC_Oct8ne -> version;
162
+ }
163
+
164
+ static public function _remove_http($str) {
165
+ return preg_replace('#^https?:#', '', $str);
166
+ }
167
+
168
+ /*
169
+ static public function getOrderReport($from, $to)
170
+ {
171
+ // obtener categorias del producto $productId
172
+ $items = Mage::getModel('oct8ne/orderproducts')->getCollection();
173
+ return $productsInfo;
174
+ }
175
+ */
176
+ };
app/code/community/LetsSyncroLLC/Oct8ne/Helper/Search.php CHANGED
@@ -1,74 +1,74 @@
1
- <?php
2
-
3
- class LetsSyncroLLC_Oct8ne_Helper_Search extends Mage_Core_Helper_Abstract {
4
-
5
- /**
6
- * Query object
7
- *
8
- * @var Mage_CatalogSearch_Model_Query
9
- */
10
- protected $_query;
11
-
12
- /**
13
- * Query string
14
- *
15
- * @var string
16
- */
17
- protected $_queryText;
18
-
19
- /**
20
- * Retrieve search query text
21
- *
22
- * @return string
23
- */
24
- public function getQueryText() {
25
- if ( !isset($this->_queryText) ) {
26
- $this->_queryText = $this->_getRequest()->getParam('q');
27
- if ($this->_queryText === null)
28
- $this->_queryText = '';
29
- else {
30
- /* @var $stringHelper Mage_Core_Helper_String */
31
- $stringHelper = Mage::helper('core/string');
32
- $this->_queryText = is_array($this->_queryText) ? ''
33
- : $stringHelper->cleanString(trim($this->_queryText));
34
-
35
- $maxQueryLength = $this->getMaxQueryLength();
36
- if ($maxQueryLength !== '' && $stringHelper->strlen($this->_queryText) > $maxQueryLength) {
37
- $this->_queryText = $stringHelper->substr($this->_queryText, 0, $maxQueryLength);
38
- $this->_isMaxLength = true;
39
- }
40
- }
41
-
42
- }
43
-
44
- return $this->_queryText;
45
- }
46
-
47
- /**
48
- * Retrieve query model object
49
- *
50
- * @return Mage_CatalogSearch_Model_Query
51
- */
52
- public function getQuery() {
53
- if (!$this->_query) {
54
- $this->_query = Mage::getModel('catalogsearch/query')
55
- ->loadByQuery($this->getQueryText());
56
- if (!$this->_query->getId()) {
57
- $this->_query->setQueryText($this->getQueryText());
58
- }
59
- }
60
- return $this->_query;
61
- }
62
-
63
- /**
64
- * Retrieve maximum query length
65
- *
66
- * @param mixed $store
67
- * @return int|string
68
- */
69
- public function getMaxQueryLength( $store = null ) {
70
- return Mage::getStoreConfig( Mage_CatalogSearch_Model_Query::XML_PATH_MAX_QUERY_LENGTH, $store );
71
- }
72
-
73
- };
74
-
1
+ <?php
2
+
3
+ class LetsSyncroLLC_Oct8ne_Helper_Search extends Mage_Core_Helper_Abstract {
4
+
5
+ /**
6
+ * Query object
7
+ *
8
+ * @var Mage_CatalogSearch_Model_Query
9
+ */
10
+ protected $_query;
11
+
12
+ /**
13
+ * Query string
14
+ *
15
+ * @var string
16
+ */
17
+ protected $_queryText;
18
+
19
+ /**
20
+ * Retrieve search query text
21
+ *
22
+ * @return string
23
+ */
24
+ public function getQueryText() {
25
+ if ( !isset($this->_queryText) ) {
26
+ $this->_queryText = $this->_getRequest()->getParam('q');
27
+ if ($this->_queryText === null)
28
+ $this->_queryText = '';
29
+ else {
30
+ /* @var $stringHelper Mage_Core_Helper_String */
31
+ $stringHelper = Mage::helper('core/string');
32
+ $this->_queryText = is_array($this->_queryText) ? ''
33
+ : $stringHelper->cleanString(trim($this->_queryText));
34
+
35
+ $maxQueryLength = $this->getMaxQueryLength();
36
+ if ($maxQueryLength !== '' && $stringHelper->strlen($this->_queryText) > $maxQueryLength) {
37
+ $this->_queryText = $stringHelper->substr($this->_queryText, 0, $maxQueryLength);
38
+ $this->_isMaxLength = true;
39
+ }
40
+ }
41
+
42
+ }
43
+
44
+ return $this->_queryText;
45
+ }
46
+
47
+ /**
48
+ * Retrieve query model object
49
+ *
50
+ * @return Mage_CatalogSearch_Model_Query
51
+ */
52
+ public function getQuery() {
53
+ if (!$this->_query) {
54
+ $this->_query = Mage::getModel('catalogsearch/query')
55
+ ->loadByQuery($this->getQueryText());
56
+ if (!$this->_query->getId()) {
57
+ $this->_query->setQueryText($this->getQueryText());
58
+ }
59
+ }
60
+ return $this->_query;
61
+ }
62
+
63
+ /**
64
+ * Retrieve maximum query length
65
+ *
66
+ * @param mixed $store
67
+ * @return int|string
68
+ */
69
+ public function getMaxQueryLength( $store = null ) {
70
+ return Mage::getStoreConfig( Mage_CatalogSearch_Model_Query::XML_PATH_MAX_QUERY_LENGTH, $store );
71
+ }
72
+
73
+ };
74
+
app/code/community/LetsSyncroLLC/Oct8ne/Helper/Url.php CHANGED
@@ -1,27 +1,33 @@
1
- <?php
2
-
3
- class LetsSyncroLLC_Oct8ne_Helper_Url extends Mage_Core_Helper_Url {
4
-
5
- public function getAdd2CartUrl( $product, $additional = array() ) {
6
-
7
- // .: Checkout/Helper/Cart.php::getAddUrl :. \\
8
- $route_params = array(
9
- 'product' => $product->getEntityId()
10
- );
11
-
12
- if ( !empty( $additional ) )
13
- $route_params = array_merge( $route_params, $additional );
14
-
15
- if ( $product->hasUrlDataObject() ) {
16
- $route_params['_store'] = $product->getUrlDataObject()->getStoreId();
17
- $route_params['_store_to_url'] = true;
18
- }
19
-
20
-
21
- return
22
- $this->_getUrl( 'oct8ne/frame/add2cart', $route_params );
23
- }
24
-
25
- };
26
-
 
 
 
 
 
 
27
  ?>
1
+ <?php
2
+
3
+ class LetsSyncroLLC_Oct8ne_Helper_Url extends Mage_Core_Helper_Url {
4
+
5
+ public function getAdd2CartUrl( $product, $additional = array() ) {
6
+
7
+ // .: Checkout/Helper/Cart.php::getAddUrl :. \\
8
+ $route_params = array(
9
+ 'product' => $product->getEntityId()
10
+ );
11
+
12
+ if ( !empty( $additional ) )
13
+ $route_params = array_merge( $route_params, $additional );
14
+
15
+ if ( $product->hasUrlDataObject() ) {
16
+ $route_params['_store'] = $product->getUrlDataObject()->getStoreId();
17
+ $route_params['_store_to_url'] = true;
18
+ }
19
+
20
+
21
+ return $this->_remove_http(
22
+ $this->_getUrl( 'oct8ne/frame/add2cart', $route_params )
23
+ );
24
+ }
25
+
26
+ protected function _remove_http($str)
27
+ {
28
+ return preg_replace('#^https?:#', '', $str);
29
+ }
30
+
31
+ };
32
+
33
  ?>
app/code/community/LetsSyncroLLC/Oct8ne/Model/Cron.php CHANGED
@@ -1,6 +1,6 @@
1
- <?php
2
- class LetsSyncroLLC_Oct8ne_Model_Cron{
3
- public function letssyncro(){
4
- //do something
5
- }
6
  }
1
+ <?php
2
+ class LetsSyncroLLC_Oct8ne_Model_Cron{
3
+ public function letssyncro(){
4
+ //do something
5
+ }
6
  }
app/code/community/LetsSyncroLLC/Oct8ne/Model/Mage/Onepage.php CHANGED
@@ -1,22 +1,22 @@
1
- <?php
2
-
3
- class LetsSyncroLLC_Oct8ne_Model_Mage_Onepage extends Mage_Checkout_Model_Type_Onepage
4
- {
5
- /**
6
- * Involve new customer to system
7
- *
8
- * @return Mage_Checkout_Model_Type_Onepage
9
- */
10
- protected function _involveNewCustomer()
11
- {
12
- $result = parent::_involveNewCustomer();
13
-
14
- $session = Mage::getSingleton('customer/session');
15
- if($session->isLoggedIn()) {
16
- $customerData = $session->getCustomer();
17
- $session->setData("notify_oct8ne", $customerData->getId());
18
- }
19
-
20
- return $result;
21
- }
22
  }
1
+ <?php
2
+
3
+ class LetsSyncroLLC_Oct8ne_Model_Mage_Onepage extends Mage_Checkout_Model_Type_Onepage
4
+ {
5
+ /**
6
+ * Involve new customer to system
7
+ *
8
+ * @return Mage_Checkout_Model_Type_Onepage
9
+ */
10
+ protected function _involveNewCustomer()
11
+ {
12
+ $result = parent::_involveNewCustomer();
13
+
14
+ $session = Mage::getSingleton('customer/session');
15
+ if($session->isLoggedIn()) {
16
+ $customerData = $session->getCustomer();
17
+ $session->setData("notify_oct8ne", $customerData->getId());
18
+ }
19
+
20
+ return $result;
21
+ }
22
  }
app/code/community/LetsSyncroLLC/Oct8ne/Model/Mage/Package.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Core
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+
28
+ class LetsSyncroLLC_Oct8ne_Model_Mage_Package extends Mage_Core_Model_Design_Package
29
+ {
30
+ /**
31
+ * Declare design package theme params
32
+ * Polymorph method:
33
+ * 1) if 1 parameter specified, sets everything to this value
34
+ * 2) if 2 parameters, treats 1st as key and 2nd as value
35
+ *
36
+ * @return Mage_Core_Model_Design_Package
37
+ */
38
+ public function setTheme()
39
+ {
40
+ if(Mage::registry('oct8ne') === 1)
41
+ return $this;
42
+
43
+ switch (func_num_args()) {
44
+ case 1:
45
+ foreach (array('layout', 'template', 'skin', 'locale') as $type) {
46
+ $this->_theme[$type] = func_get_arg(0);
47
+ }
48
+ break;
49
+
50
+ case 2:
51
+ $this->_theme[func_get_arg(0)] = func_get_arg(1);
52
+ break;
53
+
54
+ default:
55
+ throw Mage::exception(Mage::helper('core')->__('Wrong number of arguments for %s', __METHOD__));
56
+ }
57
+ return $this;
58
+ }
59
+
60
+ /**
61
+ * Set package name
62
+ * In case of any problem, the default will be set.
63
+ *
64
+ * @param string $name
65
+ * @return Mage_Core_Model_Design_Package
66
+ */
67
+ public function setPackageName($name = '')
68
+ {
69
+ if(Mage::registry('oct8ne') === 1)
70
+ return $this;
71
+
72
+ return parent::setPackageName($name);
73
+ }
74
+
75
+
76
+ public function getFallbackTheme()
77
+ {
78
+ if(Mage::registry('oct8ne') === 1 && Mage::registry('oct8ne_defaultpackage') !== 1)
79
+ return '';
80
+
81
+ return parent::getFallbackTheme();
82
+ }
83
+ }
app/code/community/LetsSyncroLLC/Oct8ne/Model/Mage/Request.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class LetsSyncroLLC_Oct8ne_Model_Mage_Request extends Mage_Core_Model_Url_Rewrite_Request
3
+ {
4
+ /**
5
+ * Add location header and disable browser page caching
6
+ *
7
+ * @param string $url
8
+ * @param bool $isPermanent
9
+ */
10
+ /*
11
+ protected function _sendRedirectHeaders($url, $isPermanent = false)
12
+ {
13
+ / *
14
+ if ($isPermanent) {
15
+ header('HTTP/1.1 301 Moved Permanently');
16
+ }
17
+
18
+ header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
19
+ header('Pragma: no-cache');
20
+ header('Location: ' . $url);
21
+ exit;
22
+ * /
23
+
24
+ if(Mage::registry('oct8ne_rewrite') === 1)
25
+ return false;
26
+
27
+ return parent::_sendRedirectHeaders($url, $isPermanent);
28
+ }
29
+ */
30
+
31
+ public function rewrite(Zend_Controller_Request_Http $request=null, Zend_Controller_Response_Http $response=null)
32
+ {
33
+ if(Mage::registry('oct8ne_rewrite') === 1)
34
+ return false;
35
+
36
+ return parent::rewrite($request, $response);
37
+ }
38
+ }
app/code/community/LetsSyncroLLC/Oct8ne/Model/Mage/Rewrite.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class LetsSyncroLLC_Oct8ne_Model_Mage_Rewrite extends Mage_Core_Model_Url_Rewrite
4
+ {
5
+ /**
6
+ * Implement logic of custom rewrites
7
+ *
8
+ * @param Zend_Controller_Request_Http $request
9
+ * @param Zend_Controller_Response_Http $response
10
+ * @return Mage_Core_Model_Url
11
+ */
12
+ public function rewrite(Zend_Controller_Request_Http $request=null, Zend_Controller_Response_Http $response=null)
13
+ {
14
+ if(Mage::registry('oct8ne_rewrite') === 1)
15
+ return false;
16
+
17
+ return parent::rewrite($request, $response);
18
+ }
19
+ }
app/code/community/LetsSyncroLLC/Oct8ne/Model/Mage/Url.php CHANGED
@@ -1,22 +1,22 @@
1
- <?php
2
-
3
- class LetsSyncroLLC_Oct8ne_Model_Mage_Url extends Mage_Core_Model_Url
4
- {
5
- /**
6
- * Set route params
7
- *
8
- * @param array $data
9
- * @param boolean $unsetOldParams
10
- * @return Mage_Core_Model_Url
11
- */
12
- public function setRouteParams(array $data, $unsetOldParams = true)
13
- {
14
- parent::setRouteParams($data, $unsetOldParams);
15
-
16
- if(!is_null(Mage::registry('oct8ne')))
17
- {
18
- // $this->setRouteParam('oct8ne', '1');
19
- $this->setQueryParam('oct8ne', '1');
20
- }
21
- }
22
  }
1
+ <?php
2
+
3
+ class LetsSyncroLLC_Oct8ne_Model_Mage_Url extends Mage_Core_Model_Url
4
+ {
5
+ /**
6
+ * Set route params
7
+ *
8
+ * @param array $data
9
+ * @param boolean $unsetOldParams
10
+ * @return Mage_Core_Model_Url
11
+ */
12
+ public function setRouteParams(array $data, $unsetOldParams = true)
13
+ {
14
+ parent::setRouteParams($data, $unsetOldParams);
15
+
16
+ if(!is_null(Mage::registry('oct8ne')))
17
+ {
18
+ // $this->setRouteParam('oct8ne', '1');
19
+ $this->setQueryParam('oct8ne', '1');
20
+ }
21
+ }
22
  }
app/code/community/LetsSyncroLLC/Oct8ne/Model/Mysql4/Orderproducts.php CHANGED
@@ -1,8 +1,8 @@
1
- <?php
2
- class LetsSyncroLLC_Oct8ne_Model_Mysql4_Orderproducts extends Mage_Core_Model_Mysql4_Abstract
3
- {
4
- protected function _construct()
5
- {
6
- $this->_init('oct8ne/orderproducts', 'orderproducts_id');
7
- }
8
- }
1
+ <?php
2
+ class LetsSyncroLLC_Oct8ne_Model_Mysql4_Orderproducts extends Mage_Core_Model_Mysql4_Abstract
3
+ {
4
+ protected function _construct()
5
+ {
6
+ $this->_init('oct8ne/orderproducts', 'orderproducts_id');
7
+ }
8
+ }
app/code/community/LetsSyncroLLC/Oct8ne/Model/Mysql4/Orderproducts/Collection.php CHANGED
@@ -1,9 +1,9 @@
1
- <?php
2
- class LetsSyncroLLC_Oct8ne_Model_Mysql4_Orderproducts_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
3
- {
4
- public function _construct()
5
- {
6
- //parent::__construct();
7
- $this->_init('oct8ne/orderproducts');
8
- }
9
- }
1
+ <?php
2
+ class LetsSyncroLLC_Oct8ne_Model_Mysql4_Orderproducts_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
3
+ {
4
+ public function _construct()
5
+ {
6
+ //parent::__construct();
7
+ $this->_init('oct8ne/orderproducts');
8
+ }
9
+ }
app/code/community/LetsSyncroLLC/Oct8ne/Model/Mysql4/Quoteproducts.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class LetsSyncroLLC_Oct8ne_Model_Mysql4_Quoteproducts extends Mage_Core_Model_Mysql4_Abstract
3
+ {
4
+ protected function _construct()
5
+ {
6
+ $this->_init('oct8ne/quoteproducts', 'quoteproducts_id');
7
+ }
8
+ }
app/code/community/LetsSyncroLLC/Oct8ne/Model/Mysql4/Quoteproducts/Collection.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class LetsSyncroLLC_Oct8ne_Model_Mysql4_Quoteproducts_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
3
+ {
4
+ public function _construct()
5
+ {
6
+ //parent::__construct();
7
+ $this->_init('oct8ne/quoteproducts');
8
+ }
9
+ }
app/code/community/LetsSyncroLLC/Oct8ne/Model/Observer.php CHANGED
@@ -8,20 +8,31 @@ class LetsSyncroLLC_Oct8ne_Model_Observer
8
 
9
  if(isset($request->oct8ne))
10
  {
11
- $package = Mage::getStoreConfig('design/oct8nedesign/package');
12
  $theme = Mage::getStoreConfig('design/oct8nedesign/theme');
13
 
14
- if(empty($package))
15
- $package = "default";
 
 
 
 
 
 
16
 
17
  if(empty($theme))
18
  $theme = "oct8ne";
19
 
 
20
  Mage::getDesign()->setPackageName($package);
21
  Mage::getDesign()->setTheme($theme);
22
  Mage::register('oct8ne', 1);
23
  // Mage::getModel('core/url')->setRouteParam('oct8ne', 1);
24
  }
 
 
 
 
 
25
  }
26
 
27
  public function layoutRenderBefore($observer)
@@ -105,6 +116,7 @@ EOT
105
  foreach($items as $item)
106
  {
107
  $product = $item->getProduct();
 
108
  /*
109
  foreach($oct8ne_products as $op)
110
  {
@@ -114,12 +126,103 @@ EOT
114
  }
115
  */
116
  $found = in_array($product->getId(), $oct8ne_products);
 
117
 
118
  $model = Mage::getModel('oct8ne/orderproducts');
119
  $model->setOrderId($order->getId());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  $model->setProductId($product->getId());
121
- $model->setOct8ne($found?'Y':'N');
 
 
 
 
 
122
  $model->save();
 
 
123
  }
124
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125
  }
8
 
9
  if(isset($request->oct8ne))
10
  {
 
11
  $theme = Mage::getStoreConfig('design/oct8nedesign/theme');
12
 
13
+ if($request->oct8ne != 'defaultpackage')
14
+ {
15
+ $package = Mage::getStoreConfig('design/oct8nedesign/package');
16
+ if(empty($package))
17
+ $package = "default";
18
+ } else {
19
+ Mage::register('oct8ne_defaultpackage', 1);
20
+ }
21
 
22
  if(empty($theme))
23
  $theme = "oct8ne";
24
 
25
+ // $th = Mage::getDesign()->getFallbackTheme();
26
  Mage::getDesign()->setPackageName($package);
27
  Mage::getDesign()->setTheme($theme);
28
  Mage::register('oct8ne', 1);
29
  // Mage::getModel('core/url')->setRouteParam('oct8ne', 1);
30
  }
31
+
32
+ if(strpos($request->getPathInfo(), '/oct8ne/frame') !== FALSE)
33
+ {
34
+ Mage::register('oct8ne_rewrite', 1); // lo usamos para deshabilitar el redirect
35
+ }
36
  }
37
 
38
  public function layoutRenderBefore($observer)
116
  foreach($items as $item)
117
  {
118
  $product = $item->getProduct();
119
+ $qty = $item->getQtyOrdered();
120
  /*
121
  foreach($oct8ne_products as $op)
122
  {
126
  }
127
  */
128
  $found = in_array($product->getId(), $oct8ne_products);
129
+ $session = Mage::getModel('core/cookie')->get('oct8ne-session');
130
 
131
  $model = Mage::getModel('oct8ne/orderproducts');
132
  $model->setOrderId($order->getId());
133
+ $model->setCustomerId($order->getCustomerId());
134
+ $model->setProductId($product->getId());
135
+ $model->setProductPrice($product->getPrice());
136
+ $model->setOrderPrice($order->getGrandTotal());
137
+ $model->setCreatedAt($order->getCreatedAt());
138
+ // $model->setOct8ne($found?'Y':'N');
139
+ $model->setOct8ne($session);
140
+ $model->setQty($qty);
141
+ $model->setCurrency($order->getOrderCurrency()->getCode());
142
+ $model->save();
143
+ }
144
+ }
145
+
146
+ public function saveQuoteAfter($observer)
147
+ {
148
+ $quote = $observer->getEvent()->getQuote();
149
+ // Eliminar los datos anteriores
150
+ foreach (Mage::getModel('oct8ne/quoteproducts')->getCollection()->addFilter('quote_id', $quote->getId()) as $ccitem) {
151
+ $ccitem->delete();
152
+ }
153
+
154
+ // Añadir los nuevos
155
+ $items = $quote->getAllItems();
156
+ foreach($items as $item)
157
+ {
158
+ $product = $item->getProduct();
159
+ $qty = $item->getQty();
160
+
161
+ $session = Mage::getModel('core/cookie')->get('oct8ne-session');
162
+
163
+ $model = Mage::getModel('oct8ne/quoteproducts');
164
+ $model->setQuoteId($quote->getId());
165
+ $model->setCustomerId($quote->getCustomerId());
166
  $model->setProductId($product->getId());
167
+ $model->setProductPrice($product->getPrice());
168
+ $model->setQuotePrice($quote->getGrandTotal());
169
+ $model->setCreatedAt($quote->getCreatedAt());
170
+ $model->setOct8ne($session);
171
+ $model->setQty($qty);
172
+ $model->setCurrency($quote->getQuoteCurrencyCode());
173
  $model->save();
174
+
175
+ // echo $order->getOrderCurrency()->getCode(); /* $item['oct8ne']; */
176
  }
177
  }
178
+
179
+ public function checkDomainPolicyHeader($observer)
180
+ {
181
+ if(Mage::registry('oct8ne') === 1 || Mage::registry('oct8ne_rewrite') === 1)
182
+ {
183
+ $action = $observer->getControllerAction();
184
+
185
+ $response = $action->getResponse();
186
+ $response->setHeader('X-Frame-Options', null, true);
187
+ }
188
+
189
+ return $this;
190
+ }
191
+
192
+ public function addToCartAjaxOct($observer) /*DEPRECATED ??*/
193
+ {
194
+ if($_GET['oct8ne'] == '1'){
195
+ $productId = $observer->getProduct()->getId();
196
+ echo '<script type="text/javascript">
197
+ parent.postMessage("qty:<?php echo $qty ?>", "*");
198
+ parent.postMessage("closeIframe", "*");
199
+ </script>';
200
+
201
+ // Mage::log("ERROR !!!!!", null, 'addToCartAjaxOctLog.log');
202
+ }
203
+ }
204
+
205
+
206
+ public function updatedCartOct($observer)
207
+ {
208
+ $quote_data = Mage::helper('oct8ne/customer_data')->gatherCartData();
209
+ $quote_data = json_encode($quote_data); // Esta es la variable que se tiene que mandar por POST
210
+ $quote_data = str_replace("&","#0#",$quote_data);
211
+
212
+ $oct8ne_url = "backoffice.oct8ne.com/PlatformConnection/UpdateCart";
213
+ $visitor = $_COOKIE["TokenVisitor"];
214
+
215
+ if ($visitor != null){
216
+ if(function_exists('curl_init') == 1)
217
+ {
218
+ $ch = curl_init($oct8ne_url);
219
+ curl_setopt($ch, CURLOPT_POST, 1);
220
+ curl_setopt($ch, CURLOPT_POSTFIELDS, 'cart='.$quote_data.'&visitor='.$visitor);
221
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
222
+ $response = curl_exec($ch);
223
+ curl_close($ch);
224
+ }
225
+ }
226
+
227
+ }
228
  }
app/code/community/LetsSyncroLLC/Oct8ne/Model/Orderproducts.php CHANGED
@@ -1,9 +1,9 @@
1
- <?php
2
- class LetsSyncroLLC_Oct8ne_Model_Orderproducts extends Mage_Core_Model_Abstract
3
- {
4
- public function _construct()
5
- {
6
- parent::_construct();
7
- $this->_init('oct8ne/orderproducts');
8
- }
9
  }
1
+ <?php
2
+ class LetsSyncroLLC_Oct8ne_Model_Orderproducts extends Mage_Core_Model_Abstract
3
+ {
4
+ public function _construct()
5
+ {
6
+ parent::_construct();
7
+ $this->_init('oct8ne/orderproducts');
8
+ }
9
  }
app/code/community/LetsSyncroLLC/Oct8ne/Model/Quoteproducts.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class LetsSyncroLLC_Oct8ne_Model_Quoteproducts extends Mage_Core_Model_Abstract
3
+ {
4
+ public function _construct()
5
+ {
6
+ parent::_construct();
7
+ $this->_init('oct8ne/quoteproducts');
8
+ }
9
+ }
app/code/community/LetsSyncroLLC/Oct8ne/controllers/AccountController.php CHANGED
@@ -21,6 +21,15 @@ class LetsSyncroLLC_Oct8ne_AccountController extends Mage_Customer_AccountContro
21
  <script type="text/javascript">
22
  parent.postMessage("loginOK", "*");
23
  </script>
 
 
 
 
 
 
 
 
 
24
  EOT;
25
  die();
26
  }
21
  <script type="text/javascript">
22
  parent.postMessage("loginOK", "*");
23
  </script>
24
+ EOT;
25
+ die();
26
+ } else {
27
+ echo <<< EOT
28
+ <h2 class="add2cart-msg">Login failed</h2>
29
+
30
+ <script type="text/javascript">
31
+ parent.postMessage("loginFAIL", "*");
32
+ </script>
33
  EOT;
34
  die();
35
  }
app/code/community/LetsSyncroLLC/Oct8ne/controllers/FrameController.php CHANGED
@@ -2,20 +2,54 @@
2
 
3
  class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Action {
4
 
 
 
 
 
 
 
 
 
 
 
 
5
  public function indexAction() {
 
 
6
  $this->loadLayout();
7
  $this->renderLayout();
8
  }
9
 
10
  public function customerdataAction() {
 
11
  $callback = $this->getRequest()->getParam('callback', null);
12
- Mage::register( 'callback', $callback );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
14
- $this->loadLayout();
15
- $this->renderLayout();
16
  }
17
 
18
  public function productviewAction() {
 
 
 
19
  // Get initial data from request
20
  $categoryId = (int) $this->getRequest()->getParam('category', false);
21
  $productId = (int) $this->getRequest()->getParam('id');
@@ -43,7 +77,6 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
43
  $this->_forward('noRoute');
44
  }
45
  }
46
-
47
  }
48
 
49
  /**
@@ -66,8 +99,7 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
66
  }
67
 
68
  public function add2cartAction() {
69
-
70
-
71
 
72
  $cart = $this->_getCart();
73
  $params = $this->getRequest()->getParams();
@@ -91,35 +123,34 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
91
  }
92
 
93
  $cart->addProduct($product, $params);
94
-
95
  if (!empty($related)) {
96
  $cart->addProductsByIds(explode(',', $related));
97
  }
98
-
99
  $cart->save();
100
 
101
  $this->_getSession()->setCartWasUpdated(true);
102
-
103
  /**
104
  * @todo remove wishlist observer processAddToCart
105
  */
106
  Mage::dispatchEvent('checkout_cart_add_product_complete',
107
  array('product' => $product, 'request' => $this->getRequest(), 'response' => $this->getResponse())
108
  );
109
-
110
  if (!$cart->getQuote()->getHasError()){
111
  $products = $this->_getSession()->getOct8neProducts();
112
  if(!is_array($products))
113
- $products = array();
114
  $products[] = $product->getId();
115
  $this->_getSession()->setOct8neProducts($products);
116
-
117
- // Este mensaje se deshabilita porque sale a destiempo, cuando el parámetro no sea oct8ne
118
  // $message = $this->__('%s was added to your shopping cart.', Mage::helper('core')->escapeHtml($product->getName()));
119
  // $this->_getSession()->addSuccess($message);
120
  }
121
-
122
-
123
  $this->loadLayout();
124
  $this->renderLayout();
125
 
@@ -129,22 +160,20 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
129
  } else {
130
  $messages = array_unique(explode("\n", $e->getMessage()));
131
  foreach ($messages as $message)
132
- $this->_getSession()->addError(Mage::helper('core')->escapeHtml($message));
133
  }
134
-
135
  } catch (Exception $e) {
136
  // $this->_getSession()->addException($e, $this->__('Cannot add the item to shopping cart.'));
137
  Mage::logException($e);
138
  $this->_goBack();
139
  }
140
-
141
  }
142
 
143
  /**
144
- * Retrieve child categories of current category
145
- *
146
- * @return Varien_Data_Tree_Node_Collection
147
- */
148
  public function getCurrentChildCategories()
149
  {
150
  $layer = Mage::getSingleton('catalog/layer');
@@ -157,13 +186,12 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
157
  return $categories;
158
  }
159
 
160
-
161
  /**
162
- * Retrieve request object
163
- *
164
- * @return Mage_Core_Controller_Request_Http
165
- * @throws Exception
166
- */
167
  public function getRequest()
168
  {
169
  $controller = Mage::app()->getFrontController();
@@ -174,16 +202,18 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
174
  }
175
  return $this->_request;
176
  }
177
-
178
  protected function searchAction()
179
  {
 
 
180
  $search_criteria = $this->getRequest()->getParam('search', null);
181
- $search_order = $this->getRequest()->getParam('orderby', null);
182
  $search_dir = $this->getRequest()->getParam('dir', null);
183
-
184
  $storeId = $this->getRequest()->getParam('store', null);
185
  $currency = $this->getRequest()->getParam('currency', null);
186
-
187
  if(is_null($storeId))
188
  {
189
  $storeId = Mage::app()->getStore()->getId();
@@ -199,29 +229,38 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
199
  $currentCurrency = Mage::app()->getStore()->getCurrentCurrencyCode();
200
  if(!is_null($currency))
201
  Mage::app()->getStore()->setCurrentCurrencyCode($currency);
202
-
203
  $callback = $this->getRequest()->getParam('callback', null);
204
  $this->getRequest()->setParam('q', $search_criteria);
205
-
206
- if(is_null($search_criteria) || strlen($search_criteria)==0){
207
- //passem totes les dades buides per tal que no mostri resultats
208
- Mage::register('total_search_results', 0);
209
- Mage::register('search_result_collection', array());
210
- Mage::register('partial_search', false);
211
- Mage::register('callback', $callback);
212
- Mage::register('search_result_attrs', array());
213
- Mage::register('search_result_attrs_applied', array());
214
- Mage::register('search_result_attrs_available', array());
215
-
216
- Mage::app()->getStore()->setCurrentCurrencyCode($currentCurrency);
217
-
218
- $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
219
-
220
- $this->loadLayout();
221
- $this->renderLayout();
222
- return ;
223
-
224
- }
 
 
 
 
 
 
 
 
 
225
  // $this->getRequest()->setParam('order', $search_sort);
226
  // $this->getRequest()->setParam('dir', $search_order);
227
 
@@ -239,12 +278,10 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
239
  Mage::helper('catalogsearch')->checkNotes();
240
 
241
  $query = Mage::getModel('catalogsearch/layer');
242
-
243
-
244
-
245
  $filterableAttributes = $query->getFilterableAttributes();
246
  $attrs = array();
247
-
248
  if(!empty($filterableAttributes))
249
  {
250
  $tmp = new Mage_Catalog_Model_Resource_Eav_Attribute();
@@ -252,42 +289,40 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
252
  $tmp->setFrontendLabel('Category');
253
  $filterableAttributes->addItem($tmp);
254
  }
255
- // $filterableAttributes[] =
256
- // category
257
-
258
  foreach ($filterableAttributes as $attribute)
259
  {
260
  $code = $attribute->getAttributeCode();
261
  $name = $attribute->getFrontendLabel();
262
-
263
  // INIT
264
  $items = array();
265
  switch($code)
266
  {
267
- case 'price':
268
- $_filterModelName = "catalog/layer_filter_price";
269
- break;
270
- case 'decimal':
271
- $_filterModelName = "catalog/layer_filter_decimal";
272
- break;
273
- case 'category':
274
- $_filterModelName = "catalog/layer_filter_category";
275
- break;
276
- default:
277
- $_filterModelName = "catalog/layer_filter_attribute";
278
- break;
279
  }
280
 
281
  $filter = Mage::getModel($_filterModelName)
282
- ->setLayer($query)
283
- ->setAttributeModel($attribute);
284
  $filter->apply($this->getRequest(), $this);
285
  $items = $filter->getItems();
286
  // INIT
287
 
288
  // En los filtros aplicados no nos viene el nombre, solo el id, lo obtenemos aqui
289
  $optionId = $this->getRequest()->getParam($filter->getRequestVar());
290
- $featurename = "";
291
  if(!is_null($optionId)) {
292
  switch($code)
293
  {
@@ -304,60 +339,49 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
304
  $featurename = $filter->getAttributeModel()->getFrontend()->getOption($optionId);
305
  break;
306
  }
307
-
308
  }
309
-
310
  $options = array();
311
  foreach($items as $item)
312
  {
313
  if($item->getCount() > 0)
314
- $options[] = array("label" => $item->getLabel(), "value" => $item->getValue(), "qty" => $item->getCount());
315
  }
316
-
317
  $attrs[] = array(
318
- 'code' => $code,
319
- 'name' => $name,
320
- 'options' => $options,
321
- 'featurename' => $featurename
322
  );
323
  }
324
-
325
  $attrs_applied = array();
326
  $attrs_available = array();
327
  foreach($attrs as $attr)
328
  {
329
- if(!is_null($this->getRequest()->getParam($attr['code'])))
330
  {
331
- $attr['value'] = $this->getRequest()->getParam($attr['code']);
332
  $attrs_applied[] = $attr;
333
  }
334
  else
335
  {
336
  $attrs_available[] = $attr;
337
  }
338
- /*
339
- if($this->getRequest()
340
- $attrs[] = array(
341
- 'code' => $code,
342
- 'name' => $name,
343
- 'options' => $options
344
- );
345
- */
346
  }
347
-
348
-
349
  $result_collection = $query->getProductCollection();
350
 
351
-
352
  $order = Mage::getSingleton('catalog/session')->getSortOrder();
353
  $dir = Mage::getSingleton('catalog/session')->getSortDirection();
354
-
355
  if(!$order)
356
  $order = "relevance"; // Mage::getStoreConfig( Mage_Catalog_Model_Config::XML_PATH_LIST_DEFAULT_SORT_BY );
357
  if(!$dir)
358
  $dir = "asc";
359
-
360
-
361
  if($search_order)
362
  {
363
  if(!$search_dir)
@@ -367,19 +391,7 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
367
  $result_collection->setOrder($order, $dir);
368
  }
369
 
370
- Mage::register( 'total_search_results', $result_collection->count() );
371
-
372
-
373
- /*
374
- $_categories = $this->getCurrentChildCategories();
375
- foreach ($_categories as $_category)
376
- {
377
- if($_category->getIsActive())
378
- {
379
-
380
- }
381
- }
382
- */
383
 
384
  $currency = Mage::helper('oct8ne/customer_data')->getCurrency();
385
  $v = array();
@@ -405,43 +417,32 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
405
 
406
  foreach( $result_collection as $item ) {
407
  $id = $item->getId();
408
- /*
409
- $product = Mage::getModel('catalog/product')->load( $id );
410
- $description = str_replace( array("\r\n", "\n", "\r"), "\\n", htmlentities ($product->getDescription()) );
411
- $vi = array(
412
- 'id' => $product->getId(),
413
- 'title' => htmlentities( $product->getName() ),
414
- // 'price' => sprintf( "%.02f$currency", is_numeric($product->getSpecialPrice()) ? $product->getSpecialPrice() : $product->getPrice() ),
415
- 'price' => number_format($product->getFinalPrice(), '2', '.', ','),
416
- 'description' => $description,
417
- 'url' => Mage::helper('oct8ne')->getProductFullUrl( $product ),
418
- 'imgs' => Mage::helper('oct8ne')->getProductImagesUrl( $product ),
419
- 'thumbnail' => Mage::helper('oct8ne')->getProductThumbnail( $product, 120 )
420
- );
421
- $v[] = $vi;
422
- */
423
  $v[] = Mage::helper('oct8ne')->getProductInfo($id);
424
  }
425
-
426
- Mage::register( 'search_result_collection', $v );
427
- Mage::register( 'partial_search', false );
428
- Mage::register( 'callback', $callback );
429
- Mage::register( 'search_result_attrs', $attrs );
430
- Mage::register( 'search_result_attrs_applied', $attrs_applied );
431
- Mage::register( 'search_result_attrs_available', $attrs_available );
432
 
 
 
 
 
 
 
 
 
 
433
  if(!is_null($initialEnvironmentInfo))
434
  {
435
  //Stop environment emulation and restore original store
436
  $appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
437
  }
438
-
439
  Mage::app()->getStore()->setCurrentCurrencyCode($currentCurrency);
440
 
441
- $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
 
 
442
 
443
- $this->loadLayout();
444
- $this->renderLayout();
445
  }
446
 
447
  /**
@@ -480,6 +481,8 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
480
  protected function _getCart() { return Mage::getSingleton('checkout/cart'); }
481
 
482
  public function search2Action() {
 
 
483
  $query = Mage::helper('oct8ne/search')->getQuery();
484
  /* @var $query Mage_CatalogSearch_Model_Query */
485
 
@@ -519,8 +522,7 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
519
 
520
  public function getcartAction()
521
  {
522
- $callback = $this->getRequest()->getParam('callback', null);
523
-
524
  $result = array();
525
  $cart = $this->_getCart();
526
  foreach($cart->getItems() as $item)
@@ -528,152 +530,302 @@ class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Ac
528
  $product = $item->getProduct();
529
  $qty = $item->getQty();
530
  $type = $product->getTypeId();
531
-
532
  if($type == Mage_Catalog_Model_Product_Type::TYPE_SIMPLE
533
- || $type == Mage_Catalog_Model_Product_Type::TYPE_VIRTUAL
534
- ) {
535
- $result[] = Mage::helper('oct8ne')->getProductInfo($product->getId(), $qty); /*array(
536
- 'id' => $product->getId(),
537
- 'title' => $product->getName(),
538
- 'price' => number_format($product->getFinalPrice(), '2', '.', ','),
539
- 'qty' => $qty);*/
540
  }
541
  }
542
 
543
-
544
- Mage::register( 'cart', $result );
545
- Mage::register( 'callback', $callback );
 
546
 
547
- $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
 
 
548
 
549
- $this->loadLayout();
550
- $this->renderLayout();
551
  }
552
 
553
-
554
  public function getwishlistAction()
555
  {
556
- Mage::register(
557
- 'callback',
558
- $this->getRequest()->getParam('callback', null)
559
- );
560
-
561
- Mage::register(
562
- 'oct8ne_customer_id',
563
- $this->getRequest()->getParam('customer', null)
564
  );
565
-
 
 
 
 
566
  $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
567
-
568
- $this->loadLayout();
569
- $this->renderLayout();
570
  }
571
-
572
  public function addtowishlistAction()
573
  {
574
- Mage::register(
575
- 'callback',
576
- $this->getRequest()->getParam('callback', null)
577
- );
578
-
579
  $api = Mage::helper( 'oct8ne/wishlist' );
580
-
581
  $result = $api->addToWishlist(
582
  $this->getRequest()->getParam('product', null),
583
  $this->getRequest()->getParam('customer', null)
584
  );
585
-
586
- Mage::register(
587
- 'oct8ne_result',
588
- $result
589
  );
590
-
 
 
 
 
591
  $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
592
-
593
- $this->loadLayout();
594
- $this->renderLayout();
595
  }
596
-
597
  public function removefromwishlistAction()
598
  {
599
- Mage::register(
600
- 'callback',
601
- $this->getRequest()->getParam('callback', null)
602
- );
603
-
604
  $api = Mage::helper( 'oct8ne/wishlist' );
605
-
606
  $result = $api->removeFromWishlist(
607
  $this->getRequest()->getParam('product', null),
608
  $this->getRequest()->getParam('customer', null)
609
  );
610
-
611
- Mage::register(
612
- 'oct8ne_result',
613
- $result
614
  );
615
-
 
 
 
 
616
  $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
617
-
618
- $this->loadLayout();
619
- $this->renderLayout();
620
  }
621
-
622
  public function productInfoAction()
623
  {
624
- Mage::register(
625
- 'callback',
626
- $this->getRequest()->getParam('callback', null)
627
- );
628
-
629
- Mage::register(
630
- 'oct8ne_product_id',
631
- $this->getRequest()->getParam('id', null)
 
 
632
  );
633
-
 
 
 
 
634
  $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
635
-
636
- $this->loadLayout();
637
- $this->renderLayout();
638
  }
639
-
 
 
 
 
 
 
 
 
640
  public function productRelatedAction()
641
  {
642
- Mage::register(
643
- 'callback',
644
- $this->getRequest()->getParam('callback', null)
645
- );
646
-
647
- Mage::register(
648
- 'oct8ne_product_id',
649
- $this->getRequest()->getParam('id', null)
650
  );
651
-
652
-
653
- if ( is_numeric( $this->getRequest()->getParam('start') ) )
654
- $start = $this->getRequest()->getParam('start',0);
655
- else
656
- $start = 0;
657
-
658
- if ( is_numeric( $this->getRequest()->getParam('items') ) )
659
- $items = $this->getRequest()->getParam('items',10);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
660
  else
661
- $items = 10;
662
-
663
-
664
- Mage::register(
665
- 'oct8ne_product_related_num_items',
666
- $items
 
 
 
 
 
 
 
 
667
  );
668
-
669
- Mage::register(
670
- 'oct8ne_product_related_start',
671
- $start
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
672
  );
673
-
 
 
674
  $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
675
 
676
- $this->loadLayout();
677
- $this->renderLayout();
 
 
678
  }
679
  };
2
 
3
  class LetsSyncroLLC_Oct8ne_FrameController extends Mage_Core_Controller_Front_Action {
4
 
5
+ protected function _checkApitoken()
6
+ {
7
+ $letssyncromodel = Mage::getModel('oct8ne/letssyncro')->load(1);
8
+
9
+ $token = $letssyncromodel->getApitoken();
10
+
11
+ $apitoken = $this->getRequest()->getParam('apitoken', null);
12
+ if($apitoken != $token)
13
+ die("Access denied.");
14
+ }
15
+
16
  public function indexAction() {
17
+ // $this->_checkApitoken();
18
+
19
  $this->loadLayout();
20
  $this->renderLayout();
21
  }
22
 
23
  public function customerdataAction() {
24
+ // $this->_checkApitoken();
25
  $callback = $this->getRequest()->getParam('callback', null);
26
+
27
+ $login_data = Mage::helper('oct8ne/customer_data')->gatherLoginData();
28
+ $wishlist_data = Mage::helper('oct8ne/customer_data')->gatherWishlistData();
29
+ $quote_data = Mage::helper('oct8ne/customer_data')->gatherCartData();
30
+
31
+ $results = array(
32
+ 'user' => array(
33
+ 'id' => $login_data['id'],
34
+ 'firstName' => $login_data['first_name'],
35
+ 'lastName' => $login_data['last_name'],
36
+ 'email' => $login_data['email'],
37
+ 'whislist' => $wishlist_data,
38
+ 'cart' => $quote_data
39
+ )
40
+ );
41
+
42
+ $response = json_encode($results);
43
+ $response = $callback."(".$response.");";
44
+
45
  $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
46
+ $this->getResponse()->setBody($response);
 
47
  }
48
 
49
  public function productviewAction() {
50
+ Mage::register('oct8ne_rewrite', 1, true); // lo usamos para deshabilitar el redirect
51
+ // $this->_checkApitoken();
52
+
53
  // Get initial data from request
54
  $categoryId = (int) $this->getRequest()->getParam('category', false);
55
  $productId = (int) $this->getRequest()->getParam('id');
77
  $this->_forward('noRoute');
78
  }
79
  }
 
80
  }
81
 
82
  /**
99
  }
100
 
101
  public function add2cartAction() {
102
+ // $this->_checkApitoken();
 
103
 
104
  $cart = $this->_getCart();
105
  $params = $this->getRequest()->getParams();
123
  }
124
 
125
  $cart->addProduct($product, $params);
126
+
127
  if (!empty($related)) {
128
  $cart->addProductsByIds(explode(',', $related));
129
  }
130
+
131
  $cart->save();
132
 
133
  $this->_getSession()->setCartWasUpdated(true);
134
+
135
  /**
136
  * @todo remove wishlist observer processAddToCart
137
  */
138
  Mage::dispatchEvent('checkout_cart_add_product_complete',
139
  array('product' => $product, 'request' => $this->getRequest(), 'response' => $this->getResponse())
140
  );
141
+
142
  if (!$cart->getQuote()->getHasError()){
143
  $products = $this->_getSession()->getOct8neProducts();
144
  if(!is_array($products))
145
+ $products = array();
146
  $products[] = $product->getId();
147
  $this->_getSession()->setOct8neProducts($products);
148
+
149
+ // Este mensaje se deshabilita porque sale a destiempo, cuando el parámetro no sea oct8ne
150
  // $message = $this->__('%s was added to your shopping cart.', Mage::helper('core')->escapeHtml($product->getName()));
151
  // $this->_getSession()->addSuccess($message);
152
  }
153
+
 
154
  $this->loadLayout();
155
  $this->renderLayout();
156
 
160
  } else {
161
  $messages = array_unique(explode("\n", $e->getMessage()));
162
  foreach ($messages as $message)
163
+ $this->_getSession()->addError(Mage::helper('core')->escapeHtml($message));
164
  }
 
165
  } catch (Exception $e) {
166
  // $this->_getSession()->addException($e, $this->__('Cannot add the item to shopping cart.'));
167
  Mage::logException($e);
168
  $this->_goBack();
169
  }
 
170
  }
171
 
172
  /**
173
+ * Retrieve child categories of current category
174
+ *
175
+ * @return Varien_Data_Tree_Node_Collection
176
+ */
177
  public function getCurrentChildCategories()
178
  {
179
  $layer = Mage::getSingleton('catalog/layer');
186
  return $categories;
187
  }
188
 
 
189
  /**
190
+ * Retrieve request object
191
+ *
192
+ * @return Mage_Core_Controller_Request_Http
193
+ * @throws Exception
194
+ */
195
  public function getRequest()
196
  {
197
  $controller = Mage::app()->getFrontController();
202
  }
203
  return $this->_request;
204
  }
205
+
206
  protected function searchAction()
207
  {
208
+ // $this->_checkApitoken();
209
+
210
  $search_criteria = $this->getRequest()->getParam('search', null);
211
+ $search_order = $this->getRequest()->getParam('orderby', null);
212
  $search_dir = $this->getRequest()->getParam('dir', null);
213
+
214
  $storeId = $this->getRequest()->getParam('store', null);
215
  $currency = $this->getRequest()->getParam('currency', null);
216
+
217
  if(is_null($storeId))
218
  {
219
  $storeId = Mage::app()->getStore()->getId();
229
  $currentCurrency = Mage::app()->getStore()->getCurrentCurrencyCode();
230
  if(!is_null($currency))
231
  Mage::app()->getStore()->setCurrentCurrencyCode($currency);
232
+
233
  $callback = $this->getRequest()->getParam('callback', null);
234
  $this->getRequest()->setParam('q', $search_criteria);
235
+
236
+ if(is_null($search_criteria) || strlen($search_criteria)==0){
237
+ //passem totes les dades buides per tal que no mostri resultats
238
+ Mage::register('total_search_results', 0);
239
+ Mage::register('search_result_collection', array());
240
+ Mage::register('partial_search', false);
241
+ Mage::register('callback', $callback);
242
+ Mage::register('search_result_attrs', array());
243
+ Mage::register('search_result_attrs_applied', array());
244
+ Mage::register('search_result_attrs_available', array());
245
+
246
+ Mage::app()->getStore()->setCurrentCurrencyCode($currentCurrency);
247
+
248
+ $results = array(
249
+ 'total' => 0,
250
+ 'results' => array(),
251
+ 'filters' => array(
252
+ 'Applied' => array(),
253
+ 'Available' => array()
254
+ )
255
+ );
256
+
257
+ $response = json_encode($results);
258
+ $response = $callback."(".$response.");";
259
+
260
+ $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
261
+ $this->getResponse()->setBody($response);
262
+ return;
263
+ }
264
  // $this->getRequest()->setParam('order', $search_sort);
265
  // $this->getRequest()->setParam('dir', $search_order);
266
 
278
  Mage::helper('catalogsearch')->checkNotes();
279
 
280
  $query = Mage::getModel('catalogsearch/layer');
281
+
 
 
282
  $filterableAttributes = $query->getFilterableAttributes();
283
  $attrs = array();
284
+
285
  if(!empty($filterableAttributes))
286
  {
287
  $tmp = new Mage_Catalog_Model_Resource_Eav_Attribute();
289
  $tmp->setFrontendLabel('Category');
290
  $filterableAttributes->addItem($tmp);
291
  }
292
+
 
 
293
  foreach ($filterableAttributes as $attribute)
294
  {
295
  $code = $attribute->getAttributeCode();
296
  $name = $attribute->getFrontendLabel();
297
+
298
  // INIT
299
  $items = array();
300
  switch($code)
301
  {
302
+ case 'price':
303
+ $_filterModelName = "catalog/layer_filter_price";
304
+ break;
305
+ case 'decimal':
306
+ $_filterModelName = "catalog/layer_filter_decimal";
307
+ break;
308
+ case 'category':
309
+ $_filterModelName = "catalog/layer_filter_category";
310
+ break;
311
+ default:
312
+ $_filterModelName = "catalog/layer_filter_attribute";
313
+ break;
314
  }
315
 
316
  $filter = Mage::getModel($_filterModelName)
317
+ ->setLayer($query)
318
+ ->setAttributeModel($attribute);
319
  $filter->apply($this->getRequest(), $this);
320
  $items = $filter->getItems();
321
  // INIT
322
 
323
  // En los filtros aplicados no nos viene el nombre, solo el id, lo obtenemos aqui
324
  $optionId = $this->getRequest()->getParam($filter->getRequestVar());
325
+ $featurename = "";
326
  if(!is_null($optionId)) {
327
  switch($code)
328
  {
339
  $featurename = $filter->getAttributeModel()->getFrontend()->getOption($optionId);
340
  break;
341
  }
342
+
343
  }
344
+
345
  $options = array();
346
  foreach($items as $item)
347
  {
348
  if($item->getCount() > 0)
349
+ $options[] = array("Name" => $item->getLabel(), "Param" => $item->getValue(), "Qty" => $item->getCount());
350
  }
351
+
352
  $attrs[] = array(
353
+ 'Param' => $code,
354
+ 'Name' => $name,
355
+ 'Features' => $options,
356
+ 'FeatureName' => $featurename
357
  );
358
  }
359
+
360
  $attrs_applied = array();
361
  $attrs_available = array();
362
  foreach($attrs as $attr)
363
  {
364
+ if(!is_null($this->getRequest()->getParam($attr['Param'])))
365
  {
366
+ $attr['value'] = $this->getRequest()->getParam($attr['Param']);
367
  $attrs_applied[] = $attr;
368
  }
369
  else
370
  {
371
  $attrs_available[] = $attr;
372
  }
 
 
 
 
 
 
 
 
373
  }
374
+
 
375
  $result_collection = $query->getProductCollection();
376
 
 
377
  $order = Mage::getSingleton('catalog/session')->getSortOrder();
378
  $dir = Mage::getSingleton('catalog/session')->getSortDirection();
379
+
380
  if(!$order)
381
  $order = "relevance"; // Mage::getStoreConfig( Mage_Catalog_Model_Config::XML_PATH_LIST_DEFAULT_SORT_BY );
382
  if(!$dir)
383
  $dir = "asc";
384
+
 
385
  if($search_order)
386
  {
387
  if(!$search_dir)
391
  $result_collection->setOrder($order, $dir);
392
  }
393
 
394
+ $total_search_results = $result_collection->count();
 
 
 
 
 
 
 
 
 
 
 
 
395
 
396
  $currency = Mage::helper('oct8ne/customer_data')->getCurrency();
397
  $v = array();
417
 
418
  foreach( $result_collection as $item ) {
419
  $id = $item->getId();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
420
  $v[] = Mage::helper('oct8ne')->getProductInfo($id);
421
  }
 
 
 
 
 
 
 
422
 
423
+ $results = array(
424
+ 'total' => $total_search_results,
425
+ 'results' => $v,
426
+ 'filters' => array(
427
+ 'Applied' => $attrs_applied,
428
+ 'Available' => $attrs_available
429
+ )
430
+ );
431
+
432
  if(!is_null($initialEnvironmentInfo))
433
  {
434
  //Stop environment emulation and restore original store
435
  $appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
436
  }
437
+
438
  Mage::app()->getStore()->setCurrentCurrencyCode($currentCurrency);
439
 
440
+ $callback = $this->getRequest()->getParam('callback', null);
441
+ $response = json_encode($results);
442
+ $response = $callback."(".$response.");";
443
 
444
+ $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
445
+ $this->getResponse()->setBody($response);
446
  }
447
 
448
  /**
481
  protected function _getCart() { return Mage::getSingleton('checkout/cart'); }
482
 
483
  public function search2Action() {
484
+ // $this->_checkApitoken();
485
+
486
  $query = Mage::helper('oct8ne/search')->getQuery();
487
  /* @var $query Mage_CatalogSearch_Model_Query */
488
 
522
 
523
  public function getcartAction()
524
  {
525
+ // $this->_checkApitoken();
 
526
  $result = array();
527
  $cart = $this->_getCart();
528
  foreach($cart->getItems() as $item)
530
  $product = $item->getProduct();
531
  $qty = $item->getQty();
532
  $type = $product->getTypeId();
533
+
534
  if($type == Mage_Catalog_Model_Product_Type::TYPE_SIMPLE
535
+ || $type == Mage_Catalog_Model_Product_Type::TYPE_VIRTUAL
536
+ ){
537
+ $result[] = Mage::helper('oct8ne')->getProductInfo($product->getId(), $qty);
 
 
 
 
538
  }
539
  }
540
 
541
+ $results = array(
542
+ 'total' => count($cart),
543
+ 'results' => $result
544
+ );
545
 
546
+ $callback = $this->getRequest()->getParam('callback', null);
547
+ $response = json_encode($results);
548
+ $response = $callback."(".$response.");";
549
 
550
+ $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
551
+ $this->getResponse()->setBody($response);
552
  }
553
 
 
554
  public function getwishlistAction()
555
  {
556
+ // $this->_checkApitoken();
557
+ $customer = $this->getRequest()->getParam('customer', null);
558
+
559
+ $result_collection = Mage::helper( 'oct8ne/wishlist' )->getWishlist($customer);
560
+
561
+ $results = array(
562
+ 'total' => count($result_collection),
563
+ 'results' => $result_collection
564
  );
565
+
566
+ $callback = $this->getRequest()->getParam('callback', null);
567
+ $response = json_encode($results);
568
+ $response = $callback."(".$response.");";
569
+
570
  $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
571
+ $this->getResponse()->setBody($response);
 
 
572
  }
573
+
574
  public function addtowishlistAction()
575
  {
576
+ // $this->_checkApitoken();
 
 
 
 
577
  $api = Mage::helper( 'oct8ne/wishlist' );
578
+
579
  $result = $api->addToWishlist(
580
  $this->getRequest()->getParam('product', null),
581
  $this->getRequest()->getParam('customer', null)
582
  );
583
+
584
+ $results = array(
585
+ 'result' => $result
 
586
  );
587
+
588
+ $callback = $this->getRequest()->getParam('callback', null);
589
+ $response = json_encode($results);
590
+ $response = $callback."(".$response.");";
591
+
592
  $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
593
+ $this->getResponse()->setBody($response);
 
 
594
  }
595
+
596
  public function removefromwishlistAction()
597
  {
598
+ // $this->_checkApitoken();
 
 
 
 
599
  $api = Mage::helper( 'oct8ne/wishlist' );
 
600
  $result = $api->removeFromWishlist(
601
  $this->getRequest()->getParam('product', null),
602
  $this->getRequest()->getParam('customer', null)
603
  );
604
+
605
+ $results = array(
606
+ 'result' => $result
 
607
  );
608
+
609
+ $callback = $this->getRequest()->getParam('callback', null);
610
+ $response = json_encode($results);
611
+ $response = $callback."(".$response.");";
612
+
613
  $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
614
+ $this->getResponse()->setBody($response);
 
 
615
  }
616
+
617
  public function productInfoAction()
618
  {
619
+ // $this->_checkApitoken();
620
+ $products = $this->getRequest()->getParam('id', null);
621
+ $products_Id = explode(',', $products);
622
+
623
+ $result_collection = array();
624
+ foreach($products_Id as $id)
625
+ $result_collection[] = Mage::helper('oct8ne')->getProductInfo($id);
626
+
627
+ $results = array(
628
+ 'results' => $result_collection
629
  );
630
+
631
+ $callback = $this->getRequest()->getParam('callback', null);
632
+ $response = json_encode($results);
633
+ $response = $callback."(".$response.");";
634
+
635
  $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
636
+ $this->getResponse()->setBody($response);
 
 
637
  }
638
+
639
+ public function getVersionAction()
640
+ {
641
+ $version = Mage::helper('oct8ne')->getExtensionVersion();
642
+
643
+ $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
644
+ $this->getResponse()->setBody(json_encode($version));
645
+ }
646
+
647
  public function productRelatedAction()
648
  {
649
+ // $this->_checkApitoken();
650
+ $product_id = $this->getRequest()->getParam('id', null);
651
+
652
+ $results = array(
653
+ 'results' => Mage::helper('oct8ne')->getRelatedProducts($product_id)
 
 
 
654
  );
655
+
656
+ $callback = $this->getRequest()->getParam('callback', null);
657
+ $response = json_encode($results);
658
+ $response = $callback."(".$response.");";
659
+
660
+ $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
661
+ $this->getResponse()->setBody($response);
662
+ }
663
+
664
+ protected function resizeImg($fileName, $width, $height = null)
665
+ {
666
+ $folderURL = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
667
+ $imageURL = $folderURL . $fileName;
668
+
669
+ $basePath = Mage::getBaseDir(Mage_Core_Model_Store::URL_TYPE_MEDIA) . DS . $fileName;
670
+ $newPath = Mage::getBaseDir(Mage_Core_Model_Store::URL_TYPE_MEDIA) . DS . "resized" . DS . $width . DS . $fileName;
671
+ //if width empty then return original size image's URL
672
+ if ($width != '') {
673
+ //if image has already resized then just return URL
674
+ if (file_exists($basePath) && is_file($basePath) && !file_exists($newPath)) {
675
+ $imageObj = new Varien_Image($basePath);
676
+ if($imageObj->getOriginalWidth() <= $width)
677
+ return $basePath;
678
+ $imageObj->constrainOnly(TRUE);
679
+ $imageObj->keepAspectRatio(FALSE);
680
+ $imageObj->keepFrame(FALSE);
681
+ $imageObj->resize($width, $height);
682
+ $imageObj->save($newPath);
683
+ }
684
+ $resizedURL = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . "resized" . DS . $fileName;
685
+ } else {
686
+ $resizedURL = $imageURL;
687
+ }
688
+ return $newPath; // $resizedURL;
689
+ }
690
+
691
+ public function imageAction()
692
+ {
693
+ // $this->_checkApitoken();
694
+
695
+ $base = Mage::getBaseDir('media');
696
+ $file = $this->getRequest()->getParam('file', null);
697
+ $width = $this->getRequest()->getParam('width', null);
698
+
699
+ if($width == null)
700
+ $newfile = "$base/$file";
701
  else
702
+ $newfile = $this->resizeImg($file, $width);
703
+
704
+ $mime_types = array(
705
+ 'png' => 'image/png',
706
+ 'jpe' => 'image/jpeg',
707
+ 'jpeg' => 'image/jpeg',
708
+ 'jpg' => 'image/jpeg',
709
+ 'gif' => 'image/gif',
710
+ 'bmp' => 'image/bmp',
711
+ 'ico' => 'image/vnd.microsoft.icon',
712
+ 'tiff' => 'image/tiff',
713
+ 'tif' => 'image/tiff',
714
+ 'svg' => 'image/svg+xml',
715
+ 'svgz' => 'image/svg+xml',
716
  );
717
+ $path_parts = pathinfo($newfile);
718
+ $mime = $mime_types[strtolower($path_parts['extension'])];
719
+
720
+ $this->getResponse()->clearHeaders();
721
+ $this->getResponse()->setHeader('Content-Type', $mime, true);
722
+ $this->getResponse()->setHeader('Cache-Control', 'max-age: 300', true);
723
+ $this->getResponse()->setHeader('Expires', gmdate('D, d M Y H:i:s \G\M\T', time() + 86400), true);
724
+ $this->getResponse()->setHeader('Pragma', 'cache', true);
725
+ $this->getResponse()->setHeader('Age', '0', true);
726
+
727
+ $this->getResponse()->setBody(file_get_contents($newfile));
728
+ }
729
+
730
+ public function getReportDataAction()
731
+ {
732
+ $this->_checkApitoken();
733
+
734
+ $callback = $this->getRequest()->getParam('callback', null);
735
+ $from = $this->getRequest()->getParam('from', null);
736
+ $to = $this->getRequest()->getParam('to', null);
737
+ $report = $this->getRequest()->getParam('report', null);
738
+
739
+ $result_collection = Mage::getModel('oct8ne/'.$report.'products')->getCollection();
740
+ if( !empty($from) )
741
+ $result_collection->getSelect()->where("created_at >= CAST(? AS DATETIME)", $from);
742
+ if( !empty($to) )
743
+ $result_collection->getSelect()->where("CAST(? AS DATETIME) > created_at", $to);
744
+
745
+ $v = array();
746
+ foreach( $result_collection as $i => $item){
747
+ $values = array(
748
+ 'ProductId' => $item['product_id'],
749
+ 'Qty' => $item['qty'],
750
+ 'UserId' => $item['customer_id'],
751
+ 'Oct8neSession' => $item['oct8ne'],
752
+ 'Date' => $item['created_at'],
753
+ 'ProductPrice' => $item['product_price'],
754
+ 'Currency' => $item['currency'],
755
+ );
756
+
757
+ if($report == 'order')
758
+ {
759
+ $order = Mage::getModel('sales/order')->load($item['order_id']);
760
+ if($order != null)
761
+ {
762
+ $orderValid = 1;
763
+ $incrementId = $order->getIncrementId();
764
+ $status = $order->getStatus();
765
+ }
766
+ else
767
+ {
768
+ $orderValid = 0;
769
+ }
770
+
771
+ $values += array(
772
+ 'InternalId' => $item['orderproducts_id'],
773
+ 'OrderId' => $item['order_id'],
774
+ 'OrderValid' => $orderValid,
775
+ 'IncrementId' => $incrementId,
776
+ 'OrderPrice' => $item[$report . '_price'],
777
+ 'Status' => $status
778
+ );
779
+ }else if($report == 'quote')
780
+ {
781
+ $quote = Mage::getModel('sales/order')->load($item['quoteproducts_id']);
782
+ if($quote != null)
783
+ {
784
+ $quoteValid = 1;
785
+ }
786
+ else
787
+ {
788
+ $quoteValid = 0;
789
+ }
790
+
791
+ $values += array(
792
+ 'InternalId' => $item['quoteproducts_id'],
793
+ 'QuoteId' => $item['quote_id'],
794
+ 'QuoteValid' => $quoteValid,
795
+ 'QuotePrice' => $item[$report . '_price'],
796
+ );
797
+ }
798
+
799
+ $v[] = $values;
800
+ }
801
+
802
+ $results = array(
803
+ 'total' => $result_collection->getSize(),
804
+ 'results' => $v
805
  );
806
+ $response = json_encode($results);
807
+ // $response = $callback."(".$response.");";
808
+
809
  $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
810
+ $this->getResponse()->setBody($response);
811
+ }
812
+
813
+ public function systemcheckAction()
814
+ {
815
+ $text = array();
816
+ $text[] = get_class( Mage::getModel('core/url') );
817
+ $text[] = get_class( Mage::getModel('core/url_rewrite') );
818
+ // $text[] = get_class( Mage::getModel('core/url_rewrite_request') );
819
+ $text[] = get_class( Mage::getModel('core/design_package') );
820
+ $text[] = get_class( Mage::getModel('checkout/type_onepage') );
821
+ // $text[] = get_class( Mage::getModel('core/domainpolicy') );
822
+ // $text[] = get_class( Mage::getBlock('catalog/product_view') );
823
+ $text[] = get_class( $this->getLayout()->createBlock('catalog/product_view') );
824
+ $text[] = get_class( $this->getLayout()->createBlock('page/html_head') );
825
 
826
+ $this->getResponse()->setHeader('Content-type', 'application/json; charset=UTF8', true);
827
+ $this->getResponse()->setBody(implode("\n", $text));
828
+ //echo get_class( Mage::getModel('Mage_Core_Model_Url') );
829
+ //die;
830
  }
831
  };
app/code/community/LetsSyncroLLC/Oct8ne/controllers/letssyncro.phtml CHANGED
@@ -1,4 +1,6 @@
1
  <?php
 
 
2
  global $letssyncro;
3
  if (!isset($letssyncro)) {
4
  $letssyncro = Mage::getModel('oct8ne/letssyncro')->load(1);
1
  <?php
2
+
3
+ Mage::log("Entra en Archivo letssyncro.phtml de controller! (Not Deprecated) ", null, 'Aramis-log.log');
4
  global $letssyncro;
5
  if (!isset($letssyncro)) {
6
  $letssyncro = Mage::getModel('oct8ne/letssyncro')->load(1);
app/code/community/LetsSyncroLLC/Oct8ne/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <LetsSyncroLLC_Oct8ne>
5
- <version>1.1.5</version>
6
  </LetsSyncroLLC_Oct8ne>
7
  </modules>
8
  <global>
@@ -21,6 +21,10 @@
21
  <orderproducts>
22
  <table>orderproducts</table>
23
  </orderproducts>
 
 
 
 
24
  </entities>
25
  </oct8ne_mysql4>
26
 
@@ -28,6 +32,10 @@
28
  <core>
29
  <rewrite>
30
  <url>LetsSyncroLLC_Oct8ne_Model_Mage_Url</url>
 
 
 
 
31
  </rewrite>
32
  </core>
33
 
@@ -36,7 +44,7 @@
36
  <type_onepage>LetsSyncroLLC_Oct8ne_Model_Mage_Onepage</type_onepage>
37
  </rewrite>
38
  </checkout>
39
-
40
  </models>
41
  <blocks>
42
  <oct8ne>
@@ -48,6 +56,12 @@
48
  <html_head>LetsSyncroLLC_Oct8ne_Block_Html_Head</html_head>
49
  </rewrite>
50
  </page>
 
 
 
 
 
 
51
 
52
  </blocks>
53
  <helpers>
@@ -107,19 +121,58 @@
107
  </LetsSyncroLLC_Oct8ne_Order>
108
  </observers>
109
  </sales_order_place_after>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  </events>
111
  </global>
112
  <frontend>
113
  <routers>
114
- <oct8ne>
115
- <!-- <LetsSyncroLLC_LetsSyncro> -->
116
- <use>standard</use>
117
- <args>
118
- <module>LetsSyncroLLC_Oct8ne</module>
119
- <frontName>oct8ne</frontName>
120
- </args>
121
- <!-- </LetsSyncroLLC_LetsSyncro> -->
122
- </oct8ne>
123
 
124
  <customer>
125
  <args>
@@ -139,15 +192,15 @@
139
  </frontend>
140
  <admin>
141
  <routers>
142
- <!-- <LetsSyncroLLC_LetsSyncro> -->
143
- <oct8ne>
144
- <use>admin</use>
145
- <args>
146
- <module>LetsSyncroLLC_Oct8ne</module>
147
- <frontName>oct8ne</frontName>
148
- </args>
149
- </oct8ne>
150
- <!-- </LetsSyncroLLC_LetsSyncro> -->
151
  </routers>
152
  </admin>
153
  <adminhtml>
@@ -160,61 +213,61 @@
160
  </LetsSyncroLLC_Oct8ne>
161
  </modules>
162
  </translate>
163
- <menu>
164
- <oct8ne translate="title" module="oct8ne">
165
- <title>Oct8ne</title>
166
- <sort_order>1000</sort_order>
167
- <children>
168
- <accountconfig translate="title" module="oct8ne">
169
- <title>Account Setup</title>
170
  <action>oct8ne/admin/accountconfig</action>
171
- <sort_order>0</sort_order>
172
- </accountconfig>
173
- <!--<dashboard translate="title" module="oct8ne">
174
- <title>Dashboard</title>
175
  <action>oct8ne/admin/dashboard</action>
176
- <sort_order>20</sort_order>
177
- </dashboard>
178
  <syncrodata translate="title" module="oct8ne">
179
  <title>Syncro Data</title>
180
  <action>oct8ne/admin/syncrodata</action>
181
  <sort_order>40</sort_order>
182
  </syncrodata>-->
183
- </children>
184
- </oct8ne>
185
- </menu>
186
- <acl>
187
- <resources>
188
- <admin>
189
- <children>
190
- <oct8ne translate="title" module="oct8ne">
191
- <title>Oct8ne</title>
192
- <sort_order>1000</sort_order>
193
- <children>
194
- <accountconfig translate="title" module="oct8ne">
195
- <title>Account Setup</title>
196
- <action>oct8ne/admin/accountconfig</action>
197
- <sort_order>0</sort_order>
198
- </accountconfig>
199
- <!--<dashboard translate="title" module="oct8ne">
200
- <title>Dashboard</title>
201
- <action>oct8ne/admin/dashboard</action>
202
- <sort_order>20</sort_order>
203
- </dashboard>
204
- <syncrodata translate="title" module="oct8ne">
205
- <title>Syncro Data</title>
206
- <action>oct8ne/admin/syncrodata</action>
207
- <sort_order>40</sort_order>
208
- </syncrodata>-->
209
- </children>
210
- </oct8ne>
211
  </children>
212
- </admin>
213
 
214
- </resources>
215
 
216
 
217
- </acl>
218
  </adminhtml>
219
 
220
  <default>
2
  <config>
3
  <modules>
4
  <LetsSyncroLLC_Oct8ne>
5
+ <version>1.2.0</version>
6
  </LetsSyncroLLC_Oct8ne>
7
  </modules>
8
  <global>
21
  <orderproducts>
22
  <table>orderproducts</table>
23
  </orderproducts>
24
+
25
+ <quoteproducts>
26
+ <table>quoteproducts</table>
27
+ </quoteproducts>
28
  </entities>
29
  </oct8ne_mysql4>
30
 
32
  <core>
33
  <rewrite>
34
  <url>LetsSyncroLLC_Oct8ne_Model_Mage_Url</url>
35
+ <url_rewrite>LetsSyncroLLC_Oct8ne_Model_Mage_Rewrite</url_rewrite>
36
+ <url_rewrite_request>LetsSyncroLLC_Oct8ne_Model_Mage_Request</url_rewrite_request>
37
+ <design_package>LetsSyncroLLC_Oct8ne_Model_Mage_Package</design_package>
38
+ <!-- domainpolicy>LetsSyncroLLC_Oct8ne_Model_Mage_Domainpolicy</domainpolicy -->
39
  </rewrite>
40
  </core>
41
 
44
  <type_onepage>LetsSyncroLLC_Oct8ne_Model_Mage_Onepage</type_onepage>
45
  </rewrite>
46
  </checkout>
47
+
48
  </models>
49
  <blocks>
50
  <oct8ne>
56
  <html_head>LetsSyncroLLC_Oct8ne_Block_Html_Head</html_head>
57
  </rewrite>
58
  </page>
59
+
60
+ <catalog>
61
+ <rewrite>
62
+ <product_view>LetsSyncroLLC_Oct8ne_Block_Mage_Product_View</product_view>
63
+ </rewrite>
64
+ </catalog>
65
 
66
  </blocks>
67
  <helpers>
121
  </LetsSyncroLLC_Oct8ne_Order>
122
  </observers>
123
  </sales_order_place_after>
124
+
125
+ <sales_quote_save_after>
126
+ <observers>
127
+ <LetsSyncroLLC_Oct8ne_Quote>
128
+ <type>singleton</type>
129
+ <class>LetsSyncroLLC_Oct8ne_Model_Observer</class>
130
+ <method>saveQuoteAfter</method>
131
+ </LetsSyncroLLC_Oct8ne_Quote>
132
+ </observers>
133
+ </sales_quote_save_after>
134
+
135
+ <controller_action_predispatch>
136
+ <observers>
137
+ <LetsSyncroLLC_Oct8ne_Quote_security_domain_policy>
138
+ <class>LetsSyncroLLC_Oct8ne_Model_Observer</class>
139
+ <method>checkDomainPolicyHeader</method>
140
+ </LetsSyncroLLC_Oct8ne_Quote_security_domain_policy>
141
+ </observers>
142
+ </controller_action_predispatch>
143
+
144
+ <checkout_cart_add_product_complete>
145
+ <observers>
146
+ <LetsSyncroLLC_Oct8ne_Add_To_Cart>
147
+ <type>singleton</type>
148
+ <class>LetsSyncroLLC_Oct8ne_Model_Observer</class>
149
+ <method>addToCartAjaxOct</method>
150
+ </LetsSyncroLLC_Oct8ne_Add_To_Cart>
151
+ </observers>
152
+ </checkout_cart_add_product_complete>
153
+
154
+ <checkout_cart_save_after>
155
+ <observers>
156
+ <LetsSyncroLLC_Oct8ne_Add_To_Cart>
157
+ <type>singleton</type>
158
+ <class>LetsSyncroLLC_Oct8ne_Model_Observer</class>
159
+ <method>updatedCartOct</method>
160
+ </LetsSyncroLLC_Oct8ne_Add_To_Cart>
161
+ </observers>
162
+ </checkout_cart_save_after>
163
  </events>
164
  </global>
165
  <frontend>
166
  <routers>
167
+ <oct8ne>
168
+ <!-- <LetsSyncroLLC_LetsSyncro> -->
169
+ <use>standard</use>
170
+ <args>
171
+ <module>LetsSyncroLLC_Oct8ne</module>
172
+ <frontName>oct8ne</frontName>
173
+ </args>
174
+ <!-- </LetsSyncroLLC_LetsSyncro> -->
175
+ </oct8ne>
176
 
177
  <customer>
178
  <args>
192
  </frontend>
193
  <admin>
194
  <routers>
195
+ <!-- <LetsSyncroLLC_LetsSyncro> -->
196
+ <oct8ne>
197
+ <use>admin</use>
198
+ <args>
199
+ <module>LetsSyncroLLC_Oct8ne</module>
200
+ <frontName>oct8ne</frontName>
201
+ </args>
202
+ </oct8ne>
203
+ <!-- </LetsSyncroLLC_LetsSyncro> -->
204
  </routers>
205
  </admin>
206
  <adminhtml>
213
  </LetsSyncroLLC_Oct8ne>
214
  </modules>
215
  </translate>
216
+ <menu>
217
+ <oct8ne translate="title" module="oct8ne">
218
+ <title>Oct8ne</title>
219
+ <sort_order>1000</sort_order>
220
+ <children>
221
+ <accountconfig translate="title" module="oct8ne">
222
+ <title>Account Setup</title>
223
  <action>oct8ne/admin/accountconfig</action>
224
+ <sort_order>0</sort_order>
225
+ </accountconfig>
226
+ <!--<dashboard translate="title" module="oct8ne">
227
+ <title>Dashboard</title>
228
  <action>oct8ne/admin/dashboard</action>
229
+ <sort_order>20</sort_order>
230
+ </dashboard>
231
  <syncrodata translate="title" module="oct8ne">
232
  <title>Syncro Data</title>
233
  <action>oct8ne/admin/syncrodata</action>
234
  <sort_order>40</sort_order>
235
  </syncrodata>-->
236
+ </children>
237
+ </oct8ne>
238
+ </menu>
239
+ <acl>
240
+ <resources>
241
+ <admin>
242
+ <children>
243
+ <oct8ne translate="title" module="oct8ne">
244
+ <title>Oct8ne</title>
245
+ <sort_order>1000</sort_order>
246
+ <children>
247
+ <accountconfig translate="title" module="oct8ne">
248
+ <title>Account Setup</title>
249
+ <action>oct8ne/admin/accountconfig</action>
250
+ <sort_order>0</sort_order>
251
+ </accountconfig>
252
+ <!--<dashboard translate="title" module="oct8ne">
253
+ <title>Dashboard</title>
254
+ <action>oct8ne/admin/dashboard</action>
255
+ <sort_order>20</sort_order>
256
+ </dashboard>
257
+ <syncrodata translate="title" module="oct8ne">
258
+ <title>Syncro Data</title>
259
+ <action>oct8ne/admin/syncrodata</action>
260
+ <sort_order>40</sort_order>
261
+ </syncrodata>-->
262
+ </children>
263
+ </oct8ne>
264
  </children>
265
+ </admin>
266
 
267
+ </resources>
268
 
269
 
270
+ </acl>
271
  </adminhtml>
272
 
273
  <default>
app/code/community/LetsSyncroLLC/Oct8ne/etc/config.xml.bak ADDED
@@ -0,0 +1,263 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <LetsSyncroLLC_Oct8ne>
5
+ <version>1.2.0</version>
6
+ </LetsSyncroLLC_Oct8ne>
7
+ </modules>
8
+ <global>
9
+ <models>
10
+ <oct8ne>
11
+ <class>LetsSyncroLLC_Oct8ne_Model</class>
12
+ <resourceModel>oct8ne_mysql4</resourceModel>
13
+ </oct8ne>
14
+ <oct8ne_mysql4>
15
+ <class>LetsSyncroLLC_Oct8ne_Model_Mysql4</class>
16
+ <entities>
17
+ <letssyncro>
18
+ <table>letssyncro</table>
19
+ </letssyncro>
20
+
21
+ <orderproducts>
22
+ <table>orderproducts</table>
23
+ </orderproducts>
24
+
25
+ <quoteproducts>
26
+ <table>quoteproducts</table>
27
+ </quoteproducts>
28
+ </entities>
29
+ </oct8ne_mysql4>
30
+
31
+
32
+ <core>
33
+ <rewrite>
34
+ <url>LetsSyncroLLC_Oct8ne_Model_Mage_Url</url>
35
+ <url_rewrite>LetsSyncroLLC_Oct8ne_Model_Mage_Rewrite</url_rewrite>
36
+ <url_rewrite_request>LetsSyncroLLC_Oct8ne_Model_Mage_Request</url_rewrite_request>
37
+ <design_package>LetsSyncroLLC_Oct8ne_Model_Mage_Package</design_package>
38
+ <!-- domainpolicy>LetsSyncroLLC_Oct8ne_Model_Mage_Domainpolicy</domainpolicy -->
39
+ </rewrite>
40
+ </core>
41
+
42
+ <checkout>
43
+ <rewrite>
44
+ <type_onepage>LetsSyncroLLC_Oct8ne_Model_Mage_Onepage</type_onepage>
45
+ </rewrite>
46
+ </checkout>
47
+
48
+ </models>
49
+ <blocks>
50
+ <oct8ne>
51
+ <class>LetsSyncroLLC_Oct8ne_Block</class>
52
+ </oct8ne>
53
+
54
+ <page>
55
+ <rewrite>
56
+ <html_head>LetsSyncroLLC_Oct8ne_Block_Html_Head</html_head>
57
+ </rewrite>
58
+ </page>
59
+
60
+ <catalog>
61
+ <rewrite>
62
+ <product_view>LetsSyncroLLC_Oct8ne_Block_Mage_Product_View</product_view>
63
+ </rewrite>
64
+ </catalog>
65
+
66
+ </blocks>
67
+ <helpers>
68
+ <oct8ne>
69
+ <class>LetsSyncroLLC_Oct8ne_Helper</class>
70
+ </oct8ne>
71
+ </helpers>
72
+ <resources>
73
+ <oct8ne_setup>
74
+ <setup>
75
+ <module>LetsSyncroLLC_Oct8ne</module>
76
+ </setup>
77
+ <connection>
78
+ <use>core_setup</use>
79
+ </connection>
80
+ </oct8ne_setup>
81
+ <oct8ne_write>
82
+ <connection>
83
+ <use>core_write</use>
84
+ </connection>
85
+ </oct8ne_write>
86
+ <oct8ne_read>
87
+ <connection>
88
+ <use>core_read</use>
89
+ </connection>
90
+ </oct8ne_read>
91
+ </resources>
92
+
93
+
94
+ <events>
95
+ <controller_front_init_routers>
96
+ <observers>
97
+ <LetsSyncroLLC_Oct8ne_Intercept>
98
+ <type>singleton</type>
99
+ <class>LetsSyncroLLC_Oct8ne_Model_Observer</class>
100
+ <method>interceptMethod</method>
101
+ </LetsSyncroLLC_Oct8ne_Intercept>
102
+ </observers>
103
+ </controller_front_init_routers>
104
+
105
+ <controller_action_layout_render_before>
106
+ <observers>
107
+ <LetsSyncroLLC_Oct8ne_Layout>
108
+ <type>singleton</type>
109
+ <class>LetsSyncroLLC_Oct8ne_Model_Observer</class>
110
+ <method>layoutRenderBefore</method>
111
+ </LetsSyncroLLC_Oct8ne_Layout>
112
+ </observers>
113
+ </controller_action_layout_render_before>
114
+
115
+ <sales_order_place_after>
116
+ <observers>
117
+ <LetsSyncroLLC_Oct8ne_Order>
118
+ <type>singleton</type>
119
+ <class>LetsSyncroLLC_Oct8ne_Model_Observer</class>
120
+ <method>placeOrderBefore</method>
121
+ </LetsSyncroLLC_Oct8ne_Order>
122
+ </observers>
123
+ </sales_order_place_after>
124
+
125
+ <sales_quote_save_after>
126
+ <observers>
127
+ <LetsSyncroLLC_Oct8ne_Quote>
128
+ <type>singleton</type>
129
+ <class>LetsSyncroLLC_Oct8ne_Model_Observer</class>
130
+ <method>saveQuoteAfter</method>
131
+ </LetsSyncroLLC_Oct8ne_Quote>
132
+ </observers>
133
+ </sales_quote_save_after>
134
+
135
+ <controller_action_predispatch>
136
+ <observers>
137
+ <LetsSyncroLLC_Oct8ne_Quote_security_domain_policy>
138
+ <class>LetsSyncroLLC_Oct8ne_Model_Observer</class>
139
+ <method>checkDomainPolicyHeader</method>
140
+ </LetsSyncroLLC_Oct8ne_Quote_security_domain_policy>
141
+ </observers>
142
+ </controller_action_predispatch>
143
+
144
+ </events>
145
+ </global>
146
+ <frontend>
147
+ <routers>
148
+ <oct8ne>
149
+ <!-- <LetsSyncroLLC_LetsSyncro> -->
150
+ <use>standard</use>
151
+ <args>
152
+ <module>LetsSyncroLLC_Oct8ne</module>
153
+ <frontName>oct8ne</frontName>
154
+ </args>
155
+ <!-- </LetsSyncroLLC_LetsSyncro> -->
156
+ </oct8ne>
157
+
158
+ <customer>
159
+ <args>
160
+ <modules>
161
+ <oct8ne before="Mage_Customer">LetsSyncroLLC_Oct8ne</oct8ne>
162
+ </modules>
163
+ </args>
164
+ </customer>
165
+ </routers>
166
+ <layout>
167
+ <updates>
168
+ <LetsSyncroLLC_Oct8ne>
169
+ <file>oct8ne.xml</file>
170
+ </LetsSyncroLLC_Oct8ne>
171
+ </updates>
172
+ </layout>
173
+ </frontend>
174
+ <admin>
175
+ <routers>
176
+ <!-- <LetsSyncroLLC_LetsSyncro> -->
177
+ <oct8ne>
178
+ <use>admin</use>
179
+ <args>
180
+ <module>LetsSyncroLLC_Oct8ne</module>
181
+ <frontName>oct8ne</frontName>
182
+ </args>
183
+ </oct8ne>
184
+ <!-- </LetsSyncroLLC_LetsSyncro> -->
185
+ </routers>
186
+ </admin>
187
+ <adminhtml>
188
+ <translate>
189
+ <modules>
190
+ <LetsSyncroLLC_Oct8ne>
191
+ <files>
192
+ <default>LetsSyncroLLC_Oct8ne.csv</default>
193
+ </files>
194
+ </LetsSyncroLLC_Oct8ne>
195
+ </modules>
196
+ </translate>
197
+ <menu>
198
+ <oct8ne translate="title" module="oct8ne">
199
+ <title>Oct8ne</title>
200
+ <sort_order>1000</sort_order>
201
+ <children>
202
+ <accountconfig translate="title" module="oct8ne">
203
+ <title>Account Setup</title>
204
+ <action>oct8ne/admin/accountconfig</action>
205
+ <sort_order>0</sort_order>
206
+ </accountconfig>
207
+ <!--<dashboard translate="title" module="oct8ne">
208
+ <title>Dashboard</title>
209
+ <action>oct8ne/admin/dashboard</action>
210
+ <sort_order>20</sort_order>
211
+ </dashboard>
212
+ <syncrodata translate="title" module="oct8ne">
213
+ <title>Syncro Data</title>
214
+ <action>oct8ne/admin/syncrodata</action>
215
+ <sort_order>40</sort_order>
216
+ </syncrodata>-->
217
+ </children>
218
+ </oct8ne>
219
+ </menu>
220
+ <acl>
221
+ <resources>
222
+ <admin>
223
+ <children>
224
+ <oct8ne translate="title" module="oct8ne">
225
+ <title>Oct8ne</title>
226
+ <sort_order>1000</sort_order>
227
+ <children>
228
+ <accountconfig translate="title" module="oct8ne">
229
+ <title>Account Setup</title>
230
+ <action>oct8ne/admin/accountconfig</action>
231
+ <sort_order>0</sort_order>
232
+ </accountconfig>
233
+ <!--<dashboard translate="title" module="oct8ne">
234
+ <title>Dashboard</title>
235
+ <action>oct8ne/admin/dashboard</action>
236
+ <sort_order>20</sort_order>
237
+ </dashboard>
238
+ <syncrodata translate="title" module="oct8ne">
239
+ <title>Syncro Data</title>
240
+ <action>oct8ne/admin/syncrodata</action>
241
+ <sort_order>40</sort_order>
242
+ </syncrodata>-->
243
+ </children>
244
+ </oct8ne>
245
+ </children>
246
+ </admin>
247
+
248
+ </resources>
249
+
250
+
251
+ </acl>
252
+ </adminhtml>
253
+
254
+ <default>
255
+ <design>
256
+ <oct8nedesign>
257
+ <package>default</package>
258
+ <theme>oct8ne</theme>
259
+ </oct8nedesign>
260
+ </design>
261
+ </default>
262
+ </config>
263
+
app/code/community/LetsSyncroLLC/Oct8ne/sql/oct8ne_setup/mysql4-upgrade-1.0.0-1.1.0.php CHANGED
@@ -1,20 +1,20 @@
1
- <?php
2
-
3
- $installer = $this;
4
-
5
- $installer->startSetup();
6
-
7
- $installer->run("
8
-
9
- -- DROP TABLE IF EXISTS {$this->getTable('orderproducts')};
10
- CREATE TABLE {$this->getTable('orderproducts')} (
11
- `orderproducts_id` int(11) unsigned NOT NULL auto_increment,
12
- `order_id` int(11) unsigned NOT NULL,
13
- `product_id` int(11) unsigned NOT NULL,
14
- `oct8ne` varchar(1) NOT NULL default 'N',
15
- PRIMARY KEY (`orderproducts_id`)
16
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
17
-
18
- ");
19
-
20
  $installer->endSetup();
1
+ <?php
2
+
3
+ $installer = $this;
4
+
5
+ $installer->startSetup();
6
+
7
+ $installer->run("
8
+
9
+ -- DROP TABLE IF EXISTS {$this->getTable('orderproducts')};
10
+ CREATE TABLE {$this->getTable('orderproducts')} (
11
+ `orderproducts_id` int(11) unsigned NOT NULL auto_increment,
12
+ `order_id` int(11) unsigned NOT NULL,
13
+ `product_id` int(11) unsigned NOT NULL,
14
+ `oct8ne` varchar(1) NOT NULL default 'N',
15
+ PRIMARY KEY (`orderproducts_id`)
16
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
17
+
18
+ ");
19
+
20
  $installer->endSetup();
app/code/community/LetsSyncroLLC/Oct8ne/sql/oct8ne_setup/mysql4-upgrade-1.1.6-1.1.7.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+
5
+ $installer->startSetup();
6
+
7
+ $installer->run("
8
+ ALTER TABLE {$this->getTable('orderproducts')}
9
+ ADD `qty` int(11) unsigned NOT NULL,
10
+ ADD `customer_id` int(11) unsigned NOT NULL,
11
+ ADD `product_price` decimal(12,4) NOT NULL default '0.0000',
12
+ ADD `order_price` decimal(12,4) NOT NULL default '0.0000',
13
+ ADD `created_at` datetime NOT NULL default '0000-00-00 00:00:00',
14
+ ADD `currency` varchar(3) NOT NULL default 'EUR',
15
+ MODIFY `oct8ne` varchar(128)
16
+ ");
17
+
18
+ $installer->run("
19
+
20
+ -- DROP TABLE IF EXISTS {$this->getTable('quoteproducts')};
21
+ CREATE TABLE {$this->getTable('quoteproducts')} (
22
+ `quoteproducts_id` int(11) unsigned NOT NULL auto_increment,
23
+ `quote_id` int(11) unsigned NOT NULL,
24
+ `product_id` int(11) unsigned NOT NULL,
25
+ `product_price` decimal(12,4) NOT NULL default '0.0000',
26
+ `quote_price` decimal(12,4) NOT NULL default '0.0000',
27
+ `oct8ne` varchar(128),
28
+ `qty` int(11) unsigned NOT NULL,
29
+ `customer_id` int(11) unsigned NOT NULL,
30
+ `created_at` datetime NOT NULL default '0000-00-00 00:00:00',
31
+ `currency` varchar(3) NOT NULL default 'EUR',
32
+ PRIMARY KEY (`quoteproducts_id`)
33
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
34
+
35
+ ");
36
+
37
+ $installer->endSetup();
app/design/frontend/base/default/layout/oct8ne.xml CHANGED
@@ -13,10 +13,7 @@
13
  <oct8ne_frame_customerdata>
14
  <reference name="root">
15
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
16
- </reference>
17
-
18
- <reference name="content">
19
- <block type="core/template" template="oct8ne/frame/customer/data.phtml" />
20
  </reference>
21
  </oct8ne_frame_customerdata>
22
 
@@ -36,10 +33,7 @@
36
  <oct8ne_frame_search>
37
  <reference name="root">
38
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
39
- </reference>
40
-
41
- <reference name="content">
42
- <block type="core/template" template="oct8ne/frame/search.phtml" />
43
  </reference>
44
  </oct8ne_frame_search>
45
 
@@ -181,60 +175,56 @@
181
  <oct8ne_frame_getcart>
182
  <reference name="root">
183
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
184
- </reference>
185
-
186
- <reference name="content">
187
- <block type="core/template" template="oct8ne/frame/getcart.phtml" />
188
  </reference>
189
  </oct8ne_frame_getcart>
190
 
191
  <oct8ne_frame_getwishlist>
192
  <reference name="root">
193
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
194
- </reference>
195
-
196
- <reference name="content">
197
- <block type="core/template" template="oct8ne/frame/getwishlist.phtml" />
198
  </reference>
199
  </oct8ne_frame_getwishlist>
200
 
201
  <oct8ne_frame_addtowishlist>
202
  <reference name="root">
203
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
204
- </reference>
205
-
206
- <reference name="content">
207
- <block type="core/template" template="oct8ne/frame/addtowishlist.phtml" />
208
  </reference>
209
  </oct8ne_frame_addtowishlist>
210
 
211
  <oct8ne_frame_removefromwishlist>
212
  <reference name="root">
213
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
214
- </reference>
215
-
216
- <reference name="content">
217
- <block type="core/template" template="oct8ne/frame/removefromwishlist.phtml" />
218
  </reference>
219
  </oct8ne_frame_removefromwishlist>
220
 
221
  <oct8ne_frame_productinfo>
222
  <reference name="root">
223
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
 
224
  </reference>
 
225
 
226
- <reference name="content">
227
- <block type="core/template" template="oct8ne/frame/productinfo.phtml" />
 
 
228
  </reference>
229
- </oct8ne_frame_productinfo>
230
 
231
  <oct8ne_frame_productrelated>
232
  <reference name="root">
233
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
234
- </reference>
235
-
236
- <reference name="content">
237
- <block type="core/template" template="oct8ne/frame/productrelated.phtml" />
238
  </reference>
239
  </oct8ne_frame_productrelated>
 
 
 
 
 
 
 
240
  </layout>
13
  <oct8ne_frame_customerdata>
14
  <reference name="root">
15
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
16
+ <block type="core/template" template="oct8ne/frame/customer/data.phtml" name="jsoncontent" />
 
 
 
17
  </reference>
18
  </oct8ne_frame_customerdata>
19
 
33
  <oct8ne_frame_search>
34
  <reference name="root">
35
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
36
+ <block type="core/template" template="oct8ne/frame/search.phtml" name="jsoncontent" />
 
 
 
37
  </reference>
38
  </oct8ne_frame_search>
39
 
175
  <oct8ne_frame_getcart>
176
  <reference name="root">
177
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
178
+ <block type="core/template" template="oct8ne/frame/getcart.phtml" name="jsoncontent" />
 
 
 
179
  </reference>
180
  </oct8ne_frame_getcart>
181
 
182
  <oct8ne_frame_getwishlist>
183
  <reference name="root">
184
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
185
+ <block type="core/template" template="oct8ne/frame/getwishlist.phtml" name="jsoncontent" />
 
 
 
186
  </reference>
187
  </oct8ne_frame_getwishlist>
188
 
189
  <oct8ne_frame_addtowishlist>
190
  <reference name="root">
191
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
192
+ <block type="core/template" template="oct8ne/frame/addtowishlist.phtml" name="jsoncontent" />
 
 
 
193
  </reference>
194
  </oct8ne_frame_addtowishlist>
195
 
196
  <oct8ne_frame_removefromwishlist>
197
  <reference name="root">
198
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
199
+ <block type="core/template" template="oct8ne/frame/removefromwishlist.phtml" name="jsoncontent" />
 
 
 
200
  </reference>
201
  </oct8ne_frame_removefromwishlist>
202
 
203
  <oct8ne_frame_productinfo>
204
  <reference name="root">
205
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
206
+ <block type="core/template" template="oct8ne/frame/productinfo.phtml" name="jsoncontent" />
207
  </reference>
208
+ </oct8ne_frame_productinfo>
209
 
210
+ <oct8ne_frame_getversion>
211
+ <reference name="root">
212
+ <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
213
+ <block type="core/template" template="oct8ne/frame/getversion.phtml" name="jsoncontent" />
214
  </reference>
215
+ </oct8ne_frame_getversion>
216
 
217
  <oct8ne_frame_productrelated>
218
  <reference name="root">
219
  <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
220
+ <block type="core/template" template="oct8ne/frame/productrelated.phtml" name="jsoncontent"/>
 
 
 
221
  </reference>
222
  </oct8ne_frame_productrelated>
223
+
224
+ <oct8ne_frame_getreportdata>
225
+ <reference name="root">
226
+ <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
227
+ <block type="core/template" template="oct8ne/frame/getreportdata.phtml" name="jsoncontent"/>
228
+ </reference>
229
+ </oct8ne_frame_getreportdata>
230
  </layout>
app/design/frontend/base/default/template/oct8ne/frame/addtowishlist.phtml CHANGED
@@ -1,10 +1,10 @@
1
- <?php
2
- $callback = Mage::registry( 'callback' );
3
- $result = Mage::registry( 'oct8ne_result' );
4
-
5
- echo $callback;
6
- ?>({
7
- <?php
8
- if ( !Mage::registry( 'partial_search' ) )
9
- echo " result: \"".($result?"true":"false")."\"\n";
10
  ?>});
1
+ <?php
2
+ $callback = Mage::registry( 'callback' );
3
+ $result = Mage::registry( 'oct8ne_result' );
4
+
5
+ echo $callback;
6
+ ?>({
7
+ <?php
8
+ if ( !Mage::registry( 'partial_search' ) )
9
+ echo " result: \"".($result?"true":"false")."\"\n";
10
  ?>});
app/design/frontend/base/default/template/oct8ne/frame/clean-page.phtml CHANGED
@@ -1,19 +1,19 @@
1
- <?php
2
- /**
3
- * Template for Mage_Page_Block_Html
4
- */
5
- ?>
6
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
7
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
8
- <head>
9
- <?php echo $this->getChildHtml('head') ?>
10
- </head>
11
- <body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
12
- <?php echo $this->getChildHtml('after_body_start') ?>
13
- <div class="frame-wrapper">
14
- <?php echo $this->getChildHtml('content') ?>
15
- </div>
16
- <?php echo $this->getChildHtml('before_body_end') ?>
17
- </div>
18
- </body>
19
- </html>
1
+ <?php
2
+ /**
3
+ * Template for Mage_Page_Block_Html
4
+ */
5
+ ?>
6
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
7
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
8
+ <head>
9
+ <?php echo $this->getChildHtml('head') ?>
10
+ </head>
11
+ <body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
12
+ <?php echo $this->getChildHtml('after_body_start') ?>
13
+ <div class="frame-wrapper">
14
+ <?php echo $this->getChildHtml('content') ?>
15
+ </div>
16
+ <?php echo $this->getChildHtml('before_body_end') ?>
17
+ </div>
18
+ </body>
19
+ </html>
app/design/frontend/base/default/template/oct8ne/frame/customer/data.phtml CHANGED
@@ -1,71 +1,75 @@
1
- <?php
2
-
3
- $login_data = Mage::helper('oct8ne/customer_data')->gatherLoginData();
4
- $quote_data = Mage::helper('oct8ne/customer_data')->gatherCartData();
5
- $wishlist_data = Mage::helper('oct8ne/customer_data')->gatherWishlistData();
6
-
7
- $callback = Mage::registry( 'callback' );
8
-
9
- echo $callback;
10
- ?>({
11
- user: {
12
- <?php if ( $login_data ): ?>
13
- id: "<?php echo $login_data['id']; ?>",
14
- firstName: "<?php echo $login_data['first_name']; ?>",
15
- lastName: "<?php echo $login_data['last_name']; ?>",
16
- email: "<?php echo $login_data['email']; ?>"<?php if ( count($wishlist_data) || count($quote_data) ) echo ","; ?>
17
- <?php endif; ?>
18
- <?php if ( count($wishlist_data) ): ?>
19
- whislist: [
20
- <?php foreach( $wishlist_data as $i => $item ): ?>
21
- {
22
- InternalId: "<?php echo $item['id']; ?>",
23
- Title: "<?php echo $item['title']; ?>",
24
- Price: "<?php echo $item['price']; ?>",
25
- Description: "<?php echo trim($item['description'], "\r\n\t "); ?>",
26
- Rating: "<?php echo $item['rating']; ?>",
27
- RouteTo: "<?php echo $item['url']; ?>",
28
- Medias: [
29
- <?php foreach( $item['imgs'] as $j => $image ): ?>
30
- {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
31
- <?php endforeach; ?>
32
- ],
33
- Thumbnail: "<?php echo $item['thumbnail']; ?>"
34
- <?php
35
- if ( $i < count( $wishlist_data )-1 )
36
- echo "},\n";
37
- else
38
- echo "}\n";
39
- ?>
40
- <?php endforeach; ?>
41
- ]<?php if ( count($quote_data) ) echo ","; ?>
42
- <?php endif; ?>
43
-
44
- <?php if ( count($quote_data) ): ?>
45
- cart: [
46
- <?php foreach( $quote_data as $i => $item ): ?>
47
- {
48
- InternalId: "<?php echo $item['id']; ?>",
49
- Title: "<?php echo $item['title']; ?>",
50
- Price: "<?php echo $item['price']; ?>",
51
- Description: "<?php echo trim($item['description'], "\r\n\t "); ?>",
52
- Rating: "<?php echo $item['rating']; ?>",
53
- Qty: "<?php echo $item['qty']; ?>",
54
- RouteTo: "<?php echo $item['url']; ?>",
55
- Medias: [
56
- <?php foreach( $item['imgs'] as $j => $image ): ?>
57
- {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
58
- <?php endforeach; ?>
59
- ],
60
- Thumbnail: "<?php echo $item['thumbnail']; ?>"
61
- <?php
62
- if ( $i < count( $quote_data )-1 )
63
- echo "},\n";
64
- else
65
- echo "}\n";
66
- ?>
67
- <?php endforeach; ?>
68
- ]
69
- <?php endif; ?>
70
- }
71
- });
 
 
 
 
1
+ <?php
2
+
3
+ $login_data = Mage::helper('oct8ne/customer_data')->gatherLoginData();
4
+ $quote_data = Mage::helper('oct8ne/customer_data')->gatherCartData();
5
+ $wishlist_data = Mage::helper('oct8ne/customer_data')->gatherWishlistData();
6
+
7
+ $callback = Mage::registry( 'callback' );
8
+
9
+ echo $callback;
10
+ ?>({
11
+ user: {
12
+ <?php if ( $login_data ): ?>
13
+ id: "<?php echo $login_data['id']; ?>",
14
+ firstName: "<?php echo $login_data['first_name']; ?>",
15
+ lastName: "<?php echo $login_data['last_name']; ?>",
16
+ email: "<?php echo $login_data['email']; ?>"<?php if ( count($wishlist_data) || count($quote_data) ) echo ","; ?>
17
+ <?php endif; ?>
18
+ <?php if ( count($wishlist_data) ): ?>
19
+ whislist: [
20
+ <?php foreach( $wishlist_data as $i => $item ): ?>
21
+ {
22
+ InternalId: "<?php echo $item['id']; ?>",
23
+ Title: "<?php echo $item['title']; ?>",
24
+ Price: "<?php echo $item['price']; ?>",
25
+ Description: "<?php echo trim($item['description'], "\r\n\t "); ?>",
26
+ Rating: "<?php echo $item['rating']; ?>",
27
+ RouteTo: "<?php echo $item['url']; ?>",
28
+ BuyURL: "<?php echo $item['buy_url']; ?>",
29
+ Medias: [
30
+ <?php foreach( $item['imgs'] as $j => $image ): ?>
31
+ {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
32
+ <?php endforeach; ?>
33
+ ],
34
+ Thumbnail: "<?php echo $item['thumbnail']; ?>",
35
+ HasOptions: "<?php echo $item['has_options']; ?>"
36
+ <?php
37
+ if ( $i < count( $wishlist_data )-1 )
38
+ echo "},\n";
39
+ else
40
+ echo "}\n";
41
+ ?>
42
+ <?php endforeach; ?>
43
+ ]<?php if ( count($quote_data) ) echo ","; ?>
44
+ <?php endif; ?>
45
+
46
+ <?php if ( count($quote_data) ): ?>
47
+ cart: [
48
+ <?php foreach( $quote_data as $i => $item ): ?>
49
+ {
50
+ InternalId: "<?php echo $item['id']; ?>",
51
+ Title: "<?php echo $item['title']; ?>",
52
+ Price: "<?php echo $item['price']; ?>",
53
+ Description: "<?php echo trim($item['description'], "\r\n\t "); ?>",
54
+ Rating: "<?php echo $item['rating']; ?>",
55
+ Qty: "<?php echo $item['qty']; ?>",
56
+ RouteTo: "<?php echo $item['url']; ?>",
57
+ BuyURL: "<?php echo $item['buy_url']; ?>",
58
+ Medias: [
59
+ <?php foreach( $item['imgs'] as $j => $image ): ?>
60
+ {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
61
+ <?php endforeach; ?>
62
+ ],
63
+ Thumbnail: "<?php echo $item['thumbnail']; ?>",
64
+ HasOptions: "<?php echo $item['has_options']; ?>"
65
+ <?php
66
+ if ( $i < count( $quote_data )-1 )
67
+ echo "},\n";
68
+ else
69
+ echo "}\n";
70
+ ?>
71
+ <?php endforeach; ?>
72
+ ]
73
+ <?php endif; ?>
74
+ }
75
+ });
app/design/frontend/base/default/template/oct8ne/frame/customer/getversion.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $pluginVersion = Mage::helper('oct8ne')->getExtensionVersion();
4
+ echo $pluginVersion;
5
+
6
+ $config = Mage::getModel(‘catalog/product’ , "111");
7
+ echo $config;
8
+ ?>
9
+ <div>YHEAAA</div>
app/design/frontend/base/default/template/oct8ne/frame/customer/notifier.phtml CHANGED
@@ -1,6 +1,6 @@
1
- <?php
2
- echo "AAA";
3
- ?>
4
- <script>
5
- alert("hola!");
6
  </script>
1
+ <?php
2
+ echo "AAA";
3
+ ?>
4
+ <script>
5
+ alert("hola!");
6
  </script>
app/design/frontend/base/default/template/oct8ne/frame/getcart.phtml CHANGED
@@ -21,12 +21,14 @@
21
  Rating: "<?php echo $item['rating']; ?>",
22
  Qty: "<?php echo $item['qty']; ?>",
23
  RouteTo: "<?php echo $item['url']; ?>",
 
24
  Medias: [
25
  <?php foreach( $item['imgs'] as $j => $image ): ?>
26
  {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
27
  <?php endforeach; ?>
28
  ],
29
- Thumbnail: "<?php echo $item['thumbnail']; ?>"
 
30
  <?php
31
  if ( $i < count( $result_collection )-1 )
32
  echo "},\n";
21
  Rating: "<?php echo $item['rating']; ?>",
22
  Qty: "<?php echo $item['qty']; ?>",
23
  RouteTo: "<?php echo $item['url']; ?>",
24
+ BuyURL: "<?php echo $item['buy_url']; ?>",
25
  Medias: [
26
  <?php foreach( $item['imgs'] as $j => $image ): ?>
27
  {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
28
  <?php endforeach; ?>
29
  ],
30
+ Thumbnail: "<?php echo $item['thumbnail']; ?>",
31
+ HasOptions: "<?php echo $item['has_options']; ?>"
32
  <?php
33
  if ( $i < count( $result_collection )-1 )
34
  echo "},\n";
app/design/frontend/base/default/template/oct8ne/frame/getreportdata.phtml ADDED
@@ -0,0 +1 @@
 
0
  // $result_collection = Mage::registry( 'search_result_collection' );
1
  $report = Mage::registry('oct8ne_report');
2
  switch($report)
3
  {
4
  case 'order':
5
  $result_collection = Mage::getModel('oct8ne/orderproducts')->getCollection();
6
  break;
7
  case 'quote':
8
  $result_collection = Mage::getModel('oct8ne/quoteproducts')->getCollection();
9
  break;
10
  }
11
  $from = Mage::registry('oct8ne_from');
12
  $to = Mage::registry('oct8ne_to');
13
 
14
  if(!empty($from)) {
15
  $result_collection->getSelect()->where("created_at >= CAST(? AS DATETIME)", $from);
16
  }
17
  if(!empty($to)) {
18
  $result_collection->getSelect()->where("CAST(? AS DATETIME) > created_at", $to);
19
  }
20
 
21
  //if ( !Mage::registry( 'partial_search' ) )
22
  echo " \"total\": \"".$result_collection->getSize()."\",\n";
23
  "results": [
24
  $values = array(
25
  'ProductId' => $item['product_id'],
26
  'Qty' => $item['qty'],
27
  'UserId' => $item['customer_id'],
28
  'Oct8neSession' => $item['oct8ne'],
29
  'Date' => $item['created_at'],
30
  'ProductPrice' => $item['product_price'],
31
  'Currency' => $item['currency'],
32
  );
33
 
34
  if($report == 'order')
35
  {
36
  $order = Mage::getModel('sales/order')->load($item['order_id']);
37
  if($order != null)
38
  {
39
  $orderValid = 1;
40
  $incrementId = $order->getIncrementId();
41
  $status = $order->getStatus();
42
  }
43
  else
44
  {
45
  $orderValid = 0;
46
  }
47
 
48
  $values += array(
49
  'InternalId' => $item['orderproducts_id'],
50
  'OrderId' => $item['order_id'],
51
  'OrderValid' => $orderValid,
52
  'IncrementId' => $incrementId,
53
  'OrderPrice' => $item[$report . '_price'],
54
  'Status' => $status
55
  );
56
  }
57
  else if($report == 'quote')
58
  {
59
  $quote = Mage::getModel('sales/order')->load($item['quoteproducts_id']);
60
  if($quote != null)
61
  {
62
  $quoteValid = 1;
63
  }
64
  else
65
  {
66
  $quoteValid = 0;
67
  }
68
 
69
  $values += array(
70
  'InternalId' => $item['quoteproducts_id'],
71
  'QuoteId' => $item['quote_id'],
72
  'QuoteValid' => $quoteValid,
73
  'QuotePrice' => $item[$report . '_price'],
74
  );
75
  }
76
  // $d = $order->getCreatedAtStoreDate();
77
  {
78
  <?php $n = 0; foreach($values as $key=>$val) { ?>
79
  "<?php $n++; echo $key ?>": "<?php echo $val ?>"<?php if ( $n < count( $values ) ) echo ",\n"; else echo "\n"; ?>
80
  <?php } ?>
81
 
82
  <?php $k++; if ( $k < count( $result_collection ) ) echo "},\n"; else echo "}\n"; ?>
83
  ]
1
+ <?php
2
  // $result_collection = Mage::registry( 'search_result_collection' );
3
  $report = Mage::registry('oct8ne_report');
4
  switch($report)
5
  {
6
  case 'order':
7
  $result_collection = Mage::getModel('oct8ne/orderproducts')->getCollection();
8
  break;
9
  case 'quote':
10
  $result_collection = Mage::getModel('oct8ne/quoteproducts')->getCollection();
11
  break;
12
  }
13
  $from = Mage::registry('oct8ne_from');
14
  $to = Mage::registry('oct8ne_to');
15
 
16
  if(!empty($from)) {
17
  $result_collection->getSelect()->where("created_at >= CAST(? AS DATETIME)", $from);
18
  }
19
  if(!empty($to)) {
20
  $result_collection->getSelect()->where("CAST(? AS DATETIME) > created_at", $to);
21
  }
22
 
23
  //if ( !Mage::registry( 'partial_search' ) )
24
  echo " \"total\": \"".$result_collection->getSize()."\",\n";
25
  "results": [
26
  $values = array(
27
  'ProductId' => $item['product_id'],
28
  'Qty' => $item['qty'],
29
  'UserId' => $item['customer_id'],
30
  'Oct8neSession' => $item['oct8ne'],
31
  'Date' => $item['created_at'],
32
  'ProductPrice' => $item['product_price'],
33
  'Currency' => $item['currency'],
34
  );
35
 
36
  if($report == 'order')
37
  {
38
  $order = Mage::getModel('sales/order')->load($item['order_id']);
39
  if($order != null)
40
  {
41
  $orderValid = 1;
42
  $incrementId = $order->getIncrementId();
43
  $status = $order->getStatus();
44
  }
45
  else
46
  {
47
  $orderValid = 0;
48
  }
49
 
50
  $values += array(
51
  'InternalId' => $item['orderproducts_id'],
52
  'OrderId' => $item['order_id'],
53
  'OrderValid' => $orderValid,
54
  'IncrementId' => $incrementId,
55
  'OrderPrice' => $item[$report . '_price'],
56
  'Status' => $status
57
  );
58
  }
59
  else if($report == 'quote')
60
  {
61
  $quote = Mage::getModel('sales/order')->load($item['quoteproducts_id']);
62
  if($quote != null)
63
  {
64
  $quoteValid = 1;
65
  }
66
  else
67
  {
68
  $quoteValid = 0;
69
  }
70
 
71
  $values += array(
72
  'InternalId' => $item['quoteproducts_id'],
73
  'QuoteId' => $item['quote_id'],
74
  'QuoteValid' => $quoteValid,
75
  'QuotePrice' => $item[$report . '_price'],
76
  );
77
  }
78
  // $d = $order->getCreatedAtStoreDate();
79
  {
80
  <?php $n = 0; foreach($values as $key=>$val) { ?>
81
  "<?php $n++; echo $key ?>": "<?php echo $val ?>"<?php if ( $n < count( $values ) ) echo ",\n"; else echo "\n"; ?>
82
  <?php } ?>
83
 
84
  <?php $k++; if ( $k < count( $result_collection ) ) echo "},\n"; else echo "}\n"; ?>
85
  ]
app/design/frontend/base/default/template/oct8ne/frame/getversion.phtml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+ $callback = Mage::registry( 'callback' );
3
+ $pluginVersion = Mage::registry( 'oct8ne_plugin_version' );
4
+ ?>
5
+ <?php echo $pluginVersion; ?>
app/design/frontend/base/default/template/oct8ne/frame/getwishlist.phtml CHANGED
@@ -22,12 +22,14 @@
22
  Price: "<?php echo $item['price']; ?>",
23
  Description: "<?php echo trim($item['description'], "\r\n\t "); ?>",
24
  RouteTo: "<?php echo $item['url']; ?>",
 
25
  Medias: [
26
  <?php foreach( $item['imgs'] as $j => $image ): ?>
27
  {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
28
  <?php endforeach; ?>
29
  ],
30
- Thumbnail: "<?php echo $item['thumbnail']; ?>"
 
31
  <?php
32
  if ( $i < count( $result_collection )-1 )
33
  echo "},\n";
22
  Price: "<?php echo $item['price']; ?>",
23
  Description: "<?php echo trim($item['description'], "\r\n\t "); ?>",
24
  RouteTo: "<?php echo $item['url']; ?>",
25
+ BuyURL: "<?php echo $item['buy_url']; ?>",
26
  Medias: [
27
  <?php foreach( $item['imgs'] as $j => $image ): ?>
28
  {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
29
  <?php endforeach; ?>
30
  ],
31
+ Thumbnail: "<?php echo $item['thumbnail']; ?>",
32
+ HasOptions: "<?php echo $item['has_options']; ?>"
33
  <?php
34
  if ( $i < count( $result_collection )-1 )
35
  echo "},\n";
app/design/frontend/base/default/template/oct8ne/frame/json-page.phtml CHANGED
@@ -1 +1 @@
1
- <?php echo $this->getChildHtml('content') ?>
1
+ <?php echo $this->getChildHtml('jsoncontent') ?>
app/design/frontend/base/default/template/oct8ne/frame/loginpost.phtml CHANGED
@@ -1,8 +1,8 @@
1
- <h2 class="add2cart-msg">Logged In!</h2>
2
-
3
- <script type="text/javascript">
4
- if(isOct8neActive())
5
- {
6
- parent.postMessage("closeIframe", "*");
7
- }
8
- </script>
1
+ <h2 class="add2cart-msg">Logged In!</h2>
2
+
3
+ <script type="text/javascript">
4
+ if(isOct8neActive())
5
+ {
6
+ parent.postMessage("closeIframe", "*");
7
+ }
8
+ </script>
app/design/frontend/base/default/template/oct8ne/frame/naked-page.phtml CHANGED
@@ -1,18 +1,18 @@
1
- <?php
2
- /**
3
- * Template for Mage_Page_Block_Html
4
- */
5
- ?>
6
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
7
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
8
- <head>
9
- </head>
10
- <body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
11
- <?php echo $this->getChildHtml('after_body_start') ?>
12
- <div class="frame-wrapper">
13
- <?php echo $this->getChildHtml('content') ?>
14
- </div>
15
- <?php echo $this->getChildHtml('before_body_end') ?>
16
- </div>
17
- </body>
18
- </html>
1
+ <?php
2
+ /**
3
+ * Template for Mage_Page_Block_Html
4
+ */
5
+ ?>
6
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
7
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
8
+ <head>
9
+ </head>
10
+ <body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
11
+ <?php echo $this->getChildHtml('after_body_start') ?>
12
+ <div class="frame-wrapper">
13
+ <?php echo $this->getChildHtml('content') ?>
14
+ </div>
15
+ <?php echo $this->getChildHtml('before_body_end') ?>
16
+ </div>
17
+ </body>
18
+ </html>
app/design/frontend/base/default/template/oct8ne/frame/productinfo.phtml CHANGED
@@ -1,18 +1,15 @@
1
  <?php
2
-
3
  $callback = Mage::registry( 'callback' );
4
-
5
  $productId = Mage::registry( 'oct8ne_product_id' );
6
-
7
  $result_collection = array();
8
  foreach(explode(',', $productId) as $id)
9
  $result_collection[] = Mage::helper('oct8ne')->getProductInfo($id);
10
-
11
  echo $callback;
12
- ?>({
 
13
  results: [
14
  <?php foreach( $result_collection as $i => $item): ?>
15
- {
16
  InternalId: "<?php echo $item['id']; ?>",
17
  Title: "<?php echo $item['title']; ?>",
18
  PrevPrice: "<?php echo $item['original_price']; ?>",
@@ -20,18 +17,20 @@
20
  Description: "<?php echo trim($item['description'], "\r\n\t "); ?>",
21
  Rating: "<?php echo $item['rating']; ?>",
22
  RouteTo: "<?php echo $item['url']; ?>",
 
23
  Medias: [
24
- <?php foreach( $item['imgs'] as $j => $image ): ?>
25
- {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
26
- <?php endforeach; ?>
27
  ],
28
- Thumbnail: "<?php echo $item['thumbnail']; ?>"
29
- <?php
30
- if ( $i < count( $result_collection )-1 )
31
- echo "},\n";
32
- else
33
- echo "}\n";
34
- ?>
 
35
  <?php endforeach; ?>
36
  ]
37
  });
1
  <?php
 
2
  $callback = Mage::registry( 'callback' );
 
3
  $productId = Mage::registry( 'oct8ne_product_id' );
 
4
  $result_collection = array();
5
  foreach(explode(',', $productId) as $id)
6
  $result_collection[] = Mage::helper('oct8ne')->getProductInfo($id);
 
7
  echo $callback;
8
+ ?>
9
+ ({
10
  results: [
11
  <?php foreach( $result_collection as $i => $item): ?>
12
+ {
13
  InternalId: "<?php echo $item['id']; ?>",
14
  Title: "<?php echo $item['title']; ?>",
15
  PrevPrice: "<?php echo $item['original_price']; ?>",
17
  Description: "<?php echo trim($item['description'], "\r\n\t "); ?>",
18
  Rating: "<?php echo $item['rating']; ?>",
19
  RouteTo: "<?php echo $item['url']; ?>",
20
+ BuyURL: "<?php echo $item['buy_url']; ?>",
21
  Medias: [
22
+ <?php foreach( $item['imgs'] as $j => $image ): ?>
23
+ {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
24
+ <?php endforeach; ?>
25
  ],
26
+ Thumbnail: "<?php echo $item['thumbnail']; ?>",
27
+ HasOptions: "<?php echo $item['has_options']; ?>"
28
+ <?php
29
+ if ( $i < count( $result_collection )-1 )
30
+ echo "},\n";
31
+ else
32
+ echo "}\n";
33
+ ?>
34
  <?php endforeach; ?>
35
  ]
36
  });
app/design/frontend/base/default/template/oct8ne/frame/productrelated.phtml CHANGED
@@ -1,11 +1,10 @@
1
  <?php
2
-
3
  $productId = Mage::registry( 'oct8ne_product_id' );
4
  $numItems = Mage::registry( 'oct8ne_product_related_num_items');
5
  $start = Mage::registry('oct8ne_product_related_start');
6
 
7
- if($start < 0) $start = 0;
8
- if($numItems < 1) $numItems = 1;
9
  //if($page < 1) $page = 1;
10
 
11
  $result_collection = Mage::helper('oct8ne')->getRelatedProducts($productId);
@@ -24,7 +23,6 @@
24
  results: [
25
  <?php $i=0;?>
26
  <?php foreach( $result_collection as $item): ?>
27
- <?php if($start <= $i && $i <($start + $numItems)):?>
28
  {
29
  InternalId: "<?php echo $item['id']; ?>",
30
  Title: "<?php echo $item['title']; ?>",
@@ -34,19 +32,20 @@
34
  Rating: "<?php echo $item['rating']; ?>",
35
  Qty: "<?php echo $item['qty']; ?>",
36
  RouteTo: "<?php echo $item['url']; ?>",
 
37
  Medias: [
38
  <?php foreach( $item['imgs'] as $j => $image ): ?>
39
  {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
40
  <?php endforeach; ?>
41
  ],
42
- Thumbnail: "<?php echo $item['thumbnail']; ?>"
 
43
  <?php
44
  if ( $i < count( $result_collection )-1 )
45
  echo "},\n";
46
  else
47
  echo "}\n";
48
  ?>
49
- <?php endif;?>
50
  <?php $i++;?>
51
  <?php endforeach; ?>
52
  ]
1
  <?php
 
2
  $productId = Mage::registry( 'oct8ne_product_id' );
3
  $numItems = Mage::registry( 'oct8ne_product_related_num_items');
4
  $start = Mage::registry('oct8ne_product_related_start');
5
 
6
+ //if($start < 0) $start = 0;
7
+ //if($numItems < 1) $numItems = 1;
8
  //if($page < 1) $page = 1;
9
 
10
  $result_collection = Mage::helper('oct8ne')->getRelatedProducts($productId);
23
  results: [
24
  <?php $i=0;?>
25
  <?php foreach( $result_collection as $item): ?>
 
26
  {
27
  InternalId: "<?php echo $item['id']; ?>",
28
  Title: "<?php echo $item['title']; ?>",
32
  Rating: "<?php echo $item['rating']; ?>",
33
  Qty: "<?php echo $item['qty']; ?>",
34
  RouteTo: "<?php echo $item['url']; ?>",
35
+ BuyURL: "<?php echo $item['buy_url']; ?>",
36
  Medias: [
37
  <?php foreach( $item['imgs'] as $j => $image ): ?>
38
  {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
39
  <?php endforeach; ?>
40
  ],
41
+ Thumbnail: "<?php echo $item['thumbnail']; ?>",
42
+ HasOptions: "<?php echo $item['has_options']; ?>"
43
  <?php
44
  if ( $i < count( $result_collection )-1 )
45
  echo "},\n";
46
  else
47
  echo "}\n";
48
  ?>
 
49
  <?php $i++;?>
50
  <?php endforeach; ?>
51
  ]
app/design/frontend/base/default/template/oct8ne/frame/productview-FROM-SCRATCH.phtml CHANGED
@@ -1,121 +1,121 @@
1
- <?php $_helper = Mage::registry( 'frame_product_helper' ); ?>
2
- <?php $_product = Mage::registry( 'frame_product' ); ?>
3
-
4
- <div class="frame-product-view">
5
- <!-- Product name -->
6
- <h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>
7
-
8
- <!-- Product image -->
9
- <?php
10
- if ( $_product->getThumbnail() != 'no_selection' )
11
- echo '<h2><img src="'.Mage::getBaseUrl( Mage_Core_Model_Store::URL_TYPE_MEDIA ).'catalog/product'.$_product->getThumbnail().'" /></h2>';
12
- ?>
13
-
14
- <!-- Product description -->
15
- <?php
16
- if ( $_product->getShortDescription() )
17
- echo '<h2>'
18
- .$_helper->productAttribute(
19
- $_product,
20
- nl2br(
21
- $_product->getShortDescription()
22
- ),
23
- 'short_description'
24
- )
25
- .'</h2>';
26
- ?>
27
-
28
- <!-- Product options -->
29
- <?php echo "hasOptions: ".$_product->getTypeInstance(true)->hasOptions($_product); ?>
30
- <?php
31
- if ( $_product->isSaleable()
32
- &&
33
- $_product->getTypeInstance(true)->hasOptions($_product) ): ?>
34
- <div class="product-options" id="product-options-wrapper">
35
- <?php echo $this->getChildHtml('', true, true);?>
36
- <?php if ($_product->getTypeInstance(true)->hasRequiredOptions($_product)):?>
37
- <p class="required"><?php echo $this->__('* Required Fields') ?></p>
38
- <?php endif;?>
39
- </div>
40
- <script type="text/javascript">decorateGeneric($$('#product-options-wrapper dl'), ['last']);</script>
41
- <?php endif; ?>
42
-
43
-
44
-
45
- <?php if ( $_product->isSaleable() ) :?>
46
- <div class="frame-product-stock">
47
- <?php
48
- $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product);
49
- if ( $stock->getIsQtyDecimal() )
50
- $qty = sprintf( "%.02f", $stock->getQty() );
51
- else
52
- $qty = floor( $stock->getQty() );
53
-
54
- echo "$qty items left";
55
- ?>
56
- </div>
57
- <?php if ( !$_product->isGrouped() ): ?>
58
- <form action="<?php echo Mage::getUrl('checkout/cart/add', array( 'product' => $_product->getId() ) ); ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
59
-
60
- <input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
61
- <input type="hidden" name="related_product" id="related-products-field" value="" />
62
-
63
- <div class="frame-product-addtocart">
64
- <label for="qty"><?php echo $this->__('Qty:') ?></label>
65
- <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getMinimalQty($_product)*1; ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
66
- <button type="submit" title="<?php echo $buttonTitle ?>" class="button btn-cart" >
67
- <span>
68
- <span><?php echo $this->__('Add to Cart'); ?></span>
69
- </span>
70
- </button>
71
- </div>
72
- </form>
73
- <?php endif; ?>
74
-
75
- <?php else: ?>
76
- <div class="frame-product-not-saleable">Not saleable</div>
77
- <?php endif; ?>
78
-
79
- <div class="frame-product-price">
80
- <?php echo sprintf( "%.02f \$", $_product->getPrice() ); ?>
81
- </div>
82
-
83
- <?php if ( is_numeric( $_product->getSpecialPrice() ) ) :?>
84
- <div class="frame-product-specialprice">
85
- <?php echo sprintf( "%.02f \$", $_product->getSpecialPrice() ); ?>
86
- </div>
87
- <?php endif; ?>
88
-
89
- <?php
90
- $_attributes = array();
91
- foreach( $_product->getAttributes() as $attribute )
92
- if ( $attribute->getIsVisibleOnFront() )
93
- $_attributes[] = $attribute;
94
-
95
- if ( count($_attributes) ) {
96
- echo '<div class="frame-product-attributes">'
97
- .'<h3>'.$this->__('Additional data').'</h3>'
98
- .'<ul>';
99
- foreach( $_attributes as $attribute ) {
100
- $value = $attribute->getFrontend()->getValue($_product);
101
-
102
- if (!$_product->hasData($attribute->getAttributeCode()))
103
- $value = Mage::helper('catalog')->__('N/A');
104
- elseif ((string)$value == '')
105
- $value = Mage::helper('catalog')->__('No');
106
- elseif ($attribute->getFrontendInput() == 'price' && is_string($value))
107
- $value = Mage::app()->getStore()->convertPrice($value, true);
108
-
109
- echo '<li>'
110
- .'<span class="attribute">'
111
- .$this->htmlEscape( $this->__( $attribute->getStoreLabel() ) )
112
- .'</span>'
113
- .'<span class="value">'
114
- .$this->htmlEscape( $this->__( $value ) )
115
- .'</span>'
116
- .'</li>';
117
- }
118
- }
119
- ?>
120
-
121
- </div>
1
+ <?php $_helper = Mage::registry( 'frame_product_helper' ); ?>
2
+ <?php $_product = Mage::registry( 'frame_product' ); ?>
3
+
4
+ <div class="frame-product-view">
5
+ <!-- Product name -->
6
+ <h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>
7
+
8
+ <!-- Product image -->
9
+ <?php
10
+ if ( $_product->getThumbnail() != 'no_selection' )
11
+ echo '<h2><img src="'.Mage::getBaseUrl( Mage_Core_Model_Store::URL_TYPE_MEDIA ).'catalog/product'.$_product->getThumbnail().'" /></h2>';
12
+ ?>
13
+
14
+ <!-- Product description -->
15
+ <?php
16
+ if ( $_product->getShortDescription() )
17
+ echo '<h2>'
18
+ .$_helper->productAttribute(
19
+ $_product,
20
+ nl2br(
21
+ $_product->getShortDescription()
22
+ ),
23
+ 'short_description'
24
+ )
25
+ .'</h2>';
26
+ ?>
27
+
28
+ <!-- Product options -->
29
+ <?php echo "hasOptions: ".$_product->getTypeInstance(true)->hasOptions($_product); ?>
30
+ <?php
31
+ if ( $_product->isSaleable()
32
+ &&
33
+ $_product->getTypeInstance(true)->hasOptions($_product) ): ?>
34
+ <div class="product-options" id="product-options-wrapper">
35
+ <?php echo $this->getChildHtml('', true, true);?>
36
+ <?php if ($_product->getTypeInstance(true)->hasRequiredOptions($_product)):?>
37
+ <p class="required"><?php echo $this->__('* Required Fields') ?></p>
38
+ <?php endif;?>
39
+ </div>
40
+ <script type="text/javascript">decorateGeneric($$('#product-options-wrapper dl'), ['last']);</script>
41
+ <?php endif; ?>
42
+
43
+
44
+
45
+ <?php if ( $_product->isSaleable() ) :?>
46
+ <div class="frame-product-stock">
47
+ <?php
48
+ $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product);
49
+ if ( $stock->getIsQtyDecimal() )
50
+ $qty = sprintf( "%.02f", $stock->getQty() );
51
+ else
52
+ $qty = floor( $stock->getQty() );
53
+
54
+ echo "$qty items left";
55
+ ?>
56
+ </div>
57
+ <?php if ( !$_product->isGrouped() ): ?>
58
+ <form action="<?php echo Mage::getUrl('checkout/cart/add', array( 'product' => $_product->getId() ) ); ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
59
+
60
+ <input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
61
+ <input type="hidden" name="related_product" id="related-products-field" value="" />
62
+
63
+ <div class="frame-product-addtocart">
64
+ <label for="qty"><?php echo $this->__('Qty:') ?></label>
65
+ <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getMinimalQty($_product)*1; ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
66
+ <button type="submit" title="<?php echo $buttonTitle ?>" class="button btn-cart" >
67
+ <span>
68
+ <span><?php echo $this->__('Add to Cart'); ?></span>
69
+ </span>
70
+ </button>
71
+ </div>
72
+ </form>
73
+ <?php endif; ?>
74
+
75
+ <?php else: ?>
76
+ <div class="frame-product-not-saleable">Not saleable</div>
77
+ <?php endif; ?>
78
+
79
+ <div class="frame-product-price">
80
+ <?php echo sprintf( "%.02f \$", $_product->getPrice() ); ?>
81
+ </div>
82
+
83
+ <?php if ( is_numeric( $_product->getSpecialPrice() ) ) :?>
84
+ <div class="frame-product-specialprice">
85
+ <?php echo sprintf( "%.02f \$", $_product->getSpecialPrice() ); ?>
86
+ </div>
87
+ <?php endif; ?>
88
+
89
+ <?php
90
+ $_attributes = array();
91
+ foreach( $_product->getAttributes() as $attribute )
92
+ if ( $attribute->getIsVisibleOnFront() )
93
+ $_attributes[] = $attribute;
94
+
95
+ if ( count($_attributes) ) {
96
+ echo '<div class="frame-product-attributes">'
97
+ .'<h3>'.$this->__('Additional data').'</h3>'
98
+ .'<ul>';
99
+ foreach( $_attributes as $attribute ) {
100
+ $value = $attribute->getFrontend()->getValue($_product);
101
+
102
+ if (!$_product->hasData($attribute->getAttributeCode()))
103
+ $value = Mage::helper('catalog')->__('N/A');
104
+ elseif ((string)$value == '')
105
+ $value = Mage::helper('catalog')->__('No');
106
+ elseif ($attribute->getFrontendInput() == 'price' && is_string($value))
107
+ $value = Mage::app()->getStore()->convertPrice($value, true);
108
+
109
+ echo '<li>'
110
+ .'<span class="attribute">'
111
+ .$this->htmlEscape( $this->__( $attribute->getStoreLabel() ) )
112
+ .'</span>'
113
+ .'<span class="value">'
114
+ .$this->htmlEscape( $this->__( $value ) )
115
+ .'</span>'
116
+ .'</li>';
117
+ }
118
+ }
119
+ ?>
120
+
121
+ </div>
app/design/frontend/base/default/template/oct8ne/frame/productview.phtml CHANGED
@@ -1,163 +1,163 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
-
27
- /**
28
- * Product view template
29
- *
30
- * @see Mage_Catalog_Block_Product_View
31
- * @see Mage_Review_Block_Product_View
32
- */
33
- ?>
34
- <?php $_helper = $this->helper('catalog/output'); ?>
35
- <?php $_product = $this->getProduct(); ?>
36
- <script type="text/javascript">
37
- var optionsPrice = new Product.OptionsPrice(<?php echo $this->getJsonConfig() ?>);
38
- </script>
39
- <div id="messages_product_view"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
40
- <div class="product-view">
41
- <div class="product-essential">
42
- <form action="<?php
43
- //echo $this->getSubmitUrl($_product)
44
- echo $this->helper('oct8ne/url')->getAdd2CartUrl( $_product );
45
- ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
46
- <div class="no-display">
47
- <input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
48
- <input type="hidden" name="related_product" id="related-products-field" value="" />
49
- </div>
50
-
51
- <div class="product-shop">
52
- <div class="product-name">
53
- <h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>
54
- </div>
55
-
56
- <?php echo $this->getChildHtml('alert_urls') ?>
57
- <?php echo $this->getChildHtml('product_type_data') ?>
58
- <?php echo $this->getTierPriceHtml() ?>
59
- <?php echo $this->getChildHtml('extrahint') ?>
60
-
61
- <?php if (!$this->hasOptions()):?>
62
- <div class="add-to-box">
63
- <?php if($_product->isSaleable()): ?>
64
- <?php echo $this->getChildHtml('addtocart') ?>
65
- <?php endif; ?>
66
- </div>
67
- <?php echo $this->getChildHtml('extra_buttons') ?>
68
- <?php elseif (!$_product->isSaleable()): ?>
69
- <div class="add-to-box">
70
- <?php echo $this->getChildHtml('addto') ?>
71
- </div>
72
- <?php endif; ?>
73
-
74
- <?php if ($_product->getShortDescription()):?>
75
- <div class="short-description">
76
- <h2><?php echo $this->__('Quick Overview') ?></h2>
77
- <div class="std"><?php echo $_helper->productAttribute($_product, nl2br($_product->getShortDescription()), 'short_description') ?></div>
78
- </div>
79
- <?php endif;?>
80
-
81
- <?php echo $this->getChildHtml('other');?>
82
-
83
- <?php if ($_product->isSaleable() && $this->hasOptions()):?>
84
- <?php echo $this->getChildChildHtml('container1', '', true, true) ?>
85
- <?php endif;?>
86
-
87
- </div>
88
-
89
- <div class="product-img-box">
90
- <?php echo $this->getChildHtml('media') ?>
91
- </div>
92
-
93
- <div class="clearer"></div>
94
- <?php if ($_product->isSaleable() && $this->hasOptions()):?>
95
- <?php echo $this->getChildChildHtml('container2', '', true, true) ?>
96
- <?php endif;?>
97
- </form>
98
- <script type="text/javascript">
99
- //<![CDATA[
100
- var productAddToCartForm = new VarienForm('product_addtocart_form');
101
- productAddToCartForm.submit = function(button, url) {
102
- if (this.validator.validate()) {
103
- var form = this.form;
104
- var oldUrl = form.action;
105
-
106
- if (url) {
107
- form.action = url;
108
- }
109
- var e = null;
110
- try {
111
- this.form.submit();
112
- } catch (e) {
113
- }
114
- this.form.action = oldUrl;
115
- if (e) {
116
- throw e;
117
- }
118
-
119
- if (button && button != 'undefined') {
120
- button.disabled = true;
121
- }
122
- }
123
- }.bind(productAddToCartForm);
124
-
125
- productAddToCartForm.submitLight = function(button, url){
126
- if(this.validator) {
127
- var nv = Validation.methods;
128
- delete Validation.methods['required-entry'];
129
- delete Validation.methods['validate-one-required'];
130
- delete Validation.methods['validate-one-required-by-name'];
131
- // Remove custom datetime validators
132
- for (var methodName in Validation.methods) {
133
- if (methodName.match(/^validate-datetime-.*/i)) {
134
- delete Validation.methods[methodName];
135
- }
136
- }
137
-
138
- if (this.validator.validate()) {
139
- if (url) {
140
- this.form.action = url;
141
- }
142
- this.form.submit();
143
- }
144
- Object.extend(Validation.methods, nv);
145
- }
146
- }.bind(productAddToCartForm);
147
- //]]>
148
- </script>
149
- </div>
150
-
151
- <div class="product-collateral">
152
- <?php foreach ($this->getChildGroup('detailed_info', 'getChildHtml') as $alias => $html):?>
153
- <div class="box-collateral <?php echo "box-{$alias}"?>">
154
- <?php if ($title = $this->getChildData($alias, 'title')):?>
155
- <h2><?php echo $this->escapeHtml($title); ?></h2>
156
- <?php endif;?>
157
- <?php echo $html; ?>
158
- </div>
159
- <?php endforeach;?>
160
- <?php echo $this->getChildHtml('upsell_products') ?>
161
- <?php echo $this->getChildHtml('product_additional_data') ?>
162
- </div>
163
- </div>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Product view template
29
+ *
30
+ * @see Mage_Catalog_Block_Product_View
31
+ * @see Mage_Review_Block_Product_View
32
+ */
33
+ ?>
34
+ <?php $_helper = $this->helper('catalog/output'); ?>
35
+ <?php $_product = $this->getProduct(); ?>
36
+ <script type="text/javascript">
37
+ var optionsPrice = new Product.OptionsPrice(<?php echo $this->getJsonConfig() ?>);
38
+ </script>
39
+ <div id="messages_product_view"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
40
+ <div class="product-view">
41
+ <div class="product-essential">
42
+ <form action="<?php
43
+ //echo $this->getSubmitUrl($_product)
44
+ echo $this->helper('oct8ne/url')->getAdd2CartUrl( $_product );
45
+ ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
46
+ <div class="no-display">
47
+ <input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
48
+ <input type="hidden" name="related_product" id="related-products-field" value="" />
49
+ </div>
50
+
51
+ <div class="product-shop">
52
+ <div class="product-name">
53
+ <h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>
54
+ </div>
55
+
56
+ <?php echo $this->getChildHtml('alert_urls') ?>
57
+ <?php echo $this->getChildHtml('product_type_data') ?>
58
+ <?php echo $this->getTierPriceHtml() ?>
59
+ <?php echo $this->getChildHtml('extrahint') ?>
60
+
61
+ <?php if (!$this->hasOptions()):?>
62
+ <div class="add-to-box">
63
+ <?php if($_product->isSaleable()): ?>
64
+ <?php echo $this->getChildHtml('addtocart') ?>
65
+ <?php endif; ?>
66
+ </div>
67
+ <?php echo $this->getChildHtml('extra_buttons') ?>
68
+ <?php elseif (!$_product->isSaleable()): ?>
69
+ <div class="add-to-box">
70
+ <?php echo $this->getChildHtml('addto') ?>
71
+ </div>
72
+ <?php endif; ?>
73
+
74
+ <?php if ($_product->getShortDescription()):?>
75
+ <div class="short-description">
76
+ <h2><?php echo $this->__('Quick Overview') ?></h2>
77
+ <div class="std"><?php echo $_helper->productAttribute($_product, nl2br($_product->getShortDescription()), 'short_description') ?></div>
78
+ </div>
79
+ <?php endif;?>
80
+
81
+ <?php echo $this->getChildHtml('other');?>
82
+
83
+ <?php if ($_product->isSaleable() && $this->hasOptions()):?>
84
+ <?php echo $this->getChildChildHtml('container1', '', true, true) ?>
85
+ <?php endif;?>
86
+
87
+ </div>
88
+
89
+ <div class="product-img-box">
90
+ <?php echo $this->getChildHtml('media') ?>
91
+ </div>
92
+
93
+ <div class="clearer"></div>
94
+ <?php if ($_product->isSaleable() && $this->hasOptions()):?>
95
+ <?php echo $this->getChildChildHtml('container2', '', true, true) ?>
96
+ <?php endif;?>
97
+ </form>
98
+ <script type="text/javascript">
99
+ //<![CDATA[
100
+ var productAddToCartForm = new VarienForm('product_addtocart_form');
101
+ productAddToCartForm.submit = function(button, url) {
102
+ if (this.validator.validate()) {
103
+ var form = this.form;
104
+ var oldUrl = form.action;
105
+
106
+ if (url) {
107
+ form.action = url;
108
+ }
109
+ var e = null;
110
+ try {
111
+ this.form.submit();
112
+ } catch (e) {
113
+ }
114
+ this.form.action = oldUrl;
115
+ if (e) {
116
+ throw e;
117
+ }
118
+
119
+ if (button && button != 'undefined') {
120
+ button.disabled = true;
121
+ }
122
+ }
123
+ }.bind(productAddToCartForm);
124
+
125
+ productAddToCartForm.submitLight = function(button, url){
126
+ if(this.validator) {
127
+ var nv = Validation.methods;
128
+ delete Validation.methods['required-entry'];
129
+ delete Validation.methods['validate-one-required'];
130
+ delete Validation.methods['validate-one-required-by-name'];
131
+ // Remove custom datetime validators
132
+ for (var methodName in Validation.methods) {
133
+ if (methodName.match(/^validate-datetime-.*/i)) {
134
+ delete Validation.methods[methodName];
135
+ }
136
+ }
137
+
138
+ if (this.validator.validate()) {
139
+ if (url) {
140
+ this.form.action = url;
141
+ }
142
+ this.form.submit();
143
+ }
144
+ Object.extend(Validation.methods, nv);
145
+ }
146
+ }.bind(productAddToCartForm);
147
+ //]]>
148
+ </script>
149
+ </div>
150
+
151
+ <div class="product-collateral">
152
+ <?php foreach ($this->getChildGroup('detailed_info', 'getChildHtml') as $alias => $html):?>
153
+ <div class="box-collateral <?php echo "box-{$alias}"?>">
154
+ <?php if ($title = $this->getChildData($alias, 'title')):?>
155
+ <h2><?php echo $this->escapeHtml($title); ?></h2>
156
+ <?php endif;?>
157
+ <?php echo $html; ?>
158
+ </div>
159
+ <?php endforeach;?>
160
+ <?php echo $this->getChildHtml('upsell_products') ?>
161
+ <?php echo $this->getChildHtml('product_additional_data') ?>
162
+ </div>
163
+ </div>
app/design/frontend/base/default/template/oct8ne/frame/productview/additional.phtml CHANGED
@@ -1,29 +1,29 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php foreach ($this->getChildHtmlList() as $_html): ?>
28
- <?php echo $_html ?>
29
- <?php endforeach; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php foreach ($this->getChildHtmlList() as $_html): ?>
28
+ <?php echo $_html ?>
29
+ <?php endforeach; ?>
app/design/frontend/base/default/template/oct8ne/frame/productview/addto.phtml CHANGED
@@ -1,27 +1,27 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
-
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+
app/design/frontend/base/default/template/oct8ne/frame/productview/addtocart.phtml CHANGED
@@ -1,38 +1,38 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php $_product = $this->getProduct(); ?>
28
- <?php $buttonTitle = $this->__('Add to Cart'); ?>
29
- <?php if($_product->isSaleable()): ?>
30
- <div class="add-to-cart">
31
- <?php if(!$_product->isGrouped()): ?>
32
- <label for="qty"><?php echo $this->__('Qty:') ?></label>
33
- <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
34
- <?php endif; ?>
35
- <button type="button" title="<?php echo $buttonTitle ?>" class="button btn-cart" onclick="productAddToCartForm.submit(this)"><span><span><?php echo $buttonTitle ?></span></span></button>
36
- <?php echo $this->getChildHtml('', true, true) ?>
37
- </div>
38
- <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php $_product = $this->getProduct(); ?>
28
+ <?php $buttonTitle = $this->__('Add to Cart'); ?>
29
+ <?php if($_product->isSaleable()): ?>
30
+ <div class="add-to-cart">
31
+ <?php if(!$_product->isGrouped()): ?>
32
+ <label for="qty"><?php echo $this->__('Qty:') ?></label>
33
+ <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
34
+ <?php endif; ?>
35
+ <button type="button" title="<?php echo $buttonTitle ?>" class="button btn-cart" onclick="productAddToCartForm.submit(this)"><span><span><?php echo $buttonTitle ?></span></span></button>
36
+ <?php echo $this->getChildHtml('', true, true) ?>
37
+ </div>
38
+ <?php endif; ?>
app/design/frontend/base/default/template/oct8ne/frame/productview/attributes.phtml CHANGED
@@ -1,52 +1,52 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
-
27
- /**
28
- * Product additional attributes template
29
- *
30
- * @see Mage_Catalog_Block_Product_View_Attributes
31
- */
32
- ?>
33
- <?php
34
- $_helper = $this->helper('catalog/output');
35
- $_product = $this->getProduct()
36
- ?>
37
- <?php if($_additional = $this->getAdditionalData()): ?>
38
- <h2><?php echo $this->__('Additional Information') ?></h2>
39
- <table class="data-table" id="product-attribute-specs-table">
40
- <col width="25%" />
41
- <col />
42
- <tbody>
43
- <?php foreach ($_additional as $_data): ?>
44
- <tr>
45
- <th class="label"><?php echo $this->htmlEscape($this->__($_data['label'])) ?></th>
46
- <td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
47
- </tr>
48
- <?php endforeach; ?>
49
- </tbody>
50
- </table>
51
- <script type="text/javascript">decorateTable('product-attribute-specs-table')</script>
52
- <?php endif;?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Product additional attributes template
29
+ *
30
+ * @see Mage_Catalog_Block_Product_View_Attributes
31
+ */
32
+ ?>
33
+ <?php
34
+ $_helper = $this->helper('catalog/output');
35
+ $_product = $this->getProduct()
36
+ ?>
37
+ <?php if($_additional = $this->getAdditionalData()): ?>
38
+ <h2><?php echo $this->__('Additional Information') ?></h2>
39
+ <table class="data-table" id="product-attribute-specs-table">
40
+ <col width="25%" />
41
+ <col />
42
+ <tbody>
43
+ <?php foreach ($_additional as $_data): ?>
44
+ <tr>
45
+ <th class="label"><?php echo $this->htmlEscape($this->__($_data['label'])) ?></th>
46
+ <td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
47
+ </tr>
48
+ <?php endforeach; ?>
49
+ </tbody>
50
+ </table>
51
+ <script type="text/javascript">decorateTable('product-attribute-specs-table')</script>
52
+ <?php endif;?>
app/design/frontend/base/default/template/oct8ne/frame/productview/description.phtml CHANGED
@@ -1,39 +1,39 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
-
27
- /**
28
- * Product description template
29
- *
30
- * @see Mage_Catalog_Block_Product_View_Description
31
- */
32
- ?>
33
- <?php $_description = $this->getProduct()->getDescription(); ?>
34
- <?php if ($_description): ?>
35
- <h2><?php echo $this->__('Details') ?></h2>
36
- <div class="std">
37
- <?php echo $this->helper('catalog/output')->productAttribute($this->getProduct(), $_description, 'description') ?>
38
- </div>
39
- <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Product description template
29
+ *
30
+ * @see Mage_Catalog_Block_Product_View_Description
31
+ */
32
+ ?>
33
+ <?php $_description = $this->getProduct()->getDescription(); ?>
34
+ <?php if ($_description): ?>
35
+ <h2><?php echo $this->__('Details') ?></h2>
36
+ <div class="std">
37
+ <?php echo $this->helper('catalog/output')->productAttribute($this->getProduct(), $_description, 'description') ?>
38
+ </div>
39
+ <?php endif; ?>
app/design/frontend/base/default/template/oct8ne/frame/productview/media.phtml CHANGED
@@ -1,63 +1,63 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
-
27
- /**
28
- * Product media data template
29
- *
30
- * @see Mage_Catalog_Block_Product_View_Media
31
- */
32
- ?>
33
- <?php
34
- $_product = $this->getProduct();
35
- $_helper = $this->helper('catalog/output');
36
- ?>
37
- <?php if ($_product->getImage() != 'no_selection' && $_product->getImage()): ?>
38
- <p>
39
- <?php
40
- $_img = '<img style="max-width: 150px" id="image" src="'.$this->helper('catalog/image')->init($_product, 'image').'" alt="'.$this->htmlEscape($this->getImageLabel()).'" title="'.$this->htmlEscape($this->getImageLabel()).'" />';
41
- echo $_helper->productAttribute($_product, $_img, 'image');
42
- ?>
43
- </p>
44
- <?php else: ?>
45
- <p>
46
- <?php
47
- $_img = '<img style="max-width: 150px" src="'.$this->helper('catalog/image')->init($_product, 'image')->resize(265).'" alt="'.$this->htmlEscape($this->getImageLabel()).'" title="'.$this->htmlEscape($this->getImageLabel()).'" />';
48
- echo $_helper->productAttribute($_product, $_img, 'image');
49
- ?>
50
- </p>
51
- <?php endif; ?>
52
- <?php if (count($this->getGalleryImages()) > 0): ?>
53
- <div class="more-views">
54
- <h2><?php echo $this->__('More Views') ?></h2>
55
- <ul>
56
- <?php foreach ($this->getGalleryImages() as $_image): ?>
57
- <li>
58
- <a href="#" onclick="popWin('<?php echo $this->getGalleryUrl($_image) ?>', 'gallery', 'width=300,height=300,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes'); return false;" title="<?php echo $this->htmlEscape($_image->getLabel()) ?>"><img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(56); ?>" width="56" height="56" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" /></a>
59
- </li>
60
- <?php endforeach; ?>
61
- </ul>
62
- </div>
63
- <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Product media data template
29
+ *
30
+ * @see Mage_Catalog_Block_Product_View_Media
31
+ */
32
+ ?>
33
+ <?php
34
+ $_product = $this->getProduct();
35
+ $_helper = $this->helper('catalog/output');
36
+ ?>
37
+ <?php if ($_product->getImage() != 'no_selection' && $_product->getImage()): ?>
38
+ <p>
39
+ <?php
40
+ $_img = '<img style="max-width: 150px" id="image" src="'.$this->helper('catalog/image')->init($_product, 'image').'" alt="'.$this->htmlEscape($this->getImageLabel()).'" title="'.$this->htmlEscape($this->getImageLabel()).'" />';
41
+ echo $_helper->productAttribute($_product, $_img, 'image');
42
+ ?>
43
+ </p>
44
+ <?php else: ?>
45
+ <p>
46
+ <?php
47
+ $_img = '<img style="max-width: 150px" src="'.$this->helper('catalog/image')->init($_product, 'image')->resize(265).'" alt="'.$this->htmlEscape($this->getImageLabel()).'" title="'.$this->htmlEscape($this->getImageLabel()).'" />';
48
+ echo $_helper->productAttribute($_product, $_img, 'image');
49
+ ?>
50
+ </p>
51
+ <?php endif; ?>
52
+ <?php if (count($this->getGalleryImages()) > 0): ?>
53
+ <div class="more-views">
54
+ <h2><?php echo $this->__('More Views') ?></h2>
55
+ <ul>
56
+ <?php foreach ($this->getGalleryImages() as $_image): ?>
57
+ <li>
58
+ <a href="#" onclick="popWin('<?php echo $this->getGalleryUrl($_image) ?>', 'gallery', 'width=300,height=300,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes'); return false;" title="<?php echo $this->htmlEscape($_image->getLabel()) ?>"><img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(56); ?>" width="56" height="56" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" /></a>
59
+ </li>
60
+ <?php endforeach; ?>
61
+ </ul>
62
+ </div>
63
+ <?php endif; ?>
app/design/frontend/base/default/template/oct8ne/frame/productview/media.phtml.ORIGINAL CHANGED
@@ -1,78 +1,78 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
-
27
- /**
28
- * Product media data template
29
- *
30
- * @see Mage_Catalog_Block_Product_View_Media
31
- */
32
- ?>
33
- <?php
34
- $_product = $this->getProduct();
35
- $_helper = $this->helper('catalog/output');
36
- ?>
37
- <?php if ($_product->getImage() != 'no_selection' && $_product->getImage()): ?>
38
- <p class="product-image product-image-zoom">
39
- <?php
40
- $_img = '<img id="image" src="'.$this->helper('catalog/image')->init($_product, 'image').'" alt="'.$this->htmlEscape($this->getImageLabel()).'" title="'.$this->htmlEscape($this->getImageLabel()).'" />';
41
- echo $_helper->productAttribute($_product, $_img, 'image');
42
- ?>
43
- </p>
44
- <p class="zoom-notice" id="track_hint"><?php echo $this->__('Double click on above image to view full picture') ?></p>
45
- <div class="zoom">
46
- <img id="zoom_out" src="<?php echo $this->getSkinUrl('images/slider_btn_zoom_out.gif') ?>" alt="<?php echo $this->__('Zoom Out') ?>" title="<?php echo $this->__('Zoom Out') ?>" class="btn-zoom-out" />
47
- <div id="track">
48
- <div id="handle"></div>
49
- </div>
50
- <img id="zoom_in" src="<?php echo $this->getSkinUrl('images/slider_btn_zoom_in.gif') ?>" alt="<?php echo $this->__('Zoom In') ?>" title="<?php echo $this->__('Zoom In') ?>" class="btn-zoom-in" />
51
- </div>
52
- <script type="text/javascript">
53
- //<![CDATA[
54
- Event.observe(window, 'load', function() {
55
- product_zoom = new Product.Zoom('image', 'track', 'handle', 'zoom_in', 'zoom_out', 'track_hint');
56
- });
57
- //]]>
58
- </script>
59
- <?php else: ?>
60
- <p class="product-image">
61
- <?php
62
- $_img = '<img src="'.$this->helper('catalog/image')->init($_product, 'image')->resize(265).'" alt="'.$this->htmlEscape($this->getImageLabel()).'" title="'.$this->htmlEscape($this->getImageLabel()).'" />';
63
- echo $_helper->productAttribute($_product, $_img, 'image');
64
- ?>
65
- </p>
66
- <?php endif; ?>
67
- <?php if (count($this->getGalleryImages()) > 0): ?>
68
- <div class="more-views">
69
- <h2><?php echo $this->__('More Views') ?></h2>
70
- <ul>
71
- <?php foreach ($this->getGalleryImages() as $_image): ?>
72
- <li>
73
- <a href="#" onclick="popWin('<?php echo $this->getGalleryUrl($_image) ?>', 'gallery', 'width=300,height=300,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes'); return false;" title="<?php echo $this->htmlEscape($_image->getLabel()) ?>"><img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(56); ?>" width="56" height="56" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" /></a>
74
- </li>
75
- <?php endforeach; ?>
76
- </ul>
77
- </div>
78
- <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Product media data template
29
+ *
30
+ * @see Mage_Catalog_Block_Product_View_Media
31
+ */
32
+ ?>
33
+ <?php
34
+ $_product = $this->getProduct();
35
+ $_helper = $this->helper('catalog/output');
36
+ ?>
37
+ <?php if ($_product->getImage() != 'no_selection' && $_product->getImage()): ?>
38
+ <p class="product-image product-image-zoom">
39
+ <?php
40
+ $_img = '<img id="image" src="'.$this->helper('catalog/image')->init($_product, 'image').'" alt="'.$this->htmlEscape($this->getImageLabel()).'" title="'.$this->htmlEscape($this->getImageLabel()).'" />';
41
+ echo $_helper->productAttribute($_product, $_img, 'image');
42
+ ?>
43
+ </p>
44
+ <p class="zoom-notice" id="track_hint"><?php echo $this->__('Double click on above image to view full picture') ?></p>
45
+ <div class="zoom">
46
+ <img id="zoom_out" src="<?php echo $this->getSkinUrl('images/slider_btn_zoom_out.gif') ?>" alt="<?php echo $this->__('Zoom Out') ?>" title="<?php echo $this->__('Zoom Out') ?>" class="btn-zoom-out" />
47
+ <div id="track">
48
+ <div id="handle"></div>
49
+ </div>
50
+ <img id="zoom_in" src="<?php echo $this->getSkinUrl('images/slider_btn_zoom_in.gif') ?>" alt="<?php echo $this->__('Zoom In') ?>" title="<?php echo $this->__('Zoom In') ?>" class="btn-zoom-in" />
51
+ </div>
52
+ <script type="text/javascript">
53
+ //<![CDATA[
54
+ Event.observe(window, 'load', function() {
55
+ product_zoom = new Product.Zoom('image', 'track', 'handle', 'zoom_in', 'zoom_out', 'track_hint');
56
+ });
57
+ //]]>
58
+ </script>
59
+ <?php else: ?>
60
+ <p class="product-image">
61
+ <?php
62
+ $_img = '<img src="'.$this->helper('catalog/image')->init($_product, 'image')->resize(265).'" alt="'.$this->htmlEscape($this->getImageLabel()).'" title="'.$this->htmlEscape($this->getImageLabel()).'" />';
63
+ echo $_helper->productAttribute($_product, $_img, 'image');
64
+ ?>
65
+ </p>
66
+ <?php endif; ?>
67
+ <?php if (count($this->getGalleryImages()) > 0): ?>
68
+ <div class="more-views">
69
+ <h2><?php echo $this->__('More Views') ?></h2>
70
+ <ul>
71
+ <?php foreach ($this->getGalleryImages() as $_image): ?>
72
+ <li>
73
+ <a href="#" onclick="popWin('<?php echo $this->getGalleryUrl($_image) ?>', 'gallery', 'width=300,height=300,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes'); return false;" title="<?php echo $this->htmlEscape($_image->getLabel()) ?>"><img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(56); ?>" width="56" height="56" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" /></a>
74
+ </li>
75
+ <?php endforeach; ?>
76
+ </ul>
77
+ </div>
78
+ <?php endif; ?>
app/design/frontend/base/default/template/oct8ne/frame/productview/options.phtml CHANGED
@@ -1,193 +1,193 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- /* @var $this Mage_Catalog_Block_Product_View_Options */
27
- ?>
28
-
29
- <?php $_options = Mage::helper('core')->decorateArray($this->getOptions()) ?>
30
- <?php if (count($_options)):?>
31
- <script type="text/javascript">
32
- //<![CDATA[
33
- var optionFileUpload = {
34
- productForm : $('product_addtocart_form'),
35
- formAction : '',
36
- formElements : {},
37
- upload : function(element){
38
- this.formElements = this.productForm.select('input', 'select', 'textarea', 'button');
39
- this.removeRequire(element.readAttribute('id').sub('option_', ''));
40
-
41
- template = '<iframe id="upload_target" name="upload_target" style="width:0; height:0; border:0;"><\/iframe>';
42
-
43
- Element.insert($('option_'+element.readAttribute('id').sub('option_', '')+'_uploaded_file'), {after: template});
44
-
45
- this.formAction = this.productForm.action;
46
-
47
- var baseUrl = '<?php echo $this->getUrl('*/product/upload') ?>';
48
- var urlExt = 'option_id/'+element.readAttribute('id').sub('option_', '');
49
-
50
- this.productForm.action = parseSidUrl(baseUrl, urlExt);
51
- this.productForm.target = 'upload_target';
52
- this.productForm.submit();
53
- this.productForm.target = '';
54
- this.productForm.action = this.formAction;
55
- },
56
- removeRequire : function(skipElementId){
57
- for(var i=0; i<this.formElements.length; i++){
58
- if (this.formElements[i].readAttribute('id') != 'option_'+skipElementId+'_file' && this.formElements[i].type != 'button') {
59
- this.formElements[i].disabled='disabled';
60
- }
61
- }
62
- },
63
- addRequire : function(skipElementId){
64
- for(var i=0; i<this.formElements.length; i++){
65
- if (this.formElements[i].readAttribute('name') != 'options_'+skipElementId+'_file' && this.formElements[i].type != 'button') {
66
- this.formElements[i].disabled='';
67
- }
68
- }
69
- },
70
- uploadCallback : function(data){
71
- this.addRequire(data.optionId);
72
- $('upload_target').remove();
73
-
74
- if (data.error) {
75
-
76
- } else {
77
- $('option_'+data.optionId+'_uploaded_file').value = data.fileName;
78
- $('option_'+data.optionId+'_file').value = '';
79
- $('option_'+data.optionId+'_file').hide();
80
- $('option_'+data.optionId+'').hide();
81
- template = '<div id="option_'+data.optionId+'_file_box"><a href="#"><img src="var/options/'+data.fileName+'" alt=""><\/a><a href="#" onclick="optionFileUpload.removeFile('+data.optionId+')" title="Remove file" \/>Remove file<\/a>';
82
-
83
- Element.insert($('option_'+data.optionId+'_uploaded_file'), {after: template});
84
- }
85
- },
86
- removeFile : function(optionId)
87
- {
88
- $('option_'+optionId+'_uploaded_file').value= '';
89
- $('option_'+optionId+'_file').show();
90
- $('option_'+optionId+'').show();
91
-
92
- $('option_'+optionId+'_file_box').remove();
93
- }
94
- }
95
- var optionTextCounter = {
96
- count : function(field,cntfield,maxlimit){
97
- if (field.value.length > maxlimit){
98
- field.value = field.value.substring(0, maxlimit);
99
- } else {
100
- cntfield.innerHTML = maxlimit - field.value.length;
101
- }
102
- }
103
- }
104
-
105
- Product.Options = Class.create();
106
- Product.Options.prototype = {
107
- initialize : function(config) {
108
- this.config = config;
109
- this.reloadPrice();
110
- document.observe("dom:loaded", this.reloadPrice.bind(this));
111
- },
112
- reloadPrice : function() {
113
- var config = this.config;
114
- var skipIds = [];
115
- $$('body .product-custom-option').each(function(element){
116
- var optionId = 0;
117
- element.name.sub(/[0-9]+/, function(match){
118
- optionId = parseInt(match[0], 10);
119
- });
120
- if (config[optionId]) {
121
- var configOptions = config[optionId];
122
- var curConfig = {price: 0};
123
- if (element.type == 'checkbox' || element.type == 'radio') {
124
- if (element.checked) {
125
- if (typeof configOptions[element.getValue()] != 'undefined') {
126
- curConfig = configOptions[element.getValue()];
127
- }
128
- }
129
- } else if(element.hasClassName('datetime-picker') && !skipIds.include(optionId)) {
130
- dateSelected = true;
131
- $$('.product-custom-option[id^="options_' + optionId + '"]').each(function(dt){
132
- if (dt.getValue() == '') {
133
- dateSelected = false;
134
- }
135
- });
136
- if (dateSelected) {
137
- curConfig = configOptions;
138
- skipIds[optionId] = optionId;
139
- }
140
- } else if(element.type == 'select-one' || element.type == 'select-multiple') {
141
- if ('options' in element) {
142
- $A(element.options).each(function(selectOption){
143
- if ('selected' in selectOption && selectOption.selected) {
144
- if (typeof(configOptions[selectOption.value]) != 'undefined') {
145
- curConfig = configOptions[selectOption.value];
146
- }
147
- }
148
- });
149
- }
150
- } else {
151
- if (element.getValue().strip() != '') {
152
- curConfig = configOptions;
153
- }
154
- }
155
- if(element.type == 'select-multiple' && ('options' in element)) {
156
- $A(element.options).each(function(selectOption) {
157
- if (('selected' in selectOption) && typeof(configOptions[selectOption.value]) != 'undefined') {
158
- if (selectOption.selected) {
159
- curConfig = configOptions[selectOption.value];
160
- } else {
161
- curConfig = {price: 0};
162
- }
163
- optionsPrice.addCustomPrices(optionId + '-' + selectOption.value, curConfig);
164
- optionsPrice.reload();
165
- }
166
- });
167
- } else {
168
- optionsPrice.addCustomPrices(element.id || optionId, curConfig);
169
- optionsPrice.reload();
170
- }
171
- }
172
- });
173
- }
174
- }
175
- function validateOptionsCallback(elmId, result) {
176
- var container = $(elmId).up('ul.options-list');
177
- if (result == 'failed') {
178
- container.removeClassName('validation-passed');
179
- container.addClassName('validation-failed');
180
- } else {
181
- container.removeClassName('validation-failed');
182
- container.addClassName('validation-passed');
183
- }
184
- }
185
- var opConfig = new Product.Options(<?php echo $this->getJsonConfig() ?>);
186
- //]]>
187
- </script>
188
- <dl>
189
- <?php foreach($_options as $_option): ?>
190
- <?php echo $this->getOptionHtml($_option) ?>
191
- <?php endforeach; ?>
192
- </dl>
193
- <?php endif; ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ /* @var $this Mage_Catalog_Block_Product_View_Options */
27
+ ?>
28
+
29
+ <?php $_options = Mage::helper('core')->decorateArray($this->getOptions()) ?>
30
+ <?php if (count($_options)):?>
31
+ <script type="text/javascript">
32
+ //<![CDATA[
33
+ var optionFileUpload = {
34
+ productForm : $('product_addtocart_form'),
35
+ formAction : '',
36
+ formElements : {},
37
+ upload : function(element){
38
+ this.formElements = this.productForm.select('input', 'select', 'textarea', 'button');
39
+ this.removeRequire(element.readAttribute('id').sub('option_', ''));
40
+
41
+ template = '<iframe id="upload_target" name="upload_target" style="width:0; height:0; border:0;"><\/iframe>';
42
+
43
+ Element.insert($('option_'+element.readAttribute('id').sub('option_', '')+'_uploaded_file'), {after: template});
44
+
45
+ this.formAction = this.productForm.action;
46
+
47
+ var baseUrl = '<?php echo $this->getUrl('*/product/upload') ?>';
48
+ var urlExt = 'option_id/'+element.readAttribute('id').sub('option_', '');
49
+
50
+ this.productForm.action = parseSidUrl(baseUrl, urlExt);
51
+ this.productForm.target = 'upload_target';
52
+ this.productForm.submit();
53
+ this.productForm.target = '';
54
+ this.productForm.action = this.formAction;
55
+ },
56
+ removeRequire : function(skipElementId){
57
+ for(var i=0; i<this.formElements.length; i++){
58
+ if (this.formElements[i].readAttribute('id') != 'option_'+skipElementId+'_file' && this.formElements[i].type != 'button') {
59
+ this.formElements[i].disabled='disabled';
60
+ }
61
+ }
62
+ },
63
+ addRequire : function(skipElementId){
64
+ for(var i=0; i<this.formElements.length; i++){
65
+ if (this.formElements[i].readAttribute('name') != 'options_'+skipElementId+'_file' && this.formElements[i].type != 'button') {
66
+ this.formElements[i].disabled='';
67
+ }
68
+ }
69
+ },
70
+ uploadCallback : function(data){
71
+ this.addRequire(data.optionId);
72
+ $('upload_target').remove();
73
+
74
+ if (data.error) {
75
+
76
+ } else {
77
+ $('option_'+data.optionId+'_uploaded_file').value = data.fileName;
78
+ $('option_'+data.optionId+'_file').value = '';
79
+ $('option_'+data.optionId+'_file').hide();
80
+ $('option_'+data.optionId+'').hide();
81
+ template = '<div id="option_'+data.optionId+'_file_box"><a href="#"><img src="var/options/'+data.fileName+'" alt=""><\/a><a href="#" onclick="optionFileUpload.removeFile('+data.optionId+')" title="Remove file" \/>Remove file<\/a>';
82
+
83
+ Element.insert($('option_'+data.optionId+'_uploaded_file'), {after: template});
84
+ }
85
+ },
86
+ removeFile : function(optionId)
87
+ {
88
+ $('option_'+optionId+'_uploaded_file').value= '';
89
+ $('option_'+optionId+'_file').show();
90
+ $('option_'+optionId+'').show();
91
+
92
+ $('option_'+optionId+'_file_box').remove();
93
+ }
94
+ }
95
+ var optionTextCounter = {
96
+ count : function(field,cntfield,maxlimit){
97
+ if (field.value.length > maxlimit){
98
+ field.value = field.value.substring(0, maxlimit);
99
+ } else {
100
+ cntfield.innerHTML = maxlimit - field.value.length;
101
+ }
102
+ }
103
+ }
104
+
105
+ Product.Options = Class.create();
106
+ Product.Options.prototype = {
107
+ initialize : function(config) {
108
+ this.config = config;
109
+ this.reloadPrice();
110
+ document.observe("dom:loaded", this.reloadPrice.bind(this));
111
+ },
112
+ reloadPrice : function() {
113
+ var config = this.config;
114
+ var skipIds = [];
115
+ $$('body .product-custom-option').each(function(element){
116
+ var optionId = 0;
117
+ element.name.sub(/[0-9]+/, function(match){
118
+ optionId = parseInt(match[0], 10);
119
+ });
120
+ if (config[optionId]) {
121
+ var configOptions = config[optionId];
122
+ var curConfig = {price: 0};
123
+ if (element.type == 'checkbox' || element.type == 'radio') {
124
+ if (element.checked) {
125
+ if (typeof configOptions[element.getValue()] != 'undefined') {
126
+ curConfig = configOptions[element.getValue()];
127
+ }
128
+ }
129
+ } else if(element.hasClassName('datetime-picker') && !skipIds.include(optionId)) {
130
+ dateSelected = true;
131
+ $$('.product-custom-option[id^="options_' + optionId + '"]').each(function(dt){
132
+ if (dt.getValue() == '') {
133
+ dateSelected = false;
134
+ }
135
+ });
136
+ if (dateSelected) {
137
+ curConfig = configOptions;
138
+ skipIds[optionId] = optionId;
139
+ }
140
+ } else if(element.type == 'select-one' || element.type == 'select-multiple') {
141
+ if ('options' in element) {
142
+ $A(element.options).each(function(selectOption){
143
+ if ('selected' in selectOption && selectOption.selected) {
144
+ if (typeof(configOptions[selectOption.value]) != 'undefined') {
145
+ curConfig = configOptions[selectOption.value];
146
+ }
147
+ }
148
+ });
149
+ }
150
+ } else {
151
+ if (element.getValue().strip() != '') {
152
+ curConfig = configOptions;
153
+ }
154
+ }
155
+ if(element.type == 'select-multiple' && ('options' in element)) {
156
+ $A(element.options).each(function(selectOption) {
157
+ if (('selected' in selectOption) && typeof(configOptions[selectOption.value]) != 'undefined') {
158
+ if (selectOption.selected) {
159
+ curConfig = configOptions[selectOption.value];
160
+ } else {
161
+ curConfig = {price: 0};
162
+ }
163
+ optionsPrice.addCustomPrices(optionId + '-' + selectOption.value, curConfig);
164
+ optionsPrice.reload();
165
+ }
166
+ });
167
+ } else {
168
+ optionsPrice.addCustomPrices(element.id || optionId, curConfig);
169
+ optionsPrice.reload();
170
+ }
171
+ }
172
+ });
173
+ }
174
+ }
175
+ function validateOptionsCallback(elmId, result) {
176
+ var container = $(elmId).up('ul.options-list');
177
+ if (result == 'failed') {
178
+ container.removeClassName('validation-passed');
179
+ container.addClassName('validation-failed');
180
+ } else {
181
+ container.removeClassName('validation-failed');
182
+ container.addClassName('validation-passed');
183
+ }
184
+ }
185
+ var opConfig = new Product.Options(<?php echo $this->getJsonConfig() ?>);
186
+ //]]>
187
+ </script>
188
+ <dl>
189
+ <?php foreach($_options as $_option): ?>
190
+ <?php echo $this->getOptionHtml($_option) ?>
191
+ <?php endforeach; ?>
192
+ </dl>
193
+ <?php endif; ?>
app/design/frontend/base/default/template/oct8ne/frame/productview/options/js.phtml CHANGED
@@ -1,89 +1,89 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <script type="text/javascript">
28
- //<![CDATA[
29
- var DateOption = Class.create({
30
-
31
- getDaysInMonth: function(month, year)
32
- {
33
- var curDate = new Date();
34
- if (!month) {
35
- month = curDate.getMonth();
36
- }
37
- if (2 == month && !year) { // leap year assumption for unknown year
38
- return 29;
39
- }
40
- if (!year) {
41
- year = curDate.getFullYear();
42
- }
43
- return 32 - new Date(year, month - 1, 32).getDate();
44
- },
45
-
46
- reloadMonth: function(event)
47
- {
48
- var selectEl = event.findElement();
49
- var idParts = selectEl.id.split("_");
50
- if (idParts.length != 3) {
51
- return false;
52
- }
53
- var optionIdPrefix = idParts[0] + "_" + idParts[1];
54
- var month = parseInt($(optionIdPrefix + "_month").value);
55
- var year = parseInt($(optionIdPrefix + "_year").value);
56
- var dayEl = $(optionIdPrefix + "_day");
57
-
58
- var days = this.getDaysInMonth(month, year);
59
-
60
- //remove days
61
- for (var i = dayEl.options.length - 1; i >= 0; i--) {
62
- if (dayEl.options[i].value > days) {
63
- dayEl.remove(dayEl.options[i].index);
64
- }
65
- }
66
-
67
- // add days
68
- var lastDay = parseInt(dayEl.options[dayEl.options.length-1].value);
69
- for (i = lastDay + 1; i <= days; i++) {
70
- this.addOption(dayEl, i, i);
71
- }
72
- },
73
-
74
- addOption: function(select, text, value)
75
- {
76
- var option = document.createElement('OPTION');
77
- option.value = value;
78
- option.text = text;
79
-
80
- if (select.options.add) {
81
- select.options.add(option);
82
- } else {
83
- select.appendChild(option);
84
- }
85
- }
86
- });
87
- dateOption = new DateOption();
88
- //]]>
89
- </script>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <script type="text/javascript">
28
+ //<![CDATA[
29
+ var DateOption = Class.create({
30
+
31
+ getDaysInMonth: function(month, year)
32
+ {
33
+ var curDate = new Date();
34
+ if (!month) {
35
+ month = curDate.getMonth();
36
+ }
37
+ if (2 == month && !year) { // leap year assumption for unknown year
38
+ return 29;
39
+ }
40
+ if (!year) {
41
+ year = curDate.getFullYear();
42
+ }
43
+ return 32 - new Date(year, month - 1, 32).getDate();
44
+ },
45
+
46
+ reloadMonth: function(event)
47
+ {
48
+ var selectEl = event.findElement();
49
+ var idParts = selectEl.id.split("_");
50
+ if (idParts.length != 3) {
51
+ return false;
52
+ }
53
+ var optionIdPrefix = idParts[0] + "_" + idParts[1];
54
+ var month = parseInt($(optionIdPrefix + "_month").value);
55
+ var year = parseInt($(optionIdPrefix + "_year").value);
56
+ var dayEl = $(optionIdPrefix + "_day");
57
+
58
+ var days = this.getDaysInMonth(month, year);
59
+
60
+ //remove days
61
+ for (var i = dayEl.options.length - 1; i >= 0; i--) {
62
+ if (dayEl.options[i].value > days) {
63
+ dayEl.remove(dayEl.options[i].index);
64
+ }
65
+ }
66
+
67
+ // add days
68
+ var lastDay = parseInt(dayEl.options[dayEl.options.length-1].value);
69
+ for (i = lastDay + 1; i <= days; i++) {
70
+ this.addOption(dayEl, i, i);
71
+ }
72
+ },
73
+
74
+ addOption: function(select, text, value)
75
+ {
76
+ var option = document.createElement('OPTION');
77
+ option.value = value;
78
+ option.text = text;
79
+
80
+ if (select.options.add) {
81
+ select.options.add(option);
82
+ } else {
83
+ select.appendChild(option);
84
+ }
85
+ }
86
+ });
87
+ dateOption = new DateOption();
88
+ //]]>
89
+ </script>
app/design/frontend/base/default/template/oct8ne/frame/productview/options/type/date.phtml CHANGED
@@ -1,92 +1,92 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php $_option = $this->getOption() ?>
28
- <?php $_optionId = $_option->getId() ?>
29
- <dt><label<?php if ($_option->getIsRequire()) echo ' class="required"' ?>><?php if ($_option->getIsRequire()) echo '<em>*</em>' ?><?php echo $this->htmlEscape($_option->getTitle()) ?></label>
30
- <?php echo $this->getFormatedPrice() ?></dt>
31
- <dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>>
32
-
33
- <?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_DATE_TIME
34
- || $_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_DATE): ?>
35
-
36
- <?php echo $this->getDateHtml() ?>
37
-
38
- <?php if (!$this->useCalendar()): ?>
39
- <script type="text/javascript">
40
- //<![CDATA[
41
- Event.observe('options_<?php echo $_optionId ?>_month', 'change', dateOption.reloadMonth.bind(dateOption));
42
- Event.observe('options_<?php echo $_optionId ?>_year', 'change', dateOption.reloadMonth.bind(dateOption));
43
- //]]>
44
- </script>
45
- <?php endif; ?>
46
-
47
- <?php endif; ?>
48
-
49
- <?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_DATE_TIME
50
- || $_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_TIME): ?>
51
- <span class="time-picker"><?php echo $this->getTimeHtml() ?></span>
52
- <?php endif; ?>
53
-
54
- <input type="hidden" name="validate_datetime_<?php echo $_optionId ?>" class="validate-datetime-<?php echo $_optionId ?>" value="" />
55
- <script type="text/javascript">
56
- //<![CDATA[
57
- <?php if ($_option->getIsRequire()): ?>
58
- Validation.addAllThese(
59
- [
60
- ['validate-datetime-<?php echo $_optionId ?>', '<?php echo $this->jsQuoteEscape( Mage::helper('catalog')->__('This is a required option') )?>', function(v) {
61
- var dateTimeParts = $$('.datetime-picker[id^="options_<?php echo $_optionId ?>"]');
62
- for (var i=0; i < dateTimeParts.length; i++) {
63
- if (dateTimeParts[i].value == "") return false;
64
- }
65
- return true;
66
- }]
67
- ]
68
- );
69
- <?php else: ?>
70
- Validation.add(
71
- 'validate-datetime-<?php echo $_optionId ?>',
72
- '<?php echo $this->jsQuoteEscape( Mage::helper('catalog')->__('Field is not complete') )?>',
73
- function(v) {
74
- var dateTimeParts = $$('.datetime-picker[id^="options_<?php echo $_optionId ?>"]');
75
- var hasWithValue = false, hasWithNoValue = false;
76
- var pattern = /day_part$/i;
77
- for (var i=0; i < dateTimeParts.length; i++) {
78
- if (! pattern.test(dateTimeParts[i].id)) {
79
- if (dateTimeParts[i].value === "") {
80
- hasWithValue = true;
81
- } else {
82
- hasWithNoValue = true;
83
- }
84
- }
85
- }
86
- return hasWithValue ^ hasWithNoValue;
87
- }
88
- );
89
- <?php endif; ?>
90
- //]]>
91
- </script>
92
- </dd>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php $_option = $this->getOption() ?>
28
+ <?php $_optionId = $_option->getId() ?>
29
+ <dt><label<?php if ($_option->getIsRequire()) echo ' class="required"' ?>><?php if ($_option->getIsRequire()) echo '<em>*</em>' ?><?php echo $this->htmlEscape($_option->getTitle()) ?></label>
30
+ <?php echo $this->getFormatedPrice() ?></dt>
31
+ <dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>>
32
+
33
+ <?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_DATE_TIME
34
+ || $_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_DATE): ?>
35
+
36
+ <?php echo $this->getDateHtml() ?>
37
+
38
+ <?php if (!$this->useCalendar()): ?>
39
+ <script type="text/javascript">
40
+ //<![CDATA[
41
+ Event.observe('options_<?php echo $_optionId ?>_month', 'change', dateOption.reloadMonth.bind(dateOption));
42
+ Event.observe('options_<?php echo $_optionId ?>_year', 'change', dateOption.reloadMonth.bind(dateOption));
43
+ //]]>
44
+ </script>
45
+ <?php endif; ?>
46
+
47
+ <?php endif; ?>
48
+
49
+ <?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_DATE_TIME
50
+ || $_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_TIME): ?>
51
+ <span class="time-picker"><?php echo $this->getTimeHtml() ?></span>
52
+ <?php endif; ?>
53
+
54
+ <input type="hidden" name="validate_datetime_<?php echo $_optionId ?>" class="validate-datetime-<?php echo $_optionId ?>" value="" />
55
+ <script type="text/javascript">
56
+ //<![CDATA[
57
+ <?php if ($_option->getIsRequire()): ?>
58
+ Validation.addAllThese(
59
+ [
60
+ ['validate-datetime-<?php echo $_optionId ?>', '<?php echo $this->jsQuoteEscape( Mage::helper('catalog')->__('This is a required option') )?>', function(v) {
61
+ var dateTimeParts = $$('.datetime-picker[id^="options_<?php echo $_optionId ?>"]');
62
+ for (var i=0; i < dateTimeParts.length; i++) {
63
+ if (dateTimeParts[i].value == "") return false;
64
+ }
65
+ return true;
66
+ }]
67
+ ]
68
+ );
69
+ <?php else: ?>
70
+ Validation.add(
71
+ 'validate-datetime-<?php echo $_optionId ?>',
72
+ '<?php echo $this->jsQuoteEscape( Mage::helper('catalog')->__('Field is not complete') )?>',
73
+ function(v) {
74
+ var dateTimeParts = $$('.datetime-picker[id^="options_<?php echo $_optionId ?>"]');
75
+ var hasWithValue = false, hasWithNoValue = false;
76
+ var pattern = /day_part$/i;
77
+ for (var i=0; i < dateTimeParts.length; i++) {
78
+ if (! pattern.test(dateTimeParts[i].id)) {
79
+ if (dateTimeParts[i].value === "") {
80
+ hasWithValue = true;
81
+ } else {
82
+ hasWithNoValue = true;
83
+ }
84
+ }
85
+ }
86
+ return hasWithValue ^ hasWithNoValue;
87
+ }
88
+ );
89
+ <?php endif; ?>
90
+ //]]>
91
+ </script>
92
+ </dd>
app/design/frontend/base/default/template/oct8ne/frame/productview/options/type/default.phtml CHANGED
@@ -1,30 +1,30 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php $_option = $this->getOption() ?>
28
- <dt>
29
- <label><?php echo $this->htmlEscape($_option->getTitle()) ?></label>
30
- </dt>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php $_option = $this->getOption() ?>
28
+ <dt>
29
+ <label><?php echo $this->htmlEscape($_option->getTitle()) ?></label>
30
+ </dt>
app/design/frontend/base/default/template/oct8ne/frame/productview/options/type/file.phtml CHANGED
@@ -1,103 +1,103 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php $_option = $this->getOption(); ?>
28
- <?php $_fileInfo = $this->getFileInfo(); ?>
29
- <?php $_fileExists = $_fileInfo->hasData() ? true : false; ?>
30
- <?php $_fileName = 'options_' . $_option->getId() . '_file'; ?>
31
- <?php $_fieldNameAction = $_fileName . '_action'; ?>
32
- <?php $_fieldValueAction = $_fileExists ? 'save_old' : 'save_new'; ?>
33
- <?php $_fileNamed = $_fileName . '_name'; ?>
34
- <?php $_rand = rand(); ?>
35
-
36
- <script type="text/javascript">
37
- //<![CDATA[
38
- opFile<?php echo $_rand; ?> = {
39
- initializeFile: function(inputBox) {
40
- this.inputFile = inputBox.select('input[name="<?php echo $_fileName; ?>"]')[0];
41
- this.inputFileAction = inputBox.select('input[name="<?php echo $_fieldNameAction; ?>"]')[0];
42
- this.fileNameBox = inputBox.up('dd').select('.<?php echo $_fileNamed ?>')[0];
43
- },
44
-
45
- toggleFileChange: function(inputBox) {
46
- this.initializeFile(inputBox);
47
- inputBox.toggle();
48
- this.fileChangeFlag = this.fileChangeFlag ? false : true;
49
- if (!this.fileDeleteFlag) {
50
- if (this.fileChangeFlag) {
51
- this.inputFileAction.value = 'save_new';
52
- this.inputFile.disabled = false;
53
- } else {
54
- this.inputFileAction.value = 'save_old';
55
- this.inputFile.disabled = true;
56
- }
57
- }
58
- },
59
-
60
- toggleFileDelete: function(fileDeleteFlag, inputBox) {
61
- this.initializeFile(inputBox);
62
- this.fileDeleteFlag = fileDeleteFlag.checked ? true : false;
63
- if (this.fileDeleteFlag) {
64
- this.inputFileAction.value = '';
65
- this.inputFile.disabled = true;
66
- this.fileNameBox.setStyle({'text-decoration': 'line-through'});
67
- } else {
68
- this.inputFileAction.value = this.fileChangeFlag ? 'save_new' : 'save_old';
69
- this.inputFile.disabled = (this.fileChangeFlag == 'save_old');
70
- this.fileNameBox.setStyle({'text-decoration': 'none'});
71
- }
72
- }
73
- };
74
- //]]>
75
- </script>
76
-
77
- <dt><label <?php if ($_option->getIsRequire()) echo ' class="required"' ?>><?php if ($_option->getIsRequire()) echo '<em>*</em>' ?><?php echo $this->htmlEscape($_option->getTitle()) ?></label>
78
- <?php echo $this->getFormatedPrice() ?></dt>
79
- <dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>>
80
- <?php if ($_fileExists): ?>
81
- <span class="<?php echo $_fileNamed ?>"><?php echo $_fileInfo->getTitle(); ?></span>
82
- <a href="javascript:void(0)" class="label" onclick="opFile<?php echo $_rand; ?>.toggleFileChange($(this).next('.input-box'))">
83
- <?php echo Mage::helper('catalog')->__('Change') ?>
84
- </a>&nbsp;
85
- <?php if (!$_option->getIsRequire()): ?>
86
- <input type="checkbox" onclick="opFile<?php echo $_rand; ?>.toggleFileDelete($(this), $(this).next('.input-box'))" />
87
- <span class="label"><?php echo Mage::helper('catalog')->__('Delete') ?></span>
88
- <?php endif; ?>
89
- <?php endif; ?>
90
- <div class="input-box" <?php echo $_fileExists ? 'style="display:none"' : '' ?>>
91
- <input type="file" name="<?php echo $_fileName; ?>" class="product-custom-option<?php echo $_option->getIsRequire() ? ' required-entry' : '' ?>" <?php echo $_fileExists ? 'disabled="disabled"' : '' ?> onchange="opConfig.reloadPrice()" />
92
- <input type="hidden" name="<?php echo $_fieldNameAction; ?>" value="<?php echo $_fieldValueAction; ?>" />
93
- <?php if ($_option->getFileExtension()): ?>
94
- <p class="no-margin"><?php echo Mage::helper('catalog')->__('Allowed file extensions to upload')?>: <strong><?php echo $_option->getFileExtension() ?></strong></p>
95
- <?php endif; ?>
96
- <?php if ($_option->getImageSizeX() > 0): ?>
97
- <p class="no-margin"><?php echo Mage::helper('catalog')->__('Maximum image width')?>: <strong><?php echo $_option->getImageSizeX() ?> <?php echo Mage::helper('catalog')->__('px.')?></strong></p>
98
- <?php endif; ?>
99
- <?php if ($_option->getImageSizeY() > 0): ?>
100
- <p class="no-margin"><?php echo Mage::helper('catalog')->__('Maximum image height')?>: <strong><?php echo $_option->getImageSizeY() ?> <?php echo Mage::helper('catalog')->__('px.')?></strong></p>
101
- <?php endif; ?>
102
- </div>
103
- </dd>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php $_option = $this->getOption(); ?>
28
+ <?php $_fileInfo = $this->getFileInfo(); ?>
29
+ <?php $_fileExists = $_fileInfo->hasData() ? true : false; ?>
30
+ <?php $_fileName = 'options_' . $_option->getId() . '_file'; ?>
31
+ <?php $_fieldNameAction = $_fileName . '_action'; ?>
32
+ <?php $_fieldValueAction = $_fileExists ? 'save_old' : 'save_new'; ?>
33
+ <?php $_fileNamed = $_fileName . '_name'; ?>
34
+ <?php $_rand = rand(); ?>
35
+
36
+ <script type="text/javascript">
37
+ //<![CDATA[
38
+ opFile<?php echo $_rand; ?> = {
39
+ initializeFile: function(inputBox) {
40
+ this.inputFile = inputBox.select('input[name="<?php echo $_fileName; ?>"]')[0];
41
+ this.inputFileAction = inputBox.select('input[name="<?php echo $_fieldNameAction; ?>"]')[0];
42
+ this.fileNameBox = inputBox.up('dd').select('.<?php echo $_fileNamed ?>')[0];
43
+ },
44
+
45
+ toggleFileChange: function(inputBox) {
46
+ this.initializeFile(inputBox);
47
+ inputBox.toggle();
48
+ this.fileChangeFlag = this.fileChangeFlag ? false : true;
49
+ if (!this.fileDeleteFlag) {
50
+ if (this.fileChangeFlag) {
51
+ this.inputFileAction.value = 'save_new';
52
+ this.inputFile.disabled = false;
53
+ } else {
54
+ this.inputFileAction.value = 'save_old';
55
+ this.inputFile.disabled = true;
56
+ }
57
+ }
58
+ },
59
+
60
+ toggleFileDelete: function(fileDeleteFlag, inputBox) {
61
+ this.initializeFile(inputBox);
62
+ this.fileDeleteFlag = fileDeleteFlag.checked ? true : false;
63
+ if (this.fileDeleteFlag) {
64
+ this.inputFileAction.value = '';
65
+ this.inputFile.disabled = true;
66
+ this.fileNameBox.setStyle({'text-decoration': 'line-through'});
67
+ } else {
68
+ this.inputFileAction.value = this.fileChangeFlag ? 'save_new' : 'save_old';
69
+ this.inputFile.disabled = (this.fileChangeFlag == 'save_old');
70
+ this.fileNameBox.setStyle({'text-decoration': 'none'});
71
+ }
72
+ }
73
+ };
74
+ //]]>
75
+ </script>
76
+
77
+ <dt><label <?php if ($_option->getIsRequire()) echo ' class="required"' ?>><?php if ($_option->getIsRequire()) echo '<em>*</em>' ?><?php echo $this->htmlEscape($_option->getTitle()) ?></label>
78
+ <?php echo $this->getFormatedPrice() ?></dt>
79
+ <dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>>
80
+ <?php if ($_fileExists): ?>
81
+ <span class="<?php echo $_fileNamed ?>"><?php echo $_fileInfo->getTitle(); ?></span>
82
+ <a href="javascript:void(0)" class="label" onclick="opFile<?php echo $_rand; ?>.toggleFileChange($(this).next('.input-box'))">
83
+ <?php echo Mage::helper('catalog')->__('Change') ?>
84
+ </a>&nbsp;
85
+ <?php if (!$_option->getIsRequire()): ?>
86
+ <input type="checkbox" onclick="opFile<?php echo $_rand; ?>.toggleFileDelete($(this), $(this).next('.input-box'))" />
87
+ <span class="label"><?php echo Mage::helper('catalog')->__('Delete') ?></span>
88
+ <?php endif; ?>
89
+ <?php endif; ?>
90
+ <div class="input-box" <?php echo $_fileExists ? 'style="display:none"' : '' ?>>
91
+ <input type="file" name="<?php echo $_fileName; ?>" class="product-custom-option<?php echo $_option->getIsRequire() ? ' required-entry' : '' ?>" <?php echo $_fileExists ? 'disabled="disabled"' : '' ?> onchange="opConfig.reloadPrice()" />
92
+ <input type="hidden" name="<?php echo $_fieldNameAction; ?>" value="<?php echo $_fieldValueAction; ?>" />
93
+ <?php if ($_option->getFileExtension()): ?>
94
+ <p class="no-margin"><?php echo Mage::helper('catalog')->__('Allowed file extensions to upload')?>: <strong><?php echo $_option->getFileExtension() ?></strong></p>
95
+ <?php endif; ?>
96
+ <?php if ($_option->getImageSizeX() > 0): ?>
97
+ <p class="no-margin"><?php echo Mage::helper('catalog')->__('Maximum image width')?>: <strong><?php echo $_option->getImageSizeX() ?> <?php echo Mage::helper('catalog')->__('px.')?></strong></p>
98
+ <?php endif; ?>
99
+ <?php if ($_option->getImageSizeY() > 0): ?>
100
+ <p class="no-margin"><?php echo Mage::helper('catalog')->__('Maximum image height')?>: <strong><?php echo $_option->getImageSizeY() ?> <?php echo Mage::helper('catalog')->__('px.')?></strong></p>
101
+ <?php endif; ?>
102
+ </div>
103
+ </dd>
app/design/frontend/base/default/template/oct8ne/frame/productview/options/type/select.phtml CHANGED
@@ -1,40 +1,40 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
-
28
- <?php /* @var $this Mage_Catalog_Block_Product_View_Options_Type_Select */ ?>
29
- <?php $_option = $this->getOption() ?>
30
- <dt><label<?php if ($_option->getIsRequire()) echo ' class="required"' ?>><?php if ($_option->getIsRequire()) echo '<em>*</em>' ?><?php echo $this->htmlEscape($_option->getTitle()) ?></label></dt>
31
- <dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>>
32
- <div class="input-box">
33
- <?php echo $this->getValuesHtml() ?>
34
- <?php if ($_option->getIsRequire()): ?>
35
- <?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_RADIO || $_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_CHECKBOX): ?>
36
- <span id="options-<?php echo $_option->getId() ?>-container"></span>
37
- <?php endif; ?>
38
- <?php endif;?>
39
- </div>
40
- </dd>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+
28
+ <?php /* @var $this Mage_Catalog_Block_Product_View_Options_Type_Select */ ?>
29
+ <?php $_option = $this->getOption() ?>
30
+ <dt><label<?php if ($_option->getIsRequire()) echo ' class="required"' ?>><?php if ($_option->getIsRequire()) echo '<em>*</em>' ?><?php echo $this->htmlEscape($_option->getTitle()) ?></label></dt>
31
+ <dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>>
32
+ <div class="input-box">
33
+ <?php echo $this->getValuesHtml() ?>
34
+ <?php if ($_option->getIsRequire()): ?>
35
+ <?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_RADIO || $_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_CHECKBOX): ?>
36
+ <span id="options-<?php echo $_option->getId() ?>-container"></span>
37
+ <?php endif; ?>
38
+ <?php endif;?>
39
+ </div>
40
+ </dd>
app/design/frontend/base/default/template/oct8ne/frame/productview/options/type/text.phtml CHANGED
@@ -1,41 +1,41 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php $_option = $this->getOption(); ?>
28
- <dt><label<?php if ($_option->getIsRequire()) echo ' class="required"' ?>><?php if ($_option->getIsRequire()) echo '<em>*</em>' ?><?php echo $this->htmlEscape($_option->getTitle()) ?></label>
29
- <?php echo $this->getFormatedPrice() ?></dt>
30
- <dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>>
31
- <div class="input-box">
32
- <?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_FIELD): ?>
33
- <input type="text" onchange="opConfig.reloadPrice()" id="options_<?php echo $_option->getId() ?>_text" class="input-text<?php echo $_option->getIsRequire() ? ' required-entry' : '' ?> <?php echo $_option->getMaxCharacters() ? ' validate-length maximum-length-'.$_option->getMaxCharacters() : '' ?> product-custom-option" name="options[<?php echo $_option->getId() ?>]" value="<?php echo $this->escapeHtml($this->getDefaultValue()) ?>" />
34
- <?php elseif ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_AREA): ?>
35
- <textarea id="options_<?php echo $_option->getId() ?>_text" onchange="opConfig.reloadPrice()" class="<?php echo $_option->getIsRequire() ? ' required-entry' : '' ?> <?php echo $_option->getMaxCharacters() ? ' validate-length maximum-length-'.$_option->getMaxCharacters() : '' ?> product-custom-option" name="options[<?php echo $_option->getId() ?>]" rows="5" cols="25"><?php echo $this->escapeHtml($this->getDefaultValue()) ?></textarea>
36
- <?php endif; ?>
37
- <?php if ($_option->getMaxCharacters()): ?>
38
- <p class="note"><?php echo Mage::helper('catalog')->__('Maximum number of characters:')?> <strong><?php echo $_option->getMaxCharacters() ?></strong></p>
39
- <?php endif; ?>
40
- </div>
41
- </dd>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php $_option = $this->getOption(); ?>
28
+ <dt><label<?php if ($_option->getIsRequire()) echo ' class="required"' ?>><?php if ($_option->getIsRequire()) echo '<em>*</em>' ?><?php echo $this->htmlEscape($_option->getTitle()) ?></label>
29
+ <?php echo $this->getFormatedPrice() ?></dt>
30
+ <dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>>
31
+ <div class="input-box">
32
+ <?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_FIELD): ?>
33
+ <input type="text" onchange="opConfig.reloadPrice()" id="options_<?php echo $_option->getId() ?>_text" class="input-text<?php echo $_option->getIsRequire() ? ' required-entry' : '' ?> <?php echo $_option->getMaxCharacters() ? ' validate-length maximum-length-'.$_option->getMaxCharacters() : '' ?> product-custom-option" name="options[<?php echo $_option->getId() ?>]" value="<?php echo $this->escapeHtml($this->getDefaultValue()) ?>" />
34
+ <?php elseif ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_AREA): ?>
35
+ <textarea id="options_<?php echo $_option->getId() ?>_text" onchange="opConfig.reloadPrice()" class="<?php echo $_option->getIsRequire() ? ' required-entry' : '' ?> <?php echo $_option->getMaxCharacters() ? ' validate-length maximum-length-'.$_option->getMaxCharacters() : '' ?> product-custom-option" name="options[<?php echo $_option->getId() ?>]" rows="5" cols="25"><?php echo $this->escapeHtml($this->getDefaultValue()) ?></textarea>
36
+ <?php endif; ?>
37
+ <?php if ($_option->getMaxCharacters()): ?>
38
+ <p class="note"><?php echo Mage::helper('catalog')->__('Maximum number of characters:')?> <strong><?php echo $_option->getMaxCharacters() ?></strong></p>
39
+ <?php endif; ?>
40
+ </div>
41
+ </dd>
app/design/frontend/base/default/template/oct8ne/frame/productview/options/wrapper.phtml CHANGED
@@ -1,33 +1,33 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <div class="product-options" id="product-options-wrapper">
28
- <?php echo $this->getChildHtml('', true, true);?>
29
- <?php if ($this->hasRequiredOptions()):?>
30
- <p class="required"><?php echo $this->__('* Required Fields') ?></p>
31
- <?php endif;?>
32
- </div>
33
- <script type="text/javascript">decorateGeneric($$('#product-options-wrapper dl'), ['last']);</script>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <div class="product-options" id="product-options-wrapper">
28
+ <?php echo $this->getChildHtml('', true, true);?>
29
+ <?php if ($this->hasRequiredOptions()):?>
30
+ <p class="required"><?php echo $this->__('* Required Fields') ?></p>
31
+ <?php endif;?>
32
+ </div>
33
+ <script type="text/javascript">decorateGeneric($$('#product-options-wrapper dl'), ['last']);</script>
app/design/frontend/base/default/template/oct8ne/frame/productview/options/wrapper/bottom.phtml CHANGED
@@ -1,29 +1,29 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <div class="product-options-bottom">
28
- <?php echo $this->getChildHtml('', true, true);?>
29
- </div>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <div class="product-options-bottom">
28
+ <?php echo $this->getChildHtml('', true, true);?>
29
+ </div>
app/design/frontend/base/default/template/oct8ne/frame/productview/price.phtml CHANGED
@@ -1,34 +1,34 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
-
27
- /**
28
- * @deprecated after 1.4.0.0-alpha3
29
- */
30
- ?>
31
- <div class="price-box" id="product_price">
32
- <p class="old-price"><?php echo $this->__('Old Price:') ?> <?php echo $this->getPrice() ?></p>
33
- <p class="special-price"><?php echo $this->getPrice() ?></p>
34
- </div>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+
27
+ /**
28
+ * @deprecated after 1.4.0.0-alpha3
29
+ */
30
+ ?>
31
+ <div class="price-box" id="product_price">
32
+ <p class="old-price"><?php echo $this->__('Old Price:') ?> <?php echo $this->getPrice() ?></p>
33
+ <p class="special-price"><?php echo $this->getPrice() ?></p>
34
+ </div>
app/design/frontend/base/default/template/oct8ne/frame/productview/price_clone.phtml CHANGED
@@ -1,28 +1,28 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php $_product = $this->getProduct() ?>
28
- <?php echo $this->getPriceHtml($_product, false, '_clone') ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php $_product = $this->getProduct() ?>
28
+ <?php echo $this->getPriceHtml($_product, false, '_clone') ?>
app/design/frontend/base/default/template/oct8ne/frame/productview/tierprices.phtml CHANGED
@@ -1,232 +1,232 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
-
28
- <?php
29
- /**
30
- * @see Mage_Catalog_Block_Product_View
31
- */
32
- $_product = $this->getProduct();
33
- $_tierPrices = $this->getTierPrices();
34
- $_finalPriceInclTax = $this->helper('tax')->getPrice($_product, $_product->getFinalPrice(), true);
35
-
36
- /** @var $_catalogHelper Mage_Catalog_Helper_Data */
37
- $_catalogHelper = Mage::helper('catalog');
38
-
39
- $_weeeTaxAmount = Mage::helper('weee')->getAmountForDisplay($_product);
40
- if (Mage::helper('weee')->typeOfDisplay($_product, array(1,2,4))) {
41
- $_weeeTaxAttributes = Mage::helper('weee')->getProductWeeeAttributesForDisplay($_product);
42
- }
43
-
44
- ?>
45
- <?php if (count($_tierPrices) > 0): ?>
46
- <ul class="<?php echo ($this->getInGrouped() ? 'tier-prices-grouped product-pricing-grouped' : 'tier-prices product-pricing'); ?>">
47
- <?php if ($this->getInGrouped()): ?>
48
- <?php $_tierPrices = $this->getTierPrices($_product); ?>
49
- <?php endif; ?>
50
- <?php Mage::helper('weee')->processTierPrices($_product, $_tierPrices); ?>
51
- <?php foreach ($_tierPrices as $_index => $_price): ?>
52
- <li>
53
- <?php if ($_catalogHelper->canApplyMsrp($_product)): ?>
54
- <?php if ($this->getInGrouped()): ?>
55
- <?php echo $this->__('Buy %1$s for', $_price['price_qty']) ?>:
56
- <?php else: ?>
57
- <?php echo $this->__('Buy %1$s', $_price['price_qty']) ?>
58
- <?php endif; ?>
59
- <?php else: ?>
60
-
61
- <?php if ($this->helper('tax')->displayBothPrices()): ?>
62
- <?php if (Mage::helper('weee')->typeOfDisplay($_product, 0)): ?>
63
- <?php echo $this->__('Buy %1$s for %2$s (%3$s incl. tax) each', $_price['price_qty'], $_price['formated_price_incl_weee_only'], $_price['formated_price_incl_weee']) ?>
64
- <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 1)): ?>
65
- <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
66
- <?php if ($_weeeTaxAttributes): ?>
67
- (<small>
68
- <?php echo $this->__('%1$s incl tax.', $_price['formated_price_incl_weee']); ?>
69
- <?php $separator = ' + '; foreach ($_weeeTaxAttributes as $_attribute): ?>
70
- <?php echo $separator; ?>
71
- <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()); ?>
72
- <?php endforeach; ?>
73
- </small>)
74
- <?php endif; ?>
75
- <?php echo $this->__('each') ?>
76
- <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 4)): ?>
77
- <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
78
- <?php if ($_weeeTaxAttributes): ?>
79
- (<small>
80
- <?php echo $this->__('%1$s incl tax.', $_price['formated_price_incl_weee']); ?>
81
- <?php $separator = ' + '; foreach ($_weeeTaxAttributes as $_attribute): ?>
82
- <?php echo $separator; ?>
83
- <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()+$_attribute->getTaxAmount()); ?>
84
- <?php endforeach; ?>
85
- </small>)
86
- <?php endif; ?>
87
- <?php echo $this->__('each') ?>
88
- <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 2)): ?>
89
- <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price']); ?>
90
- <?php if ($_weeeTaxAttributes): ?>
91
- (<small>
92
- <?php foreach ($_weeeTaxAttributes as $_attribute): ?>
93
- <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()); ?>
94
- <?php endforeach; ?>
95
- <?php echo $this->__('Total incl. Tax: %1$s', $_price['formated_price_incl_weee']); ?>
96
- </small>)
97
- <?php endif; ?>
98
- <?php echo $this->__('each') ?>
99
- <?php else: ?>
100
- <?php echo $this->__('Buy %1$s for %2$s (%3$s incl. tax) each', $_price['price_qty'], $_price['formated_price'], $_price['formated_price_incl_tax']) ?>
101
- <?php endif; ?>
102
- <?php else: ?>
103
- <?php if ($this->helper('tax')->displayPriceIncludingTax()): ?>
104
- <?php if (Mage::helper('weee')->typeOfDisplay($_product, 0)): ?>
105
- <?php echo $this->__('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_weee']) ?>
106
- <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 1)): ?>
107
- <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee']); ?>
108
- <?php if ($_weeeTaxAttributes): ?>
109
- (<small>
110
- <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
111
- <?php echo $separator; ?>
112
- <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()); ?>
113
- <?php $separator = ' + '; endforeach; ?>
114
- </small>)
115
- <?php endif; ?>
116
- <?php echo $this->__('each') ?>
117
- <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 4)): ?>
118
- <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee']); ?>
119
- <?php if ($_weeeTaxAttributes): ?>
120
- (<small>
121
- <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
122
- <?php echo $separator; ?>
123
- <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()+$_attribute->getTaxAmount()); ?>
124
- <?php $separator = ' + '; endforeach; ?>
125
- </small>)
126
- <?php endif; ?>
127
- <?php echo $this->__('each') ?>
128
- <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 2)): ?>
129
- <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_tax']); ?>
130
- <?php if ($_weeeTaxAttributes): ?>
131
- (<small>
132
- <?php foreach ($_weeeTaxAttributes as $_attribute): ?>
133
- <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()); ?>
134
- <?php endforeach; ?>
135
- <?php echo $this->__('Total incl. Tax: %1$s', $_price['formated_price_incl_weee']); ?>
136
- </small>)
137
- <?php endif; ?>
138
- <?php echo $this->__('each') ?>
139
- <?php else: ?>
140
- <?php echo $this->__('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_tax']) ?>
141
- <?php endif; ?>
142
- <?php else: ?>
143
- <?php if (Mage::helper('weee')->typeOfDisplay($_product, 0)): ?>
144
- <?php echo $this->__('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_weee_only']) ?>
145
- <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 1)): ?>
146
- <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
147
- <?php if ($_weeeTaxAttributes): ?>
148
- (<small>
149
- <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
150
- <?php echo $separator; ?>
151
- <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()); ?>
152
- <?php $separator = ' + '; endforeach; ?>
153
- </small>)
154
- <?php endif; ?>
155
- <?php echo $this->__('each') ?>
156
- <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 4)): ?>
157
- <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
158
- <?php if ($_weeeTaxAttributes): ?>
159
- (<small>
160
- <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
161
- <?php echo $separator; ?>
162
- <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()+$_attribute->getTaxAmount()); ?>
163
- <?php $separator = ' + '; endforeach; ?>
164
- </small>)
165
- <?php endif; ?>
166
- <?php echo $this->__('each') ?>
167
- <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 2)): ?>
168
- <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price']); ?>
169
- <?php if ($_weeeTaxAttributes): ?>
170
- (<small>
171
- <?php foreach ($_weeeTaxAttributes as $_attribute): ?>
172
- <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()); ?>
173
- <?php endforeach; ?>
174
- <?php echo $this->__('Total incl. Tax: %1$s', $_price['formated_price_incl_weee_only']); ?>
175
- </small>)
176
- <?php endif; ?>
177
- <?php echo $this->__('each') ?>
178
- <?php else: ?>
179
- <?php echo $this->__('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price']) ?>
180
- <?php endif; ?>
181
- <?php endif; ?>
182
- <?php endif; ?>
183
-
184
- <?php endif; // Can apply MSRP ?>
185
-
186
- <?php if (!$this->getInGrouped()): ?>
187
- <?php if(($_product->getPrice() == $_product->getFinalPrice() && $_product->getPrice() > $_price['price'])
188
- || ($_product->getPrice() != $_product->getFinalPrice() && $_product->getFinalPrice() > $_price['price'])): ?>
189
- <?php echo $this->__('and') ?>&nbsp;<strong class="benefit"><?php echo $this->__('save')?>&nbsp;<span class="percent tier-<?php echo $_index;?>"><?php echo $_price['savePercent']?></span>%
190
- <?php endif ?></strong>
191
- <?php endif; ?>
192
-
193
- <?php if ($_catalogHelper->isShowPriceOnGesture($_product)):?>
194
- <?php $popupId = 'msrp-popup-' . $_product->getId() . $this->helper('core')->getRandomString(20); ?>
195
- <a href="#" id="<?php echo($popupId);?>"><?php echo $this->__('Click for price'); ?></a>
196
- <script type="text/javascript">
197
- <?php
198
- $addToCartUrl = $this->getProduct()->isSalable()
199
- ? $this->getAddToCartUrl($_product, array('qty' => $_price['price_qty']))
200
- : '';
201
- ?>
202
- <?php if (!$this->getInGrouped()): ?>
203
- var newLink = {
204
- url: "<?php echo $addToCartUrl; ?>",
205
- qty: "<?php echo $_price['price_qty']?>"
206
- };
207
- <?php else: ?>
208
- var newLink = {
209
- url: "<?php echo $addToCartUrl; ?>",
210
- notUseForm: true
211
- };
212
- <?php endif ?>
213
- Catalog.Map.addHelpLink(
214
- $('<?php echo $popupId ?>'),
215
- "<?php echo $_product->getName() ?>",
216
- <?php echo json_encode($_price['real_price_html']) ?>,
217
- "<?php echo $this->helper('core')->currency($_product->getMsrp(),true,false) ?>",
218
- newLink
219
- );
220
- </script>
221
- <?php else: ?>
222
- <span class="msrp-price-hide-message">
223
- <?php echo $_catalogHelper->getMsrpPriceMessage($_product) ?>
224
- </span>
225
- <?php endif; ?>
226
-
227
-
228
- </li>
229
-
230
- <?php endforeach ?>
231
- </ul>
232
- <?php endif;?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+
28
+ <?php
29
+ /**
30
+ * @see Mage_Catalog_Block_Product_View
31
+ */
32
+ $_product = $this->getProduct();
33
+ $_tierPrices = $this->getTierPrices();
34
+ $_finalPriceInclTax = $this->helper('tax')->getPrice($_product, $_product->getFinalPrice(), true);
35
+
36
+ /** @var $_catalogHelper Mage_Catalog_Helper_Data */
37
+ $_catalogHelper = Mage::helper('catalog');
38
+
39
+ $_weeeTaxAmount = Mage::helper('weee')->getAmountForDisplay($_product);
40
+ if (Mage::helper('weee')->typeOfDisplay($_product, array(1,2,4))) {
41
+ $_weeeTaxAttributes = Mage::helper('weee')->getProductWeeeAttributesForDisplay($_product);
42
+ }
43
+
44
+ ?>
45
+ <?php if (count($_tierPrices) > 0): ?>
46
+ <ul class="<?php echo ($this->getInGrouped() ? 'tier-prices-grouped product-pricing-grouped' : 'tier-prices product-pricing'); ?>">
47
+ <?php if ($this->getInGrouped()): ?>
48
+ <?php $_tierPrices = $this->getTierPrices($_product); ?>
49
+ <?php endif; ?>
50
+ <?php Mage::helper('weee')->processTierPrices($_product, $_tierPrices); ?>
51
+ <?php foreach ($_tierPrices as $_index => $_price): ?>
52
+ <li>
53
+ <?php if ($_catalogHelper->canApplyMsrp($_product)): ?>
54
+ <?php if ($this->getInGrouped()): ?>
55
+ <?php echo $this->__('Buy %1$s for', $_price['price_qty']) ?>:
56
+ <?php else: ?>
57
+ <?php echo $this->__('Buy %1$s', $_price['price_qty']) ?>
58
+ <?php endif; ?>
59
+ <?php else: ?>
60
+
61
+ <?php if ($this->helper('tax')->displayBothPrices()): ?>
62
+ <?php if (Mage::helper('weee')->typeOfDisplay($_product, 0)): ?>
63
+ <?php echo $this->__('Buy %1$s for %2$s (%3$s incl. tax) each', $_price['price_qty'], $_price['formated_price_incl_weee_only'], $_price['formated_price_incl_weee']) ?>
64
+ <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 1)): ?>
65
+ <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
66
+ <?php if ($_weeeTaxAttributes): ?>
67
+ (<small>
68
+ <?php echo $this->__('%1$s incl tax.', $_price['formated_price_incl_weee']); ?>
69
+ <?php $separator = ' + '; foreach ($_weeeTaxAttributes as $_attribute): ?>
70
+ <?php echo $separator; ?>
71
+ <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()); ?>
72
+ <?php endforeach; ?>
73
+ </small>)
74
+ <?php endif; ?>
75
+ <?php echo $this->__('each') ?>
76
+ <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 4)): ?>
77
+ <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
78
+ <?php if ($_weeeTaxAttributes): ?>
79
+ (<small>
80
+ <?php echo $this->__('%1$s incl tax.', $_price['formated_price_incl_weee']); ?>
81
+ <?php $separator = ' + '; foreach ($_weeeTaxAttributes as $_attribute): ?>
82
+ <?php echo $separator; ?>
83
+ <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()+$_attribute->getTaxAmount()); ?>
84
+ <?php endforeach; ?>
85
+ </small>)
86
+ <?php endif; ?>
87
+ <?php echo $this->__('each') ?>
88
+ <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 2)): ?>
89
+ <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price']); ?>
90
+ <?php if ($_weeeTaxAttributes): ?>
91
+ (<small>
92
+ <?php foreach ($_weeeTaxAttributes as $_attribute): ?>
93
+ <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()); ?>
94
+ <?php endforeach; ?>
95
+ <?php echo $this->__('Total incl. Tax: %1$s', $_price['formated_price_incl_weee']); ?>
96
+ </small>)
97
+ <?php endif; ?>
98
+ <?php echo $this->__('each') ?>
99
+ <?php else: ?>
100
+ <?php echo $this->__('Buy %1$s for %2$s (%3$s incl. tax) each', $_price['price_qty'], $_price['formated_price'], $_price['formated_price_incl_tax']) ?>
101
+ <?php endif; ?>
102
+ <?php else: ?>
103
+ <?php if ($this->helper('tax')->displayPriceIncludingTax()): ?>
104
+ <?php if (Mage::helper('weee')->typeOfDisplay($_product, 0)): ?>
105
+ <?php echo $this->__('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_weee']) ?>
106
+ <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 1)): ?>
107
+ <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee']); ?>
108
+ <?php if ($_weeeTaxAttributes): ?>
109
+ (<small>
110
+ <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
111
+ <?php echo $separator; ?>
112
+ <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()); ?>
113
+ <?php $separator = ' + '; endforeach; ?>
114
+ </small>)
115
+ <?php endif; ?>
116
+ <?php echo $this->__('each') ?>
117
+ <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 4)): ?>
118
+ <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee']); ?>
119
+ <?php if ($_weeeTaxAttributes): ?>
120
+ (<small>
121
+ <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
122
+ <?php echo $separator; ?>
123
+ <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()+$_attribute->getTaxAmount()); ?>
124
+ <?php $separator = ' + '; endforeach; ?>
125
+ </small>)
126
+ <?php endif; ?>
127
+ <?php echo $this->__('each') ?>
128
+ <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 2)): ?>
129
+ <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_tax']); ?>
130
+ <?php if ($_weeeTaxAttributes): ?>
131
+ (<small>
132
+ <?php foreach ($_weeeTaxAttributes as $_attribute): ?>
133
+ <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()); ?>
134
+ <?php endforeach; ?>
135
+ <?php echo $this->__('Total incl. Tax: %1$s', $_price['formated_price_incl_weee']); ?>
136
+ </small>)
137
+ <?php endif; ?>
138
+ <?php echo $this->__('each') ?>
139
+ <?php else: ?>
140
+ <?php echo $this->__('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_tax']) ?>
141
+ <?php endif; ?>
142
+ <?php else: ?>
143
+ <?php if (Mage::helper('weee')->typeOfDisplay($_product, 0)): ?>
144
+ <?php echo $this->__('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_weee_only']) ?>
145
+ <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 1)): ?>
146
+ <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
147
+ <?php if ($_weeeTaxAttributes): ?>
148
+ (<small>
149
+ <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
150
+ <?php echo $separator; ?>
151
+ <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()); ?>
152
+ <?php $separator = ' + '; endforeach; ?>
153
+ </small>)
154
+ <?php endif; ?>
155
+ <?php echo $this->__('each') ?>
156
+ <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 4)): ?>
157
+ <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
158
+ <?php if ($_weeeTaxAttributes): ?>
159
+ (<small>
160
+ <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
161
+ <?php echo $separator; ?>
162
+ <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()+$_attribute->getTaxAmount()); ?>
163
+ <?php $separator = ' + '; endforeach; ?>
164
+ </small>)
165
+ <?php endif; ?>
166
+ <?php echo $this->__('each') ?>
167
+ <?php elseif(Mage::helper('weee')->typeOfDisplay($_product, 2)): ?>
168
+ <?php echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price']); ?>
169
+ <?php if ($_weeeTaxAttributes): ?>
170
+ (<small>
171
+ <?php foreach ($_weeeTaxAttributes as $_attribute): ?>
172
+ <?php echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()); ?>
173
+ <?php endforeach; ?>
174
+ <?php echo $this->__('Total incl. Tax: %1$s', $_price['formated_price_incl_weee_only']); ?>
175
+ </small>)
176
+ <?php endif; ?>
177
+ <?php echo $this->__('each') ?>
178
+ <?php else: ?>
179
+ <?php echo $this->__('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price']) ?>
180
+ <?php endif; ?>
181
+ <?php endif; ?>
182
+ <?php endif; ?>
183
+
184
+ <?php endif; // Can apply MSRP ?>
185
+
186
+ <?php if (!$this->getInGrouped()): ?>
187
+ <?php if(($_product->getPrice() == $_product->getFinalPrice() && $_product->getPrice() > $_price['price'])
188
+ || ($_product->getPrice() != $_product->getFinalPrice() && $_product->getFinalPrice() > $_price['price'])): ?>
189
+ <?php echo $this->__('and') ?>&nbsp;<strong class="benefit"><?php echo $this->__('save')?>&nbsp;<span class="percent tier-<?php echo $_index;?>"><?php echo $_price['savePercent']?></span>%
190
+ <?php endif ?></strong>
191
+ <?php endif; ?>
192
+
193
+ <?php if ($_catalogHelper->isShowPriceOnGesture($_product)):?>
194
+ <?php $popupId = 'msrp-popup-' . $_product->getId() . $this->helper('core')->getRandomString(20); ?>
195
+ <a href="#" id="<?php echo($popupId);?>"><?php echo $this->__('Click for price'); ?></a>
196
+ <script type="text/javascript">
197
+ <?php
198
+ $addToCartUrl = $this->getProduct()->isSalable()
199
+ ? $this->getAddToCartUrl($_product, array('qty' => $_price['price_qty']))
200
+ : '';
201
+ ?>
202
+ <?php if (!$this->getInGrouped()): ?>
203
+ var newLink = {
204
+ url: "<?php echo $addToCartUrl; ?>",
205
+ qty: "<?php echo $_price['price_qty']?>"
206
+ };
207
+ <?php else: ?>
208
+ var newLink = {
209
+ url: "<?php echo $addToCartUrl; ?>",
210
+ notUseForm: true
211
+ };
212
+ <?php endif ?>
213
+ Catalog.Map.addHelpLink(
214
+ $('<?php echo $popupId ?>'),
215
+ "<?php echo $_product->getName() ?>",
216
+ <?php echo json_encode($_price['real_price_html']) ?>,
217
+ "<?php echo $this->helper('core')->currency($_product->getMsrp(),true,false) ?>",
218
+ newLink
219
+ );
220
+ </script>
221
+ <?php else: ?>
222
+ <span class="msrp-price-hide-message">
223
+ <?php echo $_catalogHelper->getMsrpPriceMessage($_product) ?>
224
+ </span>
225
+ <?php endif; ?>
226
+
227
+
228
+ </li>
229
+
230
+ <?php endforeach ?>
231
+ </ul>
232
+ <?php endif;?>
app/design/frontend/base/default/template/oct8ne/frame/productview/type/configurable.phtml CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php
28
- /**
29
- * @deprecated after 1.4.1.0 in favor of default.phtml
30
- */
31
- ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php
28
+ /**
29
+ * @deprecated after 1.4.1.0 in favor of default.phtml
30
+ */
31
+ ?>
app/design/frontend/base/default/template/oct8ne/frame/productview/type/default.phtml CHANGED
@@ -1,36 +1,36 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php /* @var $this Mage_Catalog_Block_Product_View_Abstract */?>
28
- <?php $_product = $this->getProduct() ?>
29
-
30
- <?php if ($_product->isAvailable()): ?>
31
- <p class="availability in-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span></p>
32
- <?php else: ?>
33
- <p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
34
- <?php endif; ?>
35
- <?php echo $this->getChildHtml('product_type_data_extra') ?>
36
- <?php echo $this->getPriceHtml($_product) ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php /* @var $this Mage_Catalog_Block_Product_View_Abstract */?>
28
+ <?php $_product = $this->getProduct() ?>
29
+
30
+ <?php if ($_product->isAvailable()): ?>
31
+ <p class="availability in-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span></p>
32
+ <?php else: ?>
33
+ <p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
34
+ <?php endif; ?>
35
+ <?php echo $this->getChildHtml('product_type_data_extra') ?>
36
+ <?php echo $this->getPriceHtml($_product) ?>
app/design/frontend/base/default/template/oct8ne/frame/productview/type/grouped.phtml CHANGED
@@ -1,91 +1,91 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
-
27
- /**
28
- * Grouped product data template
29
- *
30
- * @see Mage_Catalog_Block_Product_View_Media
31
- * @see Mage_Catalog_Block_Product_View_Type_Grouped
32
- */
33
- ?>
34
- <?php $this->setPreconfiguredValue(); ?>
35
- <?php $_product = $this->getProduct(); ?>
36
- <?php $_associatedProducts = $this->getAssociatedProducts(); ?>
37
- <?php $_hasAssociatedProducts = count($_associatedProducts) > 0; ?>
38
- <?php if ($_product->isAvailable() && $_hasAssociatedProducts): ?>
39
- <p class="availability in-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span></p>
40
- <?php else: ?>
41
- <p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
42
- <?php endif; ?>
43
- <?php echo $this->getChildHtml('product_type_data_extra') ?>
44
- <table class="data-table grouped-items-table" id="super-product-table">
45
- <col />
46
- <col />
47
- <col width="1" />
48
- <thead>
49
- <tr>
50
- <th><?php echo $this->__('Product Name') ?></th>
51
- <?php if ($this->getCanShowProductPrice($_product)): ?>
52
- <th class="a-right"><?php echo $this->__('Price') ?></th>
53
- <?php endif; ?>
54
- <?php if ($_product->isSaleable()): ?>
55
- <th class="a-center"><?php echo $this->__('Qty') ?></th>
56
- <?php endif; ?>
57
- </tr>
58
- </thead>
59
- <tbody>
60
- <?php if ($_hasAssociatedProducts): ?>
61
- <?php foreach ($_associatedProducts as $_item): ?>
62
- <?php $_finalPriceInclTax = $this->helper('tax')->getPrice($_item, $_item->getFinalPrice(), true) ?>
63
- <tr>
64
- <td><?php echo $this->htmlEscape($_item->getName()) ?></td>
65
- <?php if ($this->getCanShowProductPrice($_product)): ?>
66
- <td class="a-right">
67
- <?php if ($this->getCanShowProductPrice($_item)): ?>
68
- <?php echo $this->getPriceHtml($_item, true) ?>
69
- <?php echo $this->getTierPriceHtml($_item) ?>
70
- <?php endif; ?>
71
- </td>
72
- <?php endif; ?>
73
- <?php if ($_product->isSaleable()): ?>
74
- <td class="a-center">
75
- <?php if ($_item->isSaleable()) : ?>
76
- <input type="text" name="super_group[<?php echo $_item->getId() ?>]" maxlength="12" value="<?php echo $_item->getQty()*1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
77
- <?php else: ?>
78
- <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
79
- <?php endif; ?>
80
- </td>
81
- <?php endif; ?>
82
- </tr>
83
- <?php endforeach; ?>
84
- <?php else: ?>
85
- <tr>
86
- <td colspan="<?php if ($_product->isSaleable()): ?>4<?php else : ?>3<?php endif; ?>"><?php echo $this->__('No options of this product are available.') ?></td>
87
- </tr>
88
- <?php endif; ?>
89
- </tbody>
90
- </table>
91
- <script type="text/javascript">decorateTable('super-product-table')</script>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Grouped product data template
29
+ *
30
+ * @see Mage_Catalog_Block_Product_View_Media
31
+ * @see Mage_Catalog_Block_Product_View_Type_Grouped
32
+ */
33
+ ?>
34
+ <?php $this->setPreconfiguredValue(); ?>
35
+ <?php $_product = $this->getProduct(); ?>
36
+ <?php $_associatedProducts = $this->getAssociatedProducts(); ?>
37
+ <?php $_hasAssociatedProducts = count($_associatedProducts) > 0; ?>
38
+ <?php if ($_product->isAvailable() && $_hasAssociatedProducts): ?>
39
+ <p class="availability in-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span></p>
40
+ <?php else: ?>
41
+ <p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
42
+ <?php endif; ?>
43
+ <?php echo $this->getChildHtml('product_type_data_extra') ?>
44
+ <table class="data-table grouped-items-table" id="super-product-table">
45
+ <col />
46
+ <col />
47
+ <col width="1" />
48
+ <thead>
49
+ <tr>
50
+ <th><?php echo $this->__('Product Name') ?></th>
51
+ <?php if ($this->getCanShowProductPrice($_product)): ?>
52
+ <th class="a-right"><?php echo $this->__('Price') ?></th>
53
+ <?php endif; ?>
54
+ <?php if ($_product->isSaleable()): ?>
55
+ <th class="a-center"><?php echo $this->__('Qty') ?></th>
56
+ <?php endif; ?>
57
+ </tr>
58
+ </thead>
59
+ <tbody>
60
+ <?php if ($_hasAssociatedProducts): ?>
61
+ <?php foreach ($_associatedProducts as $_item): ?>
62
+ <?php $_finalPriceInclTax = $this->helper('tax')->getPrice($_item, $_item->getFinalPrice(), true) ?>
63
+ <tr>
64
+ <td><?php echo $this->htmlEscape($_item->getName()) ?></td>
65
+ <?php if ($this->getCanShowProductPrice($_product)): ?>
66
+ <td class="a-right">
67
+ <?php if ($this->getCanShowProductPrice($_item)): ?>
68
+ <?php echo $this->getPriceHtml($_item, true) ?>
69
+ <?php echo $this->getTierPriceHtml($_item) ?>
70
+ <?php endif; ?>
71
+ </td>
72
+ <?php endif; ?>
73
+ <?php if ($_product->isSaleable()): ?>
74
+ <td class="a-center">
75
+ <?php if ($_item->isSaleable()) : ?>
76
+ <input type="text" name="super_group[<?php echo $_item->getId() ?>]" maxlength="12" value="<?php echo $_item->getQty()*1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
77
+ <?php else: ?>
78
+ <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
79
+ <?php endif; ?>
80
+ </td>
81
+ <?php endif; ?>
82
+ </tr>
83
+ <?php endforeach; ?>
84
+ <?php else: ?>
85
+ <tr>
86
+ <td colspan="<?php if ($_product->isSaleable()): ?>4<?php else : ?>3<?php endif; ?>"><?php echo $this->__('No options of this product are available.') ?></td>
87
+ </tr>
88
+ <?php endif; ?>
89
+ </tbody>
90
+ </table>
91
+ <script type="text/javascript">decorateTable('super-product-table')</script>
app/design/frontend/base/default/template/oct8ne/frame/productview/type/options/configurable.phtml CHANGED
@@ -1,48 +1,48 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
-
28
- <?php
29
- $_product = $this->getProduct();
30
- $_attributes = Mage::helper('core')->decorateArray($this->getAllowAttributes());
31
- ?>
32
- <?php if ($_product->isSaleable() && count($_attributes)):?>
33
- <dl>
34
- <?php foreach($_attributes as $_attribute): ?>
35
- <dt><label class="required"><em>*</em><?php echo $_attribute->getLabel() ?></label></dt>
36
- <dd<?php if ($_attribute->decoratedIsLast){?> class="last"<?php }?>>
37
- <div class="input-box">
38
- <select name="super_attribute[<?php echo $_attribute->getAttributeId() ?>]" id="attribute<?php echo $_attribute->getAttributeId() ?>" class="required-entry super-attribute-select">
39
- <option><?php echo $this->__('Choose an Option...') ?></option>
40
- </select>
41
- </div>
42
- </dd>
43
- <?php endforeach; ?>
44
- </dl>
45
- <script type="text/javascript">
46
- var spConfig = new Product.Config(<?php echo $this->getJsonConfig() ?>);
47
- </script>
48
- <?php endif;?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+
28
+ <?php
29
+ $_product = $this->getProduct();
30
+ $_attributes = Mage::helper('core')->decorateArray($this->getAllowAttributes());
31
+ ?>
32
+ <?php if ($_product->isSaleable() && count($_attributes)):?>
33
+ <dl>
34
+ <?php foreach($_attributes as $_attribute): ?>
35
+ <dt><label class="required"><em>*</em><?php echo $_attribute->getLabel() ?></label></dt>
36
+ <dd<?php if ($_attribute->decoratedIsLast){?> class="last"<?php }?>>
37
+ <div class="input-box">
38
+ <select name="super_attribute[<?php echo $_attribute->getAttributeId() ?>]" id="attribute<?php echo $_attribute->getAttributeId() ?>" class="required-entry super-attribute-select">
39
+ <option><?php echo $this->__('Choose an Option...') ?></option>
40
+ </select>
41
+ </div>
42
+ </dd>
43
+ <?php endforeach; ?>
44
+ </dl>
45
+ <script type="text/javascript">
46
+ var spConfig = new Product.Config(<?php echo $this->getJsonConfig() ?>);
47
+ </script>
48
+ <?php endif;?>
app/design/frontend/base/default/template/oct8ne/frame/productview/type/simple.phtml CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php
28
- /**
29
- * @deprecated after 1.4.1.0 in favor of default.phtml
30
- */
31
- ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php
28
+ /**
29
+ * @deprecated after 1.4.1.0 in favor of default.phtml
30
+ */
31
+ ?>
app/design/frontend/base/default/template/oct8ne/frame/productview/type/virtual.phtml CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php
28
- /**
29
- * @deprecated after 1.4.1.0 in favor of default.phtml
30
- */
31
- ?>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php
28
+ /**
29
+ * @deprecated after 1.4.1.0 in favor of default.phtml
30
+ */
31
+ ?>
app/design/frontend/base/default/template/oct8ne/frame/removefromwishlist.phtml CHANGED
@@ -1,10 +1,10 @@
1
- <?php
2
- $callback = Mage::registry( 'callback' );
3
- $result = Mage::registry( 'oct8ne_result' );
4
-
5
- echo $callback;
6
- ?>({
7
- <?php
8
- if ( !Mage::registry( 'partial_search' ) )
9
- echo " result: \"".($result?"true":"false")."\"\n";
10
  ?>});
1
+ <?php
2
+ $callback = Mage::registry( 'callback' );
3
+ $result = Mage::registry( 'oct8ne_result' );
4
+
5
+ echo $callback;
6
+ ?>({
7
+ <?php
8
+ if ( !Mage::registry( 'partial_search' ) )
9
+ echo " result: \"".($result?"true":"false")."\"\n";
10
  ?>});
app/design/frontend/base/default/template/oct8ne/frame/search.phtml CHANGED
@@ -23,12 +23,14 @@
23
  Description: "<?php echo trim($item['description'], "\r\n\t "); ?>",
24
  Rating: "<?php echo $item['rating']; ?>",
25
  RouteTo: "<?php echo $item['url']; ?>",
 
26
  Medias: [
27
  <?php foreach( $item['imgs'] as $j => $image ): ?>
28
  {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
29
  <?php endforeach; ?>
30
  ],
31
- Thumbnail: "<?php echo $item['thumbnail']; ?>"
 
32
  <?php
33
  if ( $i < count( $result_collection )-1 )
34
  echo "},\n";
23
  Description: "<?php echo trim($item['description'], "\r\n\t "); ?>",
24
  Rating: "<?php echo $item['rating']; ?>",
25
  RouteTo: "<?php echo $item['url']; ?>",
26
+ BuyURL: "<?php echo $item['buy_url']; ?>",
27
  Medias: [
28
  <?php foreach( $item['imgs'] as $j => $image ): ?>
29
  {Id: "<?php echo $j; ?>", FileName: <?php echo '"'.$image['url'].'"'; ?>}<?php if ( $j == count($item['imgs'])-1 ) echo "\n"; else echo ",\n"; ?>
30
  <?php endforeach; ?>
31
  ],
32
+ Thumbnail: "<?php echo $item['thumbnail']; ?>",
33
+ HasOptions: "<?php echo $item['has_options']; ?>"
34
  <?php
35
  if ( $i < count( $result_collection )-1 )
36
  echo "},\n";
app/design/frontend/base/default/template/oct8ne/letssyncro.phtml CHANGED
@@ -1,6 +1,8 @@
1
  <?php
2
  global $letssyncro;
3
 
 
 
4
  $req = Mage::app()->getRequest();
5
  // Deshabilitar iframe al ver imágenes de productos
6
  $disable = ($req->getModuleName() == 'catalog' && $req->getActionName() == 'gallery');
@@ -29,8 +31,8 @@ if (!isset($letssyncro)) {
29
  <!-- LetsSyncro block (idnovate.com for LetsSyncro LLC)-->
30
  ";
31
  */
32
- $baseurl = Mage::getBaseUrl();
33
- $checkouturl = Mage::helper('checkout/url')->getCheckoutUrl();
34
  $loginurl = Mage::helper('customer')->getLoginUrl();
35
  $currency = Mage::app()->getStore()->getCurrentCurrencyCode();
36
  $store = Mage::app()->getStore()->getId();
@@ -66,6 +68,8 @@ if (!isset($letssyncro)) {
66
 
67
  $plugin = Mage::helper('oct8ne')->getExtensionVersion();
68
 
 
 
69
  echo <<<EOT
70
  <script type= "text/javascript">
71
  var oct8ne = document.createElement("script");
@@ -82,6 +86,7 @@ if (!isset($letssyncro)) {
82
  oct8ne.store = "$store";
83
  oct8ne.searchTerm = "$searchterm";
84
  oct8ne.productList = $productlist;
 
85
  var s = document.getElementsByTagName("script")[0];
86
  s.parentNode.insertBefore(oct8ne, s);
87
  </script>
1
  <?php
2
  global $letssyncro;
3
 
4
+ function _letsyncro_remove_http($str) { return preg_replace('#^https?:#', '', $str); }
5
+
6
  $req = Mage::app()->getRequest();
7
  // Deshabilitar iframe al ver imágenes de productos
8
  $disable = ($req->getModuleName() == 'catalog' && $req->getActionName() == 'gallery');
31
  <!-- LetsSyncro block (idnovate.com for LetsSyncro LLC)-->
32
  ";
33
  */
34
+ $baseurl = _letsyncro_remove_http(Mage::getBaseUrl());
35
+ $checkouturl = _letsyncro_remove_http(Mage::helper('checkout/url')->getCheckoutUrl());
36
  $loginurl = Mage::helper('customer')->getLoginUrl();
37
  $currency = Mage::app()->getStore()->getCurrentCurrencyCode();
38
  $store = Mage::app()->getStore()->getId();
68
 
69
  $plugin = Mage::helper('oct8ne')->getExtensionVersion();
70
 
71
+ $locale = str_replace('_', '-', Mage::app()->getLocale()->getLocaleCode());
72
+
73
  echo <<<EOT
74
  <script type= "text/javascript">
75
  var oct8ne = document.createElement("script");
86
  oct8ne.store = "$store";
87
  oct8ne.searchTerm = "$searchterm";
88
  oct8ne.productList = $productlist;
89
+ oct8ne.locale = "$locale";
90
  var s = document.getElementsByTagName("script")[0];
91
  s.parentNode.insertBefore(oct8ne, s);
92
  </script>
app/design/frontend/default/oct8ne/layout/oct8ne.xml ADDED
@@ -0,0 +1,246 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <layout version="0.1.0">
3
+
4
+ <default>
5
+ <reference name="head">
6
+ <action method="addCss"><script>oct8ne.css</script></action>
7
+ </reference>
8
+ </default>
9
+
10
+ <default>
11
+ <!-- fem que la crida es faci al final de la pàgina per tal que no afecti a elements pendents de càrrega-->
12
+ <reference name="before_body_end">
13
+ <block type="core/template" name="oct8ne_script" template="oct8ne/letssyncro.phtml">
14
+ </block>
15
+ </reference>
16
+ </default>
17
+
18
+
19
+ <oct8ne_frame_customerdata>
20
+ <reference name="root">
21
+ <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
22
+ </reference>
23
+
24
+ <reference name="content">
25
+ <block type="core/template" template="oct8ne/frame/customer/data.phtml" />
26
+ </reference>
27
+ </oct8ne_frame_customerdata>
28
+
29
+
30
+
31
+ <oct8ne_frame_add2cart>
32
+ <reference name="root">
33
+ <action method="setTemplate"><template>oct8ne/frame/naked-page.phtml</template></action>
34
+ </reference>
35
+
36
+ <reference name="content">
37
+ <block type="core/template" template="oct8ne/frame/add2cart.phtml" />
38
+ </reference>
39
+ </oct8ne_frame_add2cart>
40
+
41
+
42
+ <oct8ne_frame_search>
43
+ <reference name="root">
44
+ <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
45
+ </reference>
46
+
47
+ <reference name="content">
48
+ <block type="core/template" template="oct8ne/frame/search.phtml" />
49
+ </reference>
50
+ </oct8ne_frame_search>
51
+
52
+
53
+ <oct8ne_frame_productview>
54
+
55
+ <reference name="head">
56
+ <action method="addJs"><script>varien/product.js</script></action>
57
+ </reference>
58
+
59
+ <!-- <block type="core/template_facade" name="root" template="oct8ne/frame/productview.phtml"/> -->
60
+
61
+ <label>Catalog Product View (Any)</label>
62
+ <!-- Mage_Catalog -->
63
+ <reference name="head">
64
+ <remove name="oct8ne_script" />
65
+ </reference>
66
+ <reference name="root">
67
+ <!-- <action method="setTemplate"><template>page/2columns-right.phtml</template></action> -->
68
+ <action method="setTemplate"><template>oct8ne/frame/clean-page.phtml</template></action>
69
+ </reference>
70
+ <reference name="head">
71
+ <action method="addJs"><script>varien/product.js</script></action>
72
+ <action method="addJs"><script>varien/configurable.js</script></action>
73
+
74
+ <action method="addItem"><type>js_css</type><name>calendar/calendar-win2k-1.css</name><params/><!--<if/><condition>can_load_calendar_js</condition>--></action>
75
+ <action method="addItem"><type>js</type><name>calendar/calendar.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action>
76
+ <action method="addItem"><type>js</type><name>calendar/calendar-setup.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action>
77
+ </reference>
78
+ <reference name="content">
79
+ <block type="catalog/product_view" name="product.info" template="oct8ne/frame/productview.phtml">
80
+
81
+ <block type="catalog/product_view_media" name="product.info.media" as="media" template="oct8ne/frame/productview/media.phtml"/>
82
+ <block type="core/text_list" name="alert.urls" as="alert_urls" translate="label">
83
+ <label>Alert Urls</label>
84
+ </block>
85
+
86
+ <action method="setTierPriceTemplate"><template>catalog/product/view/tierprices.phtml</template></action>
87
+
88
+ <block type="catalog/product_list_upsell" name="product.info.upsell" as="upsell_products" template="oct8ne/frame/productview/list/upsell.phtml">
89
+ <action method="setColumnCount"><columns>4</columns></action>
90
+ <action method="setItemLimit"><type>upsell</type><limit>4</limit></action>
91
+ </block>
92
+
93
+ <block type="catalog/product_view_additional" name="product.info.additional" as="product_additional_data" />
94
+ <block type="catalog/product_view_description" name="product.description" as="description" template="oct8ne/frame/productview/description.phtml">
95
+ <action method="addToParentGroup"><group>detailed_info</group></action>
96
+ </block>
97
+ <block type="catalog/product_view_attributes" name="product.attributes" as="additional" template="oct8ne/frame/productview/attributes.phtml">
98
+ <action method="addToParentGroup"><group>detailed_info</group></action>
99
+ </block>
100
+ <block type="catalog/product_view" name="product.info.addto" as="addto" template="oct8ne/frame/productview/addto.phtml"/>
101
+ <block type="catalog/product_view" name="product.info.addtocart" as="addtocart" template="oct8ne/frame/productview/addtocart.phtml"/>
102
+
103
+ <block type="core/text_list" name="product.info.extrahint" as="extrahint" translate="label">
104
+ <label>Product View Extra Hint</label>
105
+ </block>
106
+
107
+ <block type="catalog/product_view" name="product.info.options.wrapper" as="product_options_wrapper" template="oct8ne/frame/productview/options/wrapper.phtml" translate="label">
108
+ <label>Info Column Options Wrapper</label>
109
+ <block type="core/template" name="options_js" template="oct8ne/frame/productview/options/js.phtml"/>
110
+ <block type="catalog/product_view_options" name="product.info.options" as="product_options" template="oct8ne/frame/productview/options.phtml">
111
+ <action method="addOptionRenderer"><type>text</type><block>catalog/product_view_options_type_text</block><template>catalog/product/view/options/type/text.phtml</template></action>
112
+ <action method="addOptionRenderer"><type>file</type><block>catalog/product_view_options_type_file</block><template>catalog/product/view/options/type/file.phtml</template></action>
113
+ <action method="addOptionRenderer"><type>select</type><block>catalog/product_view_options_type_select</block><template>catalog/product/view/options/type/select.phtml</template></action>
114
+ <action method="addOptionRenderer"><type>date</type><block>catalog/product_view_options_type_date</block><template>catalog/product/view/options/type/date.phtml</template></action>
115
+ </block>
116
+ <block type="core/html_calendar" name="html_calendar" as="html_calendar" template="page/js/calendar.phtml"/>
117
+ </block>
118
+ <block type="catalog/product_view" name="product.info.options.wrapper.bottom" as="product_options_wrapper_bottom" template="oct8ne/frame/productview/options/wrapper/bottom.phtml" translate="label">
119
+ <label>Bottom Block Options Wrapper</label>
120
+ <action method="insert"><block>product.tierprices</block></action>
121
+ <block type="catalog/product_view" name="product.clone_prices" as="prices" template="oct8ne/frame/productview/price_clone.phtml"/>
122
+ <action method="append"><block>product.info.addtocart</block></action>
123
+ <action method="append"><block>product.info.addto</block></action>
124
+ </block>
125
+
126
+ <block type="core/template_facade" name="product.info.container1" as="container1">
127
+ <action method="setDataByKey"><key>alias_in_layout</key><value>container1</value></action>
128
+ <action method="setDataByKeyFromRegistry"><key>options_container</key><key_in_registry>product</key_in_registry></action>
129
+ <action method="append"><block>product.info.options.wrapper</block></action>
130
+ <action method="append"><block>product.info.options.wrapper.bottom</block></action>
131
+ </block>
132
+ <block type="core/template_facade" name="product.info.container2" as="container2">
133
+ <action method="setDataByKey"><key>alias_in_layout</key><value>container2</value></action>
134
+ <action method="setDataByKeyFromRegistry"><key>options_container</key><key_in_registry>product</key_in_registry></action>
135
+ <action method="append"><block>product.info.options.wrapper</block></action>
136
+ <action method="append"><block>product.info.options.wrapper.bottom</block></action>
137
+ </block>
138
+ <action method="unsetCallChild"><child>container1</child><call>ifEquals</call><if>0</if><key>alias_in_layout</key><key>options_container</key></action>
139
+ <action method="unsetCallChild"><child>container2</child><call>ifEquals</call><if>0</if><key>alias_in_layout</key><key>options_container</key></action>
140
+ </block>
141
+ </reference>
142
+ <reference name="right">
143
+ <block type="catalog/product_list_related" name="catalog.product.related" before="-" template="oct8ne/frame/productview/list/related.phtml"/>
144
+ </reference>
145
+
146
+ </oct8ne_frame_productview>
147
+
148
+
149
+ <oct8ne_frame_search2 translate="label">
150
+ <label>Oct8ne Search</label>
151
+ <reference name="root">
152
+ <action method="setTemplate"><template>page/3columns.phtml</template></action>
153
+ </reference>
154
+ <reference name="left">
155
+ <block type="catalogsearch/layer" name="catalogsearch.leftnav" after="currency" template="catalog/layer/view.phtml"/>
156
+ </reference>
157
+ <reference name="content">
158
+ <block type="catalogsearch/result" name="search.result" template="catalogsearch/result.phtml">
159
+ <block type="catalog/product_list" name="search_result_list" template="catalog/product/list.phtml">
160
+ <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
161
+ <block type="page/html_pager" name="product_list_toolbar_pager"/>
162
+ </block>
163
+ <action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action>
164
+ <action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action>
165
+ <action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>4</count></action>
166
+ <action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
167
+ <action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
168
+ <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
169
+ </block>
170
+ <action method="setListOrders"/>
171
+ <action method="setListModes"/>
172
+ <action method="setListCollection"/>
173
+ </block>
174
+ </reference>
175
+ </oct8ne_frame_search2>
176
+
177
+ <customer_account_loginpost>
178
+ <reference name="root">
179
+ <action method="setTemplate"><template>oct8ne/frame/naked-page.phtml</template></action>
180
+ </reference>
181
+
182
+ <reference name="content">
183
+ <block type="core/template" template="oct8ne/frame/loginpost.phtml" />
184
+ </reference>
185
+ </customer_account_loginpost>
186
+
187
+ <oct8ne_frame_getcart>
188
+ <reference name="root">
189
+ <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
190
+ </reference>
191
+
192
+ <reference name="content">
193
+ <block type="core/template" template="oct8ne/frame/getcart.phtml" />
194
+ </reference>
195
+ </oct8ne_frame_getcart>
196
+
197
+ <oct8ne_frame_getwishlist>
198
+ <reference name="root">
199
+ <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
200
+ </reference>
201
+
202
+ <reference name="content">
203
+ <block type="core/template" template="oct8ne/frame/getwishlist.phtml" />
204
+ </reference>
205
+ </oct8ne_frame_getwishlist>
206
+
207
+ <oct8ne_frame_addtowishlist>
208
+ <reference name="root">
209
+ <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
210
+ </reference>
211
+
212
+ <reference name="content">
213
+ <block type="core/template" template="oct8ne/frame/addtowishlist.phtml" />
214
+ </reference>
215
+ </oct8ne_frame_addtowishlist>
216
+
217
+ <oct8ne_frame_removefromwishlist>
218
+ <reference name="root">
219
+ <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
220
+ </reference>
221
+
222
+ <reference name="content">
223
+ <block type="core/template" template="oct8ne/frame/removefromwishlist.phtml" />
224
+ </reference>
225
+ </oct8ne_frame_removefromwishlist>
226
+
227
+ <oct8ne_frame_productinfo>
228
+ <reference name="root">
229
+ <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
230
+ </reference>
231
+
232
+ <reference name="content">
233
+ <block type="core/template" template="oct8ne/frame/productinfo.phtml" />
234
+ </reference>
235
+ </oct8ne_frame_productinfo>
236
+
237
+ <oct8ne_frame_productrelated>
238
+ <reference name="root">
239
+ <action method="setTemplate"><template>oct8ne/frame/json-page.phtml</template></action>
240
+ </reference>
241
+
242
+ <reference name="content">
243
+ <block type="core/template" template="oct8ne/frame/productrelated.phtml" />
244
+ </reference>
245
+ </oct8ne_frame_productrelated>
246
+ </layout>
app/design/frontend/default/oct8ne/template/page/1column.phtml CHANGED
@@ -1,46 +1,46 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php
28
- /**
29
- * Template for Mage_Page_Block_Html
30
- */
31
- ?>
32
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
33
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
34
- <head>
35
- <?php echo $this->getChildHtml('head') ?>
36
- </head>
37
- <body class="page-empty <?php echo $this->getBodyClass()?$this->getBodyClass():'' ?>">
38
- <div>
39
- <?php echo $this->getChildHtml('after_body_start') ?>
40
- <?php echo $this->getChildHtml('global_messages') ?>
41
- <?php echo $this->getChildHtml('content') ?>
42
- <?php echo $this->getChildHtml('before_body_end') ?>
43
- <?php echo $this->getAbsoluteFooter() ?>
44
- </div>
45
- </body>
46
- </html>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php
28
+ /**
29
+ * Template for Mage_Page_Block_Html
30
+ */
31
+ ?>
32
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
33
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
34
+ <head>
35
+ <?php echo $this->getChildHtml('head') ?>
36
+ </head>
37
+ <body class="page-empty <?php echo $this->getBodyClass()?$this->getBodyClass():'' ?>">
38
+ <div>
39
+ <?php echo $this->getChildHtml('after_body_start') ?>
40
+ <?php echo $this->getChildHtml('global_messages') ?>
41
+ <?php echo $this->getChildHtml('content') ?>
42
+ <?php echo $this->getChildHtml('before_body_end') ?>
43
+ <?php echo $this->getAbsoluteFooter() ?>
44
+ </div>
45
+ </body>
46
+ </html>
app/design/frontend/default/oct8ne/template/page/2columns-left.phtml CHANGED
@@ -1,46 +1,46 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php
28
- /**
29
- * Template for Mage_Page_Block_Html
30
- */
31
- ?>
32
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
33
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
34
- <head>
35
- <?php echo $this->getChildHtml('head') ?>
36
- </head>
37
- <body class="page-empty <?php echo $this->getBodyClass()?$this->getBodyClass():'' ?>">
38
- <div>
39
- <?php echo $this->getChildHtml('after_body_start') ?>
40
- <?php echo $this->getChildHtml('global_messages') ?>
41
- <?php echo $this->getChildHtml('content') ?>
42
- <?php echo $this->getChildHtml('before_body_end') ?>
43
- <?php echo $this->getAbsoluteFooter() ?>
44
- </div>
45
- </body>
46
- </html>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php
28
+ /**
29
+ * Template for Mage_Page_Block_Html
30
+ */
31
+ ?>
32
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
33
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
34
+ <head>
35
+ <?php echo $this->getChildHtml('head') ?>
36
+ </head>
37
+ <body class="page-empty <?php echo $this->getBodyClass()?$this->getBodyClass():'' ?>">
38
+ <div>
39
+ <?php echo $this->getChildHtml('after_body_start') ?>
40
+ <?php echo $this->getChildHtml('global_messages') ?>
41
+ <?php echo $this->getChildHtml('content') ?>
42
+ <?php echo $this->getChildHtml('before_body_end') ?>
43
+ <?php echo $this->getAbsoluteFooter() ?>
44
+ </div>
45
+ </body>
46
+ </html>
app/design/frontend/default/oct8ne/template/page/2columns-right.phtml CHANGED
@@ -1,46 +1,46 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php
28
- /**
29
- * Template for Mage_Page_Block_Html
30
- */
31
- ?>
32
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
33
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
34
- <head>
35
- <?php echo $this->getChildHtml('head') ?>
36
- </head>
37
- <body class="page-empty <?php echo $this->getBodyClass()?$this->getBodyClass():'' ?>">
38
- <div>
39
- <?php echo $this->getChildHtml('after_body_start') ?>
40
- <?php echo $this->getChildHtml('global_messages') ?>
41
- <?php echo $this->getChildHtml('content') ?>
42
- <?php echo $this->getChildHtml('before_body_end') ?>
43
- <?php echo $this->getAbsoluteFooter() ?>
44
- </div>
45
- </body>
46
- </html>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php
28
+ /**
29
+ * Template for Mage_Page_Block_Html
30
+ */
31
+ ?>
32
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
33
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
34
+ <head>
35
+ <?php echo $this->getChildHtml('head') ?>
36
+ </head>
37
+ <body class="page-empty <?php echo $this->getBodyClass()?$this->getBodyClass():'' ?>">
38
+ <div>
39
+ <?php echo $this->getChildHtml('after_body_start') ?>
40
+ <?php echo $this->getChildHtml('global_messages') ?>
41
+ <?php echo $this->getChildHtml('content') ?>
42
+ <?php echo $this->getChildHtml('before_body_end') ?>
43
+ <?php echo $this->getAbsoluteFooter() ?>
44
+ </div>
45
+ </body>
46
+ </html>
app/design/frontend/default/oct8ne/template/page/3columns.phtml CHANGED
@@ -1,46 +1,46 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package base_default
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <?php
28
- /**
29
- * Template for Mage_Page_Block_Html
30
- */
31
- ?>
32
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
33
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
34
- <head>
35
- <?php echo $this->getChildHtml('head') ?>
36
- </head>
37
- <body class="page-empty <?php echo $this->getBodyClass()?$this->getBodyClass():'' ?>">
38
- <div>
39
- <?php echo $this->getChildHtml('after_body_start') ?>
40
- <?php echo $this->getChildHtml('global_messages') ?>
41
- <?php echo $this->getChildHtml('content') ?>
42
- <?php echo $this->getChildHtml('before_body_end') ?>
43
- <?php echo $this->getAbsoluteFooter() ?>
44
- </div>
45
- </body>
46
- </html>
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ * that is bundled with this package in the file LICENSE_AFL.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/afl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package base_default
23
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
+ */
26
+ ?>
27
+ <?php
28
+ /**
29
+ * Template for Mage_Page_Block_Html
30
+ */
31
+ ?>
32
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
33
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
34
+ <head>
35
+ <?php echo $this->getChildHtml('head') ?>
36
+ </head>
37
+ <body class="page-empty <?php echo $this->getBodyClass()?$this->getBodyClass():'' ?>">
38
+ <div>
39
+ <?php echo $this->getChildHtml('after_body_start') ?>
40
+ <?php echo $this->getChildHtml('global_messages') ?>
41
+ <?php echo $this->getChildHtml('content') ?>
42
+ <?php echo $this->getChildHtml('before_body_end') ?>
43
+ <?php echo $this->getAbsoluteFooter() ?>
44
+ </div>
45
+ </body>
46
+ </html>
app/etc/modules/LetsSyncroLLC_Oct8ne.xml CHANGED
@@ -4,7 +4,7 @@
4
  <LetsSyncroLLC_Oct8ne>
5
  <active>true</active>
6
  <codePool>community</codePool>
7
- <version>1.1.5</version>
8
  <depends>
9
  <Mage_Eav/>
10
  <Mage_Dataflow/>
4
  <LetsSyncroLLC_Oct8ne>
5
  <active>true</active>
6
  <codePool>community</codePool>
7
+ <version>1.2.0</version>
8
  <depends>
9
  <Mage_Eav/>
10
  <Mage_Dataflow/>
app/locale/es_ES/LetsSyncroLLC_Oct8ne.csv CHANGED
@@ -1,39 +1,39 @@
1
- "1 - Manual execution clicking the next button:","1 - Ejecución manual haciendo click en el siguiente botón:"
2
- "There are 2 ways to execute the synchronization:","Existen 2 maneras para ejecutar la sincronización:"
3
- "2 - Automatic execution scheduled and unattended. Two different ways for doing that:","2 - Ejecución automática planificada y desatendida. 2 formas diferentes para hacer esto:"
4
- "a - Call the PHP script via Web externally. Directly calling","a - Llamar al script PHP vía Web externamente. Directamente llamando"
5
- "b - Call the PHP script via Web internally. For example:","b - Llamar al script PHP vía Web internamente. Por ejemplo:"
6
- "Syncro Data","Sincronización de datos"
7
- "Dashboard","Panel de control"
8
- "Account Setup","Configuración de la cuenta"
9
- "Execute synchronization","Ejecutar sincronización"
10
- "OCT8NE Dashboard","Panel de control OCT8NE"
11
- "Status:","Estado:"
12
- "Linked account:","Cuenta enlazada:"
13
- "Email:","Email:"
14
- "Password:","Password:"
15
- "OCT8NE email","Email OCT8NE"
16
- "OCT8NE password","Password OCT8NE"
17
- "Don't have a OCT8NE account?","¿No tienes una cuenta OCT8NE?"
18
- "Sign up now","Regístrate ahora"
19
- "Link Up","Enlazar"
20
- "Synchronization finished successfully.","Sincronización finalizada correctamente."
21
- "Products added:","Productos añadidos:"
22
- "Products updated:","Productos actualizados:"
23
- "There was an error synchronizing with OCT8NE.","Ha ocurrido un error sincronizando con OCT8NE."
24
- "Does the account is properly linked up in Account Setup?","¿Está la cuenta correctamente enlazada en la configuración?"
25
- "The field (Email) cannot be empty.","El campo (Email) no puede estar vacío."
26
- "The field (Password) cannot be empty.","El campo (Password) no puede estar vacío."
27
- "The field (URL API) cannot be empty.","El campo (URL API) no puede estar vacío."
28
- "Account not linked. Please, link up your account before at OCT8NE/Account Setup.","Cuenta no enlazada. Por favor, enlace antes su cuenta en OCT8NE/Configuración de la cuenta."
29
- "There was an error on your credentials and cannot obtain OCT8NE integration data.","Hay un error en sus credenciales y no se han podido obtener los datos de integración con OCT8NE."
30
- "There was an error activating OCT8NE integration.","Ha ocurrido un error activando la integración con OCT8NE."
31
- "OCT8NE integration data obtained successfully!","¡Datos de integración con OCT8NE obtenidos correctamente!"
32
- "There was an error deactivating OCT8NE integration.","Ha ocurrido un error desactivando la integración con OCT8NE."
33
- "OCT8NE integration deactivated successfully!","¡Integración con OCT8NE desactivada correctamente!"
34
- "OCT8NE integration activated successfully!","¡Integración con OCT8NE activada correctamente!"
35
- "There was an error saving your settings.","Ha ocurrido un error grabando los ajustes."
36
- "The fields (License ID and API token) are invalid.","Los campos (License ID and API token) son inválidos."
37
- "Settings updated successfully.","Ajustes actualizados correctamente."
38
- "(Deactivate)","(Desactivar)"
39
  "(Activate)","(Activar)"
1
+ "1 - Manual execution clicking the next button:","1 - Ejecución manual haciendo click en el siguiente botón:"
2
+ "There are 2 ways to execute the synchronization:","Existen 2 maneras para ejecutar la sincronización:"
3
+ "2 - Automatic execution scheduled and unattended. Two different ways for doing that:","2 - Ejecución automática planificada y desatendida. 2 formas diferentes para hacer esto:"
4
+ "a - Call the PHP script via Web externally. Directly calling","a - Llamar al script PHP vía Web externamente. Directamente llamando"
5
+ "b - Call the PHP script via Web internally. For example:","b - Llamar al script PHP vía Web internamente. Por ejemplo:"
6
+ "Syncro Data","Sincronización de datos"
7
+ "Dashboard","Panel de control"
8
+ "Account Setup","Configuración de la cuenta"
9
+ "Execute synchronization","Ejecutar sincronización"
10
+ "OCT8NE Dashboard","Panel de control OCT8NE"
11
+ "Status:","Estado:"
12
+ "Linked account:","Cuenta enlazada:"
13
+ "Email:","Email:"
14
+ "Password:","Password:"
15
+ "OCT8NE email","Email OCT8NE"
16
+ "OCT8NE password","Password OCT8NE"
17
+ "Don't have a OCT8NE account?","¿No tienes una cuenta OCT8NE?"
18
+ "Sign up now","Regístrate ahora"
19
+ "Link Up","Enlazar"
20
+ "Synchronization finished successfully.","Sincronización finalizada correctamente."
21
+ "Products added:","Productos añadidos:"
22
+ "Products updated:","Productos actualizados:"
23
+ "There was an error synchronizing with OCT8NE.","Ha ocurrido un error sincronizando con OCT8NE."
24
+ "Does the account is properly linked up in Account Setup?","¿Está la cuenta correctamente enlazada en la configuración?"
25
+ "The field (Email) cannot be empty.","El campo (Email) no puede estar vacío."
26
+ "The field (Password) cannot be empty.","El campo (Password) no puede estar vacío."
27
+ "The field (URL API) cannot be empty.","El campo (URL API) no puede estar vacío."
28
+ "Account not linked. Please, link up your account before at OCT8NE/Account Setup.","Cuenta no enlazada. Por favor, enlace antes su cuenta en OCT8NE/Configuración de la cuenta."
29
+ "There was an error on your credentials and cannot obtain OCT8NE integration data.","Hay un error en sus credenciales y no se han podido obtener los datos de integración con OCT8NE."
30
+ "There was an error activating OCT8NE integration.","Ha ocurrido un error activando la integración con OCT8NE."
31
+ "OCT8NE integration data obtained successfully!","¡Datos de integración con OCT8NE obtenidos correctamente!"
32
+ "There was an error deactivating OCT8NE integration.","Ha ocurrido un error desactivando la integración con OCT8NE."
33
+ "OCT8NE integration deactivated successfully!","¡Integración con OCT8NE desactivada correctamente!"
34
+ "OCT8NE integration activated successfully!","¡Integración con OCT8NE activada correctamente!"
35
+ "There was an error saving your settings.","Ha ocurrido un error grabando los ajustes."
36
+ "The fields (License ID and API token) are invalid.","Los campos (License ID and API token) son inválidos."
37
+ "Settings updated successfully.","Ajustes actualizados correctamente."
38
+ "(Deactivate)","(Desactivar)"
39
  "(Activate)","(Activar)"
package.xml CHANGED
@@ -1,193 +1,232 @@
1
- <?xml version="1.0"?>
2
- <package>
3
- <name>LetsSyncroLLC_Oct8ne</name>
4
- <version>1.1.5</version>
5
- <stability>stable</stability>
6
- <license>license</license>
7
- <channel>community</channel>
8
- <extends/>
9
- <summary>Oct8ne extension</summary>
10
- <description>Oct8ne extension description</description>
11
- <notes>Notes</notes>
12
- <authors><author><name>Oct8ne</name><user>Oct8ne</user><email>xavier.gonzalez@oct8ne.com</email></author></authors>
13
- <date>2014-03-21</date>
14
- <time>10:39:11</time>
15
- <contents>
16
- <target name="magecommunity">
17
- <dir name="LetsSyncroLLC">
18
- <dir name="Oct8ne">
19
- <dir name="Block">
20
- <file name="Accountconfig.php" hash="b9493cd1f56a490bc8fc31f9315ff871"/>
21
- <dir name="Customer">
22
- <file name="Notifier.php" hash="4e5c509e127119a8b402832c6f2f2b23"/>
23
- </dir>
24
- <dir name="Html">
25
- <file name="Head.php" hash="3052f7a7e9d8adfe0eb0f4484f789b36"/>
26
- </dir>
27
- <file name="Index.php" hash="d4cc07e7e6412cb9f3cedf2508f56461"/>
28
- </dir>
29
- <dir name="Helper">
30
- <dir name="Customer">
31
- <file name="Data.php" hash="4ad2ac2fc06fd5a491a48308ee92c9b7"/>
32
- </dir>
33
- <file name="Data.php" hash="ed5fb834be3848ad452f98fabd954147"/>
34
- <file name="Search.php" hash="b340e551645723143fb98bd1cb558a41"/>
35
- <file name="Url.php" hash="8b305c993f1a026d3fd67d1bfe88d3e9"/>
36
- <file name="Wishlist.php" hash="29c9447eb52548708918f07aaec9f7ef"/>
37
- </dir>
38
- <dir name="Model">
39
- <file name="Cron.php" hash="b2c54b02b18a4a4b8386278aa1b4b438"/>
40
- <file name="Letssyncro.php" hash="a7755ee759fa31f004207823314a907d"/>
41
- <dir name="Mage">
42
- <file name="Onepage.php" hash="09bdc97f5328062520758798a2b5545c"/>
43
- <file name="Url.php" hash="9811f73a73b5f1bd216442150f854a70"/>
44
- </dir>
45
- <dir name="Mysql4">
46
- <dir name="LetsSyncro">
47
- <file name="Collection.php" hash="1820b31106065627aa81007f966de6b7"/>
48
- </dir>
49
- <file name="Letssyncro.php" hash="81b49a4f7770d408eacd230a41434cbf"/>
50
- <dir name="Orderproducts">
51
- <file name="Collection.php" hash="d41809333ca198109c3e0511790a333b"/>
52
- </dir>
53
- <file name="Orderproducts.php" hash="4c05fe63b71bbc669d7053915969ea0c"/>
54
- </dir>
55
- <file name="Observer.php" hash="35c7a2608b071457d02ef3d0bc31f542"/>
56
- <file name="Orderproducts.php" hash="96432b6c3a3abdd58d9f9657a6432e18"/>
57
- </dir>
58
- <dir name="controllers">
59
- <file name="AccountController.php" hash="492f053985eca9a14bc1abf698966d77"/>
60
- <file name="AdminController.php" hash="c5206f6bbbdc7d98d93e99d948aa241d"/>
61
- <file name="FrameController.php" hash="579c3a25d80cf4f4276661b99896f397"/>
62
- <file name="IndexController.php" hash="5a63469c2dead9b78a262fd580a3e43b"/>
63
- <file name="letssyncro.phtml" hash="3e6771c4f2010f678d19c3363f0c8c85"/>
64
- </dir>
65
- <dir name="etc">
66
- <file name="config.xml" hash="5522d65fca36340aec368c46cad348ce"/>
67
- <file name="system.xml" hash="69b466103caeefe73a618b350872d90d"/>
68
- </dir>
69
- <dir name="sql">
70
- <dir name="oct8ne_setup">
71
- <file name="mysql4-install-0.5.0.php" hash="51668af264bb01c6607c68964ac6bdb7"/>
72
- <file name="mysql4-install-1.0.0.php" hash="51668af264bb01c6607c68964ac6bdb7"/>
73
- <file name="mysql4-upgrade-1.0.0-1.1.0.php" hash="0de801ad4896defa9491391754ee7229"/>
74
- </dir>
75
- </dir>
76
- </dir>
77
- </dir>
78
- </target>
79
- <target name="mageetc">
80
- <dir name="modules">
81
- <file name="LetsSyncroLLC_Oct8ne.xml" hash="c964f1f25c986f91785da5189565d4a1"/>
82
- </dir>
83
- </target>
84
- <target name="magedesign">
85
- <dir name="frontend">
86
- <dir name="default">
87
- <dir name="oct8ne">
88
- <dir name="template">
89
- <dir name="page">
90
- <file name="1column.phtml" hash="c5e128243cfdf8b6b4abe2f297ec8335"/>
91
- <file name="2columns-left.phtml" hash="c5e128243cfdf8b6b4abe2f297ec8335"/>
92
- <file name="2columns-right.phtml" hash="c5e128243cfdf8b6b4abe2f297ec8335"/>
93
- <file name="3columns.phtml" hash="c5e128243cfdf8b6b4abe2f297ec8335"/>
94
- </dir>
95
- </dir>
96
- </dir>
97
- </dir>
98
- <dir name="base">
99
- <dir name="default">
100
- <dir name="layout">
101
- <file name="oct8ne.xml" hash="852d97d55ef98d7c7157b54eed0b9459"/>
102
- </dir>
103
- <dir name="template">
104
- <dir name="oct8ne">
105
- <dir name="frame">
106
- <file name="add2cart.phtml" hash="c5e128243cfdf8b6b4abe2f297ec8335"/>
107
- <file name="addtowishlist.phtml" hash="00d4f2f3b3ef337de28e5cca3bc8df6a"/>
108
- <file name="clean-page.phtml" hash="edc071b2173758821d2a27fbce26ef2b"/>
109
- <dir name="customer">
110
- <file name="data.phtml" hash="44133496fb036a5c9989d52c5f85b19b"/>
111
- <file name="notifier.phtml" hash="c97f29ac7ae1754284721bdffe06250b"/>
112
- </dir>
113
- <file name="getcart.phtml" hash="f67bacfaf225c8972a52de542cac1d69"/>
114
- <file name="getwishlist.phtml" hash="4e00716786afcebad70c7f72000b998e"/>
115
- <file name="json-page.phtml" hash="509893c584213ad7d78e17a1a53249d1"/>
116
- <file name="loginpost.phtml" hash="ea57cb60b282d1fc60186503f6909176"/>
117
- <file name="naked-page.phtml" hash="6b9275b9ba11e9c79610b52e423e5dda"/>
118
- <file name="productinfo.phtml" hash="4ed7ed6dab345d43d3095b95daf98114"/>
119
- <file name="productrelated.phtml" hash="72e36adb79a36c00f8153ae777710402"/>
120
- <dir name="productview">
121
- <file name="additional.phtml" hash="7bab9dbcc43d46b0aa057dd92547e49e"/>
122
- <file name="addto.phtml" hash="4aadc1acfec31347887991ef0c192e01"/>
123
- <file name="addtocart.phtml" hash="d6b9ff292fb9e482184e909200c8138d"/>
124
- <file name="attributes.phtml" hash="a234143e664549fbca1d49c1e950efc5"/>
125
- <file name="description.phtml" hash="a9ee13db96558372435034562dbdaa7a"/>
126
- <file name="media.phtml" hash="d50c7b227b03a647ea0ec2172182a232"/>
127
- <file name="media.phtml.ORIGINAL" hash="385cb80abc228301060ffafa147c9783"/>
128
- <dir name="options">
129
- <file name="js.phtml" hash="9d5c5c4786c5b9fb7125f6f3cc8c7309"/>
130
- <dir name="type">
131
- <file name="date.phtml" hash="5bdfd7dc4817a500095e076a21a2c467"/>
132
- <file name="default.phtml" hash="f1acbd98563c6640c4a0b6cf5abc994f"/>
133
- <file name="file.phtml" hash="b72f9363f049dd486ff0a3c8b667cbc9"/>
134
- <file name="select.phtml" hash="5dbbe91d0581ccb291737992c5188121"/>
135
- <file name="text.phtml" hash="1aaef71a9e81521aab601aa281fa0b8e"/>
136
- </dir>
137
- <dir name="wrapper">
138
- <file name="bottom.phtml" hash="6a612992021e3e65ca7b5f6e897821d5"/>
139
- </dir>
140
- <file name="wrapper.phtml" hash="472e04ad6c1a35dfeaa54b3012884ed6"/>
141
- </dir>
142
- <file name="options.phtml" hash="c1227dcadb83af6708d78a032ffd8d6c"/>
143
- <file name="price.phtml" hash="f2ae6daff42b8ee7074d27c8bf5f1e6c"/>
144
- <file name="price_clone.phtml" hash="732daf46245f4ee7068d5ae26defc750"/>
145
- <file name="tierprices.phtml" hash="0b7f122253b505c45772eff069203a5d"/>
146
- <dir name="type">
147
- <file name="configurable.phtml" hash="1a0a77285960b4227f000855e8194ed7"/>
148
- <file name="default.phtml" hash="dd5d4b8859956d79ec7d42522b4f42a8"/>
149
- <file name="grouped.phtml" hash="f5d7db323383b19a80ab3c55a1736dd5"/>
150
- <dir name="options">
151
- <file name="configurable.phtml" hash="c37919561a3cde0d9b92fd34d44c69c1"/>
152
- </dir>
153
- <file name="simple.phtml" hash="1a0a77285960b4227f000855e8194ed7"/>
154
- <file name="virtual.phtml" hash="1a0a77285960b4227f000855e8194ed7"/>
155
- </dir>
156
- </dir>
157
- <file name="productview-FROM-SCRATCH.phtml" hash="5dfc5225e6e0986b3fa9d2d091dd759e"/>
158
- <file name="productview.phtml" hash="5425b92fb7fbc5fe426ed07174c7a9a2"/>
159
- <file name="removefromwishlist.phtml" hash="00d4f2f3b3ef337de28e5cca3bc8df6a"/>
160
- <file name="search.phtml" hash="0834fe5ae26493351fbee92c2b996cdc"/>
161
- </dir>
162
- <file name="letssyncro.phtml" hash="8394bc898da079723a621bb586a3438c"/>
163
- </dir>
164
- </dir>
165
- </dir>
166
- </dir>
167
- </dir>
168
- </target>
169
- <target name="magelocale">
170
- <dir>
171
- <dir name="en_US">
172
- <file name="LetsSyncroLLC_Oct8ne.csv" hash="686df4107da7e35e243b629c5ee57963"/>
173
- </dir>
174
- <dir name="es_ES">
175
- <file name="LetsSyncroLLC_Oct8ne.csv" hash="eb0b3ddaae1e2e52005e9ab23cb37163"/>
176
- </dir>
177
- </dir>
178
- </target>
179
- <target name="mageskin">
180
- <dir name="adminhtml">
181
- <dir name="default">
182
- <dir name="default">
183
- <dir name="images">
184
- <file name="LetsSyncro_Logo.png" hash="2104af20cc380d0c745531e1dca2f97c"/>
185
- </dir>
186
- </dir>
187
- </dir>
188
- </dir>
189
- </target>
190
- </contents>
191
- <compatible/>
192
- <dependencies><required><php><min>5.3.0</min><max>5.5.99</max></php></required></dependencies>
193
- </package>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>LetsSyncroLLC_Oct8ne</name>
4
+ <version>1.2.0</version>
5
+ <stability>stable</stability>
6
+ <license>license</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Oct8ne extension</summary>
10
+ <description>Oct8ne extension description</description>
11
+ <notes>Notes</notes>
12
+ <authors>
13
+ <author>
14
+ <name>Oct8ne</name>
15
+ <user>Oct8ne</user>
16
+ <email>xavier.gonzalez@oct8ne.com</email>
17
+ </author>
18
+ </authors>
19
+ <date>2014-05-15</date>
20
+ <time>16:34:43</time>
21
+ <contents>
22
+ <target name="magecommunity">
23
+ <dir name="LetsSyncroLLC">
24
+ <dir name="Oct8ne">
25
+ <dir name="Block">
26
+ <file name="Accountconfig.php" hash="b9493cd1f56a490bc8fc31f9315ff871"/>
27
+ <dir name="Customer">
28
+ <file name="Notifier.php" hash="4e5c509e127119a8b402832c6f2f2b23"/>
29
+ </dir>
30
+ <dir name="Html">
31
+ <file name="Head.php" hash="3052f7a7e9d8adfe0eb0f4484f789b36"/>
32
+ </dir>
33
+ <dir name="Mage">
34
+ <dir name="Product">
35
+ <file name="View.php" hash="3052f7a7e9d8adfe0eb0f4484f789b36"/>
36
+ </dir>
37
+ </dir>
38
+ <file name="Index.php" hash="d4cc07e7e6412cb9f3cedf2508f56461"/>
39
+ </dir>
40
+ <dir name="Helper">
41
+ <dir name="Customer">
42
+ <file name="Data.php" hash="4ad2ac2fc06fd5a491a48308ee92c9b7"/>
43
+ </dir>
44
+ <file name="Data.php" hash="ed5fb834be3848ad452f98fabd954147"/>
45
+ <file name="Search.php" hash="b340e551645723143fb98bd1cb558a41"/>
46
+ <file name="Url.php" hash="8b305c993f1a026d3fd67d1bfe88d3e9"/>
47
+ <file name="Wishlist.php" hash="29c9447eb52548708918f07aaec9f7ef"/>
48
+ </dir>
49
+ <dir name="Model">
50
+ <file name="Cron.php" hash="b2c54b02b18a4a4b8386278aa1b4b438"/>
51
+ <file name="Letssyncro.php" hash="a7755ee759fa31f004207823314a907d"/>
52
+ <dir name="Mage">
53
+ <file name="Onepage.php" hash="09bdc97f5328062520758798a2b5545c"/>
54
+ <file name="Url.php" hash="9811f73a73b5f1bd216442150f854a70"/>
55
+ <file name="Package.php" hash="9811f73a73b5f1bd216442150f854a70"/>
56
+ <file name="Rewrite.php" hash="9811f73a73b5f1bd216442150f854a70"/>
57
+ <file name="Request.php" hash="9811f73a73b5f1bd216442150f854a70"/>
58
+ </dir>
59
+ <dir name="Mysql4">
60
+ <dir name="LetsSyncro">
61
+ <file name="Collection.php" hash="1820b31106065627aa81007f966de6b7"/>
62
+ </dir>
63
+ <file name="Letssyncro.php" hash="81b49a4f7770d408eacd230a41434cbf"/>
64
+ <dir name="Orderproducts">
65
+ <file name="Collection.php" hash="d41809333ca198109c3e0511790a333b"/>
66
+ </dir>
67
+ <dir name="Quoteproducts">
68
+ <file name="Collection.php" hash="d41809333ca198109c3e0511790a333b"/>
69
+ </dir>
70
+ <file name="Orderproducts.php" hash="4c05fe63b71bbc669d7053915969ea0c"/>
71
+ <file name="Quoteproducts.php" hash="4c05fe63b71bbc669d7053915969ea0c"/>
72
+ </dir>
73
+ <file name="Observer.php" hash="35c7a2608b071457d02ef3d0bc31f542"/>
74
+ <file name="Orderproducts.php" hash="96432b6c3a3abdd58d9f9657a6432e18"/>
75
+ <file name="Quoteproducts.php" hash="96432b6c3a3abdd58d9f9657a6432e18"/>
76
+ </dir>
77
+ <dir name="controllers">
78
+ <file name="AccountController.php" hash="492f053985eca9a14bc1abf698966d77"/>
79
+ <file name="AdminController.php" hash="c5206f6bbbdc7d98d93e99d948aa241d"/>
80
+ <file name="FrameController.php" hash="579c3a25d80cf4f4276661b99896f397"/>
81
+ <file name="IndexController.php" hash="5a63469c2dead9b78a262fd580a3e43b"/>
82
+ <file name="letssyncro.phtml" hash="3e6771c4f2010f678d19c3363f0c8c85"/>
83
+ </dir>
84
+ <dir name="etc">
85
+ <file name="config.xml" hash="5522d65fca36340aec368c46cad348ce"/>
86
+ <file name="system.xml" hash="69b466103caeefe73a618b350872d90d"/>
87
+ </dir>
88
+ <dir name="sql">
89
+ <dir name="oct8ne_setup">
90
+ <file name="mysql4-install-0.5.0.php" hash="51668af264bb01c6607c68964ac6bdb7"/>
91
+ <file name="mysql4-install-1.0.0.php" hash="51668af264bb01c6607c68964ac6bdb7"/>
92
+ <file name="mysql4-upgrade-1.0.0-1.1.0.php" hash="0de801ad4896defa9491391754ee7229"/>
93
+ <file name="mysql4-upgrade-1.1.6-1.1.7.php" hash="0de801ad4896defa9491391754ee7229"/>
94
+ </dir>
95
+ </dir>
96
+ </dir>
97
+ </dir>
98
+ </target>
99
+ <target name="mageetc">
100
+ <dir name="modules">
101
+ <file name="LetsSyncroLLC_Oct8ne.xml" hash="c964f1f25c986f91785da5189565d4a1"/>
102
+ </dir>
103
+ </target>
104
+ <target name="magedesign">
105
+ <dir name="frontend">
106
+ <dir name="default">
107
+ <dir name="oct8ne">
108
+ <dir name="layout">
109
+ <file name="oct8ne.xml" hash="c5e128243cfdf8b6b4abe2f297ec8335"/>
110
+ </dir>
111
+ <dir name="template">
112
+ <dir name="page">
113
+ <file name="1column.phtml" hash="c5e128243cfdf8b6b4abe2f297ec8335"/>
114
+ <file name="2columns-left.phtml" hash="c5e128243cfdf8b6b4abe2f297ec8335"/>
115
+ <file name="2columns-right.phtml" hash="c5e128243cfdf8b6b4abe2f297ec8335"/>
116
+ <file name="3columns.phtml" hash="c5e128243cfdf8b6b4abe2f297ec8335"/>
117
+ </dir>
118
+ </dir>
119
+ </dir>
120
+ </dir>
121
+ <dir name="base">
122
+ <dir name="default">
123
+ <dir name="layout">
124
+ <file name="oct8ne.xml" hash="852d97d55ef98d7c7157b54eed0b9459"/>
125
+ </dir>
126
+ <dir name="template">
127
+ <dir name="oct8ne">
128
+ <dir name="frame">
129
+ <file name="add2cart.phtml" hash="c5e128243cfdf8b6b4abe2f297ec8335"/>
130
+ <file name="addtowishlist.phtml" hash="00d4f2f3b3ef337de28e5cca3bc8df6a"/>
131
+ <file name="clean-page.phtml" hash="edc071b2173758821d2a27fbce26ef2b"/>
132
+ <file name="getversion.phtml" hash="72ec76ebc77c89b5d3b59fe436a937b1"/>
133
+ <dir name="customer">
134
+ <file name="data.phtml" hash="44133496fb036a5c9989d52c5f85b19b"/>
135
+ <file name="notifier.phtml" hash="c97f29ac7ae1754284721bdffe06250b"/>
136
+ </dir>
137
+ <file name="getcart.phtml" hash="f67bacfaf225c8972a52de542cac1d69"/>
138
+ <file name="getwishlist.phtml" hash="4e00716786afcebad70c7f72000b998e"/>
139
+ <file name="getreportdata.phtml" hash="4e00716786afcebad70c7f72000b998e"/>
140
+ <file name="json-page.phtml" hash="509893c584213ad7d78e17a1a53249d1"/>
141
+ <file name="loginpost.phtml" hash="ea57cb60b282d1fc60186503f6909176"/>
142
+ <file name="naked-page.phtml" hash="6b9275b9ba11e9c79610b52e423e5dda"/>
143
+ <file name="productinfo.phtml" hash="4ed7ed6dab345d43d3095b95daf98114"/>
144
+ <file name="productrelated.phtml" hash="72e36adb79a36c00f8153ae777710402"/>
145
+ <dir name="productview">
146
+ <file name="additional.phtml" hash="7bab9dbcc43d46b0aa057dd92547e49e"/>
147
+ <file name="addto.phtml" hash="4aadc1acfec31347887991ef0c192e01"/>
148
+ <file name="addtocart.phtml" hash="d6b9ff292fb9e482184e909200c8138d"/>
149
+ <file name="attributes.phtml" hash="a234143e664549fbca1d49c1e950efc5"/>
150
+ <file name="description.phtml" hash="a9ee13db96558372435034562dbdaa7a"/>
151
+ <file name="media.phtml" hash="d50c7b227b03a647ea0ec2172182a232"/>
152
+ <file name="media.phtml.ORIGINAL" hash="385cb80abc228301060ffafa147c9783"/>
153
+ <dir name="options">
154
+ <file name="js.phtml" hash="9d5c5c4786c5b9fb7125f6f3cc8c7309"/>
155
+ <dir name="type">
156
+ <file name="date.phtml" hash="5bdfd7dc4817a500095e076a21a2c467"/>
157
+ <file name="default.phtml" hash="f1acbd98563c6640c4a0b6cf5abc994f"/>
158
+ <file name="file.phtml" hash="b72f9363f049dd486ff0a3c8b667cbc9"/>
159
+ <file name="select.phtml" hash="5dbbe91d0581ccb291737992c5188121"/>
160
+ <file name="text.phtml" hash="1aaef71a9e81521aab601aa281fa0b8e"/>
161
+ </dir>
162
+ <dir name="wrapper">
163
+ <file name="bottom.phtml" hash="6a612992021e3e65ca7b5f6e897821d5"/>
164
+ </dir>
165
+ <file name="wrapper.phtml" hash="472e04ad6c1a35dfeaa54b3012884ed6"/>
166
+ </dir>
167
+ <file name="options.phtml" hash="c1227dcadb83af6708d78a032ffd8d6c"/>
168
+ <file name="price.phtml" hash="f2ae6daff42b8ee7074d27c8bf5f1e6c"/>
169
+ <file name="price_clone.phtml" hash="732daf46245f4ee7068d5ae26defc750"/>
170
+ <file name="tierprices.phtml" hash="0b7f122253b505c45772eff069203a5d"/>
171
+ <dir name="type">
172
+ <file name="configurable.phtml" hash="1a0a77285960b4227f000855e8194ed7"/>
173
+ <file name="default.phtml" hash="dd5d4b8859956d79ec7d42522b4f42a8"/>
174
+ <file name="grouped.phtml" hash="f5d7db323383b19a80ab3c55a1736dd5"/>
175
+ <dir name="options">
176
+ <file name="configurable.phtml" hash="c37919561a3cde0d9b92fd34d44c69c1"/>
177
+ </dir>
178
+ <file name="simple.phtml" hash="1a0a77285960b4227f000855e8194ed7"/>
179
+ <file name="virtual.phtml" hash="1a0a77285960b4227f000855e8194ed7"/>
180
+ </dir>
181
+ </dir>
182
+ <file name="productview-FROM-SCRATCH.phtml" hash="5dfc5225e6e0986b3fa9d2d091dd759e"/>
183
+ <file name="productview.phtml" hash="5425b92fb7fbc5fe426ed07174c7a9a2"/>
184
+ <file name="removefromwishlist.phtml" hash="00d4f2f3b3ef337de28e5cca3bc8df6a"/>
185
+ <file name="search.phtml" hash="0834fe5ae26493351fbee92c2b996cdc"/>
186
+ </dir>
187
+ <file name="letssyncro.phtml" hash="8394bc898da079723a621bb586a3438c"/>
188
+ </dir>
189
+ </dir>
190
+ </dir>
191
+ </dir>
192
+ </dir>
193
+ </target>
194
+ <target name="magelocale">
195
+ <dir>
196
+ <dir name="en_US">
197
+ <file name="LetsSyncroLLC_Oct8ne.csv" hash="686df4107da7e35e243b629c5ee57963"/>
198
+ </dir>
199
+ <dir name="es_ES">
200
+ <file name="LetsSyncroLLC_Oct8ne.csv" hash="eb0b3ddaae1e2e52005e9ab23cb37163"/>
201
+ </dir>
202
+ </dir>
203
+ </target>
204
+ <target name="mageskin">
205
+ <dir name="frontend">
206
+ <dir name="base">
207
+ <dir name="default">
208
+ <file name="oct8ne.css" hash="2104af20cc380d0c745531e1dca2f97c"/>
209
+ </dir>
210
+ </dir>
211
+ </dir>
212
+ <dir name="adminhtml">
213
+ <dir name="default">
214
+ <dir name="default">
215
+ <dir name="images">
216
+ <file name="LetsSyncro_Logo.png" hash="2104af20cc380d0c745531e1dca2f97c"/>
217
+ </dir>
218
+ </dir>
219
+ </dir>
220
+ </dir>
221
+ </target>
222
+ </contents>
223
+ <compatible/>
224
+ <dependencies>
225
+ <required>
226
+ <php>
227
+ <min>5.3.0</min>
228
+ <max>5.5.99</max>
229
+ </php>
230
+ </required>
231
+ </dependencies>
232
+ </package>
skin/frontend/base/default/oct8ne.css ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .page-empty {
2
+ padding: 0;
3
+ }
4
+
5
+ .add-to-box .add-to-links, .add-to-box .or
6
+ {
7
+ display: none;
8
+ }
9
+
10
+ .product-shop .email-friend
11
+ {
12
+ display: none;
13
+ }
14
+
15
+ .rating-links a, .rating-links span
16
+ {
17
+ display: none;
18
+ }
19
+
20
+ .product-collateral .box-tags
21
+ {
22
+ display: none;
23
+ }
24
+
25
+ .paypal-logo
26
+ {
27
+ display: none;
28
+ }