Cue - Version 3.0.9

Version Notes

- e-List available in two versions: a customizable widget or enterprise fully integrated that works seamlessly with your existing Customer Account and Profile.
- removed catalog sync.
- bug fixes.

Download this release

Release Info

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


Code changes from version 3.0.8 to 3.0.9

Files changed (62) hide show
  1. app/code/community/CueConnect/Cue/Block/Adminhtml/System/Config/.DS_Store +0 -0
  2. app/code/community/CueConnect/Cue/Block/Adminhtml/System/Config/._.DS_Store +0 -0
  3. app/code/community/CueConnect/Cue/Block/Adminhtml/System/Config/Form/Field/Readonly.php +18 -0
  4. app/code/community/CueConnect/Cue/Block/Alert.php +17 -0
  5. app/code/community/CueConnect/Cue/Block/BaseCueBlock.php +102 -0
  6. app/code/community/CueConnect/Cue/Block/Collection.php +1 -8
  7. app/code/community/CueConnect/Cue/Block/Elist.php +38 -0
  8. app/code/community/CueConnect/Cue/Block/Favorite.php +1 -13
  9. app/code/community/CueConnect/Cue/Block/Js.php +1 -26
  10. app/code/community/CueConnect/Cue/Block/Meta.php +44 -0
  11. app/code/community/CueConnect/Cue/Block/Navigation.php +28 -0
  12. app/code/community/CueConnect/Cue/Block/Share.php +1 -13
  13. app/code/community/CueConnect/Cue/Helper/Data.php +177 -21
  14. app/code/community/CueConnect/Cue/Helper/Wishlist/Data.php +41 -0
  15. app/code/community/CueConnect/Cue/Model/Mysql4/UserSync.php +18 -0
  16. app/code/community/CueConnect/Cue/Model/Mysql4/UserSync/Collection.php +18 -0
  17. app/code/community/CueConnect/Cue/Model/Mysql4/WishlistSync.php +18 -0
  18. app/code/community/CueConnect/Cue/Model/Mysql4/WishlistSync/Collection.php +18 -0
  19. app/code/community/CueConnect/Cue/Model/Observer.php +469 -1
  20. app/code/community/CueConnect/Cue/Model/Options.php +21 -0
  21. app/code/community/CueConnect/Cue/Model/UserSync.php +23 -0
  22. app/code/community/CueConnect/Cue/Model/WishlistSync.php +23 -0
  23. app/code/community/CueConnect/Cue/controllers/ElistController.php +54 -0
  24. app/code/community/CueConnect/Cue/etc/config.xml +129 -46
  25. app/code/community/CueConnect/Cue/etc/system.xml +106 -90
  26. app/code/community/CueConnect/Cue/sql/cueconnect_setup/mysql4-install-1.0.0.php +0 -15
  27. app/code/community/CueConnect/Cue/sql/cueconnect_setup/mysql4-install-3.0.9.php +32 -0
  28. app/code/community/CueConnect/Cue/sql/cueconnect_setup/mysql4-upgrade-3.0.8-3.0.9.php +24 -0
  29. app/design/adminhtml/default/default/layout/cueconnect.xml +0 -10
  30. app/design/adminhtml/default/default/template/cueconnect/index.phtml +0 -71
  31. app/design/adminhtml/default/default/template/cueconnect/index.phtml~ +0 -71
  32. app/design/adminhtml/default/default/template/cueconnect/progress.phtml +0 -88
  33. app/design/frontend/base/default/layout/cueconnect.xml +66 -0
  34. app/design/frontend/base/default/template/cueconnect/._alert.phtml +0 -0
  35. app/design/frontend/base/default/template/cueconnect/._collection.phtml +0 -0
  36. app/design/frontend/base/default/template/cueconnect/._customer +0 -0
  37. app/design/frontend/base/default/template/cueconnect/._elist.phtml +0 -0
  38. app/design/frontend/base/default/template/cueconnect/._favorite.phtml +0 -0
  39. app/design/frontend/base/default/template/cueconnect/._js.phtml +0 -0
  40. app/design/frontend/base/default/template/cueconnect/._links.phtml +0 -0
  41. app/design/frontend/base/default/template/cueconnect/._meta.phtml +0 -0
  42. app/design/frontend/base/default/template/cueconnect/._share.phtml +0 -0
  43. app/design/frontend/base/default/template/cueconnect/alert.phtml +3 -0
  44. app/design/frontend/base/default/template/cueconnect/collection.phtml +0 -0
  45. app/design/frontend/base/default/template/cueconnect/customer/._form +0 -0
  46. app/design/frontend/base/default/template/cueconnect/customer/form/._forgotpassword.phtml +0 -0
  47. app/design/frontend/base/default/template/cueconnect/customer/form/._login.phtml +0 -0
  48. app/design/frontend/base/default/template/cueconnect/customer/form/._register.phtml +0 -0
  49. app/design/frontend/base/default/template/cueconnect/customer/form/forgotpassword.phtml +54 -0
  50. app/design/frontend/base/default/template/cueconnect/customer/form/login.phtml +74 -0
  51. app/design/frontend/base/default/template/cueconnect/customer/form/register.phtml +182 -0
  52. app/design/frontend/base/default/template/cueconnect/elist.phtml +173 -0
  53. app/design/frontend/base/default/template/cueconnect/favorite.phtml +4 -0
  54. app/design/frontend/{rwd → base}/default/template/cueconnect/js.phtml +2 -5
  55. app/design/frontend/base/default/template/cueconnect/links.phtml +39 -0
  56. app/design/frontend/base/default/template/cueconnect/meta.phtml +19 -0
  57. app/design/frontend/base/default/template/cueconnect/share.phtml +3 -0
  58. app/design/frontend/rwd/default/layout/cueconnect.xml +0 -23
  59. app/design/frontend/rwd/default/template/cueconnect/collection.phtml +0 -6
  60. app/design/frontend/rwd/default/template/cueconnect/favorite.phtml +0 -4
  61. app/design/frontend/rwd/default/template/cueconnect/share.phtml +0 -3
  62. package.xml +7 -5
app/code/community/CueConnect/Cue/Block/Adminhtml/System/Config/.DS_Store ADDED
Binary file
app/code/community/CueConnect/Cue/Block/Adminhtml/System/Config/._.DS_Store ADDED
Binary file
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 CHANGED
@@ -9,14 +9,7 @@
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 Mage_Core_Block_Template {
13
-
14
- public function isEnabled() {
15
- $store = Mage::app()->getStore();
16
- return $store->getConfig('cueconnect/enabled/enabled');
17
- }
18
-
19
-
20
  public function isCollectionEnabled() {
21
  $store = Mage::app()->getStore();
22
  if ($store->getConfig('cueconnect/collection/enabled') && $store->getConfig('cueconnect/collection/enabled')) {
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')) {
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 CHANGED
@@ -9,21 +9,9 @@
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 Mage_Core_Block_Template {
13
-
14
- public function isEnabled() {
15
- $store = Mage::app()->getStore();
16
- return $store->getConfig('cueconnect/enabled/enabled');
17
- }
18
-
19
  public function isFavoriteEnabled() {
20
  $store = Mage::app()->getStore();
21
  return $store->getConfig('cueconnect/favorite/enabled');
22
  }
23
-
24
- public function getSku() {
25
- $current_product = Mage::registry('current_product');
26
- return $current_product->getSku();
27
- }
28
-
29
  }
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 CHANGED
@@ -9,31 +9,6 @@
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 Mage_Core_Block_Template {
13
-
14
- public function isEnabled() {
15
- $store = Mage::app()->getStore();
16
- return $store->getConfig('cueconnect/enabled/enabled');
17
- }
18
-
19
- public function getRetailerId() {
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
- public function getApiKey() {
28
- $store = Mage::app()->getStore();
29
- if ($store->getConfig('cueconnect/crendentials/api_key')) {
30
- return $store->getConfig('cueconnect/crendentials/api_key');
31
- }
32
- else {
33
- return "";
34
- }
35
- }
36
-
37
-
38
 
39
  }
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 e-List', $this->getUrl('apps/myelist'), 'My e-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 CHANGED
@@ -9,21 +9,9 @@
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 Mage_Core_Block_Template {
13
-
14
- public function isEnabled() {
15
- $store = Mage::app()->getStore();
16
- return $store->getConfig('cueconnect/enabled/enabled');
17
- }
18
-
19
  public function isObEnabled() {
20
  $store = Mage::app()->getStore();
21
  return $store->getConfig('cueconnect/ob/enabled');
22
  }
23
-
24
- public function getSku() {
25
- $current_product = Mage::registry('current_product');
26
- return $current_product->getSku();
27
- }
28
-
29
  }
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 CHANGED
@@ -12,48 +12,157 @@
12
  class CueConnect_Cue_Helper_Data extends Mage_Core_Helper_Abstract
13
  {
14
  /**
15
- * Get WSSE Header
16
  *
17
  * @return string
18
  */
19
- public function getWsseHeader($login, $password) {
20
- $authheader = sprintf('
21
- <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
22
- <wsse:UsernameToken>
23
- <wsse:Username>%s</wsse:Username>
24
- <wsse:Password>%s</wsse:Password>
25
- </wsse:UsernameToken>
26
- </wsse:Security>
27
- ', htmlspecialchars($login), htmlspecialchars($password));
28
- return $authheader;
29
  }
30
 
31
  /**
32
- * Get webservice URL by service name
33
  *
34
  * @return string
35
  */
36
- public function getWsUrl($service) {
37
- return Mage::getStoreConfig('cueconnect/webservice/url').$service."?wsdl";
 
38
  }
39
 
40
  /**
41
- * Get SOAP client by URL
42
  *
43
  * @return string
44
  */
45
- public function getSoapClient($url, $login, $password) {
46
- $client = new SOAPClient($url, array('trace' => 1, 'soap_version' => SOAP_1_1));
47
- $authvars = new SoapVar($this->getWsseHeader($login, $password), XSD_ANYXML);
48
- $header = new SoapHeader("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "Security", $authvars);
49
- $client->__setSoapHeaders($header);
50
- return $client;
51
  }
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  /**
54
  * Get retailer object via SOAP
55
  *
56
  * @return string
 
57
  */
58
  public function getRetailer($store) {
59
  $soap_client = Mage::helper('cueconnect')->getSoapClient(
@@ -73,6 +182,7 @@ class CueConnect_Cue_Helper_Data extends Mage_Core_Helper_Abstract
73
  * Cut an array in multiple smaller array
74
  *
75
  * @return string
 
76
  */
77
  public function getSlicesFromArray($data, $slice_size = 30) {
78
  $slices = array();
@@ -95,6 +205,7 @@ class CueConnect_Cue_Helper_Data extends Mage_Core_Helper_Abstract
95
  * Log JSON data in Cue export log
96
  *
97
  * @return string
 
98
  */
99
  public function logExportProgress($json) {
100
  // Create folder
@@ -116,6 +227,7 @@ class CueConnect_Cue_Helper_Data extends Mage_Core_Helper_Abstract
116
  * Get export log data
117
  *
118
  * @return string
 
119
  */
120
  public function getExportProgress() {
121
  // File path
@@ -131,4 +243,48 @@ class CueConnect_Cue_Helper_Data extends Mage_Core_Helper_Abstract
131
  return json_decode($data);
132
  }
133
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  }
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(
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();
205
  * Log JSON data in Cue export log
206
  *
207
  * @return string
208
+ * @deprecated
209
  */
210
  public function logExportProgress($json) {
211
  // Create folder
227
  * Get export log data
228
  *
229
  * @return string
230
+ * @deprecated
231
  */
232
  public function getExportProgress() {
233
  // File path
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/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/Observer.php CHANGED
@@ -10,7 +10,93 @@
10
  */
11
 
12
  class CueConnect_Cue_Model_Observer
13
- {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  public function updateProduct(Varien_Event_Observer $observer)
15
  {
16
  // Get catalog product
@@ -112,6 +198,86 @@ class CueConnect_Cue_Model_Observer
112
  }
113
  }
114
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  public function deleteProduct(Varien_Event_Observer $observer)
116
  {
117
  // Get catalog product
@@ -171,5 +337,307 @@ class CueConnect_Cue_Model_Observer
171
  }
172
  }
173
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
 
175
  }
10
  */
11
 
12
  class CueConnect_Cue_Model_Observer
13
+ {
14
+
15
+ /**
16
+ * accessing e-List - used to sync saved items to Cue if not already done
17
+ * @param Varien_Event_Observer $observer
18
+ */
19
+ public function viewElist(Varien_Event_Observer $observer) {
20
+ if (Mage::getSingleton('customer/session')->isLoggedIn()) {
21
+ $event = $observer->getEvent();
22
+ $customer = $event->getCustomer();
23
+
24
+ if ($customer) {
25
+ $wishList = Mage::getModel('wishlist/wishlist')->loadByCustomer($customer);
26
+
27
+ if ($wishList) {
28
+ $wishListItemCollection = $wishList->getItemCollection();
29
+
30
+ if (count($wishListItemCollection)) {
31
+ foreach ($wishListItemCollection as $item) {
32
+ $this->syncMark($item->getProduct(), $item->getDescription(), $customer);
33
+ }
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+
41
+ /**
42
+ * Add e-List to menu
43
+ * @param Varien_Event_Observer $observer
44
+
45
+ public function regenerateMenu(Varien_Event_Observer $observer) {
46
+ // if module is active
47
+ if (!Mage::getStoreConfig('advanced/modules_disable_output/CueConnect_Cue')) {
48
+ $layout = Mage::getSingleton('core/layout');
49
+
50
+ // remove all the blocks you don't want
51
+ //$layout->getUpdate()->addUpdate('<remove name="catalog.topnav"/>');
52
+
53
+ // load layout updates by specified handles
54
+ $layout->getUpdate()->load();
55
+
56
+ // generate xml from collected text updates
57
+ $layout->generateXml();
58
+
59
+ // generate blocks from xml layout
60
+ $layout->generateBlocks();
61
+ }
62
+ }*/
63
+
64
+
65
+
66
+ /**
67
+ * sync customer account with Cue account after login
68
+ * @param Varien_Event_Observer $observer
69
+ */
70
+ public function customerLogin(Varien_Event_Observer $observer) {
71
+ if (Mage::getSingleton('customer/session')->isLoggedIn()) {
72
+ $event = $observer->getEvent();
73
+ $customer = $event->getCustomer();
74
+
75
+ if ($customer) {
76
+ $this->syncCustomer($customer);
77
+ }
78
+ }
79
+ }
80
+
81
+
82
+ /**
83
+ * sync magento customer profile with cue user (Magento -> Cue)
84
+ * @param Varien_Event_Observer $observer
85
+ */
86
+ public function customerSaveProfile(Varien_Event_Observer $observer) {
87
+ $event = $observer->getEvent();
88
+ $customer = $event->getCustomer();
89
+
90
+ if ($customer) {
91
+ $this->syncCustomer($customer);
92
+ }
93
+ }
94
+
95
+
96
+ /**
97
+ * sync product data with e-List product (Magento -> Cue)
98
+ * @param Varien_Event_Observer $observer [description]
99
+ */
100
  public function updateProduct(Varien_Event_Observer $observer)
101
  {
102
  // Get catalog product
198
  }
199
  }
200
 
201
+ /**
202
+ * update config in Cue when updated in Magento (Magento -> Cue)
203
+ * @param Varien_Event_Observer $observer
204
+ */
205
+ public function adminCueConnectUpdated(Varien_Event_Observer $observer)
206
+ {
207
+ $storeId = $observer->getEvent()->getStore();
208
+ $store = Mage::getModel('core/store')->load($storeId);
209
+ if ($store) {
210
+ $post = Mage::app()->getRequest()->getPost();
211
+ $version = $post['groups']['mode']['fields']['mode']['value'];
212
+
213
+ $placeApiKey = $store->getConfig('cueconnect/credentials/api_key');
214
+ $str = "v$version" . Mage::helper('cueconnect')->getWebhookSelectVersionKey() . Mage::helper('cueconnect')->getWebhookSelectVersionUrl() . $placeApiKey;
215
+ $key = sha1($str) . '$' . $placeApiKey;
216
+
217
+ $params = array(
218
+ 'version' => $version
219
+ );
220
+
221
+ $retailerId = (int)$this->doRequest(Mage::helper('cueconnect')->getWebhookSelectVersionUrl(), $key, $params);
222
+
223
+ if ($retailerId) {
224
+ /*$config = new Mage_Core_Model_Config();
225
+ $config->saveConfig('cueconnect/credentials/retailer_id', $retailerId, 'default', 1);
226
+ Mage::app()->getCacheInstance()->cleanType('config');
227
+ */
228
+ Mage::getModel('core/config')->saveConfig('cueconnect/credentials/retailer_id', $retailerId);
229
+ Mage::app()->getCacheInstance()->cleanType('config');
230
+ }
231
+ }
232
+ }
233
+
234
+ /**
235
+ * update product in Cue when updated in Magento (Magento -> Cue)
236
+ * @param Varien_Event_Observer $observer
237
+ */
238
+ public function adminProductUpdated(Varien_Event_Observer $observer)
239
+ {
240
+ $product = $observer->getEvent()->getProduct();
241
+
242
+ // For each related stores
243
+ foreach ($product->getStoreIds() as $storeId) {
244
+ $store = Mage::getModel('core/store')->load($storeId);
245
+ $placeApiKey = $store->getConfig('cueconnect/credentials/api_key');
246
+
247
+ $str = $product->getSku() . Mage::helper('cueconnect')->getWebhookPriceChangedKey() . Mage::helper('cueconnect')->getWebhookPriceChangedUrl() . $product->getId();
248
+
249
+ $key = sha1($str) . '$' . $placeApiKey;
250
+
251
+ $width = Mage::getStoreConfig('cueconnect/image/width');
252
+ $height = Mage::getStoreConfig('cueconnect/image/height');
253
+
254
+ $params = array(
255
+ 'id' => $product->getId(),
256
+ 'sku' => (string)$product->getSku(),
257
+ 'name' => $product->getName(),
258
+ 'description' => (string)$product->getDescription(),
259
+ 'comment' => (string)$description,
260
+ 'brand' => (string)$product->getAttributeText('manufacturer'),
261
+ 'upc' => uniqid(),
262
+ 'sms_name' => $product->getName(),
263
+ 'sms_desc' => (string)$product->getDescription(),
264
+ 'url' => $product->getProductUrl(),
265
+ 'taxonomy_id' => Mage::getStoreConfig('cueconnect/taxomomy_id'),
266
+ 'image' => (string)Mage::helper('catalog/image')->init($product, 'small_image')->resize($width, $height),
267
+ 'price' => number_format(Mage::helper('core')->currency($product->getPrice(), false, false), 2),
268
+ );
269
+
270
+ $url = Mage::helper('cueconnect')->getWebhookPriceChangedUrl();
271
+
272
+ $this->doRequest($url, $key, $params);
273
+ }
274
+ }
275
+
276
+
277
+ /**
278
+ * delete product from e-List when deleted in Magento (Magento -> Cue)
279
+ * @param Varien_Event_Observer $observer
280
+ */
281
  public function deleteProduct(Varien_Event_Observer $observer)
282
  {
283
  // Get catalog product
337
  }
338
  }
339
  }
340
+
341
+
342
+ /**
343
+ * sync function
344
+ * @param Mage_Customer_Model_Customer $customer
345
+ */
346
+ protected function createCueUser($customer) {
347
+ if ($customer) {
348
+ $storeId = $customer->getStoreId();
349
+ if (!$storeId) {
350
+ $storeId = Mage::app()->getStore()->getStoreId();
351
+ }
352
+
353
+ $store = Mage::getModel('core/store')->load($storeId);
354
+ $placeApiKey = $store->getConfig('cueconnect/credentials/api_key');
355
+
356
+ $str = Mage::helper('cueconnect')->getWebhookSaveCustomerKey() . Mage::helper('cueconnect')->getWebhookSaveCustomerUrl() . $customer->getId() . $customer->getEmail();
357
+
358
+ $key = sha1($str) . '$' . $placeApiKey;
359
+
360
+ $params = array(
361
+ 'storeId' => $storeId,
362
+ 'id' => $customer->getId(),
363
+ 'email' => $customer->getEmail(),
364
+ 'fullName' => $customer->getName(),
365
+ 'firstName' => $customer->getFirstname(),
366
+ 'lastName' => $customer->getLastname(),
367
+ 'created' => $customer->getCreatedAt(),
368
+ 'dob' => $customer->getDob(),
369
+ 'gender' => $customer->getGender(),
370
+ );
371
+
372
+ $url = Mage::helper('cueconnect')->getWebhookSaveCustomerUrl();
373
+ $response = $this->doRequest($url, $key, $params);
374
+
375
+ // do POST - use curl
376
+ /*if (function_exists('curl_version')) {
377
+ try {
378
+ $ch = curl_init();
379
+ curl_setopt($ch, CURLOPT_URL, $url);
380
+ curl_setopt($ch, CURLOPT_HEADER);
381
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
382
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
383
+ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
384
+ curl_setopt($ch, CURLOPT_HTTPHEADER,array('X-Cue-Mage-Auth: ' . $key));
385
+
386
+ $response = curl_exec($ch);
387
+ $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
388
+
389
+ curl_close($ch);
390
+
391
+ } catch (Exception $e) {
392
+ Mage::log($e->getMessage());
393
+ }
394
+ }
395
+ // do GET
396
+ else {
397
+ $params['key'] = $key;
398
+ $queryString = '?' . http_build_query($params);
399
+
400
+ try {
401
+ $response = file_get_contents($url . $queryString);
402
+ } catch (Exception $e) {
403
+ Mage::log($e->getMessage());
404
+ }
405
+ }*/
406
+
407
+ return $response;
408
+ }
409
+
410
+ return null;
411
+ }
412
+
413
+
414
+ protected function createCueProduct($product, $description, $customer)
415
+ {
416
+ if ($product && $customer) {
417
+ $storeId = $customer->getStoreId();
418
+ if (!$storeId) {
419
+ $storeId = Mage::app()->getStore()->getStoreId();
420
+ }
421
+
422
+ $store = Mage::getModel('core/store')->load($storeId);
423
+ $placeApiKey = $store->getConfig('cueconnect/credentials/api_key');
424
+
425
+ $str = Mage::helper('cueconnect')->getWebhookSaveMarkKey() . Mage::helper('cueconnect')->getWebhookSaveMarkUrl() . $customer->getId() . $customer->getEmail();
426
+
427
+ $key = sha1($str) . '$' . $placeApiKey;
428
+
429
+ $width = Mage::getStoreConfig('cueconnect/image/width');
430
+ $height = Mage::getStoreConfig('cueconnect/image/height');
431
+
432
+ $params = array(
433
+ // customer
434
+ 'storeId' => $storeId,
435
+ 'id' => $customer->getId(),
436
+ 'email' => $customer->getEmail(),
437
+ 'fullName' => $customer->getName(),
438
+ 'firstName' => $customer->getFirstname(),
439
+ 'lastName' => $customer->getLastname(),
440
+ 'created' => $customer->getCreatedAt(),
441
+ 'dob' => $customer->getDob(),
442
+ 'gender' => $customer->getGender(),
443
+
444
+ // product
445
+ 'sku' => (string)$product->getSku(),
446
+ 'name' => $product->getName(),
447
+ 'description' => (string)$product->getDescription(),
448
+ 'comment' => (string)$description,
449
+ 'brand' => (string)$product->getAttributeText('manufacturer'),
450
+ 'upc' => uniqid(),
451
+ 'sms_name' => $product->getName(),
452
+ 'sms_desc' => (string)$product->getDescription(),
453
+ 'url' => $product->getProductUrl(),
454
+ 'taxonomy_id' => Mage::getStoreConfig('cueconnect/taxomomy_id'),
455
+ 'image' => (string)Mage::helper('catalog/image')->init($product, 'small_image')->resize($width, $height),
456
+ 'live' => '1',
457
+ 'price' => number_format(Mage::helper('core')->currency($product->getPrice(), false, false), 2),
458
+ );
459
+
460
+ $url = Mage::helper('cueconnect')->getWebhookSaveMarkUrl();
461
+ $response = $this->doRequest($url, $key, $params);
462
+
463
+ // do POST - use curl
464
+ /*if (function_exists('curl_version')) {
465
+ try {
466
+ $ch = curl_init();
467
+ curl_setopt($ch, CURLOPT_URL, $url);
468
+ curl_setopt($ch, CURLOPT_HEADER);
469
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
470
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
471
+ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
472
+ curl_setopt($ch, CURLOPT_HTTPHEADER,array('X-Cue-Mage-Auth: ' . $key));
473
+
474
+ $response = curl_exec($ch);
475
+ $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
476
+
477
+ curl_close($ch);
478
+
479
+ } catch (Exception $e) {
480
+ Mage::log($e->getMessage());
481
+ }
482
+ }
483
+ // do GET
484
+ else {
485
+ $params['key'] = $key;
486
+ $queryString = '?' . http_build_query($params);
487
+
488
+ try {
489
+ $response = file_get_contents($url . $queryString);
490
+ } catch (Exception $e) {
491
+ Mage::log($e->getMessage());
492
+ }
493
+ }*/
494
+
495
+ return $response;
496
+ }
497
+
498
+ return null;
499
+ }
500
+
501
+
502
+
503
+ /**
504
+ * flag local user as synced and create Cue user
505
+ * @param Mage_Customer_Model_Customer $customer
506
+ */
507
+ protected function syncCustomer($customer)
508
+ {
509
+ if ($customer) {
510
+ $exception = false;
511
+ $userSyncModel = Mage::getModel('cueconnect/userSync');
512
+
513
+ if ($userSyncModel) {
514
+ $row = $userSyncModel->getCollection()
515
+ ->addFieldToFilter('customer_id', $customer->getId())
516
+ ->addFieldToFilter('status', $userSyncModel::STATUS_DONE)
517
+ ->getFirstItem();
518
+
519
+ if (!$row->getData()) {
520
+ $userSyncModel->setData(array(
521
+ 'customer_id' => $customer->getId(),
522
+ 'status' => $userSyncModel::STATUS_WAITING,
523
+ 'created_at' => date('Y-m-d H:i:s')
524
+ ));
525
+
526
+ $id = $userSyncModel->save()->getId();
527
+
528
+ // sync customer
529
+ $response = $this->createCueUser($customer);
530
+ $exception = ($response != 1);
531
+
532
+ // update status
533
+ $row = $userSyncModel->load($id);
534
+ if ($row->getData()) {
535
+ $row->addData(array(
536
+ 'status' => ($response) ? $userSyncModel::STATUS_DONE : $userSyncModel::STATUS_ERROR,
537
+ ));
538
+ $row->save();
539
+ }
540
+ }
541
+ }
542
+
543
+ // if unable to save local flag, then sync customer with Cue anyway
544
+ if ($exception) {
545
+ $this->createCueUser($customer);
546
+ }
547
+ }
548
+ }
549
+
550
+
551
+ /**
552
+ * copy native wishlist items to e-List saves when accessing e-List for first time
553
+ * @param [type] $product
554
+ * @param [type] $description
555
+ * @param [type] $customer
556
+ */
557
+ protected function syncMark($product, $description, $customer)
558
+ {
559
+ if ($customer && $product) {
560
+ $exception = false;
561
+ $wishlistSyncModel = Mage::getModel('cueconnect/wishlistSync');
562
+
563
+ if ($wishlistSyncModel) {
564
+ $row = $wishlistSyncModel->getCollection()
565
+ ->addFieldToFilter('product_id', $product->getId())
566
+ ->addFieldToFilter('customer_id', $customer->getId())
567
+ ->addFieldToFilter('status', $wishlistSyncModel::STATUS_DONE)
568
+ ->getFirstItem();
569
+
570
+ if (!$row->getData()) {
571
+ $wishlistSyncModel->setData(array(
572
+ 'customer_id' => $customer->getId(),
573
+ 'product_id' => $product->getId(),
574
+ 'status' => $wishlistSyncModel::STATUS_WAITING,
575
+ 'created_at' => date('Y-m-d H:i:s')
576
+ ));
577
+
578
+ $id = $wishlistSyncModel->save()->getId();
579
+
580
+ // sync product/customer
581
+ $response = $this->createCueProduct($product, $description, $customer);
582
+ $exception = ($response != 1);
583
+
584
+ // update status
585
+ $row = $wishlistSyncModel->load($id);
586
+ if ($row->getData()) {
587
+ $row->addData(array(
588
+ 'status' => ($response) ? $wishlistSyncModel::STATUS_DONE : $wishlistSyncModel::STATUS_ERROR,
589
+ ));
590
+ $row->save();
591
+ }
592
+ }
593
+ }
594
+
595
+ // if unable to save local flag, then sync product/customer with Cue anyway => this means the op will be executed each time we access eList
596
+ if ($exception) {
597
+ $this->createCueProduct($product, $customer);
598
+ }
599
+ }
600
+ }
601
+
602
+
603
+
604
+ protected function doRequest($url, $key, $params)
605
+ {
606
+ $response = null;
607
+
608
+ // do POST - use curl
609
+ if (function_exists('curl_version')) {
610
+ try {
611
+ $ch = curl_init();
612
+ curl_setopt($ch, CURLOPT_URL, $url);
613
+ curl_setopt($ch, CURLOPT_HEADER);
614
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
615
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
616
+ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
617
+ curl_setopt($ch, CURLOPT_HTTPHEADER,array('X-Cue-Mage-Auth: ' . $key));
618
+
619
+ $response = curl_exec($ch);
620
+ $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
621
+
622
+ curl_close($ch);
623
+
624
+ } catch (Exception $e) {
625
+ Mage::log($e->getMessage());
626
+ }
627
+ }
628
+ // do GET
629
+ else {
630
+ $params['key'] = $key;
631
+ $queryString = '?' . http_build_query($params);
632
+
633
+ try {
634
+ $response = file_get_contents($url . $queryString);
635
+ } catch (Exception $e) {
636
+ Mage::log($e->getMessage());
637
+ }
638
+ }
639
+
640
+ return $response;
641
+ }
642
 
643
  }
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/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 e-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->__("e-List"),
48
+ "title" => $this->__("e-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>1.0.2</version>
6
  </CueConnect_Cue>
7
  </modules>
8
  <global>
@@ -17,6 +17,12 @@
17
  <demand>
18
  <table>cueconnect_demand</table>
19
  </demand>
 
 
 
 
 
 
20
  </entities>
21
  </cueconnect_mysql4>
22
  </models>
@@ -24,16 +30,16 @@
24
  <cueconnect>
25
  <class>CueConnect_Cue_Block</class>
26
  </cueconnect>
27
- <adminhtml>
28
- <rewrite>
29
- <catalog_product>CueConnect_Cue_Block_Adminhtml_Catalog_Product</catalog_product>
30
- </rewrite>
31
- </adminhtml>
32
  </blocks>
33
  <helpers>
34
  <cueconnect>
35
  <class>CueConnect_Cue_Helper</class>
36
  </cueconnect>
 
 
 
 
 
37
  </helpers>
38
  <resources>
39
  <cueconnect_setup>
@@ -71,7 +77,41 @@
71
  </cueconnect_cue_observer_delete_product>
72
  </observers>
73
  </catalog_product_delete_before>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  </events>
 
 
 
 
 
 
 
75
  </global>
76
  <frontend>
77
  <layout>
@@ -81,6 +121,26 @@
81
  </cueconnect>
82
  </updates>
83
  </layout>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  </frontend>
85
  <admin>
86
  <routers>
@@ -94,15 +154,6 @@
94
  </routers>
95
  </admin>
96
  <adminhtml>
97
- <translate>
98
- <modules>
99
- <mage_adminhtml>
100
- <files>
101
- <cueconnect>CueConnect_Cue.csv</cueconnect>
102
- </files>
103
- </mage_adminhtml>
104
- </modules>
105
- </translate>
106
  <acl>
107
  <resources>
108
  <all>
@@ -133,44 +184,76 @@
133
  </cueconnect>
134
  </updates>
135
  </layout>
136
- <menu>
137
- <catalog>
138
- <children>
139
- <cueconnect translate="title" module="cueconnect">
140
- <title>Cue</title>
141
- <action>cueconnect/adminhtml_sync/index</action>
142
- <sort_order>200</sort_order>
143
- </cueconnect>
144
- </children>
145
- </catalog>
146
- </menu>
 
 
 
 
 
 
 
 
 
147
  </adminhtml>
148
- <crontab>
149
- <jobs>
150
- <cueconnect_daily>
151
- <schedule>
152
- <cron_expr>0 0 * * *</cron_expr>
153
- </schedule>
154
- <run>
155
- <model>cueconnect/CueConnect::dailyExport</model>
156
- </run>
157
- </cueconnect_daily>
158
- <cueconnect_manual>
159
- <schedule>
160
- <cron_expr>* * * * *</cron_expr>
161
- </schedule>
162
- <run>
163
- <model>cueconnect/CueConnect::manualExport</model>
164
- </run>
165
- </cueconnect_manual>
166
- </jobs>
167
- </crontab>
168
  <default>
169
  <cueconnect>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  <webservice>
171
  <url>http://rapi.cueconnect.com/</url>
172
  </webservice>
173
  <taxomomy_id>fcc3465</taxomomy_id>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  </cueconnect>
175
  </default>
176
  </config>
2
  <config>
3
  <modules>
4
  <CueConnect_Cue>
5
+ <version>3.0.9</version>
6
  </CueConnect_Cue>
7
  </modules>
8
  <global>
17
  <demand>
18
  <table>cueconnect_demand</table>
19
  </demand>
20
+ <userSync>
21
+ <table>cueconnect_user_sync</table>
22
+ </userSync>
23
+ <wishlistSync>
24
+ <table>cueconnect_wishlist_sync</table>
25
+ </wishlistSync>
26
  </entities>
27
  </cueconnect_mysql4>
28
  </models>
30
  <cueconnect>
31
  <class>CueConnect_Cue_Block</class>
32
  </cueconnect>
 
 
 
 
 
33
  </blocks>
34
  <helpers>
35
  <cueconnect>
36
  <class>CueConnect_Cue_Helper</class>
37
  </cueconnect>
38
+ <wishlist>
39
+ <rewrite>
40
+ <data>CueConnect_Cue_Helper_Wishlist_Data</data> <!-- tell magento to use your own helper instead of the default one -->
41
+ </rewrite>
42
+ </wishlist>
43
  </helpers>
44
  <resources>
45
  <cueconnect_setup>
77
  </cueconnect_cue_observer_delete_product>
78
  </observers>
79
  </catalog_product_delete_before>
80
+ <customer_register_success>
81
+ <observers>
82
+ <cueconnect_cue_customer_register_success>
83
+ <type>singleton</type>
84
+ <class>CueConnect_Cue_Model_Observer</class>
85
+ <method>customerSaveProfile</method>
86
+ </cueconnect_cue_customer_register_success>
87
+ </observers>
88
+ </customer_register_success>
89
+ <customer_save_after>
90
+ <observers>
91
+ <cueconnect_cue_customer_save_after>
92
+ <type>singleton</type>
93
+ <class>CueConnect_Cue_Model_Observer</class>
94
+ <method>customerSaveProfile</method>
95
+ </cueconnect_cue_customer_save_after>
96
+ </observers>
97
+ </customer_save_after>
98
+ <elist_view>
99
+ <observers>
100
+ <cueconnect_cue_elist_view>
101
+ <type>singleton</type>
102
+ <class>CueConnect_Cue_Model_Observer</class>
103
+ <method>viewElist</method>
104
+ </cueconnect_cue_elist_view>
105
+ </observers>
106
+ </elist_view>
107
  </events>
108
+ <rewrite>
109
+ <elist_url>
110
+ <from><![CDATA[#^/apps/myelist(\/)*$#]]></from>
111
+ <to><![CDATA[/cueconnect/elist/index]]></to>
112
+ <complete>1</complete>
113
+ </elist_url>
114
+ </rewrite>
115
  </global>
116
  <frontend>
117
  <layout>
121
  </cueconnect>
122
  </updates>
123
  </layout>
124
+ <routers>
125
+ <cueconnect>
126
+ <use>standard</use>
127
+ <args>
128
+ <module>CueConnect_Cue</module>
129
+ <frontName>elist</frontName>
130
+ </args>
131
+ </cueconnect>
132
+ </routers>
133
+ <events>
134
+ <customer_login>
135
+ <observers>
136
+ <cueconnect_cue_customer_login>
137
+ <type>model</type>
138
+ <class>CueConnect_Cue_Model_Observer</class>
139
+ <method>customerLogin</method>
140
+ </cueconnect_cue_customer_login>
141
+ </observers>
142
+ </customer_login>
143
+ </events>
144
  </frontend>
145
  <admin>
146
  <routers>
154
  </routers>
155
  </admin>
156
  <adminhtml>
 
 
 
 
 
 
 
 
 
157
  <acl>
158
  <resources>
159
  <all>
184
  </cueconnect>
185
  </updates>
186
  </layout>
187
+ <events>
188
+ <admin_system_config_changed_section_cueconnect>
189
+ <observers>
190
+ <cueconnect_cue_version_change>
191
+ <type>singleton</type>
192
+ <class>CueConnect_Cue_Model_Observer</class>
193
+ <method>adminCueConnectUpdated</method>
194
+ </cueconnect_cue_version_change>
195
+ </observers>
196
+ </admin_system_config_changed_section_cueconnect>
197
+ <catalog_product_save_after>
198
+ <observers>
199
+ <cueconnect_cue_product_update>
200
+ <type>singleton</type>
201
+ <class>CueConnect_Cue_Model_Observer</class>
202
+ <method>adminProductUpdated</method>
203
+ </cueconnect_cue_product_update>
204
+ </observers>
205
+ </catalog_product_save_after>
206
+ </events>
207
  </adminhtml>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
  <default>
209
  <cueconnect>
210
+ <enabled>
211
+ <enabled>1</enabled>
212
+ </enabled>
213
+ <mode>
214
+ <mode>1</mode>
215
+ </mode>
216
+ <collection>
217
+ <enabled>1</enabled>
218
+ </collection>
219
+ <ob>
220
+ <enabled>1</enabled>
221
+ </ob>
222
+ <favorite>
223
+ <enabled>1</enabled>
224
+ </favorite>
225
+ <alert>
226
+ <enabled>1</enabled>
227
+ </alert>
228
  <webservice>
229
  <url>http://rapi.cueconnect.com/</url>
230
  </webservice>
231
  <taxomomy_id>fcc3465</taxomomy_id>
232
+ <image>
233
+ <width>480</width>
234
+ <height>480</height>
235
+ </image>
236
+ <path>
237
+ <elist>apps/myelist</elist>
238
+ </path>
239
+ <webhook>
240
+ <save_customer>
241
+ <url>https://business.cueconnect.com/magento/saveCustomer</url>
242
+ <key>026132282952ccf731a765413bf11ca32ccbc683ab92c7ad3171b2a0a71ef21d69d1334efcf79da5ecc2d496221e0e28ed025e71d210ebf16e70bfa338c4f2d3</key>
243
+ </save_customer>
244
+ <save_mark>
245
+ <url>https://business.cueconnect.com/magento/saveMark</url>
246
+ <key>bf83fc65e0e710e68e17c811bdb6e5d48ea2e805d8fc4af3ac9c8c428631fa044fa6509f128e6891b6d5e8df54508e045b53d95289d72f2f46d98499286772ca</key>
247
+ </save_mark>
248
+ <price_changed>
249
+ <url>https://business.cueconnect.com/magento/priceChanged</url>
250
+ <key>f7ba9544bdded1d3a1aead3cb43557b340bf69ce1919a94e7282bfe11f573c94ffc375bf778bc374677c8150ae3880e9fa1502bb5e4235d7628e1ed3e95a6895</key>
251
+ </price_changed>
252
+ <select_version>
253
+ <url>https://business.cueconnect.com/magento/selectVersion</url>
254
+ <key>a2645def81375a4f88475acc6b4b0639fd87bfaef715b828e1704f79bac6262ef0e85876dd7047765360678b3372812b5f1741b3abfe9159a3d50fe01e05d757</key>
255
+ </select_version>
256
+ </webhook>
257
  </cueconnect>
258
  </default>
259
  </config>
app/code/community/CueConnect/Cue/etc/system.xml CHANGED
@@ -7,43 +7,43 @@
7
  <frontend_type>text</frontend_type>
8
  <sort_order>300</sort_order>
9
  <show_in_default>1</show_in_default>
10
- <show_in_website>0</show_in_website>
11
  <show_in_store>1</show_in_store>
12
  <groups>
13
- <cron translate="label">
14
- <label>Cue API configuration</label>
 
15
  <frontend_type>text</frontend_type>
16
- <sort_order>2</sort_order>
17
- <show_in_default>1</show_in_default>
18
  <show_in_website>0</show_in_website>
19
- <show_in_store>0</show_in_store>
20
  <fields>
21
- <enabled translate="label">
22
- <label>Auto-sync</label>
23
- <comment>Update Cue catalog automatically</comment>
24
- <tooltip>If this option is enabled, Cue catalog will be updated automatically everyday. Please make sure that cron is configured for this Magento instance.</tooltip>
25
- <show_in_default>1</show_in_default>
26
- <show_in_website>1</show_in_website>
27
  <show_in_store>1</show_in_store>
28
- <frontend_type>select</frontend_type>
29
- <source_model>adminhtml/system_config_source_yesno</source_model>
30
- <sort_order>1</sort_order>
31
- </enabled>
32
  </fields>
33
- </cron>
34
  <enabled translate="label">
35
- <label>Enable Cue for this store</label>
 
36
  <frontend_type>text</frontend_type>
37
- <sort_order>0</sort_order>
38
  <show_in_default>0</show_in_default>
39
  <show_in_website>0</show_in_website>
40
  <show_in_store>1</show_in_store>
41
  <fields>
42
  <enabled translate="label">
43
  <label>Enabled</label>
44
- <tooltip>Enable Cue for this store</tooltip>
45
- <show_in_default>1</show_in_default>
46
- <show_in_website>1</show_in_website>
47
  <show_in_store>1</show_in_store>
48
  <frontend_type>select</frontend_type>
49
  <source_model>adminhtml/system_config_source_yesno</source_model>
@@ -51,59 +51,61 @@
51
  </enabled>
52
  </fields>
53
  </enabled>
54
- <credentials translate="label">
55
- <label>Cue credentials</label>
 
 
 
56
  <frontend_type>text</frontend_type>
57
- <sort_order>1</sort_order>
58
  <show_in_default>0</show_in_default>
59
  <show_in_website>0</show_in_website>
60
  <show_in_store>1</show_in_store>
61
  <fields>
62
- <login translate="label">
63
- <label>E-mail</label>
64
- <tooltip>This field is required.</tooltip>
65
- <show_in_default>1</show_in_default>
66
- <show_in_website>1</show_in_website>
67
- <show_in_store>1</show_in_store>
68
- <frontend_type>text</frontend_type>
69
  <sort_order>1</sort_order>
70
- <validate>validate-email</validate>
71
- </login>
72
- <password translate="label">
73
- <label>Password</label>
74
- <tooltip>This field is required.</tooltip>
75
- <show_in_default>1</show_in_default>
76
- <show_in_website>1</show_in_website>
77
  <show_in_store>1</show_in_store>
78
- <frontend_type>password</frontend_type>
79
- <sort_order>2</sort_order>
80
- </password>
81
- <api_key translate="label">
82
- <label>API key</label>
83
- <tooltip>Get your Cue API key from your Merchant Hub account</tooltip>
84
- <show_in_default>1</show_in_default>
85
- <show_in_website>1</show_in_website>
 
 
 
 
 
 
 
 
86
  <show_in_store>1</show_in_store>
87
- <frontend_type>text</frontend_type>
88
- <sort_order>3</sort_order>
89
- </api_key>
 
90
  </fields>
91
- </credentials>
92
  <ob translate="label">
93
- <label>Share</label>
94
- <comment><![CDATA[<p>This setting enables/disables the automatic "Share" link insertion in the product details page. This link is added at the bottom of the details section.<br>If you wish to manually place the "Share" link, disable this setting and follow the steps in the Manual Setup Instructions section below in this page.</p>]]></comment>
95
  <frontend_type>text</frontend_type>
96
- <sort_order>2</sort_order>
97
  <show_in_default>0</show_in_default>
98
  <show_in_website>0</show_in_website>
99
  <show_in_store>1</show_in_store>
100
  <fields>
101
  <enabled translate="label">
102
- <label>Enabled</label>
103
- <comment>Enable automatic "Share" link insertion</comment>
104
- <tooltip>Set this to No for manual setup.</tooltip>
105
- <show_in_default>1</show_in_default>
106
- <show_in_website>1</show_in_website>
107
  <show_in_store>1</show_in_store>
108
  <frontend_type>select</frontend_type>
109
  <source_model>adminhtml/system_config_source_yesno</source_model>
@@ -112,20 +114,18 @@
112
  </fields>
113
  </ob>
114
  <favorite translate="label">
115
- <label>Favorite</label>
116
- <comment><![CDATA[<p>This setting enables/disables the automatic "Favorite" link insertion in the product details page. This link is added at the bottom of the details section.<br>If you wish to manually place the "Favorite" link, disable this setting and follow the steps in the Manual Setup Instructions section below in this pages.</p>]]></comment>
117
  <frontend_type>text</frontend_type>
118
- <sort_order>3</sort_order>
119
  <show_in_default>0</show_in_default>
120
  <show_in_website>0</show_in_website>
121
  <show_in_store>1</show_in_store>
122
  <fields>
123
  <enabled translate="label">
124
- <label>Enabled</label>
125
- <comment>Enable automatic "Favorite" link insertion</comment>
126
- <tooltip>Set this to No for manual setup.</tooltip>
127
- <show_in_default>1</show_in_default>
128
- <show_in_website>1</show_in_website>
129
  <show_in_store>1</show_in_store>
130
  <frontend_type>select</frontend_type>
131
  <source_model>adminhtml/system_config_source_yesno</source_model>
@@ -133,34 +133,35 @@
133
  </enabled>
134
  </fields>
135
  </favorite>
136
- <collection translate="label">
137
- <label>My Cue</label>
138
- <comment><![CDATA[<p>This setting enables/disables the automatic "My Cue" link insertion in the header.<br>If you wish to manually place the "My Cue" link, disable this setting and follow the steps in the Manual Setup Instructions section below in this page.</p>]]></comment>
139
  <frontend_type>text</frontend_type>
140
- <sort_order>4</sort_order>
141
  <show_in_default>0</show_in_default>
142
- <show_in_website>1</show_in_website>
143
  <show_in_store>1</show_in_store>
144
  <fields>
145
  <enabled translate="label">
146
- <label>Enabled</label>
147
- <comment>Enable automatic "My Cue" link insertion</comment>
148
- <tooltip>Set this to No for manual setup. Visit our extension's user guide to personalize "My Cue" link display.</tooltip>
149
- <show_in_default>1</show_in_default>
150
- <show_in_website>1</show_in_website>
151
  <show_in_store>1</show_in_store>
152
  <frontend_type>select</frontend_type>
153
  <source_model>adminhtml/system_config_source_yesno</source_model>
154
  <sort_order>1</sort_order>
155
  </enabled>
156
  </fields>
157
- </collection>
 
158
  <setup translate="label">
159
  <label>Manual Setup Instructions</label>
160
  <comment><![CDATA[
161
- <strong>Step 1. Enabling 'Cue' application on your site</strong>
162
 
163
- <p>Copy the &lt;a&gt; tag and paste it in the theme's source code where you wish the 'My Cue' link to appear:</p>
 
 
 
164
 
165
  <div class="reg_main" style="padding:0 20px;margin-bottom: 20px">
166
  <textarea readonly="readonly" style="width: 80%; height: 50px;">
@@ -174,36 +175,51 @@
174
  We recommend that you place the link in your header or menu.<br>You can replace the &lt;a&gt; by any HTML tag that fits your design best.
175
  </div>
176
 
177
- <strong>Step 2. Implement share and 'Favorite' buttons</strong>
178
 
179
- <p>Copy the &lt;div&gt; tag and place it on item detail page where you want share and 'Favorite' buttons to appear in the page.</p>
180
 
181
  <div class="reg_main" style="padding:0 20px;margin-bottom: 20px">
182
  <textarea readonly="readonly" style="width: 80%; height: 60px;">
183
 
184
  <div class="cue-onebutton" data-imisku="<?php echo $this->htmlEscape($_product->getSku()) ?>"></div>
185
- <div class="cue-cueit" data-imisku="<?php echo $this->htmlEscape($_product->getSku()) ?>"></div>
186
- <div class="cue-learnmore"></div>
187
 
188
  </textarea>
189
  </div>
190
 
191
- <p>Please also note that you can manuallly set up the "Share" and "Favorite" links separately from each other. For example, you can set "Share" to be automatically created by the extension (set "Enabled" to "Yes" in the "Share" tab), and place "Favorite" wherever you wish in your page by setting "Enabled" to "No" in the "Favorite" tab and then copying the corresponding "div" tag in your theme source code:</p>
 
 
 
 
 
192
 
193
  <div class="reg_main" style="padding:0 20px;margin-bottom: 20px">
194
- <textarea readonly="readonly" style="width: 80%; height: 50px;">
 
195
 
196
  <div class="cue-cueit" data-imisku="<?php echo $this->htmlEscape($_product->getSku()) ?>"></div>
197
 
198
- </textarea>
199
  </div>
200
 
201
- <div style="padding:0 20px;margin-bottom: 20px; color: blue; font-size: 12px;">Tip: <br>
202
- After you install Cue's social sharing utility, we recommend to remove your existing social buttons/features.<br>
 
 
 
 
 
 
 
 
 
 
 
203
  </div>
204
  ]]></comment>
205
  <frontend_type>text</frontend_type>
206
- <sort_order>5</sort_order>
207
  <show_in_default>0</show_in_default>
208
  <show_in_website>0</show_in_website>
209
  <show_in_store>1</show_in_store>
7
  <frontend_type>text</frontend_type>
8
  <sort_order>300</sort_order>
9
  <show_in_default>1</show_in_default>
10
+ <show_in_website>1</show_in_website>
11
  <show_in_store>1</show_in_store>
12
  <groups>
13
+ <credentials translate="label">
14
+ <label>Cue API Key</label>
15
+ <comment><![CDATA[<p>Get your Cue API key from your Merchant Hub account under the Code Implementation section.</p>]]></comment>
16
  <frontend_type>text</frontend_type>
17
+ <sort_order>1</sort_order>
18
+ <show_in_default>0</show_in_default>
19
  <show_in_website>0</show_in_website>
20
+ <show_in_store>1</show_in_store>
21
  <fields>
22
+ <api_key translate="label">
23
+ <label>API key</label>
24
+ <tooltip>Get your Cue API key from your Merchant Hub account.</tooltip>
25
+ <show_in_default>0</show_in_default>
26
+ <show_in_website>0</show_in_website>
 
27
  <show_in_store>1</show_in_store>
28
+ <frontend_type>text</frontend_type>
29
+ <sort_order>3</sort_order>
30
+ </api_key>
 
31
  </fields>
32
+ </credentials>
33
  <enabled translate="label">
34
+ <label>Enable e-List for this store</label>
35
+ <comment><![CDATA[<p>When &quot;e-List&quot; is enabled, magento's native wishlist will be disabled and customers' saved items are transfered to &quot;e-List&quot;.</p>]]></comment>
36
  <frontend_type>text</frontend_type>
37
+ <sort_order>2</sort_order>
38
  <show_in_default>0</show_in_default>
39
  <show_in_website>0</show_in_website>
40
  <show_in_store>1</show_in_store>
41
  <fields>
42
  <enabled translate="label">
43
  <label>Enabled</label>
44
+ <tooltip>Enable e-List for this store</tooltip>
45
+ <show_in_default>0</show_in_default>
46
+ <show_in_website>0</show_in_website>
47
  <show_in_store>1</show_in_store>
48
  <frontend_type>select</frontend_type>
49
  <source_model>adminhtml/system_config_source_yesno</source_model>
51
  </enabled>
52
  </fields>
53
  </enabled>
54
+
55
+
56
+ <mode translate="label">
57
+ <label>e-List Version</label>
58
+ <comment><![CDATA[<p>Available in two versions: a customizable widget or enterprise fully integrated that works seamlessly with your existing Customer Account and Profile.</p><p><strong>Standalone Widget:</strong> e-List technology is deployed on a standalone widget. Shoppers will opt into this service by signing up through the e-list login popup modal.</p><p><strong>Fully Integrated:</strong> works seamlessly with your existing Customer Account and Profile. Shoppers simply need to create an account with your store to have access to e-List capabilities.</p>]]></comment>
59
  <frontend_type>text</frontend_type>
60
+ <sort_order>3</sort_order>
61
  <show_in_default>0</show_in_default>
62
  <show_in_website>0</show_in_website>
63
  <show_in_store>1</show_in_store>
64
  <fields>
65
+ <mode translate="label">
66
+ <label>Version</label>
67
+ <frontend_type>select</frontend_type>
68
+ <source_model>cueconnect/options</source_model>
 
 
 
69
  <sort_order>1</sort_order>
70
+ <show_in_default>0</show_in_default>
71
+ <show_in_website>0</show_in_website>
 
 
 
 
 
72
  <show_in_store>1</show_in_store>
73
+ </mode>
74
+ </fields>
75
+ </mode>
76
+ <collection translate="label">
77
+ <label>My e-List</label>
78
+ <comment><![CDATA[<p>The &quot;My e-List&quot; link can be automatically added to the top links or manually inserted in any location in your theme files. <br>If you wish to manually place the &quot;My e-List&quot; link, set this option to &quot;No&quot; and follow the steps in the Manual Setup Instructions section below in this page.</p>]]></comment>
79
+ <frontend_type>text</frontend_type>
80
+ <sort_order>4</sort_order>
81
+ <show_in_default>0</show_in_default>
82
+ <show_in_website>0</show_in_website>
83
+ <show_in_store>1</show_in_store>
84
+ <fields>
85
+ <enabled translate="label">
86
+ <label>Automatic</label>
87
+ <show_in_default>0</show_in_default>
88
+ <show_in_website>0</show_in_website>
89
  <show_in_store>1</show_in_store>
90
+ <frontend_type>select</frontend_type>
91
+ <source_model>adminhtml/system_config_source_yesno</source_model>
92
+ <sort_order>1</sort_order>
93
+ </enabled>
94
  </fields>
95
+ </collection>
96
  <ob translate="label">
97
+ <label>Share Button</label>
98
+ <comment><![CDATA[<p>The &quot;Share&quot; button can be automatically added or manually inserted into the product page.<br>If you wish to manually place the &quot;Share&quot; button, set this option to &quot;No&quot; and follow the steps in the Manual Setup Instructions section below in this page.</p>]]></comment>
99
  <frontend_type>text</frontend_type>
100
+ <sort_order>5</sort_order>
101
  <show_in_default>0</show_in_default>
102
  <show_in_website>0</show_in_website>
103
  <show_in_store>1</show_in_store>
104
  <fields>
105
  <enabled translate="label">
106
+ <label>Automatic</label>
107
+ <show_in_default>0</show_in_default>
108
+ <show_in_website>0</show_in_website>
 
 
109
  <show_in_store>1</show_in_store>
110
  <frontend_type>select</frontend_type>
111
  <source_model>adminhtml/system_config_source_yesno</source_model>
114
  </fields>
115
  </ob>
116
  <favorite translate="label">
117
+ <label>Add to Wishlist Link</label>
118
+ <comment><![CDATA[<p>The &quot;Add to Wishlist&quot; link can be automatically added or manually inserted into the product page.<br>If you wish to manually place the &quot;Add to Wishlist&quot; link, set this option to &quot;No&quot; and follow the steps in the Manual Setup Instructions section below in this page.</p>]]></comment>
119
  <frontend_type>text</frontend_type>
120
+ <sort_order>6</sort_order>
121
  <show_in_default>0</show_in_default>
122
  <show_in_website>0</show_in_website>
123
  <show_in_store>1</show_in_store>
124
  <fields>
125
  <enabled translate="label">
126
+ <label>Automatic</label>
127
+ <show_in_default>0</show_in_default>
128
+ <show_in_website>0</show_in_website>
 
 
129
  <show_in_store>1</show_in_store>
130
  <frontend_type>select</frontend_type>
131
  <source_model>adminhtml/system_config_source_yesno</source_model>
133
  </enabled>
134
  </fields>
135
  </favorite>
136
+ <alert translate="label">
137
+ <label>Price Alert</label>
138
+ <comment><![CDATA[<p>The &quot;Price Alert&quot; link can be automatically added or manually inserted into the product page.<br>If you wish to manually place the &quot;Price Alert&quot; link, set this option to &quot;No&quot; and follow the steps in the Manual Setup Instructions section below in this page.</p>]]></comment>
139
  <frontend_type>text</frontend_type>
140
+ <sort_order>7</sort_order>
141
  <show_in_default>0</show_in_default>
142
+ <show_in_website>0</show_in_website>
143
  <show_in_store>1</show_in_store>
144
  <fields>
145
  <enabled translate="label">
146
+ <label>Automatic</label>
147
+ <show_in_default>0</show_in_default>
148
+ <show_in_website>0</show_in_website>
 
 
149
  <show_in_store>1</show_in_store>
150
  <frontend_type>select</frontend_type>
151
  <source_model>adminhtml/system_config_source_yesno</source_model>
152
  <sort_order>1</sort_order>
153
  </enabled>
154
  </fields>
155
+ </alert>
156
+
157
  <setup translate="label">
158
  <label>Manual Setup Instructions</label>
159
  <comment><![CDATA[
 
160
 
161
+ <strong>Step 1. 'My e-List' link setup</strong>
162
+
163
+
164
+ <p>Copy the &lt;a&gt; tag and paste it in the theme's source code where you wish the 'My e-List' link to appear:</p>
165
 
166
  <div class="reg_main" style="padding:0 20px;margin-bottom: 20px">
167
  <textarea readonly="readonly" style="width: 80%; height: 50px;">
175
  We recommend that you place the link in your header or menu.<br>You can replace the &lt;a&gt; by any HTML tag that fits your design best.
176
  </div>
177
 
178
+ <strong>Step 2. Implement the 'Share' button</strong>
179
 
180
+ <p>Copy the &lt;div&gt; tag and insert it in your product's html page, where you wish the button to appear.</p>
181
 
182
  <div class="reg_main" style="padding:0 20px;margin-bottom: 20px">
183
  <textarea readonly="readonly" style="width: 80%; height: 60px;">
184
 
185
  <div class="cue-onebutton" data-imisku="<?php echo $this->htmlEscape($_product->getSku()) ?>"></div>
 
 
186
 
187
  </textarea>
188
  </div>
189
 
190
+
191
+ <strong>Step 3. Implement the 'Add to Wishlist' link</strong>
192
+
193
+
194
+ <p>Copy the &lt;div&gt; tag and insert it in your product's html page, where you wish the link to appear.</p>
195
+
196
 
197
  <div class="reg_main" style="padding:0 20px;margin-bottom: 20px">
198
+ <textarea readonly="readonly" style="width: 80%; height: 60px;">
199
+
200
 
201
  <div class="cue-cueit" data-imisku="<?php echo $this->htmlEscape($_product->getSku()) ?>"></div>
202
 
203
+ </textarea>
204
  </div>
205
 
206
+ <strong>Step 4. Implement the 'Price Alert' link</strong>
207
+
208
+
209
+ <p>Copy the &lt;div&gt; tag and insert it in your product's html page, where you wish the link to appear.</p>
210
+
211
+
212
+ <div class="reg_main" style="padding:0 20px;margin-bottom: 20px">
213
+ <textarea readonly="readonly" style="width: 80%; height: 60px;">
214
+
215
+
216
+ <div class="cue-learnmore"></div>
217
+
218
+ </textarea>
219
  </div>
220
  ]]></comment>
221
  <frontend_type>text</frontend_type>
222
+ <sort_order>8</sort_order>
223
  <show_in_default>0</show_in_default>
224
  <show_in_website>0</show_in_website>
225
  <show_in_store>1</show_in_store>
app/code/community/CueConnect/Cue/sql/cueconnect_setup/mysql4-install-1.0.0.php DELETED
@@ -1,15 +0,0 @@
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
- ");
14
-
15
- $installer->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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/adminhtml/default/default/layout/cueconnect.xml DELETED
@@ -1,10 +0,0 @@
1
- <?xml version="1.0"?>
2
- <layout version="0.1.0">
3
- <cueconnect_adminhtml_sync_index>
4
- <reference name="content">
5
- <block type="cueconnect/adminhtml_index" name="index" template="cueconnect/index.phtml">
6
- <block type="cueconnect/adminhtml_progress" name="progress" template="cueconnect/progress.phtml" />
7
- </block>
8
- </reference>
9
- </cueconnect_adminhtml_sync_index>
10
- </layout>
 
 
 
 
 
 
 
 
 
 
app/design/adminhtml/default/default/template/cueconnect/index.phtml DELETED
@@ -1,71 +0,0 @@
1
- <div class="content-header">
2
- <table cellspacing="0" class="grid-header">
3
- <tr>
4
- <td><h3>Cue</h3></td>
5
- <td class="a-right">
6
- <button style="" onclick="setLocation('<?php echo Mage::helper("adminhtml")->getUrl('cueconnect/adminhtml_sync/export'); ?>')" class="scalable" type="button" title="Export catalog to Cue">
7
- <span><span><span>Export catalog to Cue</span></span></span>
8
- </button>
9
- </td>
10
- </tr>
11
- </table>
12
- </div>
13
-
14
- <div class="entry-edit">
15
- <div class="entry-edit-head">
16
- <h4 class="icon-head head-customer-view">Last or current export</h4>
17
- </div>
18
-
19
- <fieldset>
20
- <?php echo $this->getChildHtml('progress'); ?>
21
- </fieldset>
22
- </div>
23
-
24
- <div class="entry-edit">
25
- <div class="entry-edit-head">
26
- <h4 class="icon-head head-customer-view">Scheduled manual export(s)</h4>
27
- </div>
28
-
29
- <fieldset>
30
- <?php $demands = $this->getDemands(); ?>
31
- <?php if (count($demands)): ?>
32
- <table cellspacing="0" style="width: 100%;">
33
- <thead>
34
- <tr class="headings">
35
- <th><strong>Created</strong></th>
36
- <th><strong>Updated</strong></th>
37
- <th><strong>Status</strong></th>
38
- </tr>
39
- </thead>
40
- <tbody>
41
- <?php foreach ($demands as $demand): ?>
42
- <tr>
43
- <td><?php echo $demand->getCreatedAt(); ?></td>
44
- <td><?php echo $demand->getUpdatedAt(); ?></td>
45
- <td>
46
- <?php if ($demand->getStatus() == $demand::STATUS_WAITING): ?>
47
- <span>Awaiting</span>
48
- <?php elseif ($demand->getStatus() == $demand::STATUS_PROGRESSING): ?>
49
- <span>Progressing</span>
50
- <?php elseif ($demand->getStatus() == $demand::STATUS_DONE): ?>
51
- <span>Done</span>
52
- <?php elseif ($demand->getStatus() == $demand::STATUS_ERROR): ?>
53
- <span>Error</span>
54
- <?php endif; ?>
55
- </td>
56
- </tr>
57
- <?php endforeach; ?>
58
- </tbody>
59
- </table>
60
- <?php else: ?>
61
- <span>There is no manual exports scheduled.</span>
62
- <?php endif; ?>
63
- </fieldset>
64
- </div>
65
-
66
- <script type="text/javascript">
67
- // Refresh page to check current export
68
- new PeriodicalExecuter(function(pe) {
69
- window.location.reload();
70
- }, 10);
71
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/adminhtml/default/default/template/cueconnect/index.phtml~ DELETED
@@ -1,71 +0,0 @@
1
- <div class="content-header">
2
- <table cellspacing="0" class="grid-header">
3
- <tr>
4
- <td><h3>InMarkit</h3></td>
5
- <td class="a-right">
6
- <button style="" onclick="setLocation('<?php echo Mage::helper("adminhtml")->getUrl('inmarkit/adminhtml_sync/export'); ?>')" class="scalable" type="button" title="Export catalog to InMarkit">
7
- <span><span><span>Export catalog to InMarkit</span></span></span>
8
- </button>
9
- </td>
10
- </tr>
11
- </table>
12
- </div>
13
-
14
- <div class="entry-edit">
15
- <div class="entry-edit-head">
16
- <h4 class="icon-head head-customer-view">Last or current export</h4>
17
- </div>
18
-
19
- <fieldset>
20
- <?php echo $this->getChildHtml('progress'); ?>
21
- </fieldset>
22
- </div>
23
-
24
- <div class="entry-edit">
25
- <div class="entry-edit-head">
26
- <h4 class="icon-head head-customer-view">Scheduled manual export(s)</h4>
27
- </div>
28
-
29
- <fieldset>
30
- <?php $demands = $this->getDemands(); ?>
31
- <?php if (count($demands)): ?>
32
- <table cellspacing="0" style="width: 100%;">
33
- <thead>
34
- <tr class="headings">
35
- <th><strong>Created</strong></th>
36
- <th><strong>Updated</strong></th>
37
- <th><strong>Status</strong></th>
38
- </tr>
39
- </thead>
40
- <tbody>
41
- <?php foreach ($demands as $demand): ?>
42
- <tr>
43
- <td><?php echo $demand->getCreatedAt(); ?></td>
44
- <td><?php echo $demand->getUpdatedAt(); ?></td>
45
- <td>
46
- <?php if ($demand->getStatus() == $demand::STATUS_WAITING): ?>
47
- <span>Awaiting</span>
48
- <?php elseif ($demand->getStatus() == $demand::STATUS_PROGRESSING): ?>
49
- <span>Progressing</span>
50
- <?php elseif ($demand->getStatus() == $demand::STATUS_DONE): ?>
51
- <span>Done</span>
52
- <?php elseif ($demand->getStatus() == $demand::STATUS_ERROR): ?>
53
- <span>Error</span>
54
- <?php endif; ?>
55
- </td>
56
- </tr>
57
- <?php endforeach; ?>
58
- </tbody>
59
- </table>
60
- <?php else: ?>
61
- <span>There is no manual exports scheduled.</span>
62
- <?php endif; ?>
63
- </fieldset>
64
- </div>
65
-
66
- <script type="text/javascript">
67
- // Refresh page to check current export
68
- new PeriodicalExecuter(function(pe) {
69
- window.location.reload();
70
- }, 10);
71
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/adminhtml/default/default/template/cueconnect/progress.phtml DELETED
@@ -1,88 +0,0 @@
1
- <?php $export = $this->getLastExportProgress(); ?>
2
- <?php if ($export && is_object($export)): ?>
3
- <table cellspacing="5" class="table-stats">
4
- <tbody>
5
- <tr>
6
- <td><strong>Started :</strong></td>
7
- <td><?php echo strftime("%B, %e %G %X", strtotime($export->started_at)); ?></td>
8
- </tr>
9
- <tr>
10
- <td><strong>Status :</strong></td>
11
- <td><?php echo ucfirst($export->status); ?></td>
12
- </tr>
13
- <?php if (isset($export->message) && $export->message): ?>
14
- <tr>
15
- <td><strong>Message :</strong></td>
16
- <td><?php echo $export->message; ?></td>
17
- </tr>
18
- <?php endif; ?>
19
- <?php if (isset($export->store) && $export->store): ?>
20
- <tr>
21
- <td><strong>Store :</strong></td>
22
- <td><?php echo $export->store; ?></td>
23
- </tr>
24
- <?php endif; ?>
25
- <?php if (isset($export->end_at) && $export->end_at): ?>
26
- <tr>
27
- <td><strong>Finished :</strong></td>
28
- <td><?php echo strftime("%B, %e %G %X", strtotime($export->end_at)); ?></td>
29
- </tr>
30
- <?php endif; ?>
31
- <?php if (isset($export->total_products)): ?>
32
- <tr>
33
- <td><strong>Total products in catalog :</strong></td>
34
- <td><?php echo $export->total_products; ?></td>
35
- </tr>
36
- <tr>
37
- <td><strong>Total products created :</strong></td>
38
- <td><?php echo $export->total_products_created; ?> / <?php echo $export->total_products_to_create; ?></td>
39
- </tr>
40
- <tr>
41
- <td><strong>Total products updated :</strong></td>
42
- <td><?php echo $export->total_products_updated; ?> / <?php echo $export->total_products_to_update; ?></td>
43
- </tr>
44
- <tr>
45
- <td><strong>Total products deleted :</strong></td>
46
- <td><?php echo $export->total_products_deleted; ?> / <?php echo $export->total_products_to_delete; ?></td>
47
- </tr>
48
- <?php endif; ?>
49
- </tbody>
50
- </table>
51
-
52
- <?php if ($export->status == "progressing" || $export->status == "done"): ?>
53
- <div class="progress-bar-container">
54
- <div class="progress-bar">
55
- <div class="completion"><?php echo $export->completion; ?>%</div>
56
- </div>
57
- <div class="progress-message"><span><?php echo $export->message; ?></span></div>
58
- </div>
59
- <?php endif; ?>
60
-
61
- <style>
62
- .table-stats {
63
- margin-bottom: 10px;
64
- }
65
- .progress-bar-container .progress-bar {
66
- width: 100%;
67
- height: 30px;
68
- line-height: 30px;
69
- border: solid 1px #333333;
70
- background: #ffffff;
71
- }
72
- .progress-bar-container .progress-bar .completion {
73
- background: #009900;
74
- width: <?php echo $export->completion; ?>%;
75
- text-align: center;
76
- color: #ffffff;
77
- font-weight: bold;
78
- }
79
- .progress-bar-container .progress-message {
80
- margin-top: 5px;
81
- text-align: center;
82
- font-style: italic;
83
- }
84
- </style>
85
- <?php else: ?>
86
- <span>Unable to find any export log.</span>
87
- <?php endif; ?>
88
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 e-List</label>
53
+ <url>cueconnect/elist</url>
54
+ <title>My e-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
Binary file
app/design/frontend/base/default/template/cueconnect/._collection.phtml ADDED
Binary file
app/design/frontend/base/default/template/cueconnect/._customer ADDED
Binary file
app/design/frontend/base/default/template/cueconnect/._elist.phtml ADDED
Binary file
app/design/frontend/base/default/template/cueconnect/._favorite.phtml ADDED
Binary file
app/design/frontend/base/default/template/cueconnect/._js.phtml ADDED
Binary file
app/design/frontend/base/default/template/cueconnect/._links.phtml ADDED
Binary file
app/design/frontend/base/default/template/cueconnect/._meta.phtml ADDED
Binary file
app/design/frontend/base/default/template/cueconnect/._share.phtml ADDED
Binary file
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 ADDED
Binary file
app/design/frontend/base/default/template/cueconnect/customer/form/._forgotpassword.phtml ADDED
Binary file
app/design/frontend/base/default/template/cueconnect/customer/form/._login.phtml ADDED
Binary file
app/design/frontend/base/default/template/cueconnect/customer/form/._register.phtml ADDED
Binary file
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('*/*/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,173 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // CP
3
+ if (($this->getMode() == 2) && $this->getRetailerId() && $this->isEnabled()) :
4
+ // signed in so show elist
5
+ if ($this->getCustomerEmail()):
6
+ ?>
7
+ <iframe id="streamIFrame" name="streamIFrame" src="https://www.cueconnect.com/poweredby/<?php echo $this->getRetailerId() ?>/?origin=<?php echo Mage::getBaseUrl(); ?>&amp;version=embed&amp;from=stream&amp;email=<?php echo $this->getCustomerEmail() ?>" height="640px" width="100%" scrolling="no"></iframe>
8
+ <?php
9
+ // show prelogin
10
+ else:
11
+ ?>
12
+ <!-- BEGIN Cue e-List -->
13
+ <style>
14
+ iframe {border: none;}
15
+ #cue-magento-forms-container{
16
+ display: block;
17
+ width: 100%;
18
+ padding: 30px 0 100px 0;
19
+ margin: auto;
20
+ max-width: 1000px;
21
+ }
22
+ .cue-auth-and-info-container{
23
+ display: table;
24
+ width: 100%
25
+ }
26
+ .cue-auth-container{
27
+ display: table-cell;
28
+ width: 50%;
29
+ text-align: left;
30
+ }
31
+ .cue-info-container{
32
+ display: table-cell;
33
+ width: 50%;
34
+ text-align: left;
35
+ }
36
+ .cue-form-container{
37
+ width: 100%;
38
+ margin: auto;
39
+ }
40
+ .cue-form-container .account-login .content{
41
+ min-height: auto !important;
42
+ }
43
+ .cue-form-container .form-list .input-box {
44
+ width:90% ;
45
+ max-width:260px;
46
+ }
47
+ .cue-form-container .buttons-set {
48
+ margin-top: 0 !important;
49
+ background: #dee5e8;
50
+ }
51
+ .cue-forgot-pswd-container{
52
+ width: 100%;
53
+ margin: auto;
54
+ }
55
+ .cue-form-input{
56
+ width: 96% !important;
57
+ }
58
+ .cue-secondary-button{
59
+ border: none;
60
+ background-color: transparent;
61
+ }
62
+ #cue-show-signup{
63
+ padding: 20px 0;
64
+ width: 100%;
65
+ margin: auto;
66
+ }
67
+ .cue-title{
68
+ line-height: normal;
69
+ }
70
+ .cue-forgot-pswd{
71
+ display: inline-block;
72
+ margin: 10px 0;
73
+ }
74
+ @media screen and (max-width: 798px){
75
+ .cue-auth-container{
76
+ display: block;
77
+ width: 100%;
78
+ }
79
+ .cue-info-container{
80
+ display: block;
81
+ width: 100%;
82
+ }
83
+ }
84
+ </style>
85
+
86
+ <!-- user is not authenticated -->
87
+ <div id="cue-magento-forms-container">
88
+ <div class="cue-auth-and-info-container">
89
+ <div class="cue-info-container">
90
+ <div style="margin: auto;max-width: 400px;">
91
+ <h2 class="title cue-title">Welcome to My e-List</h2>
92
+
93
+ <p style="padding: 12px 0 12px 0;">Everything you care about in one place. Built just for you.</p>
94
+ <ul style="margin: auto;display: inline-block;text-align: left;padding: 0 0 0 20px;line-height: 2;">
95
+ <li>Wishlist items</li>
96
+ <li>Shares and Posts you want to remember</li>
97
+ <li>Price Alerts on items you care about</li>
98
+ <li>Special offers and rewards</li>
99
+ <li>Always on, always available</li>
100
+ </ul>
101
+ <p style="padding: 50px 0 50px 0;">Goodbye forgetting. Hello remembering</p>
102
+ </div>
103
+ </div>
104
+
105
+ <div class="cue-auth-container">
106
+ <!-- register form START -->
107
+ <div id="customer-register" class="cue-form-container" style="display: none;">
108
+ <div class="">
109
+ <div id="register" class="">
110
+ <h2 class="title cue-title">Create Account</h2>
111
+
112
+ <?php echo $this->getChildHtml('customer_form_register') ?>
113
+ </div><!-- #register -->
114
+ </div><!-- .row -->
115
+ </div><!-- #customer-register -->
116
+ <!-- register form END -->
117
+
118
+
119
+ <!-- login form START -->
120
+ <div id="customer-login" class="cue-form-container">
121
+ <div class="">
122
+ <div id="login" class="">
123
+ <h2 class="title cue-title">Login</h2>
124
+ <?php echo $this->getChildHtml('customer_form_login') ?>
125
+ </div>
126
+
127
+ <div id="recover-password" style="display:none;width: 100% !important;" class="cue-forgot-pswd-container">
128
+ <?php echo $this->getChildHtml('forgotPassword') ?>
129
+ </div>
130
+ </div>
131
+ </div>
132
+
133
+ <script type="text/javascript">
134
+ function showRecoverPasswordForm() {
135
+ document.getElementById('recover-password').style.display = 'block';
136
+ document.getElementById('login').style.display='none';
137
+ }
138
+
139
+ function hideRecoverPasswordForm() {
140
+ document.getElementById('recover-password').style.display = 'none';
141
+ document.getElementById('login').style.display = 'block';
142
+ }
143
+
144
+ if (window.location.hash == '#recover') { showRecoverPasswordForm() }
145
+ </script>
146
+ <!-- login form END -->
147
+
148
+ <p id="cue-show-signup" >Don't have an account? <a href="#" onclick="cueShowSignup();return false;">Sign up</a></p>
149
+
150
+ <script>
151
+ function cueShowSignup(){
152
+ document.getElementById('cue-show-signup').style.display = 'none';
153
+ document.getElementById('customer-login').style.display = 'none';
154
+ document.getElementById('customer-register').style.display = 'block';
155
+ console.log(this);
156
+ }
157
+
158
+ function cueShowSignin(){
159
+ document.getElementById('customer-register').style.display = 'none';
160
+ document.getElementById('customer-login').style.display = 'block';
161
+ document.getElementById('cue-show-signup').style.display = 'block';
162
+ }
163
+
164
+ var pid = <?php echo ($this->getRetailerId()) ? $this->getRetailerId() : 0 ; ?>;
165
+ </script>
166
+ </div>
167
+ </div>
168
+ </div>
169
+ <!-- END Cue e-List -->
170
+ <?php
171
+ endif;
172
+ endif;
173
+ ?>
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/{rwd → base}/default/template/cueconnect/js.phtml RENAMED
@@ -4,14 +4,11 @@
4
  function executeOnLoad(script) {
5
  var script = script || this;
6
  if (!script.readyState || script.readyState == "loaded" || script.readyState == "complete") {
7
- CUE({
8
- 'retailId': <?php echo $this->getRetailerId(); ?>,
9
- 'apiKey': '<?php echo $this->getApiKey(); ?>'
10
- });
11
  }
12
  }
13
  var scriptElement = document.createElement('script');
14
- scriptElement.setAttribute('src', "http://it-stream.cueconnect.net/js/cue-seed.js");
15
  scriptElement.setAttribute('onload', 'executeOnLoad.apply(this)');
16
  scriptElement.setAttribute('onreadystatechange', 'executeOnLoad.apply(this)');
17
  document.body.appendChild(scriptElement);
4
  function executeOnLoad(script) {
5
  var script = script || this;
6
  if (!script.readyState || script.readyState == "loaded" || script.readyState == "complete") {
7
+ CUE({'retailId': <?php echo $this->getRetailerId(); ?>, 'apiKey': '<?php echo $this->getApiKey(); ?>', 'cid': <?php echo $this->getCID(); ?>, 'path': '<?php echo $this->getElistPath() ?>'});
 
 
 
8
  }
9
  }
10
  var scriptElement = document.createElement('script');
11
+ scriptElement.setAttribute('src', "https://stream.cueconnect.com/js/cue-seed.js");
12
  scriptElement.setAttribute('onload', 'executeOnLoad.apply(this)');
13
  scriptElement.setAttribute('onreadystatechange', 'executeOnLoad.apply(this)');
14
  document.body.appendChild(scriptElement);
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,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ($this->isEnabled() && $this->getRetailerId()):
3
+ $productInfo = $this->getProductData();
4
+
5
+ if ($productInfo):
6
+ ?>
7
+ <meta name="cue:name" content="<?php echo $productInfo['name'] ?>" />
8
+ <meta name="cue:description" content="<?php echo $productInfo['description'] ?>" />
9
+ <meta name="cue:image_url" content="<?php echo $productInfo['picture'] ?>" />
10
+ <meta name="cue:sku" content="<?php echo $productInfo['sku'] ?>" />
11
+ <meta name="cue:brand" content="<?php echo $productInfo['brand'] ?>" />
12
+ <meta name="cue:url" content="<?php echo $productInfo['url'] ?>" />
13
+ <meta name="cue:price" content="<?php echo $productInfo['price'] ?>" />
14
+ <meta name="cue:currency" content="<?php echo $productInfo['currency'] ?>" />
15
+ <meta name="cue:product_type" content="" />
16
+ <?php
17
+ endif;
18
+ endif;
19
+ ?>
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/design/frontend/rwd/default/layout/cueconnect.xml DELETED
@@ -1,23 +0,0 @@
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
- </reference>
9
- </reference>
10
- </catalog_product_view>
11
- <default>
12
- <reference name="root">
13
- <reference name="header">
14
- <reference name="top.container">
15
- <block type="cueconnect/collection" name="cueconnect.button.collection" template="cueconnect/collection.phtml" />
16
- </reference>
17
- </reference>
18
- <reference name="after_body_start">
19
- <block type="cueconnect/js" name="cueconnect.js" template="cueconnect/js.phtml" />
20
- </reference>
21
- </reference>
22
- </default>
23
- </layout>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/rwd/default/template/cueconnect/collection.phtml DELETED
@@ -1,6 +0,0 @@
1
- <?php if ($this->isEnabled() && $this->isCollectionEnabled()): ?>
2
- <div id="cue-stream-container" style="float: right;">
3
- <a class="cue-stream"></a>
4
- </div>
5
- <div class="clearer"></div>
6
- <?php endif; ?>
 
 
 
 
 
 
app/design/frontend/rwd/default/template/cueconnect/favorite.phtml DELETED
@@ -1,4 +0,0 @@
1
- <?php // Todo: Rename template file name ?>
2
- <?php if ($this->isEnabled() && $this->isFavoriteEnabled()): ?>
3
- <div class="cue-cueit" data-imisku="<?php echo $this->getSku(); ?>"></div>
4
- <?php endif; ?>
 
 
 
 
app/design/frontend/rwd/default/template/cueconnect/share.phtml DELETED
@@ -1,3 +0,0 @@
1
- <?php if ($this->isEnabled() && $this->isObEnabled()): ?>
2
- <div class="cue-onebutton" style="margin-right: 15px; float: left;" data-imisku="<?php echo $this->getSku(); ?>"></div>
3
- <?php endif; ?>
 
 
 
package.xml CHANGED
@@ -1,18 +1,20 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Cue</name>
4
- <version>3.0.8</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>Fixed auto and manual sync. </notes>
 
 
12
  <authors><author><name>Cue Connect</name><user>hrais</user><email>hrais@cueconnect.com</email></author></authors>
13
- <date>2015-11-10</date>
14
- <time>18:44:53</time>
15
- <contents><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><file name="Collection.php" hash="785e2700ac012d03bdc8494012323ca3"/><file name="Favorite.php" hash="f3f1dab782d51d5d401edc9f152d167d"/><file name="Js.php" hash="32b558970a4c2be4cecc04cb38f7cd78"/><file name="Share.php" hash="4c1779b21dc9e4c35a3a5cb9a422e22b"/></dir><dir name="Helper"><file name="Data.php" hash="7a524bfb1fb35b7a9fba6089467c69a5"/></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><file name="Observer.php" hash="47532c4edc8fa72b9a8d51b6ebb64006"/><file name=".CueConnect.php.swp" hash="6563f1a641f3083c5dceca707cd9f034"/><file name=".Inmarkit.php.swp" hash="1e57142b5a69936aab17cbc6fabdd16a"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="SyncController.php" hash="c9cd0b21c257205cae0f09044ba12333"/></dir></dir><dir name="etc"><file name="config.xml" hash="f022100dbff71981e15a19f2ed21fd79"/><file name="system.xml" hash="d6e6f8f630bade35f236ee08d06903f0"/><file name=".config.xml.swp" hash="7c3ff1e6ecfc9385b61e2d46e4b5665b"/></dir><dir name="sql"><dir name="cueconnect_setup"><file name="mysql4-install-1.0.0.php" hash="04d0fbfc4e3cf302d2672521200f13e9"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="cueconnect.xml" hash="e36067cf34af305d52016ff641667619"/></dir><dir name="template"><dir name="cueconnect"><file name="index.phtml" hash="322ca20bb02790dbfcbe18e8363a9b4b"/><file name="index.phtml~" hash="935b13a4f5a8a7dbdbfdfc8b15cba1c0"/><file name="progress.phtml" hash="9afc5e3ab6950ff506e23be9b4cef5ea"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="rwd"><dir name="default"><dir name="layout"><file name="cueconnect.xml" hash="ad58b468c90f3e76a79ec869c9117cbc"/></dir><dir name="template"><dir name="cueconnect"><file name="collection.phtml" hash="64974a6c106a8c564a40b3a39212cddb"/><file name="favorite.phtml" hash="61d1cebdf01a018db58870adf24b1bff"/><file name="js.phtml" hash="b946e625fdd7887609a41d641fddb1f7"/><file name="share.phtml" hash="e50e6915c50251e412329bee085b2043"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="CueConnect_Cue.xml" hash="6bd6cf8a7f9e647dc5729e8b0a77cfa1"/></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.1.0</min><max>5.6.2</max></php><extension><name>Core</name><min/><max/></extension></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Cue</name>
4
+ <version>3.0.9</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>- e-List available in two versions: a customizable widget or enterprise fully integrated that works seamlessly with your existing Customer Account and Profile.&#xD;
12
+ - removed catalog sync.&#xD;
13
+ - bug fixes.</notes>
14
  <authors><author><name>Cue Connect</name><user>hrais</user><email>hrais@cueconnect.com</email></author></authors>
15
+ <date>2016-04-13</date>
16
+ <time>18:16:31</time>
17
+ <contents><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="260d23cb79f3ecaafd099dfdc54f2440"/><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="b47e9899847de6d7eba5b61037eabff2"/><file name="Options.php" hash="6f312d0f07fb27129c6bb8eb83fdda8c"/><file name="UserSync.php" hash="45dc5508786c1db53088f4257cd5e3bd"/><file name="WishlistSync.php" hash="4b77f0097f4ed05ea63058cc1099ce66"/><file name=".CueConnect.php.swp" hash="6563f1a641f3083c5dceca707cd9f034"/><file name=".Inmarkit.php.swp" hash="1e57142b5a69936aab17cbc6fabdd16a"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="SyncController.php" hash="c9cd0b21c257205cae0f09044ba12333"/></dir><file name="ElistController.php" hash="640114fb4c0db81cd8d557a53037d56f"/></dir><dir name="etc"><file name="config.xml" hash="43c6ff20853b3bef82082a10419df52e"/><file name="system.xml" hash="2d0b7c73ca99f2f64d7a498d6027b2c8"/><file name=".config.xml.swp" hash="7c3ff1e6ecfc9385b61e2d46e4b5665b"/></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="3e6420fa5d4300556155a8cbb02735de"/></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="6cc627d8f6f4224965c00d4f7c2fb939"/><file name="login.phtml" hash="830203b7f6a8d8647a3812b51ac45721"/><file name="register.phtml" hash="b23b45199434202d0c7f582e804fb8c1"/><file name="._forgotpassword.phtml" hash="be96eb95d99175b5d949f7522b817acf"/><file name="._login.phtml" hash="c3985224f945021e0b551663a0777474"/><file name="._register.phtml" hash="1887ac812b9ec145125dd7d880a52d64"/></dir><file name="._form" hash="8b450f16a603208d111eb82066ebf4da"/></dir><file name="elist.phtml" hash="3ed94664554464a5fca29422c7f807d9"/><file name="favorite.phtml" hash="89f0bca645d6f81e2a3c3cf375c5d44e"/><file name="js.phtml" hash="4c48daf984c8598263f29370bb0aad2a"/><file name="links.phtml" hash="b5567bf97bd53184fb84e23c73ab4778"/><file name="meta.phtml" hash="e58be8efa734b25a51716f745fd176b3"/><file name="share.phtml" hash="781d6414c1b41f3bdb2a5befc8817463"/><file name="._alert.phtml" hash="0d8035019776f8a22ac30d1d777d85f7"/><file name="._collection.phtml" hash="5f1b28e5f96c323e841435866397a2b2"/><file name="._customer" hash="3c79ef325dc3238c90a5f4859e12e4f4"/><file name="._elist.phtml" hash="a522791cf7aceb3203a1cae3709d1a29"/><file name="._favorite.phtml" hash="f22bbcd7505590884d3ecb8d694e4107"/><file name="._js.phtml" hash="509cf56063f3e46bd13b91d0265d5424"/><file name="._links.phtml" hash="f57f7ec8ab261aebddeb44b469585293"/><file name="._meta.phtml" hash="ce401a5bf24cb6796595406e718e7790"/><file name="._share.phtml" hash="ef2618187f061333b7f4b75d4bce2942"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="CueConnect_Cue.xml" hash="6bd6cf8a7f9e647dc5729e8b0a77cfa1"/></dir></target></contents>
18
  <compatible/>
19
  <dependencies><required><php><min>5.1.0</min><max>5.6.2</max></php><extension><name>Core</name><min/><max/></extension></required></dependencies>
20
  </package>