Version Notes
- Support php7
- Improve performance
Download this release
Release Info
| Developer | Maxime Pruvost |
| Extension | cartsguru |
| Version | 1.2.14 |
| Comparing to | |
| See all releases | |
Code changes from version 1.2.13 to 1.2.14
app/code/local/Cartsguru/Model/Webservice.php
CHANGED
|
@@ -17,6 +17,8 @@ class Cartsguru_Model_Webservice
|
|
| 17 |
const QUOTES_CACHE_TAG = 'cartsguru_carts';
|
| 18 |
const QUOTES_CACHE_TTL = 1800; // 30min in seconds
|
| 19 |
|
|
|
|
|
|
|
| 20 |
protected function getStoreFromAdmin(){
|
| 21 |
$store_id = null;
|
| 22 |
if (strlen($code = Mage::getSingleton('adminhtml/config_data')->getStore())) // store level
|
|
@@ -129,6 +131,29 @@ class Cartsguru_Model_Webservice
|
|
| 129 |
return $totalATI;
|
| 130 |
}
|
| 131 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 132 |
/**
|
| 133 |
* This method build items from order or quote
|
| 134 |
* @param $obj order or quote
|
|
@@ -145,18 +170,11 @@ class Cartsguru_Model_Webservice
|
|
| 145 |
if (!$productData) {
|
| 146 |
$product = Mage::getModel('catalog/product')->load($item->getProductId());
|
| 147 |
|
| 148 |
-
if ($product->getImage() == 'no_selection' || !$product->getImage()){
|
| 149 |
-
$imageUrl = $this->notEmpty(null);
|
| 150 |
-
}
|
| 151 |
-
else {
|
| 152 |
-
$imageUrl = $product->getSmallImageUrl(120, 120);
|
| 153 |
-
}
|
| 154 |
-
|
| 155 |
$categoryNames = $this->getCatNames($product);
|
| 156 |
|
| 157 |
$productData = array(
|
| 158 |
'url' => $product->getProductUrl(), // URL of product sheet
|
| 159 |
-
'imageUrl' => $
|
| 160 |
'universe' => $this->notEmpty($categoryNames[1]), // Main category
|
| 161 |
'category' => $this->notEmpty(end($categoryNames)) // Child category
|
| 162 |
);
|
|
@@ -476,11 +494,11 @@ class Cartsguru_Model_Webservice
|
|
| 476 |
$requestUrl = '/sites/' . $this->getStoreConfig('siteid', $store) . '/register-plugin';
|
| 477 |
$fields = array(
|
| 478 |
'plugin' => 'magento',
|
| 479 |
-
'pluginVersion' =>
|
| 480 |
'storeVersion' => Mage::getVersion()
|
| 481 |
);
|
| 482 |
|
| 483 |
-
$response = $this->doPostRequest($requestUrl, $fields, $store);
|
| 484 |
|
| 485 |
if (!$response || $response->getStatus() != 200){
|
| 486 |
return false;
|
|
@@ -575,12 +593,19 @@ class Cartsguru_Model_Webservice
|
|
| 575 |
* @param $fields
|
| 576 |
* @return Zend_Http_Response
|
| 577 |
*/
|
| 578 |
-
private function doPostRequest($apiPath, $fields, $store=null)
|
| 579 |
{
|
|
|
|
|
|
|
| 580 |
try {
|
| 581 |
$url = $this->apiBaseUrl . $apiPath;
|
| 582 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
| 583 |
$client->setHeaders('x-auth-key', $this->getStoreConfig('auth', $store));
|
|
|
|
| 584 |
$client->setUri($url);
|
| 585 |
$client->setRawData(json_encode($fields), 'application/json');
|
| 586 |
$response = $client->request(Zend_Http_Client::POST);
|
| 17 |
const QUOTES_CACHE_TAG = 'cartsguru_carts';
|
| 18 |
const QUOTES_CACHE_TTL = 1800; // 30min in seconds
|
| 19 |
|
| 20 |
+
const _CARTSGURU_VERSION_ = '1.2.14';
|
| 21 |
+
|
| 22 |
protected function getStoreFromAdmin(){
|
| 23 |
$store_id = null;
|
| 24 |
if (strlen($code = Mage::getSingleton('adminhtml/config_data')->getStore())) // store level
|
| 131 |
return $totalATI;
|
| 132 |
}
|
| 133 |
|
| 134 |
+
protected function getProudctImageUrl($product){
|
| 135 |
+
if ($product->getImage() == 'no_selection' || !$product->getImage()){
|
| 136 |
+
return $imageUrl = $this->notEmpty(null);
|
| 137 |
+
}
|
| 138 |
+
|
| 139 |
+
$image = null;
|
| 140 |
+
|
| 141 |
+
//Handle 1.9.0 feature
|
| 142 |
+
if (version_compare(Mage::getVersion(), '1.9.0', '>=')){
|
| 143 |
+
//Check if need resize or not
|
| 144 |
+
if (Mage::getStoreConfig(Mage_Catalog_Helper_Image::XML_NODE_PRODUCT_SMALL_IMAGE_WIDTH) < 120){
|
| 145 |
+
$image = Mage::helper('catalog/image')->init($product, 'image')->resize(120,120);
|
| 146 |
+
}
|
| 147 |
+
else {
|
| 148 |
+
$image = Mage::helper('catalog/image')->init($product, 'small_image');
|
| 149 |
+
}
|
| 150 |
+
} else {
|
| 151 |
+
$image = Mage::helper('catalog/image')->init($product, 'small_image');
|
| 152 |
+
}
|
| 153 |
+
|
| 154 |
+
return (string)$image;
|
| 155 |
+
}
|
| 156 |
+
|
| 157 |
/**
|
| 158 |
* This method build items from order or quote
|
| 159 |
* @param $obj order or quote
|
| 170 |
if (!$productData) {
|
| 171 |
$product = Mage::getModel('catalog/product')->load($item->getProductId());
|
| 172 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 173 |
$categoryNames = $this->getCatNames($product);
|
| 174 |
|
| 175 |
$productData = array(
|
| 176 |
'url' => $product->getProductUrl(), // URL of product sheet
|
| 177 |
+
'imageUrl' => $this->getProudctImageUrl($product), // URL of product image
|
| 178 |
'universe' => $this->notEmpty($categoryNames[1]), // Main category
|
| 179 |
'category' => $this->notEmpty(end($categoryNames)) // Child category
|
| 180 |
);
|
| 494 |
$requestUrl = '/sites/' . $this->getStoreConfig('siteid', $store) . '/register-plugin';
|
| 495 |
$fields = array(
|
| 496 |
'plugin' => 'magento',
|
| 497 |
+
'pluginVersion' => Cartsguru_Model_Webservice::_CARTSGURU_VERSION_,
|
| 498 |
'storeVersion' => Mage::getVersion()
|
| 499 |
);
|
| 500 |
|
| 501 |
+
$response = $this->doPostRequest($requestUrl, $fields, $store, true);
|
| 502 |
|
| 503 |
if (!$response || $response->getStatus() != 200){
|
| 504 |
return false;
|
| 593 |
* @param $fields
|
| 594 |
* @return Zend_Http_Response
|
| 595 |
*/
|
| 596 |
+
private function doPostRequest($apiPath, $fields, $store=null, $isSync=false)
|
| 597 |
{
|
| 598 |
+
$response = null;
|
| 599 |
+
|
| 600 |
try {
|
| 601 |
$url = $this->apiBaseUrl . $apiPath;
|
| 602 |
+
$options = array(
|
| 603 |
+
'storeresponse' => false, //We don't need store the response for later
|
| 604 |
+
'timeout' => $isSync ? 10 : 1 //We need only wait if is sync, seconds as integer
|
| 605 |
+
);
|
| 606 |
+
$client = new Zend_Http_Client($url, $options);
|
| 607 |
$client->setHeaders('x-auth-key', $this->getStoreConfig('auth', $store));
|
| 608 |
+
$client->setHeaders('x-plugin-version', Cartsguru_Model_Webservice::_CARTSGURU_VERSION_);
|
| 609 |
$client->setUri($url);
|
| 610 |
$client->setRawData(json_encode($fields), 'application/json');
|
| 611 |
$response = $client->request(Zend_Http_Client::POST);
|
app/code/local/Cartsguru/etc/config.xml
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
<!-- plugin name -->
|
| 4 |
<modules>
|
| 5 |
<Cartsguru>
|
| 6 |
-
<version>1.2.
|
| 7 |
</Cartsguru>
|
| 8 |
</modules>
|
| 9 |
<global>
|
| 3 |
<!-- plugin name -->
|
| 4 |
<modules>
|
| 5 |
<Cartsguru>
|
| 6 |
+
<version>1.2.14</version>
|
| 7 |
</Cartsguru>
|
| 8 |
</modules>
|
| 9 |
<global>
|
app/code/local/Cartsguru/sql/cartsguru_setup/upgrade-1.2.13-1.2.14.php
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/* @var $installer Mage_Core_Model_Resource_Setup */
|
| 3 |
+
$installer = $this;
|
| 4 |
+
|
| 5 |
+
$installer->startSetup();
|
| 6 |
+
$installer->endSetup();
|
package.xml
CHANGED
|
@@ -1,28 +1,27 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>cartsguru</name>
|
| 4 |
-
<version>1.2.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://opensource.org/licenses/gpl-license.php">GPL</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>The first targeted and automated follow-up solution for abandoned carts through phone and text message !</summary>
|
| 10 |
<description>There is a way to transform those abandoned shopping carts into sales !
|
| 11 |
-

|
| 12 |
Carts Guru enable you to establish automatic contact with your prospective customers who did not finalize their purchase.
|
| 13 |
-

|
| 14 |
Targets your abandoned shopping carts, define your rules and run actions automatically thought phone and SMS
|
| 15 |

|
| 16 |
-
- Automatic call
|
| 17 |
Effortlessly reduce the number of abandoned shopping carts by automating telephone contact between your salespeople and the customers who have just left your site
|
| 18 |

|
| 19 |
-
- SMS Callback &
|
| 20 |
Send to your prospective customers having abandoned a cart, an SMS suggesting a free call back from your customer relations service, a straightforward SMS reminder or an SMS offering a personalized discount</description>
|
| 21 |
-
<notes>-
|
|
|
|
| 22 |
<authors><author><name>Maxime Pruvost</name><user>cgmaximepruvost</user><email>maxime@carts.guru</email></author></authors>
|
| 23 |
-
<date>2016-
|
| 24 |
-
<time>
|
| 25 |
-
<contents><target name="magelocal"><dir name="Cartsguru"><dir name="Helper"><file name="Data.php" hash="f6590d08ba862a169ce43459ddb1193c"/><file name="Tools.php" hash="612133db113c08e7de7ab94a86d23e34"/></dir><dir name="Model"><file name="Observer.php" hash="93ad478de9ac40d76c65dd1054d9f5a5"/><file name="Webservice.php" hash="
|
| 26 |
<compatible/>
|
| 27 |
-
<dependencies><required><php><min>5.3.0</min><max>
|
| 28 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>cartsguru</name>
|
| 4 |
+
<version>1.2.14</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://opensource.org/licenses/gpl-license.php">GPL</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>The first targeted and automated follow-up solution for abandoned carts through phone and text message !</summary>
|
| 10 |
<description>There is a way to transform those abandoned shopping carts into sales !
|
|
|
|
| 11 |
Carts Guru enable you to establish automatic contact with your prospective customers who did not finalize their purchase.
|
|
|
|
| 12 |
Targets your abandoned shopping carts, define your rules and run actions automatically thought phone and SMS
|
| 13 |

|
| 14 |
+
- Automatic call
|
| 15 |
Effortlessly reduce the number of abandoned shopping carts by automating telephone contact between your salespeople and the customers who have just left your site
|
| 16 |

|
| 17 |
+
- SMS Callback & Push SMS
|
| 18 |
Send to your prospective customers having abandoned a cart, an SMS suggesting a free call back from your customer relations service, a straightforward SMS reminder or an SMS offering a personalized discount</description>
|
| 19 |
+
<notes>- Support php7
|
| 20 |
+
- Improve performance</notes>
|
| 21 |
<authors><author><name>Maxime Pruvost</name><user>cgmaximepruvost</user><email>maxime@carts.guru</email></author></authors>
|
| 22 |
+
<date>2016-11-02</date>
|
| 23 |
+
<time>13:17:25</time>
|
| 24 |
+
<contents><target name="magelocal"><dir name="Cartsguru"><dir name="Helper"><file name="Data.php" hash="f6590d08ba862a169ce43459ddb1193c"/><file name="Tools.php" hash="612133db113c08e7de7ab94a86d23e34"/></dir><dir name="Model"><file name="Observer.php" hash="93ad478de9ac40d76c65dd1054d9f5a5"/><file name="Webservice.php" hash="1d91a3095708bdf6e0b773b0818bb257"/></dir><dir name="controllers"><file name="IndexController.php" hash="108acaab218e2a5e79a12677f83ebc29"/><file name="RecovercartController.php" hash="fab55c8774843ed11e939ee6df1ce0ed"/><file name="SaveaccountController.php" hash="9a59b2cbd9b7d92b97b768d86ccdb63a"/></dir><dir name="etc"><file name="config.xml" hash="6f3bbe6a3fabe3e706c7fc7033913a42"/><file name="system.xml" hash="cb0fbf86d2be47dbd719739ee79c4cba"/></dir><dir name="sql"><dir name="cartsguru_setup"><file name="install-1.0.0.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.0.0-1.0.1.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.0.1-1.0.2.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.0.2-1.1.0.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.1.0-1.1.1.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.1.1-1.1.2.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.1.2-1.1.3.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.1.3-1.1.4 .php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.1.4-1.1.5.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.1.5-1.2.0.php" hash="066c5cfb9870c04737cba2d2edb30a40"/><file name="upgrade-1.2.0-1.2.1.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.2.1-1.2.2.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.2.10-1.2.11.php" hash="84cb92331d31afda4f06aca50dbd597e"/><file name="upgrade-1.2.11-1.2.12.php" hash="84cb92331d31afda4f06aca50dbd597e"/><file name="upgrade-1.2.12-1.2.13.php" hash="84cb92331d31afda4f06aca50dbd597e"/><file name="upgrade-1.2.13-1.2.14.php" hash="84cb92331d31afda4f06aca50dbd597e"/><file name="upgrade-1.2.2-1.2.3.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.2.3-1.2.4.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.2.4-1.2.5.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.2.5-1.2.6.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.2.6-1.2.7.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.2.7-1.2.8.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.2.8-1.2.9.php" hash="381716ae5001678f8bcc6680bad68015"/><file name="upgrade-1.2.9-1.2.10.php" hash="84cb92331d31afda4f06aca50dbd597e"/></dir></dir></dir></target><target name="magelocale"><dir name="fr_FR"><file name="CartsGuru.csv" hash="b6d51893c33ddef1d53372d3a23b036c"/></dir><dir name="en_US"><file name="CartsGuru.csv" hash="921cb4133db47471456759443bb269f5"/></dir></target><target name="mageetc"><dir name="modules"><file name="Cartsguru.xml" hash="32bfa7d63b1a5b6b8f7977bf31af4e28"/></dir></target></contents>
|
| 25 |
<compatible/>
|
| 26 |
+
<dependencies><required><php><min>5.3.0</min><max>7.1.0</max></php></required></dependencies>
|
| 27 |
</package>
|
