Cue - Version 3.0.19

Version Notes

- fixes for internet explorer
- stability improvements

Download this release

Release Info

Developer Cue Connect
Extension Cue
Version 3.0.19
Comparing to
See all releases


Code changes from version 3.0.18 to 3.0.19

Files changed (45) hide show
  1. app/code/community/CueConnect/Cue/Block/Adminhtml/Catalog/Product.php +30 -0
  2. app/code/community/CueConnect/Cue/Block/Adminhtml/Index.php +29 -0
  3. app/code/community/CueConnect/Cue/Block/Adminhtml/Progress.php +56 -0
  4. app/code/community/CueConnect/Cue/Block/Adminhtml/System/Config/Form/Field/Readonly.php +18 -0
  5. app/code/community/CueConnect/Cue/Block/Alert.php +17 -0
  6. app/code/community/CueConnect/Cue/Block/BaseCueBlock.php +102 -0
  7. app/code/community/CueConnect/Cue/Block/Collection.php +23 -0
  8. app/code/community/CueConnect/Cue/Block/Elist.php +38 -0
  9. app/code/community/CueConnect/Cue/Block/Favorite.php +17 -0
  10. app/code/community/CueConnect/Cue/Block/Js.php +14 -0
  11. app/code/community/CueConnect/Cue/Block/Meta.php +44 -0
  12. app/code/community/CueConnect/Cue/Block/Navigation.php +28 -0
  13. app/code/community/CueConnect/Cue/Block/Share.php +17 -0
  14. app/code/community/CueConnect/Cue/Helper/Data.php +290 -0
  15. app/code/community/CueConnect/Cue/Helper/Wishlist/Data.php +41 -0
  16. app/code/community/CueConnect/Cue/Model/CueConnect.php +26 -26
  17. app/code/community/CueConnect/Cue/Model/Demand.php +24 -0
  18. app/code/community/CueConnect/Cue/Model/Mysql4/Demand.php +18 -0
  19. app/code/community/CueConnect/Cue/Model/Mysql4/Demand/Collection.php +18 -0
  20. app/code/community/CueConnect/Cue/Model/Mysql4/UserSync.php +18 -0
  21. app/code/community/CueConnect/Cue/Model/Mysql4/UserSync/Collection.php +18 -0
  22. app/code/community/CueConnect/Cue/Model/Mysql4/WishlistSync.php +18 -0
  23. app/code/community/CueConnect/Cue/Model/Mysql4/WishlistSync/Collection.php +18 -0
  24. app/code/community/CueConnect/Cue/Model/Options.php +21 -0
  25. app/code/community/CueConnect/Cue/Model/UserSync.php +23 -0
  26. app/code/community/CueConnect/Cue/Model/WishlistSync.php +23 -0
  27. app/code/community/CueConnect/Cue/controllers/Adminhtml/SyncController.php +40 -0
  28. app/code/community/CueConnect/Cue/controllers/ElistController.php +54 -0
  29. app/code/community/CueConnect/Cue/etc/config.xml +1 -32
  30. app/code/community/CueConnect/Cue/etc/system.xml +2 -21
  31. app/code/community/CueConnect/Cue/sql/cueconnect_setup/mysql4-install-3.0.9.php +32 -0
  32. app/code/community/CueConnect/Cue/sql/cueconnect_setup/mysql4-upgrade-3.0.8-3.0.9.php +24 -0
  33. app/design/frontend/base/default/layout/cueconnect.xml +66 -0
  34. app/design/frontend/base/default/template/cueconnect/alert.phtml +3 -0
  35. app/design/frontend/base/default/template/cueconnect/collection.phtml +0 -0
  36. app/design/frontend/base/default/template/cueconnect/customer/form/forgotpassword.phtml +54 -0
  37. app/design/frontend/base/default/template/cueconnect/customer/form/login.phtml +74 -0
  38. app/design/frontend/base/default/template/cueconnect/customer/form/register.phtml +182 -0
  39. app/design/frontend/base/default/template/cueconnect/elist.phtml +452 -0
  40. app/design/frontend/base/default/template/cueconnect/favorite.phtml +4 -0
  41. app/design/frontend/base/default/template/cueconnect/links.phtml +39 -0
  42. app/design/frontend/base/default/template/cueconnect/meta.phtml +26 -0
  43. app/design/frontend/base/default/template/cueconnect/share.phtml +3 -0
  44. app/etc/modules/CueConnect_Cue.xml +9 -0
  45. package.xml +9 -7
app/code/community/CueConnect/Cue/Block/Adminhtml/Catalog/Product.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Block_Adminhtml_Catalog_Product extends Mage_Adminhtml_Block_Catalog_Product {
13
+
14
+ /**
15
+ * Prepare button and grid
16
+ *
17
+ * @return Mage_Adminhtml_Block_Catalog_Product
18
+ */
19
+ protected function _prepareLayout()
20
+ {
21
+ $this->_addButton('cueconnect_sync_catalog', array(
22
+ 'label' => Mage::helper('catalog')->__('Export catalog to Cue'),
23
+ 'onclick' => "setLocation('{$this->getUrl('cueconnect/adminhtml_sync/export')}')",
24
+ 'class' => ''
25
+ ));
26
+
27
+ return parent::_prepareLayout();
28
+ }
29
+
30
+ }
app/code/community/CueConnect/Cue/Block/Adminhtml/Index.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Block_Adminhtml_Index extends Mage_Adminhtml_Block_Template {
13
+
14
+ /**
15
+ * Get last export demands
16
+ *
17
+ * @return array
18
+ */
19
+ protected function getDemands()
20
+ {
21
+ $demands = Mage::getModel('cueconnect/demand')
22
+ ->getCollection()
23
+ ->setOrder('updated_at', 'desc')
24
+ ->setPageSize(10);
25
+
26
+ return $demands;
27
+ }
28
+
29
+ }
app/code/community/CueConnect/Cue/Block/Adminhtml/Progress.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Block_Adminhtml_Progress extends Mage_Adminhtml_Block_Template {
13
+
14
+ /**
15
+ * Get last export progress
16
+ *
17
+ * @return array
18
+ */
19
+ protected function getLastExportProgress()
20
+ {
21
+ // Get data
22
+ $last_export_progress = Mage::helper('cueconnect')->getExportProgress();
23
+
24
+ if ($last_export_progress && is_object($last_export_progress)) {
25
+ // Percentage
26
+ $last_export_progress->completion = 0;
27
+ if (isset($last_export_progress->total_products)) {
28
+ $total_to_do = $last_export_progress->total_products_to_create + $last_export_progress->total_products_to_update + $last_export_progress->total_products_to_delete;
29
+ $total_done = $last_export_progress->total_products_created + $last_export_progress->total_products_updated + $last_export_progress->total_products_deleted;
30
+ $last_export_progress->completion = ceil(($total_done / $total_to_do) * 100);
31
+ }
32
+
33
+ // Message
34
+ if (isset($last_export_progress->message) && $last_export_progress->message) {
35
+ $last_export_progress->message = $last_export_progress->message;
36
+ }
37
+ else {
38
+ if ($last_export_progress->completion == 0) {
39
+ $last_export_progress->message = "Starting...";
40
+ }
41
+ elseif ($last_export_progress->completion == 100) {
42
+ $last_export_progress->message = "Completed";
43
+ }
44
+ else {
45
+ $last_export_progress->message = "Progressing...";
46
+ }
47
+ }
48
+
49
+ return $last_export_progress;
50
+ }
51
+ else {
52
+ return false;
53
+ }
54
+ }
55
+
56
+ }
app/code/community/CueConnect/Cue/Block/Adminhtml/System/Config/Form/Field/Readonly.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Block_Adminhtml_System_Config_Form_Field_Readonly extends Mage_Adminhtml_Block_System_Config_Form_Field
13
+ {
14
+ protected function _getElementHtml($element) {
15
+ $element->setDisabled('disabled');
16
+ return parent::_getElementHtml($element);
17
+ }
18
+ }
app/code/community/CueConnect/Cue/Block/Alert.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Block_Alert extends CueConnect_Cue_Block_BaseCueBlock {
13
+ public function isAlertEnabled() {
14
+ $store = Mage::app()->getStore();
15
+ return $store->getConfig('cueconnect/alert/enabled');
16
+ }
17
+ }
app/code/community/CueConnect/Cue/Block/BaseCueBlock.php ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Block_BaseCueBlock extends Mage_Core_Block_Template {
13
+ /**
14
+ * return current retailer id
15
+ * @return integer
16
+ */
17
+ public function getRetailerId() {
18
+ return Mage::helper('cueconnect')->getRetailerId();
19
+
20
+ $store = Mage::app()->getStore();
21
+ $retailer = Mage::helper('cueconnect')->getRetailer($store);
22
+ if ($retailer && $retailer->id) {
23
+ return $retailer->id;
24
+ }
25
+ }
26
+
27
+ /**
28
+ * return api key for current retailer
29
+ * @return string
30
+ */
31
+ public function getApiKey() {
32
+ $store = Mage::app()->getStore();
33
+ return $store->getConfig('cueconnect/credentials/api_key');
34
+ }
35
+
36
+ /**
37
+ * check whether the functionalities are enabled or not
38
+ * @return boolean
39
+ */
40
+ public function isEnabled() {
41
+ $store = Mage::app()->getStore();
42
+ return $store->getConfig('cueconnect/enabled/enabled');
43
+ }
44
+
45
+ /**
46
+ * get e-List mode
47
+ * @return integer
48
+ */
49
+ public function getMode() {
50
+ $store = Mage::app()->getStore();
51
+ $mode = $store->getConfig('cueconnect/mode');
52
+ if (is_array($mode)) {
53
+ if (isset($mode['mode'])) {
54
+ return $mode['mode'];
55
+ }
56
+ }
57
+
58
+ return 1;
59
+ }
60
+
61
+ /**
62
+ * return current product sku
63
+ * @return string
64
+ */
65
+ public function getSku() {
66
+ $current_product = Mage::registry('current_product');
67
+ return $current_product->getSku();
68
+ }
69
+
70
+
71
+ /**
72
+ * check whether a session is open
73
+ * @return boolean
74
+ */
75
+ public function isLoggedIn(){
76
+ return Mage::getSingleton('customer/session')->isLoggedIn();
77
+ }
78
+
79
+
80
+ /**
81
+ * Get CID
82
+ *
83
+ * @return string
84
+ */
85
+ public function getCID() {
86
+ return ($this->isLoggedIn()) ? 'true' : 'null';
87
+ }
88
+
89
+
90
+ /**
91
+ * Get elist path
92
+ *
93
+ * @return string
94
+ */
95
+ public function getElistPath() {
96
+ $store = Mage::app()->getStore();
97
+ return $this->getUrl($store->getConfig('cueconnect/path/elist'));
98
+ }
99
+
100
+
101
+
102
+ }
app/code/community/CueConnect/Cue/Block/Collection.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Block_Collection extends CueConnect_Cue_Block_BaseCueBlock {
13
+ public function isCollectionEnabled() {
14
+ $store = Mage::app()->getStore();
15
+ if ($store->getConfig('cueconnect/collection/enabled') && $store->getConfig('cueconnect/collection/enabled')) {
16
+ return true;
17
+ }
18
+ else {
19
+ return false;
20
+ }
21
+ }
22
+
23
+ }
app/code/community/CueConnect/Cue/Block/Elist.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Block_Elist extends CueConnect_Cue_Block_BaseCueBlock {
13
+ public function getCustomerEmail() {
14
+ if (Mage::getSingleton('customer/session')->isLoggedIn()) {
15
+ $customer = Mage::getSingleton('customer/session')->getCustomer();
16
+
17
+ if ($customer) {
18
+ return $customer->getEmail();
19
+ }
20
+ }
21
+
22
+ return false;
23
+ }
24
+
25
+ public function getCustomerId() {
26
+ if (Mage::getSingleton('customer/session')->isLoggedIn()) {
27
+ $customer = Mage::getSingleton('customer/session')->getCustomer();
28
+
29
+ if ($customer) {
30
+ return $customer->getId();
31
+ }
32
+ }
33
+
34
+ return 0;
35
+ }
36
+
37
+
38
+ }
app/code/community/CueConnect/Cue/Block/Favorite.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Block_Favorite extends CueConnect_Cue_Block_BaseCueBlock {
13
+ public function isFavoriteEnabled() {
14
+ $store = Mage::app()->getStore();
15
+ return $store->getConfig('cueconnect/favorite/enabled');
16
+ }
17
+ }
app/code/community/CueConnect/Cue/Block/Js.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Block_Js extends CueConnect_Cue_Block_BaseCueBlock {
13
+
14
+ }
app/code/community/CueConnect/Cue/Block/Meta.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Block_Meta extends CueConnect_Cue_Block_BaseCueBlock {
13
+
14
+ /**
15
+ * return current product information in order to feed the meta tags
16
+ * @return array
17
+ */
18
+ public function getProductData() {
19
+ $current_product = Mage::registry('current_product');
20
+ if ($current_product) {
21
+ $width = Mage::getStoreConfig('cueconnect/image/width');
22
+ $height = Mage::getStoreConfig('cueconnect/image/height');
23
+
24
+ return array(
25
+ 'name' => $this->escape($current_product->getName()),
26
+ 'description' => $this->escape(strip_tags(($current_product->getShortDescription()))),
27
+ 'sku' => $this->escape($current_product->getSku()),
28
+ 'brand' => $this->escape(($current_product->getAttributeText('manufacturer')) ? $current_product->getAttributeText('manufacturer') : Mage::app()->getStore()->getName()),
29
+ 'price' => $this->escape(number_format(Mage::helper('core')->currency($current_product->getPrice(), false, false), 2)),
30
+ 'currency' => $this->escape(Mage::app()->getStore(Mage::app()->getStore()->getId())->getCurrentCurrencyCode()),
31
+ 'picture' => $this->escape($this->helper('catalog/image')->init($current_product, 'small_image')->resize($width, $height)),
32
+ 'url' => $this->escape($current_product->getProductUrl()),
33
+ );
34
+ }
35
+
36
+ return array();
37
+ }
38
+
39
+
40
+ protected function escape($str)
41
+ {
42
+ return addslashes($this->htmlEscape($str));
43
+ }
44
+ }
app/code/community/CueConnect/Cue/Block/Navigation.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Block_Navigation extends Mage_Page_Block_Switch
13
+ {
14
+ public function addMyElistLink() {
15
+ if (Mage::helper('core/data')->isModuleEnabled('CueConnect_Cue')) {
16
+ if (Mage::helper('cueconnect')->isEnabled()) {
17
+ if (Mage::helper('cueconnect')->isCollectionAuto()) {
18
+ $parentBlock = $this->getParentBlock();
19
+ if ($parentBlock) {
20
+ $parentBlock->addLink('My List', $this->getUrl('apps/mylist'), 'My List', false, array(), 200, null, 'class="cue-stream"');
21
+ }
22
+ }
23
+ }
24
+ }
25
+
26
+ return $this;
27
+ }
28
+ }
app/code/community/CueConnect/Cue/Block/Share.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Block_Share extends CueConnect_Cue_Block_BaseCueBlock {
13
+ public function isObEnabled() {
14
+ $store = Mage::app()->getStore();
15
+ return $store->getConfig('cueconnect/ob/enabled');
16
+ }
17
+ }
app/code/community/CueConnect/Cue/Helper/Data.php ADDED
@@ -0,0 +1,290 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Helper_Data extends Mage_Core_Helper_Abstract
13
+ {
14
+ /**
15
+ * Get webhook URL for adding customers to Cue
16
+ *
17
+ * @return string
18
+ */
19
+ public function getWebhookSaveCustomerUrl() {
20
+
21
+ return Mage::getStoreConfig('cueconnect/webhook/save_customer/url');
22
+ }
23
+
24
+ /**
25
+ * Get webhook auth key for adding customers to Cue
26
+ *
27
+ * @return string
28
+ */
29
+ public function getWebhookSaveCustomerKey() {
30
+
31
+ return Mage::getStoreConfig('cueconnect/webhook/save_customer/key');
32
+ }
33
+
34
+ /**
35
+ * Get webhook URL for adding marks to Cue
36
+ *
37
+ * @return string
38
+ */
39
+ public function getWebhookSaveMarkUrl() {
40
+
41
+ return Mage::getStoreConfig('cueconnect/webhook/save_mark/url');
42
+ }
43
+
44
+ /**
45
+ * Get webhook auth key for adding marks to Cue
46
+ *
47
+ * @return string
48
+ */
49
+ public function getWebhookSaveMarkKey() {
50
+
51
+ return Mage::getStoreConfig('cueconnect/webhook/save_mark/key');
52
+ }
53
+
54
+ /**
55
+ * Get webhook auth key for version change
56
+ *
57
+ * @return string
58
+ */
59
+ public function getWebhookSelectVersionKey() {
60
+
61
+ return Mage::getStoreConfig('cueconnect/webhook/select_version/key');
62
+ }
63
+
64
+ /**
65
+ * Get webhook url for version change
66
+ *
67
+ * @return string
68
+ */
69
+ public function getWebhookSelectVersionUrl() {
70
+
71
+ return Mage::getStoreConfig('cueconnect/webhook/select_version/url');
72
+ }
73
+
74
+ /**
75
+ * Get webhook auth key for price change
76
+ *
77
+ * @return string
78
+ */
79
+ public function getWebhookPriceChangedKey() {
80
+
81
+ return Mage::getStoreConfig('cueconnect/webhook/price_changed/key');
82
+ }
83
+
84
+ /**
85
+ * Get webhook url for price change
86
+ *
87
+ * @return string
88
+ */
89
+ public function getWebhookPriceChangedUrl() {
90
+
91
+ return Mage::getStoreConfig('cueconnect/webhook/price_changed/url');
92
+ }
93
+
94
+
95
+ /**
96
+ * Get retailer id from config
97
+ *
98
+ * @return string
99
+ */
100
+ public function getRetailerId() {
101
+ return Mage::getStoreConfig('cueconnect/credentials/retailer_id');
102
+ }
103
+
104
+ /**
105
+ * check if module is enabled
106
+ *
107
+ * @return string
108
+ */
109
+ public function isEnabled() {
110
+ return Mage::getStoreConfig('cueconnect/enabled');
111
+ }
112
+
113
+
114
+
115
+ /**
116
+ * Get webhook URL for adding marks to Cue
117
+ *
118
+ * @return string
119
+ */
120
+ public function getElistMode() {
121
+ $mode = Mage::getStoreConfig('cueconnect/mode');
122
+ if (is_array($mode)) {
123
+ if (isset($mode['mode'])) {
124
+ return $mode['mode'];
125
+ }
126
+ }
127
+
128
+ return 1;
129
+ }
130
+
131
+ /**
132
+ * Get api key
133
+ *
134
+ * @return string
135
+ */
136
+ public function getApiKey() {
137
+ return Mage::getStoreConfig('cueconnect/crendentials/api_key');
138
+ }
139
+
140
+ /**
141
+ * Get my e-list menu generation mode
142
+ *
143
+ * @return bool
144
+ */
145
+ public function isCollectionAuto() {
146
+ $enabled = Mage::getStoreConfig('cueconnect/collection');
147
+
148
+ if (is_array($enabled)) {
149
+ if (isset($enabled['enabled'])) {
150
+ return $enabled['enabled'];
151
+ }
152
+ }
153
+
154
+ return 0;
155
+ }
156
+
157
+
158
+
159
+
160
+
161
+ /**
162
+ * Get retailer object via SOAP
163
+ *
164
+ * @return string
165
+ * @deprecated
166
+ */
167
+ public function getRetailer($store) {
168
+ $soap_client = Mage::helper('cueconnect')->getSoapClient(
169
+ Mage::helper('cueconnect')->getWsUrl('place'),
170
+ $store->getConfig('cueconnect/credentials/login'),
171
+ $store->getConfig('cueconnect/credentials/password'));
172
+ try {
173
+ $result = $soap_client->get();
174
+ }
175
+ catch (Exception $e) {
176
+ return;
177
+ }
178
+ return $result->data;
179
+ }
180
+
181
+ /**
182
+ * Cut an array in multiple smaller array
183
+ *
184
+ * @return string
185
+ * @deprecated
186
+ */
187
+ public function getSlicesFromArray($data, $slice_size = 30) {
188
+ $slices = array();
189
+ if (count($data) > $slice_size) {
190
+ $i = 0;
191
+ while ($i < count($data)) {
192
+ if ($i % $slice_size == 0) {
193
+ $slices[] = array_slice($data, $i, $slice_size);
194
+ }
195
+ $i++;
196
+ }
197
+ }
198
+ else {
199
+ $slices[] = $data;
200
+ }
201
+ return $slices;
202
+ }
203
+
204
+ /**
205
+ * Log JSON data in Cue export log
206
+ *
207
+ * @return string
208
+ * @deprecated
209
+ */
210
+ public function logExportProgress($json) {
211
+ // Create folder
212
+ $cueconnect_var_dir = Mage::getBaseDir('var').'/cueconnect/';
213
+ if (!file_exists($cueconnect_var_dir)) {
214
+ mkdir($cueconnect_var_dir, 0777);
215
+ }
216
+
217
+ // Create log file
218
+ $cueconnect_import_log_file = $cueconnect_var_dir.'export.log';
219
+
220
+ // Log json in file
221
+ $file = fopen($cueconnect_import_log_file, "w+");
222
+ fwrite($file, $json);
223
+ fclose($file);
224
+ }
225
+
226
+ /**
227
+ * Get export log data
228
+ *
229
+ * @return string
230
+ * @deprecated
231
+ */
232
+ public function getExportProgress() {
233
+ // File path
234
+ $cueconnect_var_dir = Mage::getBaseDir('var').'/cueconnect/';
235
+ $cueconnect_import_log_file = $cueconnect_var_dir.'export.log';
236
+ if (file_exists($cueconnect_import_log_file)) {
237
+ // Read file
238
+ $file = fopen($cueconnect_import_log_file, "r");
239
+ $data = fread($file, 100000);
240
+ fclose($file);
241
+
242
+ // Return decoded data
243
+ return json_decode($data);
244
+ }
245
+ }
246
+
247
+
248
+ /**
249
+ * Get WSSE Header
250
+ *
251
+ * @return string
252
+ * @deprecated
253
+ */
254
+ public function getWsseHeader($login, $password) {
255
+ $authheader = sprintf('
256
+ <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
257
+ <wsse:UsernameToken>
258
+ <wsse:Username>%s</wsse:Username>
259
+ <wsse:Password>%s</wsse:Password>
260
+ </wsse:UsernameToken>
261
+ </wsse:Security>
262
+ ', htmlspecialchars($login), htmlspecialchars($password));
263
+ return $authheader;
264
+ }
265
+
266
+ /**
267
+ * Get webservice URL by service name
268
+ *
269
+ * @return string
270
+ * @deprecated
271
+ */
272
+ public function getWsUrl($service) {
273
+ return Mage::getStoreConfig('cueconnect/webservice/url').$service."?wsdl";
274
+ }
275
+
276
+ /**
277
+ * Get SOAP client by URL
278
+ *
279
+ * @return string
280
+ * @deprecated
281
+ */
282
+ public function getSoapClient($url, $login, $password) {
283
+ $client = new SOAPClient($url, array('trace' => 1, 'soap_version' => SOAP_1_1));
284
+ $authvars = new SoapVar($this->getWsseHeader($login, $password), XSD_ANYXML);
285
+ $header = new SoapHeader("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "Security", $authvars);
286
+ $client->__setSoapHeaders($header);
287
+ return $client;
288
+ }
289
+
290
+ }
app/code/community/CueConnect/Cue/Helper/Wishlist/Data.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Helper_Wishlist_Data extends Mage_Wishlist_Helper_Data
13
+ {
14
+ /**
15
+ * return true if extension is enabled
16
+ * @return boolean
17
+ */
18
+ protected function isEnabled()
19
+ {
20
+ $store = Mage::app()->getStore();
21
+ return $store->getConfig('cueconnect/enabled/enabled');
22
+ }
23
+
24
+ /**
25
+ * Disallow use of the native Magento wishlist in Shopping Cart
26
+ *
27
+ * @return bool
28
+ */
29
+ public function isAllowInCart() {
30
+ return !$this->isEnabled();
31
+ }
32
+
33
+ /**
34
+ * Disallow use of the native Magento wishlist in all pages
35
+ *
36
+ * @return bool
37
+ */
38
+ public function isAllow() {
39
+ return !$this->isEnabled();
40
+ }
41
+ }
app/code/community/CueConnect/Cue/Model/CueConnect.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * CueConnect_Cue
4
- *
5
  * @category CueConnect
6
  * @package CueConnect_Cue
7
  * @copyright Copyright (c) 2015 Cue Connect
@@ -17,7 +17,7 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
17
  public function _construct() {
18
  $this->_init('cueconnect/cueconnect');
19
  }
20
-
21
  /**
22
  * Execute export and put result in message box
23
  */
@@ -41,17 +41,17 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
41
  }
42
  }
43
  }
44
-
45
  /**
46
  * Execute export if manually asked and put result in message box
47
  */
48
- public static function manualExport() {
49
  // Check for demands
50
  $demand = Mage::getModel('cueconnect/demand');
51
  $awaiting_demands = Mage::getModel('cueconnect/demand')
52
  ->getCollection()
53
  ->addFilter('status', $demand::STATUS_WAITING);
54
-
55
  if (count($awaiting_demands)) {
56
  // Update demands
57
  foreach ($awaiting_demands as $awaiting_demand) {
@@ -59,17 +59,17 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
59
  $awaiting_demand->setUpdatedAt(date('Y-m-d H:i:s'));
60
  $awaiting_demand->save();
61
  }
62
-
63
  // Execute export() for each stores
64
  foreach (Mage::app()->getStores() as $store) {
65
  if ($store->getConfig('cueconnect/enabled/enabled')) {
66
  // Export
67
  $result = self::export($store);
68
-
69
  // Log
70
  $log = $result['log'];
71
  $log['end_at'] = date('Y-m-d H:i:s');
72
-
73
  // Notification
74
  $inbox = Mage::getModel('adminnotification/inbox');
75
  if ($result['success']) {
@@ -79,20 +79,20 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
79
  $inbox->addCritical(sprintf("%s products has not been successfully synced with Cue.", $store->getName()), $result['message']);
80
  $log['status'] = 'error';
81
  }
82
-
83
  Mage::helper('cueconnect')->logExportProgress(json_encode($log));
84
  }
85
  }
86
-
87
  // Update demands
88
  foreach ($awaiting_demands as $awaiting_demand) {
89
  $awaiting_demand->setStatus($demand::STATUS_DONE);
90
  $awaiting_demand->setUpdatedAt(date('Y-m-d H:i:s'));
91
  $awaiting_demand->save();
92
- }
93
  }
94
  }
95
-
96
  /**
97
  * Export catalog products to Cue
98
  */
@@ -103,20 +103,20 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
103
  $log['status'] = "progressing";
104
  $log['store'] = $store->getName();
105
  Mage::helper('cueconnect')->logExportProgress(json_encode($log));
106
-
107
  // Check if crententials has been filled
108
  if (!$store->getConfig('cueconnect/credentials/login') || !$store->getConfig('cueconnect/credentials/password')) {
109
  $message = "Cue credentials are not filled.";
110
  return array('success' => false, 'message' => $message, 'log' => $log);
111
  }
112
-
113
  // Retailuser WS
114
  $soap_client = Mage::helper('cueconnect')->getSoapClient(
115
  Mage::helper('cueconnect')->getWsUrl('retailuser'),
116
  $store->getConfig('cueconnect/credentials/login'),
117
  $store->getConfig('cueconnect/credentials/password')
118
  );
119
-
120
  // Get place ID
121
  $place_id = null;
122
  try {
@@ -129,14 +129,14 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
129
  $message = $e->getMessage();
130
  return array('success' => false, 'message' => $message, 'log' => $log);
131
  }
132
-
133
  // Product WS
134
  $soap_client = Mage::helper('cueconnect')->getSoapClient(
135
  Mage::helper('cueconnect')->getWsUrl('product'),
136
  $store->getConfig('cueconnect/credentials/login'),
137
  $store->getConfig('cueconnect/credentials/password')
138
  );
139
-
140
  // Get Cue Catalog
141
  $cueconnect_products = array();
142
  $results = $soap_client->get(array('page' => 1, 'pagesize' => 100000, 'clipped' => false));
@@ -145,7 +145,7 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
145
  $cueconnect_products[$result->sku] = $result;
146
  }
147
  }
148
-
149
  // Catalog products
150
  $catalog_products = Mage::getModel('catalog/product')
151
  ->getCollection()
@@ -160,7 +160,7 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
160
  $updated_data = array();
161
  foreach ($catalog_products as $catalog_product) {
162
  $catalog_products_skus[] = $catalog_product->getSku();
163
-
164
  // Product image
165
  $icon = "http://www.cueconnect.com/images/no_image.gif";
166
  if ($catalog_product->getData('image')) {
@@ -169,7 +169,7 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
169
 
170
  // Product URL
171
  $url = $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK).$catalog_product->getUrlPath();
172
-
173
  // Check if product exists in Cue database
174
  if (in_array($catalog_product->getSku(), array_keys($cueconnect_products))) {
175
  $updated_data[] = array(
@@ -208,7 +208,7 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
208
  foreach ($skus_to_delete as $sku_to_delete) {
209
  $imics_to_delete[] = $cueconnect_products[$sku_to_delete]->product_imic;
210
  }
211
-
212
  // Log
213
  $log['total_products'] = count($catalog_products);
214
  $log['total_products_to_create'] = count($new_data);
@@ -218,7 +218,7 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
218
  $log['total_products_updated'] = 0;
219
  $log['total_products_deleted'] = 0;
220
  Mage::helper('cueconnect')->logExportProgress(json_encode($log));
221
-
222
  // Send new data data to Cue (per slices)
223
  if (count($new_data)) {
224
  $new_data_slices = Mage::helper('cueconnect')->getSlicesFromArray($new_data, 20);
@@ -238,7 +238,7 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
238
  }
239
  }
240
  }
241
-
242
  // Send updated data data to Cue (per slices)
243
  if (count($updated_data)) {
244
  $updated_data_slices = Mage::helper('cueconnect')->getSlicesFromArray($updated_data, 20);
@@ -258,7 +258,7 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
258
  }
259
  }
260
  }
261
-
262
  // Delete products which are not in the Magento catalog anymore
263
  if (count($imics_to_delete)) {
264
  $imics_to_delete_slices = Mage::helper('cueconnect')->getSlicesFromArray($imics_to_delete, 50);
@@ -278,12 +278,12 @@ class CueConnect_Cue_Model_CueConnect extends Mage_Core_Model_Abstract
278
  }
279
  }
280
  }
281
-
282
  // Log
283
  $log['end_at'] = date('Y-m-d H:i:s');
284
  $log['status'] = "done";
285
  Mage::helper('cueconnect')->logExportProgress(json_encode($log));
286
-
287
  // Return
288
  return array(
289
  'success' => true,
1
  <?php
2
  /**
3
  * CueConnect_Cue
4
+ *
5
  * @category CueConnect
6
  * @package CueConnect_Cue
7
  * @copyright Copyright (c) 2015 Cue Connect
17
  public function _construct() {
18
  $this->_init('cueconnect/cueconnect');
19
  }
20
+
21
  /**
22
  * Execute export and put result in message box
23
  */
41
  }
42
  }
43
  }
44
+
45
  /**
46
  * Execute export if manually asked and put result in message box
47
  */
48
+ public static function manualExport() {
49
  // Check for demands
50
  $demand = Mage::getModel('cueconnect/demand');
51
  $awaiting_demands = Mage::getModel('cueconnect/demand')
52
  ->getCollection()
53
  ->addFilter('status', $demand::STATUS_WAITING);
54
+
55
  if (count($awaiting_demands)) {
56
  // Update demands
57
  foreach ($awaiting_demands as $awaiting_demand) {
59
  $awaiting_demand->setUpdatedAt(date('Y-m-d H:i:s'));
60
  $awaiting_demand->save();
61
  }
62
+
63
  // Execute export() for each stores
64
  foreach (Mage::app()->getStores() as $store) {
65
  if ($store->getConfig('cueconnect/enabled/enabled')) {
66
  // Export
67
  $result = self::export($store);
68
+
69
  // Log
70
  $log = $result['log'];
71
  $log['end_at'] = date('Y-m-d H:i:s');
72
+
73
  // Notification
74
  $inbox = Mage::getModel('adminnotification/inbox');
75
  if ($result['success']) {
79
  $inbox->addCritical(sprintf("%s products has not been successfully synced with Cue.", $store->getName()), $result['message']);
80
  $log['status'] = 'error';
81
  }
82
+
83
  Mage::helper('cueconnect')->logExportProgress(json_encode($log));
84
  }
85
  }
86
+
87
  // Update demands
88
  foreach ($awaiting_demands as $awaiting_demand) {
89
  $awaiting_demand->setStatus($demand::STATUS_DONE);
90
  $awaiting_demand->setUpdatedAt(date('Y-m-d H:i:s'));
91
  $awaiting_demand->save();
92
+ }
93
  }
94
  }
95
+
96
  /**
97
  * Export catalog products to Cue
98
  */
103
  $log['status'] = "progressing";
104
  $log['store'] = $store->getName();
105
  Mage::helper('cueconnect')->logExportProgress(json_encode($log));
106
+
107
  // Check if crententials has been filled
108
  if (!$store->getConfig('cueconnect/credentials/login') || !$store->getConfig('cueconnect/credentials/password')) {
109
  $message = "Cue credentials are not filled.";
110
  return array('success' => false, 'message' => $message, 'log' => $log);
111
  }
112
+
113
  // Retailuser WS
114
  $soap_client = Mage::helper('cueconnect')->getSoapClient(
115
  Mage::helper('cueconnect')->getWsUrl('retailuser'),
116
  $store->getConfig('cueconnect/credentials/login'),
117
  $store->getConfig('cueconnect/credentials/password')
118
  );
119
+
120
  // Get place ID
121
  $place_id = null;
122
  try {
129
  $message = $e->getMessage();
130
  return array('success' => false, 'message' => $message, 'log' => $log);
131
  }
132
+
133
  // Product WS
134
  $soap_client = Mage::helper('cueconnect')->getSoapClient(
135
  Mage::helper('cueconnect')->getWsUrl('product'),
136
  $store->getConfig('cueconnect/credentials/login'),
137
  $store->getConfig('cueconnect/credentials/password')
138
  );
139
+
140
  // Get Cue Catalog
141
  $cueconnect_products = array();
142
  $results = $soap_client->get(array('page' => 1, 'pagesize' => 100000, 'clipped' => false));
145
  $cueconnect_products[$result->sku] = $result;
146
  }
147
  }
148
+
149
  // Catalog products
150
  $catalog_products = Mage::getModel('catalog/product')
151
  ->getCollection()
160
  $updated_data = array();
161
  foreach ($catalog_products as $catalog_product) {
162
  $catalog_products_skus[] = $catalog_product->getSku();
163
+
164
  // Product image
165
  $icon = "http://www.cueconnect.com/images/no_image.gif";
166
  if ($catalog_product->getData('image')) {
169
 
170
  // Product URL
171
  $url = $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK).$catalog_product->getUrlPath();
172
+
173
  // Check if product exists in Cue database
174
  if (in_array($catalog_product->getSku(), array_keys($cueconnect_products))) {
175
  $updated_data[] = array(
208
  foreach ($skus_to_delete as $sku_to_delete) {
209
  $imics_to_delete[] = $cueconnect_products[$sku_to_delete]->product_imic;
210
  }
211
+
212
  // Log
213
  $log['total_products'] = count($catalog_products);
214
  $log['total_products_to_create'] = count($new_data);
218
  $log['total_products_updated'] = 0;
219
  $log['total_products_deleted'] = 0;
220
  Mage::helper('cueconnect')->logExportProgress(json_encode($log));
221
+
222
  // Send new data data to Cue (per slices)
223
  if (count($new_data)) {
224
  $new_data_slices = Mage::helper('cueconnect')->getSlicesFromArray($new_data, 20);
238
  }
239
  }
240
  }
241
+
242
  // Send updated data data to Cue (per slices)
243
  if (count($updated_data)) {
244
  $updated_data_slices = Mage::helper('cueconnect')->getSlicesFromArray($updated_data, 20);
258
  }
259
  }
260
  }
261
+
262
  // Delete products which are not in the Magento catalog anymore
263
  if (count($imics_to_delete)) {
264
  $imics_to_delete_slices = Mage::helper('cueconnect')->getSlicesFromArray($imics_to_delete, 50);
278
  }
279
  }
280
  }
281
+
282
  // Log
283
  $log['end_at'] = date('Y-m-d H:i:s');
284
  $log['status'] = "done";
285
  Mage::helper('cueconnect')->logExportProgress(json_encode($log));
286
+
287
  // Return
288
  return array(
289
  'success' => true,
app/code/community/CueConnect/Cue/Model/Demand.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Model_Demand extends Mage_Core_Model_Abstract
13
+ {
14
+ const STATUS_WAITING = 1;
15
+ const STATUS_PROGRESSING = 2;
16
+ const STATUS_DONE = 3;
17
+ const STATUS_ERROR = 4;
18
+
19
+ public function _construct()
20
+ {
21
+ parent::_construct();
22
+ $this->_init('cueconnect/demand');
23
+ }
24
+ }
app/code/community/CueConnect/Cue/Model/Mysql4/Demand.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Model_Mysql4_Demand extends Mage_Core_Model_Mysql4_Abstract
13
+ {
14
+ public function _construct()
15
+ {
16
+ $this->_init('cueconnect/demand', 'id');
17
+ }
18
+ }
app/code/community/CueConnect/Cue/Model/Mysql4/Demand/Collection.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Model_Mysql4_Demand_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
13
+ {
14
+ public function _construct()
15
+ {
16
+ $this->_init('cueconnect/demand');
17
+ }
18
+ }
app/code/community/CueConnect/Cue/Model/Mysql4/UserSync.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Model_Mysql4_UserSync extends Mage_Core_Model_Mysql4_Abstract
13
+ {
14
+ public function _construct()
15
+ {
16
+ $this->_init('cueconnect/userSync', 'id');
17
+ }
18
+ }
app/code/community/CueConnect/Cue/Model/Mysql4/UserSync/Collection.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Model_Mysql4_UserSync_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
13
+ {
14
+ public function _construct()
15
+ {
16
+ $this->_init('cueconnect/userSync');
17
+ }
18
+ }
app/code/community/CueConnect/Cue/Model/Mysql4/WishlistSync.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Model_Mysql4_WishlistSync extends Mage_Core_Model_Mysql4_Abstract
13
+ {
14
+ public function _construct()
15
+ {
16
+ $this->_init('cueconnect/wishlistSync', 'id');
17
+ }
18
+ }
app/code/community/CueConnect/Cue/Model/Mysql4/WishlistSync/Collection.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Model_Mysql4_WishlistSync_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
13
+ {
14
+ public function _construct()
15
+ {
16
+ $this->_init('cueconnect/wishlistSync');
17
+ }
18
+ }
app/code/community/CueConnect/Cue/Model/Options.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Model_Options
13
+ {
14
+ public function toOptionArray()
15
+ {
16
+ return array(
17
+ array('value' => 1, 'label' => 'Standalone Widget'),
18
+ array('value' => 2, 'label' => 'Fully Integrated'),
19
+ );
20
+ }
21
+ }
app/code/community/CueConnect/Cue/Model/UserSync.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Model_UserSync extends Mage_Core_Model_Abstract
13
+ {
14
+ const STATUS_WAITING = 0;
15
+ const STATUS_DONE = 1;
16
+ const STATUS_ERROR = 2;
17
+
18
+ public function _construct()
19
+ {
20
+ parent::_construct();
21
+ $this->_init('cueconnect/userSync');
22
+ }
23
+ }
app/code/community/CueConnect/Cue/Model/WishlistSync.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Model_WishlistSync extends Mage_Core_Model_Abstract
13
+ {
14
+ const STATUS_WAITING = 1;
15
+ const STATUS_DONE = 2;
16
+ const STATUS_ERROR = 3;
17
+
18
+ public function _construct()
19
+ {
20
+ parent::_construct();
21
+ $this->_init('cueconnect/wishlistSync');
22
+ }
23
+ }
app/code/community/CueConnect/Cue/controllers/Adminhtml/SyncController.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_Adminhtml_SyncController extends Mage_Adminhtml_Controller_Action
13
+ {
14
+ /**
15
+ * View export progression and last asked exports
16
+ */
17
+ public function indexAction() {
18
+ // Render layout
19
+ $this->loadLayout();
20
+ $this->renderLayout();
21
+ }
22
+
23
+ /**
24
+ * Manually ask for an export
25
+ */
26
+ public function exportAction() {
27
+ // Create a demand
28
+ $demand = Mage::getModel('cueconnect/demand');
29
+ $demand->setStatus($demand::STATUS_WAITING);
30
+ $demand->setCreatedAt(date('Y-m-d H:i:s'));
31
+ $demand->setUpdatedAt(date('Y-m-d H:i:s'));
32
+ $demand->save();
33
+
34
+ // Notice
35
+ Mage::getSingleton('adminhtml/session')->addSuccess("The catalog will be exported in a few moments. Pleae make sure that Magento cron is correctly configured.");
36
+
37
+ // Redirect to catalog
38
+ return $this->_redirect('cueconnect/adminhtml_sync/index');
39
+ }
40
+ }
app/code/community/CueConnect/Cue/controllers/ElistController.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * CueConnect_Cue
4
+ *
5
+ * @category CueConnect
6
+ * @package CueConnect_Cue
7
+ * @copyright Copyright (c) 2015 Cue Connect
8
+ * @author Cue Connect (http://www.cueconnect.com)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ class CueConnect_Cue_ElistController extends Mage_Core_Controller_Front_Action
13
+ {
14
+ /**
15
+ * View export progression and last asked exports
16
+ */
17
+ public function indexAction() {
18
+ // if PB, redirect to home page - only CP is allowed here
19
+ if (1 == Mage::helper('cueconnect')->getElistMode()) {
20
+ Mage::app()->getResponse()->setRedirect(Mage::getBaseUrl());
21
+ }
22
+
23
+ if (!Mage::getSingleton('customer/session')->isLoggedIn()){
24
+ Mage::getSingleton('customer/session')->setBeforeAuthUrl(Mage::helper('core/url')->getCurrentUrl());
25
+ Mage::getSingleton('customer/session')->setAfterAuthUrl(Mage::helper('core/url')->getCurrentUrl());
26
+ }
27
+ else {
28
+ // fire custom event for CP so we sync accounts and wishlist items with Cue
29
+ Mage::dispatchEvent('elist_view', array('customer' => Mage::getSingleton('customer/session')->getCustomer()));
30
+ }
31
+
32
+ // Render layout
33
+ $this->loadLayout();
34
+
35
+ // update page title
36
+ $this->getLayout()->getBlock("head")->setTitle($this->__("Cue My List"));
37
+
38
+ // show breadcrumbs
39
+ $breadcrumbs = $this->getLayout()->getBlock("breadcrumbs");
40
+ $breadcrumbs->addCrumb("home", array(
41
+ "label" => $this->__("Home"),
42
+ "title" => $this->__("Home"),
43
+ "link" => Mage::getBaseUrl()
44
+ ));
45
+
46
+ $breadcrumbs->addCrumb("elist", array(
47
+ "label" => $this->__("My-List"),
48
+ "title" => $this->__("My-List")
49
+ ));
50
+
51
+ // render layout
52
+ $this->renderLayout();
53
+ }
54
+ }
app/code/community/CueConnect/Cue/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <CueConnect_Cue>
5
- <version>3.0.17</version>
6
  </CueConnect_Cue>
7
  </modules>
8
  <global>
@@ -204,17 +204,6 @@
204
  </observers>
205
  </catalog_product_save_after>
206
  </events>
207
- <menu>
208
- <catalog>
209
- <children>
210
- <cueconnect translate="title" module="cueconnect">
211
- <title>CueConnect</title>
212
- <action>cueconnect/adminhtml_sync/index</action>
213
- <sort_order>200</sort_order>
214
- </cueconnect>
215
- </children>
216
- </catalog>
217
- </menu>
218
  </adminhtml>
219
  <default>
220
  <cueconnect>
@@ -267,24 +256,4 @@
267
  </webhook>
268
  </cueconnect>
269
  </default>
270
- <crontab>
271
- <jobs>
272
- <cueconnect_dailyExport>
273
- <schedule>
274
- <cron_expr>0 0 * * *</cron_expr>
275
- </schedule>
276
- <run>
277
- <model>cueconnect/cueconnect::dailyExport</model>
278
- </run>
279
- </cueconnect_dailyExport>
280
- <cueconnect_manualExport>
281
- <schedule>
282
- <cron_expr>* * * * *</cron_expr>
283
- </schedule>
284
- <run>
285
- <model>cueconnect/cueconnect::manualExport</model>
286
- </run>
287
- </cueconnect_manualExport>
288
- </jobs>
289
- </crontab>
290
  </config>
2
  <config>
3
  <modules>
4
  <CueConnect_Cue>
5
+ <version>3.0.19</version>
6
  </CueConnect_Cue>
7
  </modules>
8
  <global>
204
  </observers>
205
  </catalog_product_save_after>
206
  </events>
 
 
 
 
 
 
 
 
 
 
 
207
  </adminhtml>
208
  <default>
209
  <cueconnect>
256
  </webhook>
257
  </cueconnect>
258
  </default>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
259
  </config>
app/code/community/CueConnect/Cue/etc/system.xml CHANGED
@@ -29,7 +29,7 @@
29
  </fields>
30
  </environment>
31
  <credentials translate="label">
32
- <label>Cue API Credentials</label>
33
  <comment><![CDATA[<p>Get your Cue API key from your Merchant Hub account under the Code Implementation section.</p>]]></comment>
34
  <frontend_type>text</frontend_type>
35
  <sort_order>1</sort_order>
@@ -44,27 +44,8 @@
44
  <show_in_website>0</show_in_website>
45
  <show_in_store>1</show_in_store>
46
  <frontend_type>text</frontend_type>
47
- <sort_order>1</sort_order>
48
- </api_key>
49
- <login translate="label">
50
- <label>E-mail</label>
51
- <tooltip>This field is required.</tooltip>
52
- <show_in_default>0</show_in_default>
53
- <show_in_website>0</show_in_website>
54
- <show_in_store>1</show_in_store>
55
- <frontend_type>text</frontend_type>
56
- <sort_order>2</sort_order>
57
- <validate>validate-email</validate>
58
- </login>
59
- <password translate="label">
60
- <label>Password</label>
61
- <tooltip>This field is required.</tooltip>
62
- <show_in_default>0</show_in_default>
63
- <show_in_website>0</show_in_website>
64
- <show_in_store>1</show_in_store>
65
- <frontend_type>password</frontend_type>
66
  <sort_order>3</sort_order>
67
- </password>
68
  </fields>
69
  </credentials>
70
  <enabled translate="label">
29
  </fields>
30
  </environment>
31
  <credentials translate="label">
32
+ <label>Cue API Key</label>
33
  <comment><![CDATA[<p>Get your Cue API key from your Merchant Hub account under the Code Implementation section.</p>]]></comment>
34
  <frontend_type>text</frontend_type>
35
  <sort_order>1</sort_order>
44
  <show_in_website>0</show_in_website>
45
  <show_in_store>1</show_in_store>
46
  <frontend_type>text</frontend_type>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  <sort_order>3</sort_order>
48
+ </api_key>
49
  </fields>
50
  </credentials>
51
  <enabled translate="label">
app/code/community/CueConnect/Cue/sql/cueconnect_setup/mysql4-install-3.0.9.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $installer = $this;
3
+ $installer->startSetup();
4
+ $installer->run("
5
+ -- DROP TABLE IF EXISTS {$this->getTable('cueconnect/demand')};
6
+ CREATE TABLE {$this->getTable('cueconnect/demand')} (
7
+ `id` int(11) unsigned NOT NULL auto_increment,
8
+ `status` int(11) NOT NULL default '1',
9
+ `created_at` datetime NULL,
10
+ `updated_at` datetime NULL,
11
+ PRIMARY KEY (`id`)
12
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
13
+ -- DROP TABLE IF EXISTS {$this->getTable('cueconnect/userSync')};
14
+ CREATE TABLE {$this->getTable('cueconnect/userSync')} (
15
+ `id` int(11) unsigned NOT NULL auto_increment,
16
+ `customer_id` int(11) unsigned NOT NULL,
17
+ `status` int(11) NOT NULL default '0',
18
+ `created_at` datetime NULL,
19
+ PRIMARY KEY (`id`)
20
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
21
+ -- DROP TABLE IF EXISTS {$this->getTable('cueconnect/wishlistSync')};
22
+ CREATE TABLE {$this->getTable('cueconnect/wishlistSync')} (
23
+ `id` int(11) unsigned NOT NULL auto_increment,
24
+ `customer_id` int(11) unsigned NOT NULL,
25
+ `product_id` int(11) unsigned NOT NULL,
26
+ `status` int(11) NOT NULL default '0',
27
+ `created_at` datetime NULL,
28
+ PRIMARY KEY (`id`)
29
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
30
+ ");
31
+
32
+ $installer->endSetup();
app/code/community/CueConnect/Cue/sql/cueconnect_setup/mysql4-upgrade-3.0.8-3.0.9.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $installer = $this;
3
+ $installer->startSetup();
4
+ $installer->run("
5
+ -- DROP TABLE IF EXISTS {$this->getTable('cueconnect/userSync')};
6
+ CREATE TABLE {$this->getTable('cueconnect/userSync')} (
7
+ `id` int(11) unsigned NOT NULL auto_increment,
8
+ `customer_id` int(11) unsigned NOT NULL,
9
+ `status` int(11) NOT NULL default '0',
10
+ `created_at` datetime NULL,
11
+ PRIMARY KEY (`id`)
12
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
13
+ -- DROP TABLE IF EXISTS {$this->getTable('cueconnect/wishlistSync')};
14
+ CREATE TABLE {$this->getTable('cueconnect/wishlistSync')} (
15
+ `id` int(11) unsigned NOT NULL auto_increment,
16
+ `customer_id` int(11) unsigned NOT NULL,
17
+ `product_id` int(11) unsigned NOT NULL,
18
+ `status` int(11) NOT NULL default '0',
19
+ `created_at` datetime NULL,
20
+ PRIMARY KEY (`id`)
21
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
22
+ ");
23
+
24
+ $installer->endSetup();
app/design/frontend/base/default/layout/cueconnect.xml ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.2">
3
+ <catalog_product_view>
4
+ <reference name="content">
5
+ <reference name="product.info.extrahint">
6
+ <block type="cueconnect/share" name="product.info.cueconnect.share" template="cueconnect/share.phtml" />
7
+ <block type="cueconnect/favorite" name="product.info.cueconnect.favorite" template="cueconnect/favorite.phtml" />
8
+ <block type="cueconnect/alert" name="product.info.cueconnect.alert" template="cueconnect/alert.phtml" />
9
+ </reference>
10
+ </reference>
11
+ </catalog_product_view>
12
+ <cueconnect_elist_index>
13
+ <reference name="root">
14
+ <action method="setTemplate">
15
+ <template>page/1column.phtml</template>
16
+ </action>
17
+
18
+ <reference name="content">
19
+ <block type="cueconnect/elist" name="cueconnect.elist" template="cueconnect/elist.phtml">
20
+ <block type="customer/form_login" name="customer_form_login" template="cueconnect/customer/form/login.phtml" />
21
+ <block type="customer/form_register" name="customer_form_register" template="cueconnect/customer/form/register.phtml" />
22
+ <block type="customer/account_forgotpassword" name="forgotPassword" template="cueconnect/customer/form/forgotpassword.phtml" />
23
+ </block>
24
+
25
+ </reference>
26
+ </reference>
27
+
28
+ </cueconnect_elist_index>
29
+ <default>
30
+ <reference name="root">
31
+ <reference name="head">
32
+ <block type="cueconnect/meta" name="cueconnect.meta" template="cueconnect/meta.phtml" />
33
+ </reference>
34
+ <reference name="header">
35
+ <reference name="top.container">
36
+ <block type="cueconnect/collection" name="cueconnect.button.collection" template="cueconnect/collection.phtml" />
37
+ </reference>
38
+ </reference>
39
+ <reference name="after_body_start">
40
+ <block type="cueconnect/js" name="cueconnect.js" template="cueconnect/js.phtml" />
41
+ </reference>
42
+ <reference name="top.links">
43
+ <block type="cueconnect/navigation" name="cueconnect.navigation">
44
+ <action method="addMyElistLink"></action>
45
+ </block>
46
+ </reference>
47
+ <!-- <reference name="top.links">
48
+ <block type="cueconnect/navigation" name="cueconnect.toplinks" template="page/html/header.phtml" />
49
+ </reference> -->
50
+ <!-- <reference name="top.links">
51
+ <action method="addLink" translate="label title">
52
+ <label>My List</label>
53
+ <url>cueconnect/elist</url>
54
+ <title>My List</title>
55
+ <prepare>true</prepare>
56
+ <urlParams helper="core/url/getUrl"/>
57
+ <position>1</position>
58
+ <liParams>id="cue-stream-li"</liParams>
59
+ <aParams>class="cue-stream" id="cue-stream-nav"</aParams>
60
+ <beforeText/>
61
+ <afterText>|</afterText>
62
+ </action>
63
+ </reference> -->
64
+ </reference>
65
+ </default>
66
+ </layout>
app/design/frontend/base/default/template/cueconnect/alert.phtml ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php if ($this->isEnabled() && $this->isAlertEnabled() && $this->getRetailerId()): ?>
2
+ <div class="cue-learnmore" data-imisku="<?php echo $this->getSku() ?>" style="margin-top: 10px;" data-cid="<?php echo $this->getCID(); ?>"></div>
3
+ <?php endif; ?>
app/design/frontend/base/default/template/cueconnect/collection.phtml ADDED
File without changes
app/design/frontend/base/default/template/cueconnect/customer/form/forgotpassword.phtml ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2011 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="page-title">
28
+ <h1><?php echo $this->__('Forgot Your Password?') ?></h1>
29
+ </div>
30
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
31
+ <form action="<?php echo $this->getUrl('customer/account/forgotpasswordpost') ?>" method="post" id="form-validate">
32
+ <div class="fieldset">
33
+ <h2 class="legend"><?php echo $this->__('Retrieve your password here') ?></h2>
34
+ <p><?php echo $this->__('Please enter your email address below. You will receive a link to reset your password.') ?></p>
35
+ <ul class="form-list">
36
+ <li>
37
+ <label for="email_address" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
38
+ <div class="input-box">
39
+ <input type="text" name="email" alt="email" id="email_address" class="input-text required-entry validate-email" value="<?php echo $this->htmlEscape($this->getEmailValue()) ?>" />
40
+ </div>
41
+ </li>
42
+ </ul>
43
+ </div>
44
+ <div class="buttons-set">
45
+ <p class="required"><?php echo $this->__('* Required Fields') ?></p>
46
+ <p class="back-link"><a href="#" onclick="hideRecoverPasswordForm();return false;"><small>&laquo; </small><?php echo $this->__('Back to Login') ?></a></p>
47
+ <button type="submit" title="<?php echo $this->__('Submit') ?>" class="button"><span><span><?php echo $this->__('Submit') ?></span></span></button>
48
+ </div>
49
+ </form>
50
+ <script type="text/javascript">
51
+ //<![CDATA[
52
+ var dataForm = new VarienForm('form-validate', true);
53
+ //]]>
54
+ </script>
app/design/frontend/base/default/template/cueconnect/customer/form/login.phtml ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2011 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
+ * Customer login form template
30
+ *
31
+ * @see Mage_Customer_Block_Form_Login
32
+ */
33
+ ?>
34
+ <div class="account-login">
35
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
36
+ <form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="login-form">
37
+ <?php echo $this->getBlockHtml('formkey'); ?>
38
+ <div class="col1-set">
39
+ <div class="col-1 registered-users">
40
+ <div class="content">
41
+ <p><?php echo $this->__('If you have an account with us, please log in.') ?></p>
42
+ <ul class="form-list">
43
+ <li>
44
+ <label for="email" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
45
+ <div class="input-box">
46
+ <input type="text" name="login[username]" value="<?php echo $this->htmlEscape($this->getUsername()) ?>" id="email" class="input-text required-entry validate-email" title="<?php echo $this->__('Email Address') ?>" />
47
+ </div>
48
+ </li>
49
+ <li>
50
+ <label for="pass" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
51
+ <div class="input-box">
52
+ <input type="password" name="login[password]" class="input-text required-entry validate-password" id="pass" title="<?php echo $this->__('Password') ?>" />
53
+ </div>
54
+ </li>
55
+ </ul>
56
+ <p class="required"><?php echo $this->__('* Required Fields') ?></p>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ <div class="col1-set">
61
+ <div class="col-1 registered-users">
62
+ <div class="buttons-set">
63
+ <a href="#" onclick="showRecoverPasswordForm();return false;" class="f-left"><?php echo $this->__('Forgot Your Password?') ?></a>
64
+ <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
65
+ </div>
66
+ </div>
67
+ </div>
68
+ </form>
69
+ <script type="text/javascript">
70
+ //<![CDATA[
71
+ var dataForm = new VarienForm('login-form', true);
72
+ //]]>
73
+ </script>
74
+ </div>
app/design/frontend/base/default/template/cueconnect/customer/form/register.phtml ADDED
@@ -0,0 +1,182 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2011 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
+ * Create account form template
30
+ *
31
+ * @see Mage_Customer_Block_Form_Register
32
+ */
33
+ ?>
34
+ <div class="account-create">
35
+ <?php echo $this->getChildHtml('form_fields_before')?>
36
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
37
+ <form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="form-validate">
38
+ <div class="fieldset">
39
+ <input type="hidden" name="success_url" value="<?php echo $this->getSuccessUrl() ?>" />
40
+ <input type="hidden" name="error_url" value="<?php echo $this->getErrorUrl() ?>" />
41
+ <input name="form_key" type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" />
42
+ <h2 class="legend"><?php echo $this->__('Personal Information') ?></h2>
43
+ <ul class="form-list">
44
+ <li class="fields">
45
+ <?php echo $this->getLayout()->createBlock('customer/widget_name')->setObject($this->getFormData())->setForceUseCustomerAttributes(true)->toHtml() ?>
46
+ </li>
47
+ <li>
48
+ <label for="email_address" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
49
+ <div class="input-box">
50
+ <input type="text" name="email" id="email_address" value="<?php echo $this->htmlEscape($this->getFormData()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="input-text validate-email required-entry" />
51
+ </div>
52
+ </li>
53
+ <?php if ($this->isNewsletterEnabled()): ?>
54
+ <li class="control">
55
+ <div class="input-box">
56
+ <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
57
+ </div>
58
+ <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
59
+ </li>
60
+ <?php endif ?>
61
+ <?php $_dob = $this->getLayout()->createBlock('customer/widget_dob') ?>
62
+ <?php if ($_dob->isEnabled()): ?>
63
+ <li><?php echo $_dob->setDate($this->getFormData()->getDob())->toHtml() ?></li>
64
+ <?php endif ?>
65
+ <?php $_taxvat = $this->getLayout()->createBlock('customer/widget_taxvat') ?>
66
+ <?php if ($_taxvat->isEnabled()): ?>
67
+ <li><?php echo $_taxvat->setTaxvat($this->getFormData()->getTaxvat())->toHtml() ?></li>
68
+ <?php endif ?>
69
+ <?php $_gender = $this->getLayout()->createBlock('customer/widget_gender') ?>
70
+ <?php if ($_gender->isEnabled()): ?>
71
+ <li><?php echo $_gender->setGender($this->getFormData()->getGender())->toHtml() ?></li>
72
+ <?php endif ?>
73
+ </ul>
74
+ </div>
75
+ <?php if($this->getShowAddressFields()): ?>
76
+ <div class="fieldset">
77
+ <input type="hidden" name="create_address" value="1" />
78
+ <h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
79
+ <ul class="form-list">
80
+ <li class="fields">
81
+ <div class="field">
82
+ <label for="company"><?php echo $this->__('Company') ?></label>
83
+ <div class="input-box">
84
+ <input type="text" name="company" id="company" value="<?php echo $this->htmlEscape($this->getFormData()->getCompany()) ?>" title="<?php echo $this->__('Company') ?>" class="input-text" />
85
+ </div>
86
+ </div>
87
+ <div class="field">
88
+ <label for="telephone" class="required"><em>*</em><?php echo $this->__('Telephone') ?></label>
89
+ <div class="input-box">
90
+ <input type="text" name="telephone" id="telephone" value="<?php echo $this->htmlEscape($this->getFormData()->getTelephone()) ?>" title="<?php echo $this->__('Telephone') ?>" class="input-text required-entry" />
91
+ </div>
92
+ </div>
93
+ </li>
94
+ <li class="wide">
95
+ <label for="street_1" class="required"><em>*</em><?php echo $this->__('Street Address') ?></label>
96
+ <div class="input-box">
97
+ <input type="text" name="street[]" value="<?php echo $this->htmlEscape($this->getFormData()->getStreet(1)) ?>" title="<?php echo $this->__('Street Address') ?>" id="street_1" class="input-text required-entry" />
98
+ </div>
99
+ </li>
100
+ <?php for ($_i=2, $_n=$this->helper('customer/address')->getStreetLines(); $_i<=$_n; $_i++): ?>
101
+ <li class="wide">
102
+ <div class="input-box">
103
+ <input type="text" name="street[]" value="<?php echo $this->htmlEscape($this->getFormData()->getStreet($_i)) ?>" title="<?php echo $this->__('Street Address %s', $_i) ?>" id="street_<?php echo $_i?>" class="input-text" />
104
+ </div>
105
+ </li>
106
+ <?php endfor ?>
107
+ <li class="fields">
108
+ <div class="field">
109
+ <label for="city" class="required"><em>*</em><?php echo $this->__('City') ?></label>
110
+ <div class="input-box">
111
+ <input type="text" name="city" value="<?php echo $this->htmlEscape($this->getFormData()->getCity()) ?>" title="<?php echo $this->__('City') ?>" class="input-text required-entry" id="city" />
112
+ </div>
113
+ </div>
114
+ <div class="field">
115
+ <label for="region_id" class="required"><em>*</em><?php echo $this->__('State/Province') ?></label>
116
+ <div class="input-box">
117
+ <select id="region_id" name="region_id" title="<?php echo $this->__('State/Province') ?>" class="validate-select" style="display:none;">
118
+ <option value=""><?php echo $this->__('Please select region, state or province') ?></option>
119
+ </select>
120
+ <script type="text/javascript">
121
+ //<![CDATA[
122
+ $('region_id').setAttribute('defaultValue', "<?php echo $this->getFormData()->getRegionId() ?>");
123
+ //]]>
124
+ </script>
125
+ <input type="text" id="region" name="region" value="<?php echo $this->htmlEscape($this->getRegion()) ?>" title="<?php echo $this->__('State/Province') ?>" class="input-text" style="display:none;" />
126
+ </div>
127
+ </div>
128
+ </li>
129
+ <li class="fields">
130
+ <div class="field">
131
+ <label for="zip" class="required"><em>*</em><?php echo $this->__('Zip/Postal Code') ?></label>
132
+ <div class="input-box">
133
+ <input type="text" name="postcode" value="<?php echo $this->htmlEscape($this->getFormData()->getPostcode()) ?>" title="<?php echo $this->__('Zip/Postal Code') ?>" id="zip" class="input-text validate-zip-international required-entry" />
134
+ </div>
135
+ </div>
136
+ <div class="field">
137
+ <label for="country" class="required"><em>*</em><?php echo $this->__('Country') ?></label>
138
+ <div class="input-box">
139
+ <?php echo $this->getCountryHtmlSelect() ?>
140
+ </div>
141
+ </div>
142
+ </li>
143
+ </ul>
144
+ <input type="hidden" name="default_billing" value="1" />
145
+ <input type="hidden" name="default_shipping" value="1" />
146
+ </div>
147
+ <?php endif; ?>
148
+ <div class="fieldset">
149
+ <h2 class="legend"><?php echo $this->__('Login Information') ?></h2>
150
+ <ul class="form-list">
151
+ <li class="fields">
152
+ <div class="field">
153
+ <label for="password" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
154
+ <div class="input-box">
155
+ <input type="password" name="password" id="password" title="<?php echo $this->__('Password') ?>" class="input-text required-entry validate-password" />
156
+ </div>
157
+ </div>
158
+ <div class="field">
159
+ <label for="confirmation" class="required"><em>*</em><?php echo $this->__('Confirm Password') ?></label>
160
+ <div class="input-box">
161
+ <input type="password" name="confirmation" title="<?php echo $this->__('Confirm Password') ?>" id="confirmation" class="input-text required-entry validate-cpassword" />
162
+ </div>
163
+ </div>
164
+ </li>
165
+ </ul>
166
+ </div>
167
+ <div class="buttons-set">
168
+ <p class="required"><?php echo $this->__('* Required Fields') ?></p>
169
+ <p class="back-link cue-secondary-button"><a href="#" class="back-link" onclick="cueShowSignin();return false;"><small>&laquo; </small><?php echo $this->__('Back') ?></a></p>
170
+
171
+ <button type="submit" title="<?php echo $this->__('Submit') ?>" class="button"><span><span><?php echo $this->__('Submit') ?></span></span></button>
172
+ </div>
173
+ </form>
174
+ <script type="text/javascript">
175
+ //<![CDATA[
176
+ var dataForm = new VarienForm('form-validate', true);
177
+ <?php if($this->getShowAddressFields()): ?>
178
+ new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
179
+ <?php endif; ?>
180
+ //]]>
181
+ </script>
182
+ </div>
app/design/frontend/base/default/template/cueconnect/elist.phtml ADDED
@@ -0,0 +1,452 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // CP
3
+ if (($this->getMode() == 2) && $this->getRetailerId() && $this->isEnabled()) :
4
+
5
+ $place_id = $this->getRetailerId() ? $this->getRetailerId() : 0;
6
+ $origin = Mage::getBaseUrl();
7
+
8
+ if ($this->getCustomerEmail()):
9
+ // signed in so show my-list
10
+ ?>
11
+
12
+ <iframe
13
+ id="streamIFrame"
14
+ name="streamIFrame"
15
+ src="https://www.cueconnect.com/poweredby/<?php echo $place_id ?>/?origin=<?php echo $origin; ?>&amp;version=embed&amp;from=stream&amp;email=<?php echo $this->getCustomerEmail() ?>"
16
+ height="640px"
17
+ width="100%"
18
+ scrolling="no"
19
+ style="border:none;display:block;max-width:100%;margin: 0 auto;"
20
+ ></iframe>
21
+
22
+ <?php else :
23
+ // show prelogin
24
+ ?>
25
+ <!-- BEGIN Cue e-List -->
26
+ <style>
27
+
28
+ #cue-magento-forms-container iframe {border: none;}
29
+
30
+ #cue-magento-forms-container{
31
+ display: table;
32
+ table-layout: fixed;
33
+ width: 100%;
34
+ min-height: 640px;
35
+ padding:0;
36
+ margin: 0 auto;
37
+ }
38
+
39
+ #cue-magento-forms-container h1,
40
+ #cue-magento-forms-container h2,
41
+ #cue-magento-forms-container h3 {
42
+ font-size: 2em;
43
+ border:none;
44
+ font-weight: normal;
45
+ display:block;
46
+ line-height: 1.5em;
47
+ margin: 0 0 1em 0;
48
+ }
49
+
50
+ #cue-magento-forms-container .legend {
51
+ display:none;
52
+ }
53
+
54
+ #cue-magento-forms-container p {
55
+ margin: 0 0 1em 0;
56
+ line-height: 1.5em;
57
+ }
58
+
59
+ #cue-magento-forms-container ul,
60
+ #cue-magento-forms-container ol {
61
+ margin: 0 0 1em 0;
62
+ line-height: 1.5em;
63
+ padding: 0 0 0 1.5em;
64
+ list-style: disc;
65
+ }
66
+
67
+ #cue-magento-forms-container ul li {
68
+ line-height: 1.5em;
69
+ }
70
+
71
+ #cue-magento-forms-container ul.form-list {
72
+ padding: 0;
73
+ list-style:none;
74
+ }
75
+
76
+ #cue-magento-forms-container label {
77
+ background:none;
78
+ }
79
+
80
+ #cue-magento-forms-container .buttons-set {
81
+ text-align: inherit;
82
+ clear:both;
83
+ border:none;
84
+ margin: 1em 0;
85
+ padding: 0;
86
+ }
87
+
88
+ #cue-magento-forms-container .buttons-set p.required {
89
+ float:none;
90
+ display:block;
91
+ }
92
+
93
+ #cue-magento-forms-container .buttons-set a {
94
+ float:none !important;
95
+ display:block;
96
+ line-height: 1.5em;
97
+ margin-bottom: 1em;
98
+ padding:0;
99
+ }
100
+
101
+ #cue-magento-forms-container .buttons-set button.button {
102
+ float:inherit;
103
+ clear:both;
104
+ display:block;
105
+ margin: 0;
106
+ min-width:10em;
107
+ }
108
+
109
+ .cue-info-container,
110
+ .cue-auth-container{
111
+ display: table-cell;
112
+ text-align: left;
113
+ width:50%;
114
+ }
115
+
116
+ #cue-magento-forms-container #recover-password {
117
+ display:none;
118
+ }
119
+
120
+ .cue-auth-container input[type="text"],
121
+ .cue-auth-container input[type="email"],
122
+ .cue-auth-container input[type="password"] {
123
+ display:inline-block;
124
+ width: 20em;
125
+ max-width:100%;
126
+ }
127
+
128
+ #cue-faq-container {
129
+ padding: 0;
130
+ }
131
+
132
+ #cue-external-footer {
133
+ width: 100%;
134
+ height: auto;
135
+ overflow:hidden;
136
+ border-top: 1px solid #ccc;
137
+ padding: .5em 0;
138
+ }
139
+
140
+ .cue-links {
141
+ float:left;
142
+ }
143
+
144
+ .cue-links-right {
145
+ float:right;
146
+ }
147
+
148
+
149
+ @media screen and (max-width: 798px){
150
+ #cue-magento-forms-container {
151
+ display:block;
152
+ }
153
+ #cue-magento-forms-container input {
154
+ width: 100%;
155
+ }
156
+ .cue-auth-container,
157
+ .cue-info-container{
158
+ display: block;
159
+ width: 100%;
160
+ }
161
+ }
162
+
163
+ </style>
164
+
165
+ <!-- user is not authenticated -->
166
+
167
+ <div id="cue-magento-forms-container">
168
+ <div class="cue-info-container">
169
+ <h2 class="title cue-title">Welcome to My List</h2>
170
+ <p>Everything you care about in one place. Built just for you.</p>
171
+ <ul>
172
+ <li>Wishlist items</li>
173
+ <li>Shares and Posts you want to remember</li>
174
+ <li>Price Alerts on items you care about</li>
175
+ <li>Special offers and rewards</li>
176
+ <li>Always on, always available</li>
177
+ </ul>
178
+ <p>Goodbye forgetting. Hello remembering</p>
179
+ </div>
180
+
181
+ <div class="cue-auth-container">
182
+ <!-- register form START -->
183
+ <div id="customer-register" class="cue-form-container" style="display: none;">
184
+ <div class="">
185
+ <div id="register" class="">
186
+ <h2 class="title cue-title">Create Account</h2>
187
+ <?php echo $this->getChildHtml('customer_form_register') ?>
188
+ </div><!-- #register -->
189
+ </div><!-- .row -->
190
+ </div><!-- #customer-register -->
191
+ <!-- register form END -->
192
+
193
+
194
+ <!-- login form START -->
195
+ <div id="customer-login" class="cue-form-container">
196
+ <div class="">
197
+ <div id="login" class="">
198
+ <h2 class="title cue-title">Login</h2>
199
+ <?php echo $this->getChildHtml('customer_form_login') ?>
200
+ </div>
201
+
202
+ <div id="recover-password" class="cue-forgot-pswd-container">
203
+ <?php echo $this->getChildHtml('forgotPassword') ?>
204
+ </div>
205
+
206
+ </div>
207
+ </div>
208
+ <!-- login form END -->
209
+
210
+ <p id="cue-show-signup" >Don't have an account? <a href="#" onclick="cueShowSignup();return false;">Sign up</a></p>
211
+
212
+ </div>
213
+ </div>
214
+
215
+ <div id="cue-faq-container" style="display: none;">
216
+ <div style="width:100%;position:relative;">
217
+ <iframe id="faq_container_iframe" class="faqcontainer" name="streamIFrame" src="https://www.cueconnect.com/poweredby/<?php echo $place_id ?>/?origin=<?php echo $origin; ?>&amp;action=faq" height="640px" width="100%" scrolling="no" style="outline: none; display: block; border: none; overflow-y: auto; z-index: 999999;max-width:100%;background-color: #fff">
218
+ </iframe>
219
+ </div>
220
+ </div>
221
+
222
+
223
+ <div id="cue-external-footer">
224
+ <div id="cue_links" class="cue-links">
225
+ <a href="#" id="open_learnmore">Learn More</a>
226
+ |
227
+ <a href="#" id="open_faq" class="faqs" >FAQs</a>
228
+ </div>
229
+
230
+ <div class="cue-links">
231
+ <a id="go_back" style="display: none;" href="#">« Go Back</a>
232
+ </div>
233
+
234
+ <div class="cue-links-right">
235
+
236
+ <span id="imi-external-footer-title">My List</span> powered by
237
+ <a href="http://www.cueconnect.com" target="_BLANK">
238
+ <svg height="10" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 431.6 147.8" style="enable-background:new 0 0 431.6 147.8;max-width:35px;" xml:space="preserve">
239
+ <style type="text/css">.cueWhiteNoTMSVG0{fill:#000000;}.cueWhiteNoTMSVG1{display:none;}.cueWhiteNoTMSVG2{display:inline;fill:#000000;}</style>
240
+ <g>
241
+ <path class="cueWhiteNoTMSVG0" d="M124.2,111.6c-2.1-2.1-4.2-2.1-6.7,0.7c-3.9,4.2-17.6,20.8-44,20.8c-31.3,0-57.7-25.3-57.7-59.5c0-33.4,26-58.4,58.1-58.4c22.2,0,36.9,12.3,40.5,16.2c2.1,2.1,4.9,3.2,7.4,0.7l3.5-3.5c2.1-1.8,2.5-4.2,0.7-6.3C119.6,14.1,101.3,0,73.9,0C34.1,0,0,31.7,0,73.9c0,42.6,34.1,73.9,73.9,73.9c29.2,0,50-18.7,55.2-27.1c1.4-2.1,0.7-3.9-1-5.6L124.2,111.6z"></path>
242
+ </g>
243
+ <g>
244
+ <path class="cueWhiteNoTMSVG0" d="M412.3,24.6C385.4-4.8,339-8.5,307.9,20c-31.4,28.8-31.4,75.1-4.5,104.4c19.7,21.5,47.5,24.2,57.3,22.4c2.5-0.4,3.3-2.1,3.4-4.6l0-5.2c0.1-3-1.3-4.5-5-4.5c-5.7,0-27.2,1.1-45-18.4c-21.2-23.1-20.3-59.7,4.8-82.7c24.6-22.6,60.7-20.3,82.3,3.3c15,16.3,15.9,35.6,15.4,40.8c-0.1,3,0.2,4.9,3.7,5l7.3,0.6c2.7,0.4,3.2-0.5,3.6-3.3C432.8,67.8,430.8,44.8,412.3,24.6z"></path>
245
+ <path class="cueWhiteNoTMSVG0" d="M386.3,66.5h-56.8c-1.6,0-2.9,1.3-2.9,2.9v8.9c0,1.6,1.3,2.9,2.9,2.9h56.8c1.6,0,2.9-1.3,2.9-2.9v-8.9C389.2,67.7,387.9,66.5,386.3,66.5z"></path>
246
+ </g>
247
+ <g>
248
+ <path class="cueWhiteNoTMSVG0" d="M267.2,3.7c0-1.6-1.3-2.9-2.9-2.9h-9.1c-1.6,0-2.9,1.3-2.9,2.9v80.9c0,0.2,0.1,0.3,0.1,0.5v1.8c0,12.6-4.5,23.4-13.4,32.2c-8.9,8.8-19.7,13.3-32.3,13.5c-12.4-0.2-23.1-4.7-31.9-13.5c-8.8-8.8-13.2-19.6-13.2-32.2V8.3c0,0,0,0,0,0V3.7c0-1.6-1.3-2.9-2.9-2.9h-8.7c-1.6,0-2.9,1.3-2.9,2.9v76.8c0,0,0,0,0,0v6.3c0,16.6,5.8,30.8,17.4,42.6c11.6,11.7,25.8,17.6,42.4,17.6c16.6,0,30.8-5.9,42.6-17.6c11.7-11.7,17.6-25.9,17.6-42.6V6.6h0V3.7z"></path>
249
+ </g>
250
+ <g class="cueWhiteNoTMSVG1">
251
+ <path class="cueWhiteNoTMSVG2" d="M413.3,1.5v-1h6.9v1h-2.9v7.6h-1.1V1.5H413.3z"></path>
252
+ <path class="cueWhiteNoTMSVG2" d="M422.7,0.5l2.7,7.2l2.7-7.2h1.6v8.6h-1.1V1.9h0l-2.7,7.1h-1l-2.7-7.1h0v7.1h-1.1V0.5H422.7z"></path>
253
+ </g>
254
+ </svg>
255
+ </a>
256
+ </div>
257
+
258
+ </div>
259
+
260
+ <script>
261
+
262
+ function showRecoverPasswordForm() {
263
+ document.getElementById('recover-password').style.display = 'block';
264
+ document.getElementById('login').style.display='none';
265
+ }
266
+
267
+ function hideRecoverPasswordForm() {
268
+ document.getElementById('recover-password').style.display = 'none';
269
+ document.getElementById('login').style.display = 'block';
270
+ }
271
+
272
+ if (window.location.hash == '#recover') { showRecoverPasswordForm() }
273
+ function cueShowSignup(){
274
+ document.getElementById('cue-show-signup').style.display = 'none';
275
+ document.getElementById('customer-login').style.display = 'none';
276
+ document.getElementById('customer-register').style.display = 'block';
277
+ console.log(this);
278
+ }
279
+
280
+ function cueShowSignin(){
281
+ document.getElementById('customer-register').style.display = 'none';
282
+ document.getElementById('customer-login').style.display = 'block';
283
+ document.getElementById('cue-show-signup').style.display = 'block';
284
+ }
285
+
286
+ var pid = <?php echo $place_id; ?>;
287
+
288
+ (function($) {
289
+
290
+ var main_container = $('#cue-magento-forms-container');
291
+ var faq_container = $('#cue-faq-container');
292
+ var open_faq = $('#open_faq');
293
+ var open_learnmore = $('#open_learnmore');
294
+ var faq_container_iframe = $('#faq_container_iframe');
295
+ var cue_links = $('#cue_links');
296
+ var go_back = $('#go_back');
297
+
298
+ open_faq.bind('click', function(e){
299
+ main_container.hide();
300
+ faq_container.show();
301
+ go_back.show();
302
+ cue_links.hide();
303
+ e.preventDefault();
304
+ });
305
+
306
+ open_learnmore.bind('click', function(e){
307
+ faq_container_iframe[0].contentWindow.postMessage('openTuto', faq_container_iframe[0].src);
308
+ main_container.hide();
309
+ faq_container.show();
310
+ go_back.show();
311
+ cue_links.hide();
312
+ e.preventDefault();
313
+ });
314
+
315
+ go_back.bind('click', function(e){
316
+ faq_container_iframe[0].contentWindow.postMessage('closeTuto', faq_container_iframe[0].src);
317
+ main_container.show();
318
+ faq_container.hide();
319
+ go_back.hide();
320
+ cue_links.show();
321
+ e.preventDefault();
322
+ });
323
+
324
+ /* GA analytic events */
325
+
326
+
327
+ var retailerName = "<?php echo $origin ?>";
328
+ var retailerId = "<?php echo $place_id ?>";
329
+
330
+
331
+ document.getElementById('email').addEventListener('click',function(){
332
+ // Sends the event to Google Analytics start
333
+ var eventCategory = "cp sign in email input";
334
+ var eventAction = "cp sign in email input clicked";
335
+ var eventLabel = retailerId + " " + retailerName;
336
+ ga('send', 'event', eventCategory, eventAction, eventLabel, {
337
+ hitCallback: function() {}
338
+ });
339
+ // Sends the event to Google Analytics end
340
+ });
341
+
342
+ document.getElementById('pass').addEventListener('click',function(){
343
+ // Sends the event to Google Analytics start
344
+ var eventCategory = "cp sign in password input";
345
+ var eventAction = "cp sign in password input clicked";
346
+ var eventLabel = retailerId + " " + retailerName;
347
+ ga('send', 'event', eventCategory, eventAction, eventLabel, {
348
+ hitCallback: function() {}
349
+ });
350
+ // Sends the event to Google Analytics end
351
+ });
352
+
353
+ document.getElementById('send2').addEventListener('click',function(){
354
+ // Sends the event to Google Analytics start
355
+ var eventCategory = "cp sign in button";
356
+ var eventAction = "cp sign in button clicked";
357
+ var eventLabel = retailerId + " " + retailerName;
358
+ ga('send', 'event', eventCategory, eventAction, eventLabel, {
359
+ hitCallback: function() {}
360
+ });
361
+ // Sends the event to Google Analytics end
362
+ });
363
+
364
+ document.getElementById('open_learnmore').addEventListener('click',function(){
365
+ // Sends the event to Google Analytics start
366
+ var eventCategory = "cp learn more";
367
+ var eventAction = "cp learn more clicked";
368
+ var eventLabel = retailerId + " " + retailerName;
369
+ ga('send', 'event', eventCategory, eventAction, eventLabel, {
370
+ hitCallback: function() {}
371
+ });
372
+ // Sends the event to Google Analytics end
373
+ });
374
+
375
+ document.getElementById('open_faq').addEventListener('click',function(){
376
+ // Sends the event to Google Analytics start
377
+ var eventCategory = "cp faq";
378
+ var eventAction = "cp faq clicked";
379
+ var eventLabel = retailerId + " " + retailerName;
380
+ ga('send', 'event', eventCategory, eventAction, eventLabel, {
381
+ hitCallback: function() {}
382
+ });
383
+ // Sends the event to Google Analytics end
384
+ });
385
+
386
+ document.getElementById('email_address').addEventListener('click',function(){
387
+ // Sends the event to Google Analytics start
388
+ var eventCategory = "cp sign up email input";
389
+ var eventAction = "cp sign up email input clicked";
390
+ var eventLabel = retailerId + " " + retailerName;
391
+ ga('send', 'event', eventCategory, eventAction, eventLabel, {
392
+ hitCallback: function() {}
393
+ });
394
+ // Sends the event to Google Analytics end
395
+ });
396
+
397
+ document.getElementById('password').addEventListener('click',function(){
398
+ // Sends the event to Google Analytics start
399
+ var eventCategory = "cp sign up password input";
400
+ var eventAction = "cp sign up password input clicked";
401
+ var eventLabel = retailerId + " " + retailerName;
402
+ ga('send', 'event', eventCategory, eventAction, eventLabel, {
403
+ hitCallback: function() {}
404
+ });
405
+ // Sends the event to Google Analytics end
406
+ });
407
+
408
+ document.getElementById('firstname').addEventListener('click',function(){
409
+ // Sends the event to Google Analytics start
410
+ var eventCategory = "cp sign up first name input";
411
+ var eventAction = "cp sign up first name input clicked";
412
+ var eventLabel = retailerId + " " + retailerName;
413
+ ga('send', 'event', eventCategory, eventAction, eventLabel, {
414
+ hitCallback: function() {}
415
+ });
416
+ // Sends the event to Google Analytics end
417
+ });
418
+
419
+ document.getElementById('lastname').addEventListener('click',function(){
420
+ // Sends the event to Google Analytics start
421
+ var eventCategory = "cp sign up last name input";
422
+ var eventAction = "cp sign up last name input clicked";
423
+ var eventLabel = retailerId + " " + retailerName;
424
+ ga('send', 'event', eventCategory, eventAction, eventLabel, {
425
+ hitCallback: function() {}
426
+ });
427
+ // Sends the event to Google Analytics end
428
+ });
429
+
430
+
431
+ // document.getElementById('signupId').addEventListener('click',function(){
432
+ // // Sends the event to Google Analytics start
433
+ // var eventCategory = "cp sign up button";
434
+ // var eventAction = "cp sign up button clicked";
435
+ // var eventLabel = retailerId + " " + retailerName;
436
+ // ga('send', 'event', eventCategory, eventAction, eventLabel, {
437
+ // hitCallback: function() {}
438
+ // });
439
+ // // Sends the event to Google Analytics end
440
+ // });
441
+
442
+ })(jQuery);
443
+
444
+ </script>
445
+
446
+
447
+ <!-- END Cue e-List -->
448
+ <?php
449
+ endif;
450
+ endif;
451
+ ?>
452
+
app/design/frontend/base/default/template/cueconnect/favorite.phtml ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ <?php // Todo: Rename template file name ?>
2
+ <?php if ($this->isEnabled() && $this->isFavoriteEnabled() && $this->getRetailerId()): ?>
3
+ <div class="cue-cueit" data-imisku="<?php echo $this->getSku(); ?>" data-cid="<?php echo $this->getCID(); ?>"></div>
4
+ <?php endif; ?>
app/design/frontend/base/default/template/cueconnect/links.phtml ADDED
@@ -0,0 +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) 2011 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.0.1
30
+ */
31
+ ?>
32
+ <?php if($toplinks && is_array($toplinks)): ?>
33
+ <ul class="links">
34
+ <?php echo $this->getChildHtml() ?>
35
+ <?php foreach($toplinks as $_toplink): ?>
36
+ <li<?php if($_toplink['first']||$_toplink['last']): ?> class="<?php if($_toplink['first']): ?>first<?php endif; ?><?php if($_toplink['last']): ?> last<?php endif; ?>"<?php endif; ?> <?php echo $_toplink['liParams'] ?>><?php echo $_toplink['beforeText'] ?><a <?php echo $_toplink['aParams'] ?>><?php echo $_toplink['innerText'] ?></a><?php echo $_toplink['afterText'] ?></li>
37
+ <?php endforeach; ?>
38
+ </ul>
39
+ <?php endif; ?>
app/design/frontend/base/default/template/cueconnect/meta.phtml ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ($this->isEnabled() && $this->getRetailerId()):
3
+ $productInfo = $this->getProductData();
4
+
5
+ if ($productInfo):
6
+ ?>
7
+
8
+ <meta property="og:url" content="<?php echo $productInfo['url'] ?>" />
9
+ <meta property="og:title" content="<?php echo $productInfo['name'] ?>" />
10
+ <meta property="og:description" content="<?php echo $productInfo['description'] ?>" />
11
+ <meta property="og:image" content="<?php echo $productInfo['picture'] ?>" />
12
+ <meta property="og:type" content="website" />
13
+
14
+ <meta name="cue:name" content="<?php echo $productInfo['name'] ?>" />
15
+ <meta name="cue:description" content="<?php echo $productInfo['description'] ?>" />
16
+ <meta name="cue:image_url" content="<?php echo $productInfo['picture'] ?>" />
17
+ <meta name="cue:sku" content="<?php echo $productInfo['sku'] ?>" />
18
+ <meta name="cue:brand" content="<?php echo $productInfo['brand'] ?>" />
19
+ <meta name="cue:url" content="<?php echo $productInfo['url'] ?>" />
20
+ <meta name="cue:price" content="<?php echo $productInfo['price'] ?>" />
21
+ <meta name="cue:currency" content="<?php echo $productInfo['currency'] ?>" />
22
+ <meta name="cue:product_type" content="" />
23
+ <?php
24
+ endif;
25
+ endif;
26
+ ?>
app/design/frontend/base/default/template/cueconnect/share.phtml ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php if ($this->isEnabled() && $this->isObEnabled() && $this->getRetailerId()): ?>
2
+ <div class="cue-onebutton" style="margin-right: 15px; float: left;" data-imisku="<?php echo $this->getSku(); ?>" data-cid="<?php echo $this->getCID(); ?>"></div>
3
+ <?php endif; ?>
app/etc/modules/CueConnect_Cue.xml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <CueConnect_Cue>
5
+ <active>true</active>
6
+ <codePool>community</codePool>
7
+ </CueConnect_Cue>
8
+ </modules>
9
+ </config>
package.xml CHANGED
@@ -1,18 +1,20 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Cue</name>
4
- <version>3.0.18</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Powerful onsite marketing solution that helps increase engagement and conversions.</summary>
10
  <description>Drive greater ROI using an experience and tools shoppers already engage with on your site today. Provide Cue as a free personal shopping assistant to your customers and get an inside look at the items they save and conversations they have about them. Use the data to personalize various touch points of their shopping journey and thoughtfully stimulate conversions. Receive a free 90-day trial when you sign up and grow your business risk-free.</description>
11
- <notes>- Improvements and bugfixes</notes>
12
- <authors><author><name>Cue Connect</name><user>dev</user><email>dev@cueconnect.com</email></author></authors>
13
- <date>2016-10-18</date>
14
- <time>20:52:05</time>
15
- <contents><target name="magecommunity"><dir name="CueConnect"><dir name="Cue"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/><file name="._.DS_Store" hash="7d40ce63be1b295f209e8b80541f880d"/></dir></dir></dir></dir><dir name="Model"><file name="CueConnect.php" hash="74c4a1c985513d6d75cd4726a1408f02"/><file name="Observer.php" hash="e77bf0f4b7e37ae0f3652734d807a3e7"/></dir><dir name="etc"><file name="config.xml" hash="3abfe989ed2b5a03d8fccaa311ad1e9b"/><file name="system.xml" hash="4b0f07fa8fcdd9e43d07cc0e06656fe3"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="cueconnect.xml" hash=""/></dir><dir name="template"><dir name="cueconnect"><file name="js.phtml" hash="65bb0542fbbb7c718a6702bb0bdc4866"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="CueConnect_Cue.xml" hash=""/></dir></target></contents>
 
 
16
  <compatible/>
17
- <dependencies><required><php><min>5.1.0</min><max>5.6.2</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Cue</name>
4
+ <version>3.0.19</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Powerful onsite marketing solution that helps increase engagement and conversions.</summary>
10
  <description>Drive greater ROI using an experience and tools shoppers already engage with on your site today. Provide Cue as a free personal shopping assistant to your customers and get an inside look at the items they save and conversations they have about them. Use the data to personalize various touch points of their shopping journey and thoughtfully stimulate conversions. Receive a free 90-day trial when you sign up and grow your business risk-free.</description>
11
+ <notes>- fixes for internet explorer&#xD;
12
+ - stability improvements&#xD;
13
+ </notes>
14
+ <authors><author><name>Cue Connect</name><user>hrais</user><email>hrais@cueconnect.com</email></author></authors>
15
+ <date>2016-11-15</date>
16
+ <time>10:00:05</time>
17
+ <contents><target name="mageetc"><dir name="modules"><file name="CueConnect_Cue.xml" hash="6bd6cf8a7f9e647dc5729e8b0a77cfa1"/></dir></target><target name="magecommunity"><dir name="CueConnect"><dir name="Cue"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><file name="Product.php" hash="da20e73d9d6c46f8e9b8f2e0b130b69a"/></dir><file name="Index.php" hash="0c40f5f733dd6ecd2dd5a0453d1df14b"/><file name="Progress.php" hash="9767500cf8507eacd58c6b441a23d7c1"/><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Readonly.php" hash="847f56fbe8ce7b3334b8831981aff5fb"/></dir></dir><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/><file name="._.DS_Store" hash="7d40ce63be1b295f209e8b80541f880d"/></dir></dir></dir><file name="Alert.php" hash="416cb0dba8485a32feb55306f2004664"/><file name="BaseCueBlock.php" hash="762bd5f6105ae2c82bb06888ac7e079d"/><file name="Collection.php" hash="34049e05086f52a1b74bcf7046f8a4f8"/><file name="Elist.php" hash="7832410c357470a083cf3d3679ab376d"/><file name="Favorite.php" hash="dd4bd0736e3cfea4d87e366fb0e228b3"/><file name="Js.php" hash="fa423dff429d99b1969fe9b2932be095"/><file name="Meta.php" hash="c16b07f77ac3c1ccb6fdcbcfc17ea703"/><file name="Navigation.php" hash="a43d159e9629ca20461c88ba9eb2c16a"/><file name="Share.php" hash="c0a2dd7fcc9a3537718fe811d1b4d7df"/></dir><dir name="Helper"><file name="Data.php" hash="b6483a7a9d4bd1025aaeec93840145a2"/><dir name="Wishlist"><file name="Data.php" hash="df7c81da4f905c5cfdc9adf18b2918f7"/></dir></dir><dir name="Model"><file name="CueConnect.php" hash="f87201b50f23e93a3c34f995de8a2fe5"/><file name="Demand.php" hash="e1d627c3207a364c861faf8decbcd7cc"/><dir name="Mysql4"><dir name="Demand"><file name="Collection.php" hash="4bd64ac5500aacdd861c05161bfdea60"/></dir><file name="Demand.php" hash="6b3b0d54f7d15fb55d47773ea96690d8"/><dir name="UserSync"><file name="Collection.php" hash="2f70172ef8506195355d0f34fa963de7"/></dir><file name="UserSync.php" hash="29fbf5674f15ba2a8db2c4f79545431c"/><dir name="WishlistSync"><file name="Collection.php" hash="c7ae0dc2a51c0d6e26360cba2c82c685"/></dir><file name="WishlistSync.php" hash="18079cce3dcf1129dd412d9de5199351"/></dir><file name="Observer.php" hash="e77bf0f4b7e37ae0f3652734d807a3e7"/><file name="Options.php" hash="6f312d0f07fb27129c6bb8eb83fdda8c"/><file name="UserSync.php" hash="45dc5508786c1db53088f4257cd5e3bd"/><file name="WishlistSync.php" hash="4b77f0097f4ed05ea63058cc1099ce66"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="SyncController.php" hash="c9cd0b21c257205cae0f09044ba12333"/></dir><file name="ElistController.php" hash="dc112c88f2ced7880379bc87ec0138a9"/></dir><dir name="etc"><file name="config.xml" hash="9490de03f4daaa55e9ee849b51299306"/><file name="system.xml" hash="1801e59671ae1e08f4a0ac5aae4e8c7f"/></dir><dir name="sql"><dir name="cueconnect_setup"><file name="mysql4-install-3.0.9.php" hash="35e874c8e139497043b0e50ea6cf2fa0"/><file name="mysql4-upgrade-3.0.8-3.0.9.php" hash="54cfba6c455bebb9e614013642fb8fdd"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="cueconnect.xml" hash="4b7e20ae6fda830865d7b30ee9e82aae"/></dir><dir name="template"><dir name="cueconnect"><file name="alert.phtml" hash="1b84532e255e6c4cfba9881e48013896"/><file name="collection.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/><dir name="customer"><dir name="form"><file name="forgotpassword.phtml" hash="e77cbc35be0786aa61e08de47008595f"/><file name="login.phtml" hash="830203b7f6a8d8647a3812b51ac45721"/><file name="register.phtml" hash="b23b45199434202d0c7f582e804fb8c1"/></dir></dir><file name="elist.phtml" hash="951910b42b5115f2c39bd9d23b0b870e"/><file name="favorite.phtml" hash="89f0bca645d6f81e2a3c3cf375c5d44e"/><file name="js.phtml" hash="8a0fc52374904a5c932a927094cd0bfb"/><file name="links.phtml" hash="b5567bf97bd53184fb84e23c73ab4778"/><file name="meta.phtml" hash="57bd5367b677d71d935faf8a9dfefa82"/><file name="share.phtml" hash="781d6414c1b41f3bdb2a5befc8817463"/></dir></dir></dir></dir></dir></target></contents>
18
  <compatible/>
19
+ <dependencies><required><php><min>5.1.0</min><max>5.7.0</max></php><extension><name>Core</name><min/><max/></extension></required></dependencies>
20
  </package>