Version Notes
- removed catalog sync
- bug fixes.
Download this release
Release Info
Developer | Cue Connect |
Extension | Cue |
Version | 3.0.11 |
Comparing to | |
See all releases |
Code changes from version 3.0.10 to 3.0.11
- app/code/community/CueConnect/Cue/Block/Adminhtml/Catalog/Product.php +30 -0
- app/code/community/CueConnect/Cue/Block/Adminhtml/Index.php +29 -0
- app/code/community/CueConnect/Cue/Block/Adminhtml/Progress.php +56 -0
- app/code/community/CueConnect/Cue/Block/Adminhtml/System/Config/.DS_Store +0 -0
- app/code/community/CueConnect/Cue/Block/Adminhtml/System/Config/._.DS_Store +0 -0
- app/code/community/CueConnect/Cue/Block/Adminhtml/System/Config/Form/Field/Readonly.php +18 -0
- app/code/community/CueConnect/Cue/Block/Alert.php +17 -0
- app/code/community/CueConnect/Cue/Block/BaseCueBlock.php +102 -0
- app/code/community/CueConnect/Cue/Block/Collection.php +23 -0
- app/code/community/CueConnect/Cue/Block/Elist.php +38 -0
- app/code/community/CueConnect/Cue/Block/Favorite.php +17 -0
- app/code/community/CueConnect/Cue/Block/Js.php +14 -0
- app/code/community/CueConnect/Cue/Block/Meta.php +44 -0
- app/code/community/CueConnect/Cue/Block/Navigation.php +28 -0
- app/code/community/CueConnect/Cue/Block/Share.php +17 -0
- app/code/community/CueConnect/Cue/Helper/Data.php +290 -0
- app/code/community/CueConnect/Cue/Helper/Wishlist/Data.php +41 -0
- app/code/community/CueConnect/Cue/Model/.CueConnect.php.swp +0 -0
- app/code/community/CueConnect/Cue/Model/.Inmarkit.php.swp +0 -0
- app/code/community/CueConnect/Cue/Model/CueConnect.php +297 -0
- app/code/community/CueConnect/Cue/Model/Demand.php +24 -0
- app/code/community/CueConnect/Cue/Model/Mysql4/Demand.php +18 -0
- app/code/community/CueConnect/Cue/Model/Mysql4/Demand/Collection.php +18 -0
- app/code/community/CueConnect/Cue/Model/Mysql4/UserSync.php +18 -0
- app/code/community/CueConnect/Cue/Model/Mysql4/UserSync/Collection.php +18 -0
- app/code/community/CueConnect/Cue/Model/Mysql4/WishlistSync.php +18 -0
- app/code/community/CueConnect/Cue/Model/Mysql4/WishlistSync/Collection.php +18 -0
- app/code/community/CueConnect/Cue/Model/Observer.php +643 -0
- app/code/community/CueConnect/Cue/Model/Options.php +21 -0
- app/code/community/CueConnect/Cue/Model/UserSync.php +23 -0
- app/code/community/CueConnect/Cue/Model/WishlistSync.php +23 -0
- app/code/community/CueConnect/Cue/controllers/Adminhtml/SyncController.php +40 -0
- app/code/community/CueConnect/Cue/controllers/ElistController.php +54 -0
- app/code/community/CueConnect/Cue/etc/.config.xml.swp +0 -0
- app/code/community/CueConnect/Cue/etc/config.xml +259 -0
- app/code/community/CueConnect/Cue/etc/system.xml +230 -0
- app/code/community/CueConnect/Cue/sql/cueconnect_setup/{mysql4-install-3.0.10.php → mysql4-install-3.0.9.php} +0 -0
- app/code/community/CueConnect/Cue/sql/cueconnect_setup/{mysql4-upgrade-3.0.9-3.0.10.php → mysql4-upgrade-3.0.8-3.0.9.php} +0 -0
- app/design/frontend/base/default/layout/cueconnect.xml +66 -0
- app/design/frontend/base/default/template/cueconnect/._alert.phtml +0 -0
- app/design/frontend/base/default/template/cueconnect/._collection.phtml +0 -0
- app/design/frontend/base/default/template/cueconnect/._customer +0 -0
- app/design/frontend/base/default/template/cueconnect/._elist.phtml +0 -0
- app/design/frontend/base/default/template/cueconnect/._favorite.phtml +0 -0
- app/design/frontend/base/default/template/cueconnect/._js.phtml +0 -0
- app/design/frontend/base/default/template/cueconnect/._links.phtml +0 -0
- app/design/frontend/base/default/template/cueconnect/._meta.phtml +0 -0
- app/design/frontend/base/default/template/cueconnect/._share.phtml +0 -0
- app/design/frontend/base/default/template/cueconnect/alert.phtml +3 -0
- app/design/frontend/base/default/template/cueconnect/collection.phtml +0 -0
- app/design/frontend/base/default/template/cueconnect/customer/._form +0 -0
- app/design/frontend/base/default/template/cueconnect/customer/form/._forgotpassword.phtml +0 -0
- app/design/frontend/base/default/template/cueconnect/customer/form/._login.phtml +0 -0
- app/design/frontend/base/default/template/cueconnect/customer/form/._register.phtml +0 -0
- app/design/frontend/base/default/template/cueconnect/customer/form/forgotpassword.phtml +54 -0
- app/design/frontend/base/default/template/cueconnect/customer/form/login.phtml +74 -0
- app/design/frontend/base/default/template/cueconnect/customer/form/register.phtml +182 -0
- app/design/frontend/base/default/template/cueconnect/elist.phtml +173 -0
- app/design/frontend/base/default/template/cueconnect/favorite.phtml +4 -0
- app/design/frontend/base/default/template/cueconnect/js.phtml +16 -0
- app/design/frontend/base/default/template/cueconnect/links.phtml +39 -0
- app/design/frontend/base/default/template/cueconnect/meta.phtml +19 -0
- app/design/frontend/base/default/template/cueconnect/share.phtml +3 -0
- app/etc/modules/CueConnect_Cue.xml +9 -0
- package.xml +4 -4
app/code/community/CueConnect/Cue/Block/Adminhtml/Catalog/Product.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Block_Adminhtml_Catalog_Product extends Mage_Adminhtml_Block_Catalog_Product {
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Prepare button and grid
|
16 |
+
*
|
17 |
+
* @return Mage_Adminhtml_Block_Catalog_Product
|
18 |
+
*/
|
19 |
+
protected function _prepareLayout()
|
20 |
+
{
|
21 |
+
$this->_addButton('cueconnect_sync_catalog', array(
|
22 |
+
'label' => Mage::helper('catalog')->__('Export catalog to Cue'),
|
23 |
+
'onclick' => "setLocation('{$this->getUrl('cueconnect/adminhtml_sync/export')}')",
|
24 |
+
'class' => ''
|
25 |
+
));
|
26 |
+
|
27 |
+
return parent::_prepareLayout();
|
28 |
+
}
|
29 |
+
|
30 |
+
}
|
app/code/community/CueConnect/Cue/Block/Adminhtml/Index.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Block_Adminhtml_Index extends Mage_Adminhtml_Block_Template {
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Get last export demands
|
16 |
+
*
|
17 |
+
* @return array
|
18 |
+
*/
|
19 |
+
protected function getDemands()
|
20 |
+
{
|
21 |
+
$demands = Mage::getModel('cueconnect/demand')
|
22 |
+
->getCollection()
|
23 |
+
->setOrder('updated_at', 'desc')
|
24 |
+
->setPageSize(10);
|
25 |
+
|
26 |
+
return $demands;
|
27 |
+
}
|
28 |
+
|
29 |
+
}
|
app/code/community/CueConnect/Cue/Block/Adminhtml/Progress.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Block_Adminhtml_Progress extends Mage_Adminhtml_Block_Template {
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Get last export progress
|
16 |
+
*
|
17 |
+
* @return array
|
18 |
+
*/
|
19 |
+
protected function getLastExportProgress()
|
20 |
+
{
|
21 |
+
// Get data
|
22 |
+
$last_export_progress = Mage::helper('cueconnect')->getExportProgress();
|
23 |
+
|
24 |
+
if ($last_export_progress && is_object($last_export_progress)) {
|
25 |
+
// Percentage
|
26 |
+
$last_export_progress->completion = 0;
|
27 |
+
if (isset($last_export_progress->total_products)) {
|
28 |
+
$total_to_do = $last_export_progress->total_products_to_create + $last_export_progress->total_products_to_update + $last_export_progress->total_products_to_delete;
|
29 |
+
$total_done = $last_export_progress->total_products_created + $last_export_progress->total_products_updated + $last_export_progress->total_products_deleted;
|
30 |
+
$last_export_progress->completion = ceil(($total_done / $total_to_do) * 100);
|
31 |
+
}
|
32 |
+
|
33 |
+
// Message
|
34 |
+
if (isset($last_export_progress->message) && $last_export_progress->message) {
|
35 |
+
$last_export_progress->message = $last_export_progress->message;
|
36 |
+
}
|
37 |
+
else {
|
38 |
+
if ($last_export_progress->completion == 0) {
|
39 |
+
$last_export_progress->message = "Starting...";
|
40 |
+
}
|
41 |
+
elseif ($last_export_progress->completion == 100) {
|
42 |
+
$last_export_progress->message = "Completed";
|
43 |
+
}
|
44 |
+
else {
|
45 |
+
$last_export_progress->message = "Progressing...";
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
return $last_export_progress;
|
50 |
+
}
|
51 |
+
else {
|
52 |
+
return false;
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
}
|
app/code/community/CueConnect/Cue/Block/Adminhtml/System/Config/.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
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Block_Collection extends CueConnect_Cue_Block_BaseCueBlock {
|
13 |
+
public function isCollectionEnabled() {
|
14 |
+
$store = Mage::app()->getStore();
|
15 |
+
if ($store->getConfig('cueconnect/collection/enabled') && $store->getConfig('cueconnect/collection/enabled')) {
|
16 |
+
return true;
|
17 |
+
}
|
18 |
+
else {
|
19 |
+
return false;
|
20 |
+
}
|
21 |
+
}
|
22 |
+
|
23 |
+
}
|
app/code/community/CueConnect/Cue/Block/Elist.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Block_Elist extends CueConnect_Cue_Block_BaseCueBlock {
|
13 |
+
public function getCustomerEmail() {
|
14 |
+
if (Mage::getSingleton('customer/session')->isLoggedIn()) {
|
15 |
+
$customer = Mage::getSingleton('customer/session')->getCustomer();
|
16 |
+
|
17 |
+
if ($customer) {
|
18 |
+
return $customer->getEmail();
|
19 |
+
}
|
20 |
+
}
|
21 |
+
|
22 |
+
return false;
|
23 |
+
}
|
24 |
+
|
25 |
+
public function getCustomerId() {
|
26 |
+
if (Mage::getSingleton('customer/session')->isLoggedIn()) {
|
27 |
+
$customer = Mage::getSingleton('customer/session')->getCustomer();
|
28 |
+
|
29 |
+
if ($customer) {
|
30 |
+
return $customer->getId();
|
31 |
+
}
|
32 |
+
}
|
33 |
+
|
34 |
+
return 0;
|
35 |
+
}
|
36 |
+
|
37 |
+
|
38 |
+
}
|
app/code/community/CueConnect/Cue/Block/Favorite.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Block_Favorite extends CueConnect_Cue_Block_BaseCueBlock {
|
13 |
+
public function isFavoriteEnabled() {
|
14 |
+
$store = Mage::app()->getStore();
|
15 |
+
return $store->getConfig('cueconnect/favorite/enabled');
|
16 |
+
}
|
17 |
+
}
|
app/code/community/CueConnect/Cue/Block/Js.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Block_Js extends CueConnect_Cue_Block_BaseCueBlock {
|
13 |
+
|
14 |
+
}
|
app/code/community/CueConnect/Cue/Block/Meta.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Block_Meta extends CueConnect_Cue_Block_BaseCueBlock {
|
13 |
+
|
14 |
+
/**
|
15 |
+
* return current product information in order to feed the meta tags
|
16 |
+
* @return array
|
17 |
+
*/
|
18 |
+
public function getProductData() {
|
19 |
+
$current_product = Mage::registry('current_product');
|
20 |
+
if ($current_product) {
|
21 |
+
$width = Mage::getStoreConfig('cueconnect/image/width');
|
22 |
+
$height = Mage::getStoreConfig('cueconnect/image/height');
|
23 |
+
|
24 |
+
return array(
|
25 |
+
'name' => $this->escape($current_product->getName()),
|
26 |
+
'description' => $this->escape(strip_tags(($current_product->getShortDescription()))),
|
27 |
+
'sku' => $this->escape($current_product->getSku()),
|
28 |
+
'brand' => $this->escape(($current_product->getAttributeText('manufacturer')) ? $current_product->getAttributeText('manufacturer') : Mage::app()->getStore()->getName()),
|
29 |
+
'price' => $this->escape(number_format(Mage::helper('core')->currency($current_product->getPrice(), false, false), 2)),
|
30 |
+
'currency' => $this->escape(Mage::app()->getStore(Mage::app()->getStore()->getId())->getCurrentCurrencyCode()),
|
31 |
+
'picture' => $this->escape($this->helper('catalog/image')->init($current_product, 'small_image')->resize($width, $height)),
|
32 |
+
'url' => $this->escape($current_product->getProductUrl()),
|
33 |
+
);
|
34 |
+
}
|
35 |
+
|
36 |
+
return array();
|
37 |
+
}
|
38 |
+
|
39 |
+
|
40 |
+
protected function escape($str)
|
41 |
+
{
|
42 |
+
return addslashes($this->htmlEscape($str));
|
43 |
+
}
|
44 |
+
}
|
app/code/community/CueConnect/Cue/Block/Navigation.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Block_Navigation extends Mage_Page_Block_Switch
|
13 |
+
{
|
14 |
+
public function addMyElistLink() {
|
15 |
+
if (Mage::helper('core/data')->isModuleEnabled('CueConnect_Cue')) {
|
16 |
+
if (Mage::helper('cueconnect')->isEnabled()) {
|
17 |
+
if (Mage::helper('cueconnect')->isCollectionAuto()) {
|
18 |
+
$parentBlock = $this->getParentBlock();
|
19 |
+
if ($parentBlock) {
|
20 |
+
$parentBlock->addLink('My 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
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Block_Share extends CueConnect_Cue_Block_BaseCueBlock {
|
13 |
+
public function isObEnabled() {
|
14 |
+
$store = Mage::app()->getStore();
|
15 |
+
return $store->getConfig('cueconnect/ob/enabled');
|
16 |
+
}
|
17 |
+
}
|
app/code/community/CueConnect/Cue/Helper/Data.php
ADDED
@@ -0,0 +1,290 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Helper_Data extends Mage_Core_Helper_Abstract
|
13 |
+
{
|
14 |
+
/**
|
15 |
+
* Get webhook URL for adding customers to Cue
|
16 |
+
*
|
17 |
+
* @return string
|
18 |
+
*/
|
19 |
+
public function getWebhookSaveCustomerUrl() {
|
20 |
+
|
21 |
+
return Mage::getStoreConfig('cueconnect/webhook/save_customer/url');
|
22 |
+
}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Get webhook auth key for adding customers to Cue
|
26 |
+
*
|
27 |
+
* @return string
|
28 |
+
*/
|
29 |
+
public function getWebhookSaveCustomerKey() {
|
30 |
+
|
31 |
+
return Mage::getStoreConfig('cueconnect/webhook/save_customer/key');
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Get webhook URL for adding marks to Cue
|
36 |
+
*
|
37 |
+
* @return string
|
38 |
+
*/
|
39 |
+
public function getWebhookSaveMarkUrl() {
|
40 |
+
|
41 |
+
return Mage::getStoreConfig('cueconnect/webhook/save_mark/url');
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Get webhook auth key for adding marks to Cue
|
46 |
+
*
|
47 |
+
* @return string
|
48 |
+
*/
|
49 |
+
public function getWebhookSaveMarkKey() {
|
50 |
+
|
51 |
+
return Mage::getStoreConfig('cueconnect/webhook/save_mark/key');
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Get webhook auth key for version change
|
56 |
+
*
|
57 |
+
* @return string
|
58 |
+
*/
|
59 |
+
public function getWebhookSelectVersionKey() {
|
60 |
+
|
61 |
+
return Mage::getStoreConfig('cueconnect/webhook/select_version/key');
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Get webhook url for version change
|
66 |
+
*
|
67 |
+
* @return string
|
68 |
+
*/
|
69 |
+
public function getWebhookSelectVersionUrl() {
|
70 |
+
|
71 |
+
return Mage::getStoreConfig('cueconnect/webhook/select_version/url');
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Get webhook auth key for price change
|
76 |
+
*
|
77 |
+
* @return string
|
78 |
+
*/
|
79 |
+
public function getWebhookPriceChangedKey() {
|
80 |
+
|
81 |
+
return Mage::getStoreConfig('cueconnect/webhook/price_changed/key');
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Get webhook url for price change
|
86 |
+
*
|
87 |
+
* @return string
|
88 |
+
*/
|
89 |
+
public function getWebhookPriceChangedUrl() {
|
90 |
+
|
91 |
+
return Mage::getStoreConfig('cueconnect/webhook/price_changed/url');
|
92 |
+
}
|
93 |
+
|
94 |
+
|
95 |
+
/**
|
96 |
+
* Get retailer id from config
|
97 |
+
*
|
98 |
+
* @return string
|
99 |
+
*/
|
100 |
+
public function getRetailerId() {
|
101 |
+
return Mage::getStoreConfig('cueconnect/credentials/retailer_id');
|
102 |
+
}
|
103 |
+
|
104 |
+
/**
|
105 |
+
* check if module is enabled
|
106 |
+
*
|
107 |
+
* @return string
|
108 |
+
*/
|
109 |
+
public function isEnabled() {
|
110 |
+
return Mage::getStoreConfig('cueconnect/enabled');
|
111 |
+
}
|
112 |
+
|
113 |
+
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Get webhook URL for adding marks to Cue
|
117 |
+
*
|
118 |
+
* @return string
|
119 |
+
*/
|
120 |
+
public function getElistMode() {
|
121 |
+
$mode = Mage::getStoreConfig('cueconnect/mode');
|
122 |
+
if (is_array($mode)) {
|
123 |
+
if (isset($mode['mode'])) {
|
124 |
+
return $mode['mode'];
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
+
return 1;
|
129 |
+
}
|
130 |
+
|
131 |
+
/**
|
132 |
+
* Get api key
|
133 |
+
*
|
134 |
+
* @return string
|
135 |
+
*/
|
136 |
+
public function getApiKey() {
|
137 |
+
return Mage::getStoreConfig('cueconnect/crendentials/api_key');
|
138 |
+
}
|
139 |
+
|
140 |
+
/**
|
141 |
+
* Get my e-list menu generation mode
|
142 |
+
*
|
143 |
+
* @return bool
|
144 |
+
*/
|
145 |
+
public function isCollectionAuto() {
|
146 |
+
$enabled = Mage::getStoreConfig('cueconnect/collection');
|
147 |
+
|
148 |
+
if (is_array($enabled)) {
|
149 |
+
if (isset($enabled['enabled'])) {
|
150 |
+
return $enabled['enabled'];
|
151 |
+
}
|
152 |
+
}
|
153 |
+
|
154 |
+
return 0;
|
155 |
+
}
|
156 |
+
|
157 |
+
|
158 |
+
|
159 |
+
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Get retailer object via SOAP
|
163 |
+
*
|
164 |
+
* @return string
|
165 |
+
* @deprecated
|
166 |
+
*/
|
167 |
+
public function getRetailer($store) {
|
168 |
+
$soap_client = Mage::helper('cueconnect')->getSoapClient(
|
169 |
+
Mage::helper('cueconnect')->getWsUrl('place'),
|
170 |
+
$store->getConfig('cueconnect/credentials/login'),
|
171 |
+
$store->getConfig('cueconnect/credentials/password'));
|
172 |
+
try {
|
173 |
+
$result = $soap_client->get();
|
174 |
+
}
|
175 |
+
catch (Exception $e) {
|
176 |
+
return;
|
177 |
+
}
|
178 |
+
return $result->data;
|
179 |
+
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* Cut an array in multiple smaller array
|
183 |
+
*
|
184 |
+
* @return string
|
185 |
+
* @deprecated
|
186 |
+
*/
|
187 |
+
public function getSlicesFromArray($data, $slice_size = 30) {
|
188 |
+
$slices = array();
|
189 |
+
if (count($data) > $slice_size) {
|
190 |
+
$i = 0;
|
191 |
+
while ($i < count($data)) {
|
192 |
+
if ($i % $slice_size == 0) {
|
193 |
+
$slices[] = array_slice($data, $i, $slice_size);
|
194 |
+
}
|
195 |
+
$i++;
|
196 |
+
}
|
197 |
+
}
|
198 |
+
else {
|
199 |
+
$slices[] = $data;
|
200 |
+
}
|
201 |
+
return $slices;
|
202 |
+
}
|
203 |
+
|
204 |
+
/**
|
205 |
+
* Log JSON data in Cue export log
|
206 |
+
*
|
207 |
+
* @return string
|
208 |
+
* @deprecated
|
209 |
+
*/
|
210 |
+
public function logExportProgress($json) {
|
211 |
+
// Create folder
|
212 |
+
$cueconnect_var_dir = Mage::getBaseDir('var').'/cueconnect/';
|
213 |
+
if (!file_exists($cueconnect_var_dir)) {
|
214 |
+
mkdir($cueconnect_var_dir, 0777);
|
215 |
+
}
|
216 |
+
|
217 |
+
// Create log file
|
218 |
+
$cueconnect_import_log_file = $cueconnect_var_dir.'export.log';
|
219 |
+
|
220 |
+
// Log json in file
|
221 |
+
$file = fopen($cueconnect_import_log_file, "w+");
|
222 |
+
fwrite($file, $json);
|
223 |
+
fclose($file);
|
224 |
+
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Get export log data
|
228 |
+
*
|
229 |
+
* @return string
|
230 |
+
* @deprecated
|
231 |
+
*/
|
232 |
+
public function getExportProgress() {
|
233 |
+
// File path
|
234 |
+
$cueconnect_var_dir = Mage::getBaseDir('var').'/cueconnect/';
|
235 |
+
$cueconnect_import_log_file = $cueconnect_var_dir.'export.log';
|
236 |
+
if (file_exists($cueconnect_import_log_file)) {
|
237 |
+
// Read file
|
238 |
+
$file = fopen($cueconnect_import_log_file, "r");
|
239 |
+
$data = fread($file, 100000);
|
240 |
+
fclose($file);
|
241 |
+
|
242 |
+
// Return decoded data
|
243 |
+
return json_decode($data);
|
244 |
+
}
|
245 |
+
}
|
246 |
+
|
247 |
+
|
248 |
+
/**
|
249 |
+
* Get WSSE Header
|
250 |
+
*
|
251 |
+
* @return string
|
252 |
+
* @deprecated
|
253 |
+
*/
|
254 |
+
public function getWsseHeader($login, $password) {
|
255 |
+
$authheader = sprintf('
|
256 |
+
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
|
257 |
+
<wsse:UsernameToken>
|
258 |
+
<wsse:Username>%s</wsse:Username>
|
259 |
+
<wsse:Password>%s</wsse:Password>
|
260 |
+
</wsse:UsernameToken>
|
261 |
+
</wsse:Security>
|
262 |
+
', htmlspecialchars($login), htmlspecialchars($password));
|
263 |
+
return $authheader;
|
264 |
+
}
|
265 |
+
|
266 |
+
/**
|
267 |
+
* Get webservice URL by service name
|
268 |
+
*
|
269 |
+
* @return string
|
270 |
+
* @deprecated
|
271 |
+
*/
|
272 |
+
public function getWsUrl($service) {
|
273 |
+
return Mage::getStoreConfig('cueconnect/webservice/url').$service."?wsdl";
|
274 |
+
}
|
275 |
+
|
276 |
+
/**
|
277 |
+
* Get SOAP client by URL
|
278 |
+
*
|
279 |
+
* @return string
|
280 |
+
* @deprecated
|
281 |
+
*/
|
282 |
+
public function getSoapClient($url, $login, $password) {
|
283 |
+
$client = new SOAPClient($url, array('trace' => 1, 'soap_version' => SOAP_1_1));
|
284 |
+
$authvars = new SoapVar($this->getWsseHeader($login, $password), XSD_ANYXML);
|
285 |
+
$header = new SoapHeader("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "Security", $authvars);
|
286 |
+
$client->__setSoapHeaders($header);
|
287 |
+
return $client;
|
288 |
+
}
|
289 |
+
|
290 |
+
}
|
app/code/community/CueConnect/Cue/Helper/Wishlist/Data.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Helper_Wishlist_Data extends Mage_Wishlist_Helper_Data
|
13 |
+
{
|
14 |
+
/**
|
15 |
+
* return true if extension is enabled
|
16 |
+
* @return boolean
|
17 |
+
*/
|
18 |
+
protected function isEnabled()
|
19 |
+
{
|
20 |
+
$store = Mage::app()->getStore();
|
21 |
+
return $store->getConfig('cueconnect/enabled/enabled');
|
22 |
+
}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Disallow use of the native Magento wishlist in Shopping Cart
|
26 |
+
*
|
27 |
+
* @return bool
|
28 |
+
*/
|
29 |
+
public function isAllowInCart() {
|
30 |
+
return !$this->isEnabled();
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Disallow use of the native Magento wishlist in all pages
|
35 |
+
*
|
36 |
+
* @return bool
|
37 |
+
*/
|
38 |
+
public function isAllow() {
|
39 |
+
return !$this->isEnabled();
|
40 |
+
}
|
41 |
+
}
|
app/code/community/CueConnect/Cue/Model/.CueConnect.php.swp
ADDED
Binary file
|
app/code/community/CueConnect/Cue/Model/.Inmarkit.php.swp
ADDED
Binary file
|
app/code/community/CueConnect/Cue/Model/CueConnect.php
ADDED
@@ -0,0 +1,297 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_CueConnect extends Mage_Core_Model_Abstract
|
13 |
+
{
|
14 |
+
/**
|
15 |
+
* Construct
|
16 |
+
*/
|
17 |
+
public function _construct() {
|
18 |
+
$this->_init('cueconnect/cueconnect');
|
19 |
+
}
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Execute export and put result in message box
|
23 |
+
*/
|
24 |
+
public static function dailyExport() {
|
25 |
+
if (Mage::getStoreConfig('cueconnect/cron/enabled')) {
|
26 |
+
// Execute export() for each stores
|
27 |
+
foreach (Mage::app()->getStores() as $store) {
|
28 |
+
if ($store->getConfig('cueconnect/enabled/enabled')) {
|
29 |
+
// Export
|
30 |
+
$result = self::export($store);
|
31 |
+
|
32 |
+
// Notification
|
33 |
+
$inbox = Mage::getModel('adminnotification/inbox');
|
34 |
+
if ($result['success']) {
|
35 |
+
$inbox->addNotice(sprintf("%s products has been successfully synced with Cue.", $store->getName()), $result['message']);
|
36 |
+
}
|
37 |
+
else {
|
38 |
+
$inbox->addCritical(sprintf("%s products has not been successfully synced with Cue.", $store->getName()), $result['message']);
|
39 |
+
}
|
40 |
+
}
|
41 |
+
}
|
42 |
+
}
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Execute export if manually asked and put result in message box
|
47 |
+
*/
|
48 |
+
public static function manualExport() {
|
49 |
+
// Check for demands
|
50 |
+
$demand = Mage::getModel('cueconnect/demand');
|
51 |
+
$awaiting_demands = Mage::getModel('cueconnect/demand')
|
52 |
+
->getCollection()
|
53 |
+
->addFilter('status', $demand::STATUS_WAITING);
|
54 |
+
|
55 |
+
if (count($awaiting_demands)) {
|
56 |
+
// Update demands
|
57 |
+
foreach ($awaiting_demands as $awaiting_demand) {
|
58 |
+
$awaiting_demand->setStatus($demand::STATUS_PROGRESSING);
|
59 |
+
$awaiting_demand->setUpdatedAt(date('Y-m-d H:i:s'));
|
60 |
+
$awaiting_demand->save();
|
61 |
+
}
|
62 |
+
|
63 |
+
// Execute export() for each stores
|
64 |
+
foreach (Mage::app()->getStores() as $store) {
|
65 |
+
if ($store->getConfig('cueconnect/enabled/enabled')) {
|
66 |
+
// Export
|
67 |
+
$result = self::export($store);
|
68 |
+
|
69 |
+
// Log
|
70 |
+
$log = $result['log'];
|
71 |
+
$log['end_at'] = date('Y-m-d H:i:s');
|
72 |
+
|
73 |
+
// Notification
|
74 |
+
$inbox = Mage::getModel('adminnotification/inbox');
|
75 |
+
if ($result['success']) {
|
76 |
+
$inbox->addNotice(sprintf("%s products has been successfully synced with Cue.", $store->getName()), $result['message']);
|
77 |
+
}
|
78 |
+
else {
|
79 |
+
$inbox->addCritical(sprintf("%s products has not been successfully synced with Cue.", $store->getName()), $result['message']);
|
80 |
+
$log['status'] = 'error';
|
81 |
+
}
|
82 |
+
|
83 |
+
Mage::helper('cueconnect')->logExportProgress(json_encode($log));
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
// Update demands
|
88 |
+
foreach ($awaiting_demands as $awaiting_demand) {
|
89 |
+
$awaiting_demand->setStatus($demand::STATUS_DONE);
|
90 |
+
$awaiting_demand->setUpdatedAt(date('Y-m-d H:i:s'));
|
91 |
+
$awaiting_demand->save();
|
92 |
+
}
|
93 |
+
}
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Export catalog products to Cue
|
98 |
+
*/
|
99 |
+
public static function export($store) {
|
100 |
+
// Log
|
101 |
+
$log = array();
|
102 |
+
$log['started_at'] = date('Y-m-d H:i:s');
|
103 |
+
$log['status'] = "progressing";
|
104 |
+
$log['store'] = $store->getName();
|
105 |
+
Mage::helper('cueconnect')->logExportProgress(json_encode($log));
|
106 |
+
|
107 |
+
// Check if crententials has been filled
|
108 |
+
if (!$store->getConfig('cueconnect/credentials/login') || !$store->getConfig('cueconnect/credentials/password')) {
|
109 |
+
$message = "Cue credentials are not filled.";
|
110 |
+
return array('success' => false, 'message' => $message, 'log' => $log);
|
111 |
+
}
|
112 |
+
|
113 |
+
// Retailuser WS
|
114 |
+
$soap_client = Mage::helper('cueconnect')->getSoapClient(
|
115 |
+
Mage::helper('cueconnect')->getWsUrl('retailuser'),
|
116 |
+
$store->getConfig('cueconnect/credentials/login'),
|
117 |
+
$store->getConfig('cueconnect/credentials/password')
|
118 |
+
);
|
119 |
+
|
120 |
+
// Get place ID
|
121 |
+
$place_id = null;
|
122 |
+
try {
|
123 |
+
$result = $soap_client->get(array(
|
124 |
+
'email' => $store->getConfig('cueconnect/credentials/login')
|
125 |
+
));
|
126 |
+
$place_id = $result->data->id;
|
127 |
+
}
|
128 |
+
catch (Exception $e) {
|
129 |
+
$message = $e->getMessage();
|
130 |
+
return array('success' => false, 'message' => $message, 'log' => $log);
|
131 |
+
}
|
132 |
+
|
133 |
+
// Product WS
|
134 |
+
$soap_client = Mage::helper('cueconnect')->getSoapClient(
|
135 |
+
Mage::helper('cueconnect')->getWsUrl('product'),
|
136 |
+
$store->getConfig('cueconnect/credentials/login'),
|
137 |
+
$store->getConfig('cueconnect/credentials/password')
|
138 |
+
);
|
139 |
+
|
140 |
+
// Get Cue Catalog
|
141 |
+
$cueconnect_products = array();
|
142 |
+
$results = $soap_client->get(array('page' => 1, 'pagesize' => 100000, 'clipped' => false));
|
143 |
+
foreach ($results->data as $result) {
|
144 |
+
if ($result->sku) {
|
145 |
+
$cueconnect_products[$result->sku] = $result;
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
// Catalog products
|
150 |
+
$catalog_products = Mage::getModel('catalog/product')
|
151 |
+
->getCollection()
|
152 |
+
->addAttributeToSelect('name')
|
153 |
+
->addAttributeToSelect('description')
|
154 |
+
->addAttributeToSelect('price')
|
155 |
+
->addAttributeToSelect('image')
|
156 |
+
->addAttributeToSelect('url_path')
|
157 |
+
->addStoreFilter($store->getId());
|
158 |
+
$catalog_products_skus = array();
|
159 |
+
$new_data = array();
|
160 |
+
$updated_data = array();
|
161 |
+
foreach ($catalog_products as $catalog_product) {
|
162 |
+
$catalog_products_skus[] = $catalog_product->getSku();
|
163 |
+
|
164 |
+
// Product image
|
165 |
+
$icon = "http://www.cueconnect.com/images/no_image.gif";
|
166 |
+
if ($catalog_product->getData('image')) {
|
167 |
+
$icon = $catalog_product->getMediaConfig()->getMediaUrl($catalog_product->getData('image'));
|
168 |
+
}
|
169 |
+
|
170 |
+
// Product URL
|
171 |
+
$url = $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK).$catalog_product->getUrlPath();
|
172 |
+
|
173 |
+
// Check if product exists in Cue database
|
174 |
+
if (in_array($catalog_product->getSku(), array_keys($cueconnect_products))) {
|
175 |
+
$updated_data[] = array(
|
176 |
+
'product_imic' => null,
|
177 |
+
'sku' => $catalog_product->getSku(),
|
178 |
+
'name' => $catalog_product->getName(),
|
179 |
+
'description' => $catalog_product->getDescription(),
|
180 |
+
'sms_name' => $catalog_product->getName(),
|
181 |
+
'sms_desc' => $catalog_product->getDescription(),
|
182 |
+
'url' => $url,
|
183 |
+
'taxonomy_id' => Mage::getStoreConfig('cueconnect/taxomomy_id'),
|
184 |
+
'icon' => $icon,
|
185 |
+
'live' => '1',
|
186 |
+
'price' => $catalog_product->getPrice()
|
187 |
+
);
|
188 |
+
}
|
189 |
+
else {
|
190 |
+
$new_data[] = array(
|
191 |
+
'sku' => $catalog_product->getSku(),
|
192 |
+
'upc' => uniqid(),
|
193 |
+
'name' => $catalog_product->getName(),
|
194 |
+
'description' => $catalog_product->getDescription(),
|
195 |
+
'sms_name' => $catalog_product->getName(),
|
196 |
+
'sms_desc' => $catalog_product->getDescription(),
|
197 |
+
'url' => $url,
|
198 |
+
'taxonomy_id' => Mage::getStoreConfig('cueconnect/taxomomy_id'),
|
199 |
+
'icon' => $icon,
|
200 |
+
'live' => '1',
|
201 |
+
'price' => $catalog_product->getPrice()
|
202 |
+
);
|
203 |
+
}
|
204 |
+
}
|
205 |
+
// Product to delete
|
206 |
+
$skus_to_delete = array_diff(array_keys($cueconnect_products), $catalog_products_skus);
|
207 |
+
$imics_to_delete = array();
|
208 |
+
foreach ($skus_to_delete as $sku_to_delete) {
|
209 |
+
$imics_to_delete[] = $cueconnect_products[$sku_to_delete]->product_imic;
|
210 |
+
}
|
211 |
+
|
212 |
+
// Log
|
213 |
+
$log['total_products'] = count($catalog_products);
|
214 |
+
$log['total_products_to_create'] = count($new_data);
|
215 |
+
$log['total_products_to_update'] = count($updated_data);
|
216 |
+
$log['total_products_to_delete'] = count($imics_to_delete);
|
217 |
+
$log['total_products_created'] = 0;
|
218 |
+
$log['total_products_updated'] = 0;
|
219 |
+
$log['total_products_deleted'] = 0;
|
220 |
+
Mage::helper('cueconnect')->logExportProgress(json_encode($log));
|
221 |
+
|
222 |
+
// Send new data data to Cue (per slices)
|
223 |
+
if (count($new_data)) {
|
224 |
+
$new_data_slices = Mage::helper('cueconnect')->getSlicesFromArray($new_data, 20);
|
225 |
+
foreach ($new_data_slices as $new_data_slice) {
|
226 |
+
try {
|
227 |
+
$soap_client->create(array(
|
228 |
+
'place_id' => $place_id,
|
229 |
+
'data' => $new_data_slice,
|
230 |
+
'count' => count($new_data_slice)
|
231 |
+
));
|
232 |
+
// Log
|
233 |
+
$log['total_products_created'] = $log['total_products_created'] + count($new_data_slice);
|
234 |
+
Mage::helper('cueconnect')->logExportProgress(json_encode($log));
|
235 |
+
}
|
236 |
+
catch (Exception $e) {
|
237 |
+
return array('success' => false, 'message' => $e->getMessage(), 'log' => $log);
|
238 |
+
}
|
239 |
+
}
|
240 |
+
}
|
241 |
+
|
242 |
+
// Send updated data data to Cue (per slices)
|
243 |
+
if (count($updated_data)) {
|
244 |
+
$updated_data_slices = Mage::helper('cueconnect')->getSlicesFromArray($updated_data, 20);
|
245 |
+
foreach ($updated_data_slices as $updated_data_slice) {
|
246 |
+
try {
|
247 |
+
$soap_client->set(array(
|
248 |
+
'place_id' => $place_id,
|
249 |
+
'data' => $updated_data_slice,
|
250 |
+
'count' => count($updated_data_slice)
|
251 |
+
));
|
252 |
+
// Log
|
253 |
+
$log['total_products_updated'] = $log['total_products_updated'] + count($updated_data_slice);
|
254 |
+
Mage::helper('cueconnect')->logExportProgress(json_encode($log));
|
255 |
+
}
|
256 |
+
catch (Exception $e) {
|
257 |
+
return array('success' => false, 'message' => $e->getMessage(), 'log' => $log);
|
258 |
+
}
|
259 |
+
}
|
260 |
+
}
|
261 |
+
|
262 |
+
// Delete products which are not in the Magento catalog anymore
|
263 |
+
if (count($imics_to_delete)) {
|
264 |
+
$imics_to_delete_slices = Mage::helper('cueconnect')->getSlicesFromArray($imics_to_delete, 50);
|
265 |
+
foreach ($imics_to_delete_slices as $imics_to_delete_slice) {
|
266 |
+
try {
|
267 |
+
$soap_client->delete(array(
|
268 |
+
'place_id' => $place_id,
|
269 |
+
'data' => $imics_to_delete_slice,
|
270 |
+
'count' => count($imics_to_delete_slice)
|
271 |
+
));
|
272 |
+
// Log
|
273 |
+
$log['total_products_deleted'] = $log['total_products_deleted'] + count($imics_to_delete_slice);
|
274 |
+
Mage::helper('cueconnect')->logExportProgress(json_encode($log));
|
275 |
+
}
|
276 |
+
catch (Exception $e) {
|
277 |
+
return array('success' => false, 'message' => $e->getMessage(), 'log' => $log);
|
278 |
+
}
|
279 |
+
}
|
280 |
+
}
|
281 |
+
|
282 |
+
// Log
|
283 |
+
$log['end_at'] = date('Y-m-d H:i:s');
|
284 |
+
$log['status'] = "done";
|
285 |
+
Mage::helper('cueconnect')->logExportProgress(json_encode($log));
|
286 |
+
|
287 |
+
// Return
|
288 |
+
return array(
|
289 |
+
'success' => true,
|
290 |
+
'created_count' => count($new_data),
|
291 |
+
'updated_count' => count($updated_data),
|
292 |
+
'deleted_count' => count($imics_to_delete),
|
293 |
+
'message' => sprintf("%s product(s) has been created. %s product(s) has been updated. %s product(s) has been deleted.", count($new_data), count($updated_data), count($imics_to_delete)),
|
294 |
+
'log' => $log
|
295 |
+
);
|
296 |
+
}
|
297 |
+
}
|
app/code/community/CueConnect/Cue/Model/Demand.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Model_Demand extends Mage_Core_Model_Abstract
|
13 |
+
{
|
14 |
+
const STATUS_WAITING = 1;
|
15 |
+
const STATUS_PROGRESSING = 2;
|
16 |
+
const STATUS_DONE = 3;
|
17 |
+
const STATUS_ERROR = 4;
|
18 |
+
|
19 |
+
public function _construct()
|
20 |
+
{
|
21 |
+
parent::_construct();
|
22 |
+
$this->_init('cueconnect/demand');
|
23 |
+
}
|
24 |
+
}
|
app/code/community/CueConnect/Cue/Model/Mysql4/Demand.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Model_Mysql4_Demand extends Mage_Core_Model_Mysql4_Abstract
|
13 |
+
{
|
14 |
+
public function _construct()
|
15 |
+
{
|
16 |
+
$this->_init('cueconnect/demand', 'id');
|
17 |
+
}
|
18 |
+
}
|
app/code/community/CueConnect/Cue/Model/Mysql4/Demand/Collection.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Model_Mysql4_Demand_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
13 |
+
{
|
14 |
+
public function _construct()
|
15 |
+
{
|
16 |
+
$this->_init('cueconnect/demand');
|
17 |
+
}
|
18 |
+
}
|
app/code/community/CueConnect/Cue/Model/Mysql4/UserSync.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Model_Mysql4_UserSync extends Mage_Core_Model_Mysql4_Abstract
|
13 |
+
{
|
14 |
+
public function _construct()
|
15 |
+
{
|
16 |
+
$this->_init('cueconnect/userSync', 'id');
|
17 |
+
}
|
18 |
+
}
|
app/code/community/CueConnect/Cue/Model/Mysql4/UserSync/Collection.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Model_Mysql4_UserSync_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
13 |
+
{
|
14 |
+
public function _construct()
|
15 |
+
{
|
16 |
+
$this->_init('cueconnect/userSync');
|
17 |
+
}
|
18 |
+
}
|
app/code/community/CueConnect/Cue/Model/Mysql4/WishlistSync.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Model_Mysql4_WishlistSync extends Mage_Core_Model_Mysql4_Abstract
|
13 |
+
{
|
14 |
+
public function _construct()
|
15 |
+
{
|
16 |
+
$this->_init('cueconnect/wishlistSync', 'id');
|
17 |
+
}
|
18 |
+
}
|
app/code/community/CueConnect/Cue/Model/Mysql4/WishlistSync/Collection.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Model_Mysql4_WishlistSync_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
13 |
+
{
|
14 |
+
public function _construct()
|
15 |
+
{
|
16 |
+
$this->_init('cueconnect/wishlistSync');
|
17 |
+
}
|
18 |
+
}
|
app/code/community/CueConnect/Cue/Model/Observer.php
ADDED
@@ -0,0 +1,643 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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
|
103 |
+
$catalog_product = $observer->getEvent()->getProduct();
|
104 |
+
|
105 |
+
// For each related stores
|
106 |
+
foreach ($catalog_product->getStoreIds() as $store_id) {
|
107 |
+
// Get store
|
108 |
+
$store = Mage::getModel('core/store')->load($store_id);
|
109 |
+
if ($store->getConfig('cueconnect/enabled/enabled')) {
|
110 |
+
// Retailuser SOAP client
|
111 |
+
$soap_client = Mage::helper('cueconnect')->getSoapClient(
|
112 |
+
Mage::helper('cueconnect')->getWsUrl('retailuser'),
|
113 |
+
$store->getConfig('cueconnect/credentials/login'),
|
114 |
+
$store->getConfig('cueconnect/credentials/password')
|
115 |
+
);
|
116 |
+
|
117 |
+
// Get place ID
|
118 |
+
$place_id = null;
|
119 |
+
try {
|
120 |
+
$result = $soap_client->get(array(
|
121 |
+
'email' => $store->getConfig('cueconnect/credentials/login')
|
122 |
+
));
|
123 |
+
$place_id = $result->data->id;
|
124 |
+
}
|
125 |
+
catch (Exception $e) {
|
126 |
+
Mage::log($e->getMessage());
|
127 |
+
}
|
128 |
+
|
129 |
+
if ($place_id) {
|
130 |
+
// Product SOAP client
|
131 |
+
$soap_client = Mage::helper('cueconnect')->getSoapClient(
|
132 |
+
Mage::helper('cueconnect')->getWsUrl('product'),
|
133 |
+
$store->getConfig('cueconnect/credentials/login'),
|
134 |
+
$store->getConfig('cueconnect/credentials/password')
|
135 |
+
);
|
136 |
+
|
137 |
+
// Product icon
|
138 |
+
$icon = "http://www.cueconnect.com/images/no_image.gif";
|
139 |
+
if ($catalog_product->getData('image')) {
|
140 |
+
$icon = $catalog_product->getMediaConfig()->getMediaUrl($catalog_product->getData('image'));
|
141 |
+
}
|
142 |
+
|
143 |
+
// Get product and update/create product
|
144 |
+
try {
|
145 |
+
$result = $soap_client->get(array(
|
146 |
+
'place_id' => $place_id,
|
147 |
+
'sku' => $catalog_product->getSku(),
|
148 |
+
'page' => 1,
|
149 |
+
'page_size' => 1
|
150 |
+
));
|
151 |
+
if ($result && isset($result->data) && isset($result->data[0]) && isset($result->inpagecount) && $result->inpagecount) {
|
152 |
+
$cueconnect_product = $result->data[0];
|
153 |
+
$data = array(
|
154 |
+
'product_imic' => null,
|
155 |
+
'sku' => $catalog_product->getSku(),
|
156 |
+
'name' => $catalog_product->getName(),
|
157 |
+
'description' => $catalog_product->getDescription(),
|
158 |
+
'sms_name' => $catalog_product->getName(),
|
159 |
+
'sms_desc' => $catalog_product->getDescription(),
|
160 |
+
'url' => $catalog_product->getProductUrl(),
|
161 |
+
'taxonomy_id' => Mage::getStoreConfig('cueconnect/taxomomy_id'),
|
162 |
+
'icon' => $icon,
|
163 |
+
'live' => '1',
|
164 |
+
'price' => $catalog_product->getPrice()
|
165 |
+
);
|
166 |
+
$soap_client->set(array(
|
167 |
+
'place_id' => $place_id,
|
168 |
+
'data' => array(0 => $data),
|
169 |
+
'count' => 1
|
170 |
+
));
|
171 |
+
}
|
172 |
+
else {
|
173 |
+
$data = array(
|
174 |
+
'sku' => $catalog_product->getSku(),
|
175 |
+
'upc' => uniqid(),
|
176 |
+
'name' => $catalog_product->getName(),
|
177 |
+
'description' => $catalog_product->getDescription(),
|
178 |
+
'sms_name' => $catalog_product->getName(),
|
179 |
+
'sms_desc' => $catalog_product->getDescription(),
|
180 |
+
'url' => $catalog_product->getProductUrl(),
|
181 |
+
'taxonomy_id' => Mage::getStoreConfig('cueconnect/taxomomy_id'),
|
182 |
+
'icon' => $icon,
|
183 |
+
'live' => '1',
|
184 |
+
'price' => $catalog_product->getPrice()
|
185 |
+
);
|
186 |
+
$soap_client->create(array(
|
187 |
+
'place_id' => $place_id,
|
188 |
+
'data' => array(0 => $data),
|
189 |
+
'count' => 1
|
190 |
+
));
|
191 |
+
}
|
192 |
+
}
|
193 |
+
catch (Exception $e) {
|
194 |
+
Mage::log($e->getMessage());
|
195 |
+
}
|
196 |
+
}
|
197 |
+
}
|
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
|
284 |
+
$catalog_product = $observer->getEvent()->getProduct();
|
285 |
+
|
286 |
+
// For each related stores
|
287 |
+
foreach ($catalog_product->getStoreIds() as $store_id) {
|
288 |
+
// Get store
|
289 |
+
$store = Mage::getModel('core/store')->load($store_id);
|
290 |
+
if ($store->getConfig('cueconnect/enabled/enabled')) {
|
291 |
+
// Retailuser SOAP client
|
292 |
+
$soap_client = Mage::helper('cueconnect')->getSoapClient(
|
293 |
+
Mage::helper('cueconnect')->getWsUrl('retailuser'),
|
294 |
+
$store->getConfig('cueconnect/credentials/login'),
|
295 |
+
$store->getConfig('cueconnect/credentials/password')
|
296 |
+
);
|
297 |
+
|
298 |
+
// Get place ID
|
299 |
+
$place_id = null;
|
300 |
+
try {
|
301 |
+
$result = $soap_client->get(array(
|
302 |
+
'email' => $store->getConfig('cueconnect/credentials/login')
|
303 |
+
));
|
304 |
+
$place_id = $result->data->id;
|
305 |
+
}
|
306 |
+
catch (Exception $e) {
|
307 |
+
Mage::log($e->getMessage());
|
308 |
+
}
|
309 |
+
|
310 |
+
// Product SOAP client
|
311 |
+
$soap_client = Mage::helper('cueconnect')->getSoapClient(
|
312 |
+
Mage::helper('cueconnect')->getWsUrl('product'),
|
313 |
+
$store->getConfig('cueconnect/credentials/login'),
|
314 |
+
$store->getConfig('cueconnect/credentials/password')
|
315 |
+
);
|
316 |
+
|
317 |
+
// Get and delete Cue Connect product
|
318 |
+
try {
|
319 |
+
$result = $soap_client->get(array(
|
320 |
+
'place_id' => $place_id,
|
321 |
+
'sku' => $catalog_product->getSku(),
|
322 |
+
'page' => 1,
|
323 |
+
'page_size' => 1
|
324 |
+
));
|
325 |
+
if ($result && isset($result->data) && isset($result->data[0]) && isset($result->inpagecount) && $result->inpagecount) {
|
326 |
+
$cueconnect_product = $result->data[0];
|
327 |
+
$result = $soap_client->delete(array(
|
328 |
+
'place_id' => $place_id,
|
329 |
+
'data' => array($cueconnect_product->product_imic),
|
330 |
+
'count' => 1
|
331 |
+
));
|
332 |
+
}
|
333 |
+
}
|
334 |
+
catch (Exception $e) {
|
335 |
+
Mage::log($e->getMessage());
|
336 |
+
}
|
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/Adminhtml/SyncController.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_Adminhtml_SyncController extends Mage_Adminhtml_Controller_Action
|
13 |
+
{
|
14 |
+
/**
|
15 |
+
* View export progression and last asked exports
|
16 |
+
*/
|
17 |
+
public function indexAction() {
|
18 |
+
// Render layout
|
19 |
+
$this->loadLayout();
|
20 |
+
$this->renderLayout();
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Manually ask for an export
|
25 |
+
*/
|
26 |
+
public function exportAction() {
|
27 |
+
// Create a demand
|
28 |
+
$demand = Mage::getModel('cueconnect/demand');
|
29 |
+
$demand->setStatus($demand::STATUS_WAITING);
|
30 |
+
$demand->setCreatedAt(date('Y-m-d H:i:s'));
|
31 |
+
$demand->setUpdatedAt(date('Y-m-d H:i:s'));
|
32 |
+
$demand->save();
|
33 |
+
|
34 |
+
// Notice
|
35 |
+
Mage::getSingleton('adminhtml/session')->addSuccess("The catalog will be exported in a few moments. Pleae make sure that Magento cron is correctly configured.");
|
36 |
+
|
37 |
+
// Redirect to catalog
|
38 |
+
return $this->_redirect('cueconnect/adminhtml_sync/index');
|
39 |
+
}
|
40 |
+
}
|
app/code/community/CueConnect/Cue/controllers/ElistController.php
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CueConnect_Cue
|
4 |
+
*
|
5 |
+
* @category CueConnect
|
6 |
+
* @package CueConnect_Cue
|
7 |
+
* @copyright Copyright (c) 2015 Cue Connect
|
8 |
+
* @author Cue Connect (http://www.cueconnect.com)
|
9 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class CueConnect_Cue_ElistController extends Mage_Core_Controller_Front_Action
|
13 |
+
{
|
14 |
+
/**
|
15 |
+
* View export progression and last asked exports
|
16 |
+
*/
|
17 |
+
public function indexAction() {
|
18 |
+
// if PB, redirect to home page - only CP is allowed here
|
19 |
+
if (1 == Mage::helper('cueconnect')->getElistMode()) {
|
20 |
+
Mage::app()->getResponse()->setRedirect(Mage::getBaseUrl());
|
21 |
+
}
|
22 |
+
|
23 |
+
if (!Mage::getSingleton('customer/session')->isLoggedIn()){
|
24 |
+
Mage::getSingleton('customer/session')->setBeforeAuthUrl(Mage::helper('core/url')->getCurrentUrl());
|
25 |
+
Mage::getSingleton('customer/session')->setAfterAuthUrl(Mage::helper('core/url')->getCurrentUrl());
|
26 |
+
}
|
27 |
+
else {
|
28 |
+
// fire custom event for CP so we sync accounts and wishlist items with Cue
|
29 |
+
Mage::dispatchEvent('elist_view', array('customer' => Mage::getSingleton('customer/session')->getCustomer()));
|
30 |
+
}
|
31 |
+
|
32 |
+
// Render layout
|
33 |
+
$this->loadLayout();
|
34 |
+
|
35 |
+
// update page title
|
36 |
+
$this->getLayout()->getBlock("head")->setTitle($this->__("Cue 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.swp
ADDED
Binary file
|
app/code/community/CueConnect/Cue/etc/config.xml
ADDED
@@ -0,0 +1,259 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<CueConnect_Cue>
|
5 |
+
<version>3.0.9</version>
|
6 |
+
</CueConnect_Cue>
|
7 |
+
</modules>
|
8 |
+
<global>
|
9 |
+
<models>
|
10 |
+
<cueconnect>
|
11 |
+
<class>CueConnect_Cue_Model</class>
|
12 |
+
<resourceModel>cueconnect_mysql4</resourceModel>
|
13 |
+
</cueconnect>
|
14 |
+
<cueconnect_mysql4>
|
15 |
+
<class>CueConnect_Cue_Model_Mysql4</class>
|
16 |
+
<entities>
|
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>
|
29 |
+
<blocks>
|
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>
|
46 |
+
<setup>
|
47 |
+
<module>CueConnect_Cue</module>
|
48 |
+
</setup>
|
49 |
+
</cueconnect_setup>
|
50 |
+
<cueconnect_write>
|
51 |
+
<connection>
|
52 |
+
<use>core_write</use>
|
53 |
+
</connection>
|
54 |
+
</cueconnect_write>
|
55 |
+
<cueconnect_read>
|
56 |
+
<connection>
|
57 |
+
<use>core_read</use>
|
58 |
+
</connection>
|
59 |
+
</cueconnect_read>
|
60 |
+
</resources>
|
61 |
+
<events>
|
62 |
+
<catalog_product_save_after>
|
63 |
+
<observers>
|
64 |
+
<cueconnect_cue_observer_update_product>
|
65 |
+
<type>singleton</type>
|
66 |
+
<class>CueConnect_Cue_Model_Observer</class>
|
67 |
+
<method>updateProduct</method>
|
68 |
+
</cueconnect_cue_observer_update_product>
|
69 |
+
</observers>
|
70 |
+
</catalog_product_save_after>
|
71 |
+
<catalog_product_delete_before>
|
72 |
+
<observers>
|
73 |
+
<cueconnect_cue_observer_delete_product>
|
74 |
+
<type>singleton</type>
|
75 |
+
<class>CueConnect_Cue_Model_Observer</class>
|
76 |
+
<method>deleteProduct</method>
|
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>
|
118 |
+
<updates>
|
119 |
+
<cueconnect module="cueconnect">
|
120 |
+
<file>cueconnect.xml</file>
|
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>
|
147 |
+
<cueconnect>
|
148 |
+
<use>admin</use>
|
149 |
+
<args>
|
150 |
+
<module>CueConnect_Cue</module>
|
151 |
+
<frontName>cueconnect</frontName>
|
152 |
+
</args>
|
153 |
+
</cueconnect>
|
154 |
+
</routers>
|
155 |
+
</admin>
|
156 |
+
<adminhtml>
|
157 |
+
<acl>
|
158 |
+
<resources>
|
159 |
+
<all>
|
160 |
+
<title>Allow Everything</title>
|
161 |
+
</all>
|
162 |
+
<admin>
|
163 |
+
<children>
|
164 |
+
<system>
|
165 |
+
<children>
|
166 |
+
<config>
|
167 |
+
<children>
|
168 |
+
<cueconnect translate="title" module="cueconnect">
|
169 |
+
<title>Cue - All</title>
|
170 |
+
<sort_order>100</sort_order>
|
171 |
+
</cueconnect>
|
172 |
+
</children>
|
173 |
+
</config>
|
174 |
+
</children>
|
175 |
+
</system>
|
176 |
+
</children>
|
177 |
+
</admin>
|
178 |
+
</resources>
|
179 |
+
</acl>
|
180 |
+
<layout>
|
181 |
+
<updates>
|
182 |
+
<cueconnect module="cueconnect">
|
183 |
+
<file>cueconnect.xml</file>
|
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
ADDED
@@ -0,0 +1,230 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" ?>
|
2 |
+
<config>
|
3 |
+
<sections>
|
4 |
+
<cueconnect module="cueconnect" translate="label">
|
5 |
+
<label>Cue</label>
|
6 |
+
<tab>catalog</tab>
|
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 "e-List" is enabled, magento's native wishlist will be disabled and customers' saved items are transfered to "e-List".</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>
|
50 |
+
<sort_order>1</sort_order>
|
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 "My e-List" 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 "My e-List" link, set this option to "No" 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 "Share" button can be automatically added or manually inserted into the product page.<br>If you wish to manually place the "Share" button, set this option to "No" 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>
|
112 |
+
<sort_order>1</sort_order>
|
113 |
+
</enabled>
|
114 |
+
</fields>
|
115 |
+
</ob>
|
116 |
+
<favorite translate="label">
|
117 |
+
<label>Add to Wishlist Link</label>
|
118 |
+
<comment><![CDATA[<p>The "Add to Wishlist" link can be automatically added or manually inserted into the product page.<br>If you wish to manually place the "Add to Wishlist" link, set this option to "No" 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>
|
132 |
+
<sort_order>1</sort_order>
|
133 |
+
</enabled>
|
134 |
+
</fields>
|
135 |
+
</favorite>
|
136 |
+
<alert translate="label">
|
137 |
+
<label>Price Alert</label>
|
138 |
+
<comment><![CDATA[<p>The "Price Alert" link can be automatically added or manually inserted into the product page.<br>If you wish to manually place the "Price Alert" link, set this option to "No" 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 <a> 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;">
|
168 |
+
|
169 |
+
<a class="cue-stream"></a>
|
170 |
+
|
171 |
+
</textarea>
|
172 |
+
</div>
|
173 |
+
|
174 |
+
<div style="padding:0 20px;margin-bottom: 20px; color: blue; font-size: 12px;">Tip: <br>
|
175 |
+
We recommend that you place the link in your header or menu.<br>You can replace the <a> 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 <div> 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 <div> 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 <div> 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>
|
226 |
+
</setup>
|
227 |
+
</groups>
|
228 |
+
</cueconnect>
|
229 |
+
</sections>
|
230 |
+
</config>
|
app/code/community/CueConnect/Cue/sql/cueconnect_setup/{mysql4-install-3.0.10.php → mysql4-install-3.0.9.php}
RENAMED
File without changes
|
app/code/community/CueConnect/Cue/sql/cueconnect_setup/{mysql4-upgrade-3.0.9-3.0.10.php → mysql4-upgrade-3.0.8-3.0.9.php}
RENAMED
File without changes
|
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>« </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>« </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(); ?>&version=embed&from=stream&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/base/default/template/cueconnect/js.phtml
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php // Todo: Update the JS snippet code ?>
|
2 |
+
<?php if ($this->isEnabled() && $this->getRetailerId()): ?>
|
3 |
+
<script type="text/javascript">
|
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);
|
15 |
+
</script>
|
16 |
+
<?php endif; ?>
|
app/design/frontend/base/default/template/cueconnect/links.phtml
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2011 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
/**
|
29 |
+
* @deprecated after 1.4.0.1
|
30 |
+
*/
|
31 |
+
?>
|
32 |
+
<?php if($toplinks && is_array($toplinks)): ?>
|
33 |
+
<ul class="links">
|
34 |
+
<?php echo $this->getChildHtml() ?>
|
35 |
+
<?php foreach($toplinks as $_toplink): ?>
|
36 |
+
<li<?php if($_toplink['first']||$_toplink['last']): ?> class="<?php if($_toplink['first']): ?>first<?php endif; ?><?php if($_toplink['last']): ?> last<?php endif; ?>"<?php endif; ?> <?php echo $_toplink['liParams'] ?>><?php echo $_toplink['beforeText'] ?><a <?php echo $_toplink['aParams'] ?>><?php echo $_toplink['innerText'] ?></a><?php echo $_toplink['afterText'] ?></li>
|
37 |
+
<?php endforeach; ?>
|
38 |
+
</ul>
|
39 |
+
<?php endif; ?>
|
app/design/frontend/base/default/template/cueconnect/meta.phtml
ADDED
@@ -0,0 +1,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/etc/modules/CueConnect_Cue.xml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<CueConnect_Cue>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
</CueConnect_Cue>
|
8 |
+
</modules>
|
9 |
+
</config>
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Cue</name>
|
4 |
-
<version>3.0.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
|
7 |
<channel>community</channel>
|
@@ -11,9 +11,9 @@
|
|
11 |
<notes>- removed catalog sync
|
12 |
- bug fixes.</notes>
|
13 |
<authors><author><name>Cue Connect</name><user>hrais</user><email>hrais@cueconnect.com</email></author></authors>
|
14 |
-
<date>2016-06-
|
15 |
-
<time>
|
16 |
-
<contents><target name="magecommunity"><dir name="CueConnect"><dir name="Cue"><dir name="sql"><dir name="cueconnect_setup"><file name="mysql4-install-3.0.
|
17 |
<compatible/>
|
18 |
<dependencies><required><php><min>5.1.0</min><max>5.6.22</max></php><extension><name>Core</name><min/><max/></extension></required></dependencies>
|
19 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Cue</name>
|
4 |
+
<version>3.0.11</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>
|
11 |
<notes>- removed catalog sync
|
12 |
- bug fixes.</notes>
|
13 |
<authors><author><name>Cue Connect</name><user>hrais</user><email>hrais@cueconnect.com</email></author></authors>
|
14 |
+
<date>2016-06-27</date>
|
15 |
+
<time>18:11:16</time>
|
16 |
+
<contents><target name="mageetc"><dir name="modules"><file name="CueConnect_Cue.xml" hash="6bd6cf8a7f9e647dc5729e8b0a77cfa1"/></dir></target><target name="magecommunity"><dir name="CueConnect"><dir name="Cue"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><file name="Product.php" hash="da20e73d9d6c46f8e9b8f2e0b130b69a"/></dir><file name="Index.php" hash="0c40f5f733dd6ecd2dd5a0453d1df14b"/><file name="Progress.php" hash="9767500cf8507eacd58c6b441a23d7c1"/><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Readonly.php" hash="847f56fbe8ce7b3334b8831981aff5fb"/></dir></dir><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/><file name="._.DS_Store" hash="7d40ce63be1b295f209e8b80541f880d"/></dir></dir></dir><file name="Alert.php" hash="416cb0dba8485a32feb55306f2004664"/><file name="BaseCueBlock.php" hash="762bd5f6105ae2c82bb06888ac7e079d"/><file name="Collection.php" hash="34049e05086f52a1b74bcf7046f8a4f8"/><file name="Elist.php" hash="7832410c357470a083cf3d3679ab376d"/><file name="Favorite.php" hash="dd4bd0736e3cfea4d87e366fb0e228b3"/><file name="Js.php" hash="fa423dff429d99b1969fe9b2932be095"/><file name="Meta.php" hash="c16b07f77ac3c1ccb6fdcbcfc17ea703"/><file name="Navigation.php" hash="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></contents>
|
17 |
<compatible/>
|
18 |
<dependencies><required><php><min>5.1.0</min><max>5.6.22</max></php><extension><name>Core</name><min/><max/></extension></required></dependencies>
|
19 |
</package>
|