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>
|
