Version Notes
v.1.1.3: June 14, 2016:
- Fixed performance issue for abandoned cart data.
- Fixed notification message for unavailable products.
- Added multi-store support.
Download this release
Release Info
Developer | EYEMAGINE |
Extension | Eyemagine_HubSpot |
Version | 1.1.3 |
Comparing to | |
See all releases |
Code changes from version 1.1.2 to 1.1.3
- app/code/community/Eyemagine/HubSpot/Block/Adminhtml/Frontend/._Utk.php +0 -0
- app/code/community/Eyemagine/HubSpot/Block/Adminhtml/Frontend/Button/Regen.php +1 -1
- app/code/community/Eyemagine/HubSpot/Block/Adminhtml/Frontend/Eyemagine/Info.php +1 -1
- app/code/community/Eyemagine/HubSpot/Block/Adminhtml/Frontend/Eyemagine/Support.php +1 -1
- app/code/community/Eyemagine/HubSpot/Block/Adminhtml/Frontend/Eyemagine/Version.php +1 -1
- app/code/community/Eyemagine/HubSpot/Block/Adminhtml/Frontend/Utk.php +1 -1
- app/code/community/Eyemagine/HubSpot/Helper/._Data.php +0 -0
- app/code/community/Eyemagine/HubSpot/Helper/Data.php +15 -13
- app/code/community/Eyemagine/HubSpot/Model/._Observer.php +0 -0
- app/code/community/Eyemagine/HubSpot/Model/Observer.php +1 -1
- app/code/community/Eyemagine/HubSpot/controllers/._SyncController.php +0 -0
- app/code/community/Eyemagine/HubSpot/controllers/Adminhtml/.DS_Store +0 -0
- app/code/community/Eyemagine/HubSpot/controllers/Adminhtml/Hubspot/._IndexController.php +0 -0
- app/code/community/Eyemagine/HubSpot/controllers/Adminhtml/Hubspot/IndexController.php +1 -1
- app/code/community/Eyemagine/HubSpot/controllers/LinkController.php +13 -13
- app/code/community/Eyemagine/HubSpot/controllers/SyncController.php +100 -87
- app/code/community/Eyemagine/HubSpot/etc/._config.xml +0 -0
- app/code/community/Eyemagine/HubSpot/etc/adminhtml.xml +1 -1
- app/code/community/Eyemagine/HubSpot/etc/config.xml +2 -2
- app/code/community/Eyemagine/HubSpot/etc/system.xml +1 -1
- app/code/community/Eyemagine/HubSpot/readme.txt +30 -1
- app/code/community/Eyemagine/HubSpot/sql/eyehubspot_setup/mysql4-install-1.0.0.php +1 -1
- app/etc/modules/Eyemagine_HubSpot.xml +1 -1
- package.xml +8 -7
app/code/community/Eyemagine/HubSpot/Block/Adminhtml/Frontend/._Utk.php
DELETED
Binary file
|
app/code/community/Eyemagine/HubSpot/Block/Adminhtml/Frontend/Button/Regen.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
-
* @copyright Copyright (c)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
app/code/community/Eyemagine/HubSpot/Block/Adminhtml/Frontend/Eyemagine/Info.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
-
* @copyright Copyright (c)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
app/code/community/Eyemagine/HubSpot/Block/Adminhtml/Frontend/Eyemagine/Support.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
-
* @copyright Copyright (c)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
app/code/community/Eyemagine/HubSpot/Block/Adminhtml/Frontend/Eyemagine/Version.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
-
* @copyright Copyright (c)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
app/code/community/Eyemagine/HubSpot/Block/Adminhtml/Frontend/Utk.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
-
* @copyright Copyright (c)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
app/code/community/Eyemagine/HubSpot/Helper/._Data.php
DELETED
Binary file
|
app/code/community/Eyemagine/HubSpot/Helper/Data.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
-
* @copyright Copyright (c)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
@@ -100,7 +100,7 @@ class Eyemagine_HubSpot_Helper_Data extends Mage_Core_Helper_Abstract
|
|
100 |
* @param int $websiteId
|
101 |
* @param int $maxLimit
|
102 |
*/
|
103 |
-
public function loadCatalogData($item, $storeId, $websiteId, $maxLimit = 10)
|
104 |
{
|
105 |
$product = null;
|
106 |
$categories = array();
|
@@ -128,7 +128,7 @@ class Eyemagine_HubSpot_Helper_Data extends Mage_Core_Helper_Abstract
|
|
128 |
|
129 |
foreach ($relatedCollection as $p) {
|
130 |
$websiteIds = $p->getWebsiteIds();
|
131 |
-
if (in_array($websiteId, $websiteIds)) {
|
132 |
$related[$p->getId()] = $this->convertAttributeData($p);
|
133 |
}
|
134 |
}
|
@@ -144,7 +144,7 @@ class Eyemagine_HubSpot_Helper_Data extends Mage_Core_Helper_Abstract
|
|
144 |
|
145 |
foreach ($upsellCollection as $p) {
|
146 |
$websiteIds = $p->getWebsiteIds();
|
147 |
-
if (in_array($websiteId, $websiteIds)) {
|
148 |
$upsells[$p->getId()] = $this->convertAttributeData($p);
|
149 |
}
|
150 |
}
|
@@ -158,7 +158,7 @@ class Eyemagine_HubSpot_Helper_Data extends Mage_Core_Helper_Abstract
|
|
158 |
|
159 |
foreach ($categoryCollection as $category) {
|
160 |
$storeIds = $category->getStoreIds();
|
161 |
-
if (in_array($storeId, $storeIds)) {
|
162 |
$categories[$category->getId()] = $this->convertAttributeData($category);
|
163 |
}
|
164 |
}
|
@@ -179,7 +179,7 @@ class Eyemagine_HubSpot_Helper_Data extends Mage_Core_Helper_Abstract
|
|
179 |
* @param int $customerId
|
180 |
* @return array
|
181 |
*/
|
182 |
-
public function getProductViewedList($customerId, $limit = 10)
|
183 |
{
|
184 |
$customerId = (int)$customerId;
|
185 |
$storeId = Mage::app()->getStore()->getId();
|
@@ -198,7 +198,7 @@ class Eyemagine_HubSpot_Helper_Data extends Mage_Core_Helper_Abstract
|
|
198 |
->setPageSize($maxpagesize)
|
199 |
->setOrder('logged_at', Varien_Data_Collection::SORT_ORDER_DESC);
|
200 |
|
201 |
-
if ($storeId) {
|
202 |
$collection->addStoreFilter(array($storeId));
|
203 |
}
|
204 |
|
@@ -218,7 +218,7 @@ class Eyemagine_HubSpot_Helper_Data extends Mage_Core_Helper_Abstract
|
|
218 |
->addAttributeToSelect('url_path')
|
219 |
->addIdFilter($productIds);
|
220 |
|
221 |
-
if ($storeId) {
|
222 |
$productCollection->setStoreId($storeId)
|
223 |
->addStoreFilter($storeId);
|
224 |
}
|
@@ -242,7 +242,7 @@ class Eyemagine_HubSpot_Helper_Data extends Mage_Core_Helper_Abstract
|
|
242 |
* @param int $customerId
|
243 |
* @return array
|
244 |
*/
|
245 |
-
public function getProductCompareList($customerId, $limit = 10)
|
246 |
{
|
247 |
$customerId = (int)$customerId;
|
248 |
$storeId = Mage::app()->getStore()->getId();
|
@@ -264,7 +264,7 @@ class Eyemagine_HubSpot_Helper_Data extends Mage_Core_Helper_Abstract
|
|
264 |
->addAttributeToSelect('status')
|
265 |
->setOrder('catalog_compare_item_id', 'DESC');
|
266 |
|
267 |
-
if ($storeId) {
|
268 |
$collection->setStoreId($storeId)
|
269 |
->addStoreFilter($storeId);
|
270 |
}
|
@@ -287,7 +287,7 @@ class Eyemagine_HubSpot_Helper_Data extends Mage_Core_Helper_Abstract
|
|
287 |
* @param int $customerId
|
288 |
* @return array
|
289 |
*/
|
290 |
-
public function getProductWishlist($customerId, $limit = 10)
|
291 |
{
|
292 |
$customerId = (int)$customerId;
|
293 |
$storeId = Mage::app()->getStore()->getId();
|
@@ -296,10 +296,12 @@ class Eyemagine_HubSpot_Helper_Data extends Mage_Core_Helper_Abstract
|
|
296 |
|
297 |
if ($customerId) {
|
298 |
try {
|
299 |
-
|
300 |
$wishlist = Mage::getModel('wishlist/wishlist')->loadByCustomer($customerId, true);
|
301 |
$wishListItemCollection = $wishlist->getItemCollection();
|
302 |
-
|
|
|
|
|
303 |
foreach ($wishListItemCollection as $item)
|
304 |
{
|
305 |
$returnData[]['name']= $item->getName(); // Get Product Name
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
100 |
* @param int $websiteId
|
101 |
* @param int $maxLimit
|
102 |
*/
|
103 |
+
public function loadCatalogData($item, $storeId, $websiteId, $multistore, $maxLimit = 10)
|
104 |
{
|
105 |
$product = null;
|
106 |
$categories = array();
|
128 |
|
129 |
foreach ($relatedCollection as $p) {
|
130 |
$websiteIds = $p->getWebsiteIds();
|
131 |
+
if (in_array($websiteId, $websiteIds) || $multistore) {
|
132 |
$related[$p->getId()] = $this->convertAttributeData($p);
|
133 |
}
|
134 |
}
|
144 |
|
145 |
foreach ($upsellCollection as $p) {
|
146 |
$websiteIds = $p->getWebsiteIds();
|
147 |
+
if (in_array($websiteId, $websiteIds) || $multistore) {
|
148 |
$upsells[$p->getId()] = $this->convertAttributeData($p);
|
149 |
}
|
150 |
}
|
158 |
|
159 |
foreach ($categoryCollection as $category) {
|
160 |
$storeIds = $category->getStoreIds();
|
161 |
+
if (in_array($storeId, $storeIds) || $multistore) {
|
162 |
$categories[$category->getId()] = $this->convertAttributeData($category);
|
163 |
}
|
164 |
}
|
179 |
* @param int $customerId
|
180 |
* @return array
|
181 |
*/
|
182 |
+
public function getProductViewedList($customerId, $multistore, $limit = 10)
|
183 |
{
|
184 |
$customerId = (int)$customerId;
|
185 |
$storeId = Mage::app()->getStore()->getId();
|
198 |
->setPageSize($maxpagesize)
|
199 |
->setOrder('logged_at', Varien_Data_Collection::SORT_ORDER_DESC);
|
200 |
|
201 |
+
if (!($multistore) && $storeId) {
|
202 |
$collection->addStoreFilter(array($storeId));
|
203 |
}
|
204 |
|
218 |
->addAttributeToSelect('url_path')
|
219 |
->addIdFilter($productIds);
|
220 |
|
221 |
+
if (!($multistore) && $storeId) {
|
222 |
$productCollection->setStoreId($storeId)
|
223 |
->addStoreFilter($storeId);
|
224 |
}
|
242 |
* @param int $customerId
|
243 |
* @return array
|
244 |
*/
|
245 |
+
public function getProductCompareList($customerId, $multistore, $limit = 10)
|
246 |
{
|
247 |
$customerId = (int)$customerId;
|
248 |
$storeId = Mage::app()->getStore()->getId();
|
264 |
->addAttributeToSelect('status')
|
265 |
->setOrder('catalog_compare_item_id', 'DESC');
|
266 |
|
267 |
+
if (!($multistore) && $storeId) {
|
268 |
$collection->setStoreId($storeId)
|
269 |
->addStoreFilter($storeId);
|
270 |
}
|
287 |
* @param int $customerId
|
288 |
* @return array
|
289 |
*/
|
290 |
+
public function getProductWishlist($customerId, $multistore, $limit = 10)
|
291 |
{
|
292 |
$customerId = (int)$customerId;
|
293 |
$storeId = Mage::app()->getStore()->getId();
|
296 |
|
297 |
if ($customerId) {
|
298 |
try {
|
299 |
+
|
300 |
$wishlist = Mage::getModel('wishlist/wishlist')->loadByCustomer($customerId, true);
|
301 |
$wishListItemCollection = $wishlist->getItemCollection();
|
302 |
+
if (!($multistore) && $storeId) {
|
303 |
+
$wishListItemCollection->addStoreFilter($storeId);
|
304 |
+
}
|
305 |
foreach ($wishListItemCollection as $item)
|
306 |
{
|
307 |
$returnData[]['name']= $item->getName(); // Get Product Name
|
app/code/community/Eyemagine/HubSpot/Model/._Observer.php
DELETED
Binary file
|
app/code/community/Eyemagine/HubSpot/Model/Observer.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
-
* @copyright Copyright (c)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
app/code/community/Eyemagine/HubSpot/controllers/._SyncController.php
DELETED
Binary file
|
app/code/community/Eyemagine/HubSpot/controllers/Adminhtml/.DS_Store
DELETED
Binary file
|
app/code/community/Eyemagine/HubSpot/controllers/Adminhtml/Hubspot/._IndexController.php
DELETED
Binary file
|
app/code/community/Eyemagine/HubSpot/controllers/Adminhtml/Hubspot/IndexController.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
-
* @copyright Copyright (c)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
app/code/community/Eyemagine/HubSpot/controllers/LinkController.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
-
* @copyright Copyright (c)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
@@ -74,7 +74,7 @@ class Eyemagine_HubSpot_LinkController extends Mage_Core_Controller_Front_Action
|
|
74 |
}
|
75 |
|
76 |
// adds message that the product is unavailable
|
77 |
-
$session = Mage::getSingleton('
|
78 |
$session->addNotice(Mage::getStoreConfig('eyehubspot/settings/unavailable_msg'));
|
79 |
}
|
80 |
|
@@ -168,17 +168,17 @@ class Eyemagine_HubSpot_LinkController extends Mage_Core_Controller_Front_Action
|
|
168 |
} elseif (!$nullIfNoLoad && !$product) {
|
169 |
$product = Mage::getModel('catalog/product');
|
170 |
}
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
return $product;
|
183 |
}
|
184 |
}
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
74 |
}
|
75 |
|
76 |
// adds message that the product is unavailable
|
77 |
+
$session = Mage::getSingleton('core/session');
|
78 |
$session->addNotice(Mage::getStoreConfig('eyehubspot/settings/unavailable_msg'));
|
79 |
}
|
80 |
|
168 |
} elseif (!$nullIfNoLoad && !$product) {
|
169 |
$product = Mage::getModel('catalog/product');
|
170 |
}
|
171 |
+
if ($product){
|
172 |
+
// compare current store ID with website IDs that the product is assigned to
|
173 |
+
$storeId = $product->getStoreId();
|
174 |
+
$websiteIds = $product->getWebsiteIds();
|
175 |
+
|
176 |
+
// if the product is not in the current store, change the store ID
|
177 |
+
if (!in_array($storeId, $websiteIds)) {
|
178 |
+
|
179 |
+
$product->setStoreId($websiteIds[0]);
|
180 |
+
}
|
181 |
+
}
|
182 |
return $product;
|
183 |
}
|
184 |
}
|
app/code/community/Eyemagine/HubSpot/controllers/SyncController.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
-
* @copyright Copyright (c)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
@@ -38,7 +38,7 @@ class Eyemagine_HubSpot_SyncController extends Mage_Core_Controller_Front_Action
|
|
38 |
const MAX_ASSOC_PRODUCT_LIMIT = 10;
|
39 |
const IS_ABANDONED_IN_SECS = 3600;
|
40 |
const LONG_DATE_FORMAT = 'l, F j, Y \a\t h:i A \U\T\C';
|
41 |
-
|
42 |
|
43 |
/**
|
44 |
* Generate a list of customers updated since start date
|
@@ -52,6 +52,7 @@ class Eyemagine_HubSpot_SyncController extends Mage_Core_Controller_Front_Action
|
|
52 |
try {
|
53 |
$request = $this->getRequest();
|
54 |
$helper = Mage::helper('eyehubspot');
|
|
|
55 |
$maxperpage = $request->getParam('maxperpage', self::MAX_CUSTOMER_PERPAGE);
|
56 |
$start = date('Y-m-d H:i:s', $request->getParam('start', 0));
|
57 |
$end = date('Y-m-d H:i:s', time() - 300);
|
@@ -71,7 +72,7 @@ class Eyemagine_HubSpot_SyncController extends Mage_Core_Controller_Front_Action
|
|
71 |
->setPageSize($maxperpage);
|
72 |
|
73 |
// only add the filter if website id > 0
|
74 |
-
if ($websiteId) {
|
75 |
$collection->addFieldToFilter('website_id', array('eq' => $websiteId));
|
76 |
}
|
77 |
|
@@ -128,6 +129,7 @@ class Eyemagine_HubSpot_SyncController extends Mage_Core_Controller_Front_Action
|
|
128 |
try {
|
129 |
$request = $this->getRequest();
|
130 |
$helper = Mage::helper('eyehubspot');
|
|
|
131 |
$maxperpage = $request->getParam('maxperpage', self::MAX_ORDER_PERPAGE);
|
132 |
$maxAssociated = $request->getParam('maxassoc', self::MAX_ASSOC_PRODUCT_LIMIT);
|
133 |
$start = date('Y-m-d H:i:s', $request->getParam('start', 0));
|
@@ -149,7 +151,7 @@ class Eyemagine_HubSpot_SyncController extends Mage_Core_Controller_Front_Action
|
|
149 |
->setPageSize($maxperpage);
|
150 |
|
151 |
// only add the filter if store id > 0
|
152 |
-
if ($storeId) {
|
153 |
$collection->addFieldToFilter('store_id', array('eq' => $storeId));
|
154 |
}
|
155 |
|
@@ -167,7 +169,7 @@ class Eyemagine_HubSpot_SyncController extends Mage_Core_Controller_Front_Action
|
|
167 |
$result['items'] = array();
|
168 |
|
169 |
foreach ($order->getAllItems() as $item) {
|
170 |
-
$helper->loadCatalogData($item, $storeId, $websiteId, $maxAssociated);
|
171 |
$result['items'][] = $helper->convertAttributeData($item);
|
172 |
}
|
173 |
|
@@ -202,6 +204,7 @@ class Eyemagine_HubSpot_SyncController extends Mage_Core_Controller_Front_Action
|
|
202 |
|
203 |
try {
|
204 |
$request = $this->getRequest();
|
|
|
205 |
$maxperpage = $request->getParam('maxperpage', self::MAX_SUBSCRIBER_PERPAGE);
|
206 |
$lastSubscriberId = $request->getParam('id', '0');
|
207 |
$start = $request->getParam('start')?date('Y-m-d H:i:s', $request->getParam('start')):'0';
|
@@ -230,7 +233,7 @@ class Eyemagine_HubSpot_SyncController extends Mage_Core_Controller_Front_Action
|
|
230 |
|
231 |
|
232 |
// only add the filter if store id > 0
|
233 |
-
if ($storeId) {
|
234 |
$collection->addFieldToFilter('store_id', array('eq' => $storeId));
|
235 |
}
|
236 |
|
@@ -261,87 +264,96 @@ class Eyemagine_HubSpot_SyncController extends Mage_Core_Controller_Front_Action
|
|
261 |
/**
|
262 |
* Loads all abandoned carts (only those created by registered customers)
|
263 |
*/
|
264 |
-
|
265 |
{
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
|
|
298 |
$collection->addFieldToFilter('store_id', array('eq' => $storeId));
|
299 |
}
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
342 |
}
|
343 |
-
|
344 |
-
|
345 |
/**
|
346 |
* Retrieves recent activity for customers (sorted by last visit date)
|
347 |
*/
|
@@ -354,6 +366,7 @@ class Eyemagine_HubSpot_SyncController extends Mage_Core_Controller_Front_Action
|
|
354 |
try {
|
355 |
$request = $this->getRequest();
|
356 |
$helper = Mage::helper('eyehubspot');
|
|
|
357 |
$maxperpage = $request->getParam('maxperpage', self::MAX_CUSTOMER_PERPAGE);
|
358 |
$maxAssociated = $request->getParam('maxassoc', self::MAX_ASSOC_PRODUCT_LIMIT);
|
359 |
$start = date('Y-m-d H:i:s', $request->getParam('start', 0));
|
@@ -391,7 +404,7 @@ class Eyemagine_HubSpot_SyncController extends Mage_Core_Controller_Front_Action
|
|
391 |
)
|
392 |
->where('lc.customer_id > 0');
|
393 |
// only add the filter if website id > 0
|
394 |
-
if ($websiteId) {
|
395 |
$select->where("c.website_id = '$websiteId'");
|
396 |
}
|
397 |
$select->where("lv.last_visit_at >= '$start'")
|
@@ -415,9 +428,9 @@ class Eyemagine_HubSpot_SyncController extends Mage_Core_Controller_Front_Action
|
|
415 |
$log->addData($temp->getData());
|
416 |
$log->setFirstVisitAt($temp->getFirstVisitAt());
|
417 |
} else {
|
418 |
-
$log->setViewed($helper->getProductViewedList($customerId, $maxAssociated));
|
419 |
-
$log->setCompare($helper->getProductCompareList($customerId, $maxAssociated));
|
420 |
-
$log->setWishlist($helper->getProductWishlist($customerId, $maxAssociated));
|
421 |
}
|
422 |
|
423 |
$log->unsetData('session_id');
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
38 |
const MAX_ASSOC_PRODUCT_LIMIT = 10;
|
39 |
const IS_ABANDONED_IN_SECS = 3600;
|
40 |
const LONG_DATE_FORMAT = 'l, F j, Y \a\t h:i A \U\T\C';
|
41 |
+
const IS_MULTISTORE = FALSE;
|
42 |
|
43 |
/**
|
44 |
* Generate a list of customers updated since start date
|
52 |
try {
|
53 |
$request = $this->getRequest();
|
54 |
$helper = Mage::helper('eyehubspot');
|
55 |
+
$multistore = $request->getParam ('multistore', self::IS_MULTISTORE );
|
56 |
$maxperpage = $request->getParam('maxperpage', self::MAX_CUSTOMER_PERPAGE);
|
57 |
$start = date('Y-m-d H:i:s', $request->getParam('start', 0));
|
58 |
$end = date('Y-m-d H:i:s', time() - 300);
|
72 |
->setPageSize($maxperpage);
|
73 |
|
74 |
// only add the filter if website id > 0
|
75 |
+
if (!($multistore) && $websiteId) {
|
76 |
$collection->addFieldToFilter('website_id', array('eq' => $websiteId));
|
77 |
}
|
78 |
|
129 |
try {
|
130 |
$request = $this->getRequest();
|
131 |
$helper = Mage::helper('eyehubspot');
|
132 |
+
$multistore = $request->getParam ('multistore', self::IS_MULTISTORE );
|
133 |
$maxperpage = $request->getParam('maxperpage', self::MAX_ORDER_PERPAGE);
|
134 |
$maxAssociated = $request->getParam('maxassoc', self::MAX_ASSOC_PRODUCT_LIMIT);
|
135 |
$start = date('Y-m-d H:i:s', $request->getParam('start', 0));
|
151 |
->setPageSize($maxperpage);
|
152 |
|
153 |
// only add the filter if store id > 0
|
154 |
+
if (!($multistore) && $storeId) {
|
155 |
$collection->addFieldToFilter('store_id', array('eq' => $storeId));
|
156 |
}
|
157 |
|
169 |
$result['items'] = array();
|
170 |
|
171 |
foreach ($order->getAllItems() as $item) {
|
172 |
+
$helper->loadCatalogData($item, $storeId, $websiteId, $multistore, $maxAssociated);
|
173 |
$result['items'][] = $helper->convertAttributeData($item);
|
174 |
}
|
175 |
|
204 |
|
205 |
try {
|
206 |
$request = $this->getRequest();
|
207 |
+
$multistore = $request->getParam ('multistore', self::IS_MULTISTORE );
|
208 |
$maxperpage = $request->getParam('maxperpage', self::MAX_SUBSCRIBER_PERPAGE);
|
209 |
$lastSubscriberId = $request->getParam('id', '0');
|
210 |
$start = $request->getParam('start')?date('Y-m-d H:i:s', $request->getParam('start')):'0';
|
233 |
|
234 |
|
235 |
// only add the filter if store id > 0
|
236 |
+
if (!($multistore) && $storeId) {
|
237 |
$collection->addFieldToFilter('store_id', array('eq' => $storeId));
|
238 |
}
|
239 |
|
264 |
/**
|
265 |
* Loads all abandoned carts (only those created by registered customers)
|
266 |
*/
|
267 |
+
public function getabandonedAction()
|
268 |
{
|
269 |
+
if (!$this->_authenticate()) {
|
270 |
+
return;
|
271 |
+
}
|
272 |
+
|
273 |
+
try {
|
274 |
+
$request = $this->getRequest();
|
275 |
+
$helper = Mage::helper('eyehubspot');
|
276 |
+
$maxperpage = $request->getParam('maxperpage', self::MAX_ORDER_PERPAGE);
|
277 |
+
$multistore = $request->getParam ('multistore', self::IS_MULTISTORE );
|
278 |
+
$maxAssociated = $request->getParam('maxassoc', self::MAX_ASSOC_PRODUCT_LIMIT);
|
279 |
+
$start = date('Y-m-d H:i:s', $request->getParam('start', 0));
|
280 |
+
$end = date('Y-m-d H:i:s', time() - $request->getParam('offset', self::IS_ABANDONED_IN_SECS));
|
281 |
+
$websiteId = Mage::app()->getWebsite()->getId();
|
282 |
+
$store = Mage::app()->getStore();
|
283 |
+
$storeId = Mage::app()->getStore()->getId();
|
284 |
+
$custGroups = $helper->getCustomerGroups();
|
285 |
+
$collection = Mage::getModel('sales/quote')->getCollection();
|
286 |
+
$returnData = array();
|
287 |
+
|
288 |
+
// setup the query and page size
|
289 |
+
$collection->addFieldToFilter('updated_at', array(
|
290 |
+
'from' => $start,
|
291 |
+
'to' => $end,
|
292 |
+
'date' => true
|
293 |
+
))
|
294 |
+
->addFieldToFilter('is_active', array('neq' => 0))
|
295 |
+
->addFieldToFilter('customer_email', array('like' => '%@%'))
|
296 |
+
->addFieldToFilter('items_count', array('gt' => 0))
|
297 |
+
->setOrder('updated_at', Varien_Data_Collection::SORT_ORDER_ASC)
|
298 |
+
->setPageSize($maxperpage);
|
299 |
+
|
300 |
+
// only add the filter if store id > 0
|
301 |
+
if (!($multistore) && $storeId) {
|
302 |
$collection->addFieldToFilter('store_id', array('eq' => $storeId));
|
303 |
}
|
304 |
+
|
305 |
+
foreach ($collection as $cart) {
|
306 |
+
$result = $helper->convertAttributeData($cart);
|
307 |
+
$groupId = (int)$cart->getCustomerGroupId();
|
308 |
+
|
309 |
+
if (isset($custGroups[$groupId])) {
|
310 |
+
$result['customer_group'] = $custGroups[$groupId];
|
311 |
+
} else {
|
312 |
+
$result['customer_group'] = 'Guest';
|
313 |
+
}
|
314 |
+
|
315 |
+
$result['website_id'] = $websiteId;
|
316 |
+
$result['store_url'] = $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
|
317 |
+
$result['media_url'] = $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
|
318 |
+
$result['shipping_address'] = $helper->convertAttributeData($cart->getShippingAddress());
|
319 |
+
$result['billing_address'] = $helper->convertAttributeData($cart->getBillingAddress());
|
320 |
+
$result['items'] = array();
|
321 |
+
|
322 |
+
$cartItems = Mage::getModel('sales/quote_item')->getCollection()
|
323 |
+
->setQuote($cart)
|
324 |
+
->setOrder('base_price', Varien_Data_Collection::SORT_ORDER_DESC)
|
325 |
+
->setPageSize($maxAssociated);
|
326 |
+
|
327 |
+
|
328 |
+
foreach ($cartItems as $item) {
|
329 |
+
if (!$item->isDeleted() && !$item->getParentItemId()) {
|
330 |
+
$helper->loadCatalogData($item, $storeId, $websiteId, $maxAssociated);
|
331 |
+
$result['items'][] = $helper->convertAttributeData($item);
|
332 |
+
|
333 |
+
}
|
334 |
+
}
|
335 |
+
|
336 |
+
|
337 |
+
// make sure there are items before adding to return
|
338 |
+
if (count($result['items'])) {
|
339 |
+
$returnData[$cart->getId()] = $result;
|
340 |
+
}
|
341 |
+
}
|
342 |
+
} catch (Exception $e) {
|
343 |
+
$this->_outputError(
|
344 |
+
self::ERROR_CODE_UNKNOWN_EXCEPTION,
|
345 |
+
'Unknown exception on request',
|
346 |
+
$e
|
347 |
+
);
|
348 |
+
return;
|
349 |
+
}
|
350 |
+
|
351 |
+
$this->_outputJson(array(
|
352 |
+
'abandoned' => $returnData,
|
353 |
+
'website' => $websiteId,
|
354 |
+
'store' => $storeId
|
355 |
+
));
|
356 |
}
|
|
|
|
|
357 |
/**
|
358 |
* Retrieves recent activity for customers (sorted by last visit date)
|
359 |
*/
|
366 |
try {
|
367 |
$request = $this->getRequest();
|
368 |
$helper = Mage::helper('eyehubspot');
|
369 |
+
$multistore = $request->getParam ('multistore', self::IS_MULTISTORE );
|
370 |
$maxperpage = $request->getParam('maxperpage', self::MAX_CUSTOMER_PERPAGE);
|
371 |
$maxAssociated = $request->getParam('maxassoc', self::MAX_ASSOC_PRODUCT_LIMIT);
|
372 |
$start = date('Y-m-d H:i:s', $request->getParam('start', 0));
|
404 |
)
|
405 |
->where('lc.customer_id > 0');
|
406 |
// only add the filter if website id > 0
|
407 |
+
if (!($multistore) && $websiteId) {
|
408 |
$select->where("c.website_id = '$websiteId'");
|
409 |
}
|
410 |
$select->where("lv.last_visit_at >= '$start'")
|
428 |
$log->addData($temp->getData());
|
429 |
$log->setFirstVisitAt($temp->getFirstVisitAt());
|
430 |
} else {
|
431 |
+
$log->setViewed($helper->getProductViewedList($customerId, $multistore, $maxAssociated));
|
432 |
+
$log->setCompare($helper->getProductCompareList($customerId, $multistore, $maxAssociated));
|
433 |
+
$log->setWishlist($helper->getProductWishlist($customerId, $multistore, $maxAssociated));
|
434 |
}
|
435 |
|
436 |
$log->unsetData('session_id');
|
app/code/community/Eyemagine/HubSpot/etc/._config.xml
DELETED
Binary file
|
app/code/community/Eyemagine/HubSpot/etc/adminhtml.xml
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
9 |
* @category Eyemagine
|
10 |
* @package Eyemagine_HubSpot
|
11 |
-
* @copyright Copyright (c)
|
12 |
* @license http://www.eyemaginetech.com/license.txt
|
13 |
*/
|
14 |
-->
|
8 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
9 |
* @category Eyemagine
|
10 |
* @package Eyemagine_HubSpot
|
11 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
12 |
* @license http://www.eyemaginetech.com/license.txt
|
13 |
*/
|
14 |
-->
|
app/code/community/Eyemagine/HubSpot/etc/config.xml
CHANGED
@@ -8,14 +8,14 @@
|
|
8 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
9 |
* @category Eyemagine
|
10 |
* @package Eyemagine_HubSpot
|
11 |
-
* @copyright Copyright (c)
|
12 |
* @license http://www.eyemaginetech.com/license.txt
|
13 |
*/
|
14 |
-->
|
15 |
<config>
|
16 |
<modules>
|
17 |
<Eyemagine_HubSpot>
|
18 |
-
<version>1.1.
|
19 |
</Eyemagine_HubSpot>
|
20 |
</modules>
|
21 |
<global>
|
8 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
9 |
* @category Eyemagine
|
10 |
* @package Eyemagine_HubSpot
|
11 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
12 |
* @license http://www.eyemaginetech.com/license.txt
|
13 |
*/
|
14 |
-->
|
15 |
<config>
|
16 |
<modules>
|
17 |
<Eyemagine_HubSpot>
|
18 |
+
<version>1.1.3</version>
|
19 |
</Eyemagine_HubSpot>
|
20 |
</modules>
|
21 |
<global>
|
app/code/community/Eyemagine/HubSpot/etc/system.xml
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
9 |
* @category Eyemagine
|
10 |
* @package Eyemagine_HubSpot
|
11 |
-
* @copyright Copyright (c)
|
12 |
* @license http://www.eyemaginetech.com/license.txt
|
13 |
*/
|
14 |
-->
|
8 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
9 |
* @category Eyemagine
|
10 |
* @package Eyemagine_HubSpot
|
11 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
12 |
* @license http://www.eyemaginetech.com/license.txt
|
13 |
*/
|
14 |
-->
|
app/code/community/Eyemagine/HubSpot/readme.txt
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
7 |
* @category Eyemagine
|
8 |
* @package Eyemagine_HubSpot
|
9 |
-
* @copyright Copyright (c)
|
10 |
* @license http://www.eyemaginetech.com/license.txt
|
11 |
*/
|
12 |
|
@@ -54,5 +54,34 @@ v.1.0.1: September 5, 2015
|
|
54 |
- Added redirect to search results page for name when product is not available
|
55 |
- Minor bug fixes
|
56 |
|
|
|
57 |
v.1.0.0: July 8, 2015
|
58 |
- Initial release.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
7 |
* @category Eyemagine
|
8 |
* @package Eyemagine_HubSpot
|
9 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
10 |
* @license http://www.eyemaginetech.com/license.txt
|
11 |
*/
|
12 |
|
54 |
- Added redirect to search results page for name when product is not available
|
55 |
- Minor bug fixes
|
56 |
|
57 |
+
|
58 |
v.1.0.0: July 8, 2015
|
59 |
- Initial release.
|
60 |
+
|
61 |
+
|
62 |
+
v.1.0.3: July 7, 2014
|
63 |
+
- Fixed package definition
|
64 |
+
|
65 |
+
|
66 |
+
v.1.0.5: Aug 31, 2015
|
67 |
+
- Fixed product image display related issue
|
68 |
+
|
69 |
+
|
70 |
+
v.1.1.0: Sep 11, 2015
|
71 |
+
- Added sync for newsletter subscribers
|
72 |
+
- Fixed sync for the address data
|
73 |
+
|
74 |
+
|
75 |
+
v.1.1.1: Oct 05, 2015
|
76 |
+
- Fixed 404 error message
|
77 |
+
|
78 |
+
|
79 |
+
v.1.1.2: Dec 04, 2015
|
80 |
+
- Fixed wishlist syncing
|
81 |
+
- Fixed newsletter syncing
|
82 |
+
|
83 |
+
|
84 |
+
v.1.1.3: June 14, 2016
|
85 |
+
- Fixed performance issue for abandoned cart data
|
86 |
+
- Fixed notification message for unavailable products
|
87 |
+
- Added multi-store support
|
app/code/community/Eyemagine/HubSpot/sql/eyehubspot_setup/mysql4-install-1.0.0.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
-
* @copyright Copyright (c)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
7 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
8 |
* @category Eyemagine
|
9 |
* @package Eyemagine_HubSpot
|
10 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
11 |
* @license http://www.eyemaginetech.com/license.txt
|
12 |
*/
|
13 |
|
app/etc/modules/Eyemagine_HubSpot.xml
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
9 |
* @category Eyemagine
|
10 |
* @package Eyemagine_HubSpot
|
11 |
-
* @copyright Copyright (c)
|
12 |
* @license http://www.eyemaginetech.com/license.txt
|
13 |
*/
|
14 |
-->
|
8 |
* @author EYEMAGINE <magento@eyemaginetech.com>
|
9 |
* @category Eyemagine
|
10 |
* @package Eyemagine_HubSpot
|
11 |
+
* @copyright Copyright (c) 2016 EYEMAGINE Technology, LLC (http://www.eyemaginetech.com)
|
12 |
* @license http://www.eyemaginetech.com/license.txt
|
13 |
*/
|
14 |
-->
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Eyemagine_HubSpot</name>
|
4 |
-
<version>1.1.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.eyemaginetech.com/license.txt">Custom</license>
|
7 |
<channel>community</channel>
|
@@ -49,15 +49,16 @@ HubSpot's Social Inbox and Smart Content tools help you break out of the inbox a
|
|
49 |
Attribute revenue generated to specific marketing channels and campaigns.
|
50 |

|
51 |
HubSpot's suite of analytics and reporting tools allows you to quickly and easily see which traffic sources or marketing actions turned into revenue for you during any given time period. Generate a report in seconds and email it to anyone in the company--you can even set up recurring reports so everyone can keep track of the company's progress.</description>
|
52 |
-
<notes>v.1.1.
|
53 |
-
- Fixed
|
54 |
-
- Fixed
|
|
|
55 |

|
56 |
</notes>
|
57 |
<authors><author><name>EYEMAGINE</name><user>eyemagine</user><email>andy@eyemaginetech.com</email></author></authors>
|
58 |
-
<date>
|
59 |
-
<time>
|
60 |
-
<contents><target name="magecommunity"><dir name="Eyemagine"><dir name="HubSpot"><dir name="Block"><dir name="Adminhtml"><dir name="Frontend"><dir name="Button"><file name="Regen.php" hash="
|
61 |
<compatible/>
|
62 |
<dependencies><required><php><min>5.3.0</min><max>7.0.0</max></php></required></dependencies>
|
63 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Eyemagine_HubSpot</name>
|
4 |
+
<version>1.1.3</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.eyemaginetech.com/license.txt">Custom</license>
|
7 |
<channel>community</channel>
|
49 |
Attribute revenue generated to specific marketing channels and campaigns.
|
50 |

|
51 |
HubSpot's suite of analytics and reporting tools allows you to quickly and easily see which traffic sources or marketing actions turned into revenue for you during any given time period. Generate a report in seconds and email it to anyone in the company--you can even set up recurring reports so everyone can keep track of the company's progress.</description>
|
52 |
+
<notes>v.1.1.3: June 14, 2016:
|
53 |
+
- Fixed performance issue for abandoned cart data.
|
54 |
+
- Fixed notification message for unavailable products.
|
55 |
+
- Added multi-store support.
|
56 |

|
57 |
</notes>
|
58 |
<authors><author><name>EYEMAGINE</name><user>eyemagine</user><email>andy@eyemaginetech.com</email></author></authors>
|
59 |
+
<date>2016-06-14</date>
|
60 |
+
<time>06:21:49</time>
|
61 |
+
<contents><target name="magecommunity"><dir name="Eyemagine"><dir name="HubSpot"><dir name="Block"><dir name="Adminhtml"><dir name="Frontend"><dir name="Button"><file name="Regen.php" hash="b395211c24285fc08c0ab11308b439a8"/><file name="._Regen.php" hash="03ec92c7aa4a80b83dab35ae888c547b"/></dir><dir name="Eyemagine"><file name="Info.php" hash="b2816ad77d9b2d306eb24931aca9ea9a"/><file name="Support.php" hash="35e3c9b5f74e0b6f30025468938d3a0a"/><file name="Version.php" hash="64ed18a06c2cf2f2655ada9250bf1b12"/><file name="._Info.php" hash="ce0cf7ed20da8016624555bbb5968191"/><file name="._Support.php" hash="d7af6eacee8bbc688f3be8c5b681b7bb"/><file name="._Version.php" hash="aa0f9e438f113f370a375ec75e45dfdc"/></dir><file name="Utk.php" hash="99f5d0b2ef547799d5cd014e1724dec4"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="70e4bcfd9c8b872af0568e766a4e6469"/></dir><dir name="Model"><file name="Observer.php" hash="a55b0f75b8df0fa7fbb48fc6d9bc7e5f"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Hubspot"><file name="IndexController.php" hash="b886907e9d3e4ce57c2ae02d08b0ab6e"/></dir></dir><file name="LinkController.php" hash="cbfdeff51e93e448296176f58398700f"/><file name="SyncController.php" hash="85c1ebd1f7e33a45e0af0802b4b51c92"/></dir><dir name="etc"><file name="adminhtml.xml" hash="764a3bc1fdf58d9336e943eba4df75e8"/><file name="config.xml" hash="4f386e27f31a8b8df6495d2f4c27b997"/><file name="system.xml" hash="14936f0cfdcf340e735749d4cc1a5607"/></dir><file name="readme.txt" hash="8835800f30eb2bbc4516e691a237cd8b"/><dir name="sql"><dir name="eyehubspot_setup"><file name="mysql4-install-1.0.0.php" hash="36d6a2fc783a3c8809f6e7f49c7d6872"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Eyemagine_HubSpot.xml" hash="0442e65d79b182a43b1cdb58e95e6e36"/></dir></target></contents>
|
62 |
<compatible/>
|
63 |
<dependencies><required><php><min>5.3.0</min><max>7.0.0</max></php></required></dependencies>
|
64 |
</package>
|