Version Notes
Stable release. Compatible with older versions. Feed creation has been optimized to handle larger loads. The option to choose the store is now available. Can retrieve associated products for grouped types.Bug fixes.Has support for PHP V5.2. Quantity script has now been added. Flat Catalog support has been added,
Download this release
Release Info
Developer | Intelligent Reach |
Extension | Intelligent_Reach |
Version | 1.0.44 |
Comparing to | |
See all releases |
Code changes from version 1.0.43 to 1.0.44
- app/code/local/IntelligentReach/AmazonPayment/etc/config.xml +1 -1
- app/code/local/IntelligentReach/DebenhamsPayment/etc/config.xml +1 -1
- app/code/local/IntelligentReach/EbayPayment/etc/config.xml +1 -1
- app/code/local/IntelligentReach/Integration/etc/config.xml +1 -1
- app/code/local/IntelligentReach/LazadaPayment/etc/config.xml +1 -1
- app/code/local/IntelligentReach/OrderExporter/etc/config.xml +1 -1
- app/code/local/IntelligentReach/PlayPayment/etc/config.xml +1 -1
- app/code/local/IntelligentReach/RakutenPayment/etc/config.xml +1 -1
- app/code/local/IntelligentReach/TradeMePayment/etc/config.xml +1 -1
- app/code/local/IntelligentReach/WestfieldPayment/etc/config.xml +1 -1
- intelligentreach_integration.php +22 -16
- intelligentreach_integration_opt.php +22 -16
- intelligentreach_integration_pre.php +22 -16
- intelligentreach_integration_qty.php +15 -9
- ircronscripts/intelligentreach_integration_cron.php +14 -8
- ircronscripts/intelligentreach_integration_cron_opt.php +13 -7
- ircronscripts/intelligentreach_integration_cron_pre.php +13 -7
- ircronscripts/intelligentreach_integration_cron_qty_price.php +10 -4
- package.xml +4 -4
app/code/local/IntelligentReach/AmazonPayment/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_AmazonPayment>
|
5 |
-
<version>1.0.
|
6 |
</IntelligentReach_AmazonPayment>
|
7 |
</modules>
|
8 |
<global>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_AmazonPayment>
|
5 |
+
<version>1.0.44</version>
|
6 |
</IntelligentReach_AmazonPayment>
|
7 |
</modules>
|
8 |
<global>
|
app/code/local/IntelligentReach/DebenhamsPayment/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_DebenhamsPayment>
|
5 |
-
<version>1.0.
|
6 |
</IntelligentReach_DebenhamsPayment>
|
7 |
</modules>
|
8 |
<global>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_DebenhamsPayment>
|
5 |
+
<version>1.0.44</version>
|
6 |
</IntelligentReach_DebenhamsPayment>
|
7 |
</modules>
|
8 |
<global>
|
app/code/local/IntelligentReach/EbayPayment/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_EbayPayment>
|
5 |
-
<version>1.0.
|
6 |
</IntelligentReach_EbayPayment>
|
7 |
</modules>
|
8 |
<global>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_EbayPayment>
|
5 |
+
<version>1.0.44</version>
|
6 |
</IntelligentReach_EbayPayment>
|
7 |
</modules>
|
8 |
<global>
|
app/code/local/IntelligentReach/Integration/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_Integration>
|
5 |
-
<version>1.0.
|
6 |
</IntelligentReach_Integration>
|
7 |
</modules>
|
8 |
<frontend>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_Integration>
|
5 |
+
<version>1.0.44</version>
|
6 |
</IntelligentReach_Integration>
|
7 |
</modules>
|
8 |
<frontend>
|
app/code/local/IntelligentReach/LazadaPayment/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_LazadaPayment>
|
5 |
-
<version>1.0.
|
6 |
</IntelligentReach_LazadaPayment>
|
7 |
</modules>
|
8 |
<global>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_LazadaPayment>
|
5 |
+
<version>1.0.44</version>
|
6 |
</IntelligentReach_LazadaPayment>
|
7 |
</modules>
|
8 |
<global>
|
app/code/local/IntelligentReach/OrderExporter/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_OrderExporter>
|
5 |
-
<version>1.0.
|
6 |
</IntelligentReach_OrderExporter>
|
7 |
</modules>
|
8 |
<global>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_OrderExporter>
|
5 |
+
<version>1.0.44</version>
|
6 |
</IntelligentReach_OrderExporter>
|
7 |
</modules>
|
8 |
<global>
|
app/code/local/IntelligentReach/PlayPayment/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_PlayPayment>
|
5 |
-
<version>1.0.
|
6 |
</IntelligentReach_PlayPayment>
|
7 |
</modules>
|
8 |
<global>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_PlayPayment>
|
5 |
+
<version>1.0.44</version>
|
6 |
</IntelligentReach_PlayPayment>
|
7 |
</modules>
|
8 |
<global>
|
app/code/local/IntelligentReach/RakutenPayment/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_RakutenPayment>
|
5 |
-
<version>1.0.
|
6 |
</IntelligentReach_RakutenPayment>
|
7 |
</modules>
|
8 |
<global>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_RakutenPayment>
|
5 |
+
<version>1.0.44</version>
|
6 |
</IntelligentReach_RakutenPayment>
|
7 |
</modules>
|
8 |
<global>
|
app/code/local/IntelligentReach/TradeMePayment/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_TradeMePayment>
|
5 |
-
<version>1.0.
|
6 |
</IntelligentReach_TradeMePayment>
|
7 |
</modules>
|
8 |
<global>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_TradeMePayment>
|
5 |
+
<version>1.0.44</version>
|
6 |
</IntelligentReach_TradeMePayment>
|
7 |
</modules>
|
8 |
<global>
|
app/code/local/IntelligentReach/WestfieldPayment/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_WestfieldPayment>
|
5 |
-
<version>1.0.
|
6 |
</IntelligentReach_WestfieldPayment>
|
7 |
</modules>
|
8 |
<global>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<IntelligentReach_WestfieldPayment>
|
5 |
+
<version>1.0.44</version>
|
6 |
</IntelligentReach_WestfieldPayment>
|
7 |
</modules>
|
8 |
<global>
|
intelligentreach_integration.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
/** Version 1.0.
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
include_once 'app/Mage.php';
|
@@ -12,11 +12,17 @@ $ir->run();
|
|
12 |
|
13 |
class IntelligentReach
|
14 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
private $_splitby = 100;
|
16 |
private $_amountOfProductsPerPage = 100;
|
17 |
private $_lastPageNumber = 0;
|
18 |
-
private $_versionNumber = "1.0.
|
19 |
-
private $_lastUpdated = "
|
20 |
|
21 |
public function run()
|
22 |
{
|
@@ -71,7 +77,7 @@ class IntelligentReach
|
|
71 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
72 |
$this->getStores();
|
73 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
74 |
-
echo "e.g. http://www.exampledomain.com
|
75 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
76 |
echo "<h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
77 |
}
|
@@ -110,23 +116,23 @@ class IntelligentReach
|
|
110 |
echo "<h3>Instructions</h3>";
|
111 |
echo "<p>The parameter <strong>'splitby'</strong> in the URL splits pages into sections, each page contains (unless specified otherwise) the default amount of 100 products.</p>";
|
112 |
echo "<p>So setting <strong>'splitby'</strong> to equal 100 will bring back 1,000 products per page and 10,000 products per section, if there are 40,000 products in the store then this will return 4 sections. </p>";
|
113 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
114 |
echo "<p>You can also set the value of the number of products per page that is returned, by setting the parameter <strong>'amountofproducts'</strong> in the URL</p>";
|
115 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
116 |
echo "<p><strong>NB:</strong> The default value for <strong>'splitby'</strong> is 100 and for <strong>'amountofproducts'</strong> is 100.</p>";
|
117 |
echo "<h3>Other options</h3>";
|
118 |
echo "<p>You can retrieve all products by using the <strong>'getall'</strong> parameter</p>";
|
119 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
120 |
echo "<p>To enable the stripping of invalid XML characters add the <strong>'stripInvalidChars'</strong> parameter</p>";
|
121 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
122 |
echo "<p>To enable the converting of the first character in the XML tag from a number to a word, use the <strong>'convertNumberToWord'</strong> parameter.</p>";
|
123 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
124 |
echo "<p>To return all the parent product fields, use the <strong>'includeAllParentFields'</strong> parameter.</p>";
|
125 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
126 |
echo "<p>To include disabled products in the feed, use the <strong>'includeDisabled'</strong> parameter.</p>";
|
127 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
128 |
echo "<p>To include products of all types in the feed, use the <strong>'includeNonSimpleProducts'</strong> parameter.</p>";
|
129 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
130 |
echo "</div>";
|
131 |
echo "<div style='float:left; padding-left:50px;'><h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
132 |
}
|
@@ -173,7 +179,7 @@ class IntelligentReach
|
|
173 |
{
|
174 |
$products = $this->getProducts($startPage);
|
175 |
if ($products->count() == 0)
|
176 |
-
Mage::log('File:
|
177 |
else
|
178 |
{
|
179 |
Mage::getSingleton('core/resource_iterator')
|
@@ -215,7 +221,7 @@ class IntelligentReach
|
|
215 |
$value = $product->getResource()->getAttribute($key)->getFrontend()->getValue($product);
|
216 |
|
217 |
if (($key == 'url_path') || ($key == 'url_key'))
|
218 |
-
$value = trim(str_replace('/
|
219 |
|
220 |
if ($key == 'image')
|
221 |
$value = $baseUrl . "media/catalog/product" . $value;
|
@@ -288,7 +294,7 @@ class IntelligentReach
|
|
288 |
{
|
289 |
echo '<ir_parent_entity_id><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getId()).']]></ir_parent_entity_id>';
|
290 |
echo '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
291 |
-
echo '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/
|
292 |
echo '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
293 |
echo '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
294 |
}
|
@@ -390,7 +396,7 @@ class IntelligentReach
|
|
390 |
$value = $parentProduct->getResource()->getAttribute($key)->getFrontend()->getValue($parentProduct);
|
391 |
|
392 |
if (($key == 'url_path') || ($key == 'url_key'))
|
393 |
-
$value = trim(str_replace('/
|
394 |
|
395 |
if ($key == 'image')
|
396 |
$value = $baseUrl . "media/catalog/product" . $value;
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.44 Last updated by Kire on 31/10/2016 **/
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
include_once 'app/Mage.php';
|
12 |
|
13 |
class IntelligentReach
|
14 |
{
|
15 |
+
function __construct()
|
16 |
+
{
|
17 |
+
$this->_scriptName = basename($_SERVER['PHP_SELF']);
|
18 |
+
}
|
19 |
+
|
20 |
+
private $_scriptName = "";
|
21 |
private $_splitby = 100;
|
22 |
private $_amountOfProductsPerPage = 100;
|
23 |
private $_lastPageNumber = 0;
|
24 |
+
private $_versionNumber = "1.0.44";
|
25 |
+
private $_lastUpdated = "31/10/2016";
|
26 |
|
27 |
public function run()
|
28 |
{
|
77 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
78 |
$this->getStores();
|
79 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
80 |
+
echo "e.g. http://www.exampledomain.com/$this->_scriptName?storeid=1</p>";
|
81 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
82 |
echo "<h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
83 |
}
|
116 |
echo "<h3>Instructions</h3>";
|
117 |
echo "<p>The parameter <strong>'splitby'</strong> in the URL splits pages into sections, each page contains (unless specified otherwise) the default amount of 100 products.</p>";
|
118 |
echo "<p>So setting <strong>'splitby'</strong> to equal 100 will bring back 1,000 products per page and 10,000 products per section, if there are 40,000 products in the store then this will return 4 sections. </p>";
|
119 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>splitby=100</strong></p>";
|
120 |
echo "<p>You can also set the value of the number of products per page that is returned, by setting the parameter <strong>'amountofproducts'</strong> in the URL</p>";
|
121 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&splitby=100&<strong>amountofproducts=100</strong></p>";
|
122 |
echo "<p><strong>NB:</strong> The default value for <strong>'splitby'</strong> is 100 and for <strong>'amountofproducts'</strong> is 100.</p>";
|
123 |
echo "<h3>Other options</h3>";
|
124 |
echo "<p>You can retrieve all products by using the <strong>'getall'</strong> parameter</p>";
|
125 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>getall=1</strong></p>";
|
126 |
echo "<p>To enable the stripping of invalid XML characters add the <strong>'stripInvalidChars'</strong> parameter</p>";
|
127 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>stripInvalidChars=1</strong></p>";
|
128 |
echo "<p>To enable the converting of the first character in the XML tag from a number to a word, use the <strong>'convertNumberToWord'</strong> parameter.</p>";
|
129 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>convertNumberToWord=1</strong></p>";
|
130 |
echo "<p>To return all the parent product fields, use the <strong>'includeAllParentFields'</strong> parameter.</p>";
|
131 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>includeAllParentFields=1</strong></p>";
|
132 |
echo "<p>To include disabled products in the feed, use the <strong>'includeDisabled'</strong> parameter.</p>";
|
133 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>includeDisabled=1</strong></p>";
|
134 |
echo "<p>To include products of all types in the feed, use the <strong>'includeNonSimpleProducts'</strong> parameter.</p>";
|
135 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>includeNonSimpleProducts=1</strong></p>";
|
136 |
echo "</div>";
|
137 |
echo "<div style='float:left; padding-left:50px;'><h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
138 |
}
|
179 |
{
|
180 |
$products = $this->getProducts($startPage);
|
181 |
if ($products->count() == 0)
|
182 |
+
Mage::log('File: '.$this->_scriptName.', Error: There are no products to export at page '.$startPage.' when the amount of products per page is '. $this->_amountOfProductsPerPage);
|
183 |
else
|
184 |
{
|
185 |
Mage::getSingleton('core/resource_iterator')
|
221 |
$value = $product->getResource()->getAttribute($key)->getFrontend()->getValue($product);
|
222 |
|
223 |
if (($key == 'url_path') || ($key == 'url_key'))
|
224 |
+
$value = trim(str_replace($this->_scriptName.'/', '', $product->getProductUrl()));
|
225 |
|
226 |
if ($key == 'image')
|
227 |
$value = $baseUrl . "media/catalog/product" . $value;
|
294 |
{
|
295 |
echo '<ir_parent_entity_id><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getId()).']]></ir_parent_entity_id>';
|
296 |
echo '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
297 |
+
echo '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace($this->_scriptName.'/', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
298 |
echo '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
299 |
echo '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
300 |
}
|
396 |
$value = $parentProduct->getResource()->getAttribute($key)->getFrontend()->getValue($parentProduct);
|
397 |
|
398 |
if (($key == 'url_path') || ($key == 'url_key'))
|
399 |
+
$value = trim(str_replace($this->_scriptName.'/', '', $parentProduct->getProductUrl()));
|
400 |
|
401 |
if ($key == 'image')
|
402 |
$value = $baseUrl . "media/catalog/product" . $value;
|
intelligentreach_integration_opt.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
/** Version 1.0.
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
include_once 'app/Mage.php';
|
@@ -12,11 +12,17 @@ $ir->run();
|
|
12 |
|
13 |
class IntelligentReach
|
14 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
private $_splitby = 100;
|
16 |
private $_amountOfProductsPerPage = 100;
|
17 |
private $_lastPageNumber = 0;
|
18 |
-
private $_versionNumber = "1.0.
|
19 |
-
private $_lastUpdated = "
|
20 |
|
21 |
public function run()
|
22 |
{
|
@@ -71,7 +77,7 @@ class IntelligentReach
|
|
71 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
72 |
$this->getStores();
|
73 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
74 |
-
echo "e.g. http://www.exampledomain.com
|
75 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
76 |
echo "<h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
77 |
}
|
@@ -110,23 +116,23 @@ class IntelligentReach
|
|
110 |
echo "<h3>Instructions</h3>";
|
111 |
echo "<p>The parameter <strong>'splitby'</strong> in the URL splits pages into sections, each page contains (unless specified otherwise) the default amount of 100 products.</p>";
|
112 |
echo "<p>So setting <strong>'splitby'</strong> to equal 100 will bring back 1,000 products per page and 10,000 products per section, if there are 40,000 products in the store then this will return 4 sections. </p>";
|
113 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
114 |
echo "<p>You can also set the value of the number of products per page that is returned, by setting the parameter <strong>'amountofproducts'</strong> in the URL</p>";
|
115 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
116 |
echo "<p><strong>NB:</strong> The default value for <strong>'splitby'</strong> is 100 and for <strong>'amountofproducts'</strong> is 100.</p>";
|
117 |
echo "<h3>Other options</h3>";
|
118 |
echo "<p>You can retrieve all products by using the <strong>'getall'</strong> parameter</p>";
|
119 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
120 |
echo "<p>To enable the stripping of invalid XML characters add the <strong>'stripInvalidChars'</strong> parameter</p>";
|
121 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
122 |
echo "<p>To enable the converting of the first character in the XML tag from a number to a word, use the <strong>'convertNumberToWord'</strong> parameter.</p>";
|
123 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
124 |
echo "<p>To return all the parent product fields, use the <strong>'includeAllParentFields'</strong> parameter.</p>";
|
125 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
126 |
echo "<p>To include disabled products in the feed, use the <strong>'includeDisabled'</strong> parameter.</p>";
|
127 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
128 |
echo "<p>To include products of all types in the feed, use the <strong>'includeNonSimpleProducts'</strong> parameter.</p>";
|
129 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
130 |
echo "</div>";
|
131 |
echo "<div style='float:left; padding-left:50px;'><h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
132 |
}
|
@@ -174,7 +180,7 @@ class IntelligentReach
|
|
174 |
{
|
175 |
$products = $this->getProducts($startPage);
|
176 |
if ($products->count() == 0)
|
177 |
-
Mage::log('File:
|
178 |
else
|
179 |
{
|
180 |
foreach($products as $product)
|
@@ -216,7 +222,7 @@ class IntelligentReach
|
|
216 |
$value = $product->getResource()->getAttribute($key)->getFrontend()->getValue($product);
|
217 |
|
218 |
if (($key == 'url_path') || ($key == 'url_key'))
|
219 |
-
$value = trim(str_replace('/
|
220 |
|
221 |
if ($key == 'image')
|
222 |
$value = $baseUrl . "media/catalog/product" . $value;
|
@@ -289,7 +295,7 @@ class IntelligentReach
|
|
289 |
{
|
290 |
echo '<ir_parent_entity_id><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getId()).']]></ir_parent_entity_id>';
|
291 |
echo '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
292 |
-
echo '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/
|
293 |
echo '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
294 |
echo '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
295 |
}
|
@@ -391,7 +397,7 @@ class IntelligentReach
|
|
391 |
$value = $parentProduct->getResource()->getAttribute($key)->getFrontend()->getValue($parentProduct);
|
392 |
|
393 |
if (($key == 'url_path') || ($key == 'url_key'))
|
394 |
-
$value = trim(str_replace('/
|
395 |
|
396 |
if ($key == 'image')
|
397 |
$value = $baseUrl . "media/catalog/product" . $value;
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.44 Last updated by Kire on 31/10/2016 **/
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
include_once 'app/Mage.php';
|
12 |
|
13 |
class IntelligentReach
|
14 |
{
|
15 |
+
function __construct()
|
16 |
+
{
|
17 |
+
$this->_scriptName = basename($_SERVER['PHP_SELF']);
|
18 |
+
}
|
19 |
+
|
20 |
+
private $_scriptName = "";
|
21 |
private $_splitby = 100;
|
22 |
private $_amountOfProductsPerPage = 100;
|
23 |
private $_lastPageNumber = 0;
|
24 |
+
private $_versionNumber = "1.0.44";
|
25 |
+
private $_lastUpdated = "31/10/2016";
|
26 |
|
27 |
public function run()
|
28 |
{
|
77 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
78 |
$this->getStores();
|
79 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
80 |
+
echo "e.g. http://www.exampledomain.com/$this->_scriptName?storeid=1</p>";
|
81 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
82 |
echo "<h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
83 |
}
|
116 |
echo "<h3>Instructions</h3>";
|
117 |
echo "<p>The parameter <strong>'splitby'</strong> in the URL splits pages into sections, each page contains (unless specified otherwise) the default amount of 100 products.</p>";
|
118 |
echo "<p>So setting <strong>'splitby'</strong> to equal 100 will bring back 1,000 products per page and 10,000 products per section, if there are 40,000 products in the store then this will return 4 sections. </p>";
|
119 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>splitby=100</strong></p>";
|
120 |
echo "<p>You can also set the value of the number of products per page that is returned, by setting the parameter <strong>'amountofproducts'</strong> in the URL</p>";
|
121 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&splitby=100&<strong>amountofproducts=100</strong></p>";
|
122 |
echo "<p><strong>NB:</strong> The default value for <strong>'splitby'</strong> is 100 and for <strong>'amountofproducts'</strong> is 100.</p>";
|
123 |
echo "<h3>Other options</h3>";
|
124 |
echo "<p>You can retrieve all products by using the <strong>'getall'</strong> parameter</p>";
|
125 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>getall=1</strong></p>";
|
126 |
echo "<p>To enable the stripping of invalid XML characters add the <strong>'stripInvalidChars'</strong> parameter</p>";
|
127 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>stripInvalidChars=1</strong></p>";
|
128 |
echo "<p>To enable the converting of the first character in the XML tag from a number to a word, use the <strong>'convertNumberToWord'</strong> parameter.</p>";
|
129 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>convertNumberToWord=1</strong></p>";
|
130 |
echo "<p>To return all the parent product fields, use the <strong>'includeAllParentFields'</strong> parameter.</p>";
|
131 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>includeAllParentFields=1</strong></p>";
|
132 |
echo "<p>To include disabled products in the feed, use the <strong>'includeDisabled'</strong> parameter.</p>";
|
133 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>includeDisabled=1</strong></p>";
|
134 |
echo "<p>To include products of all types in the feed, use the <strong>'includeNonSimpleProducts'</strong> parameter.</p>";
|
135 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>includeNonSimpleProducts=1</strong></p>";
|
136 |
echo "</div>";
|
137 |
echo "<div style='float:left; padding-left:50px;'><h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
138 |
}
|
180 |
{
|
181 |
$products = $this->getProducts($startPage);
|
182 |
if ($products->count() == 0)
|
183 |
+
Mage::log('File: '.$this->_scriptName.', Error: There are no products to export at page '.$startPage.' when the amount of products per page is '. $this->_amountOfProductsPerPage);
|
184 |
else
|
185 |
{
|
186 |
foreach($products as $product)
|
222 |
$value = $product->getResource()->getAttribute($key)->getFrontend()->getValue($product);
|
223 |
|
224 |
if (($key == 'url_path') || ($key == 'url_key'))
|
225 |
+
$value = trim(str_replace($this->_scriptName.'/', '', $product->getProductUrl()));
|
226 |
|
227 |
if ($key == 'image')
|
228 |
$value = $baseUrl . "media/catalog/product" . $value;
|
295 |
{
|
296 |
echo '<ir_parent_entity_id><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getId()).']]></ir_parent_entity_id>';
|
297 |
echo '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
298 |
+
echo '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace($this->_scriptName.'/', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
299 |
echo '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
300 |
echo '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
301 |
}
|
397 |
$value = $parentProduct->getResource()->getAttribute($key)->getFrontend()->getValue($parentProduct);
|
398 |
|
399 |
if (($key == 'url_path') || ($key == 'url_key'))
|
400 |
+
$value = trim(str_replace($this->_scriptName.'/', '', $parentProduct->getProductUrl()));
|
401 |
|
402 |
if ($key == 'image')
|
403 |
$value = $baseUrl . "media/catalog/product" . $value;
|
intelligentreach_integration_pre.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
/** Version 1.0.
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
include_once 'app/Mage.php';
|
@@ -12,11 +12,17 @@ $ir->run();
|
|
12 |
|
13 |
class IntelligentReach
|
14 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
private $_splitby = 100;
|
16 |
private $_amountOfProductsPerPage = 100;
|
17 |
private $_lastPageNumber = 0;
|
18 |
-
private $_versionNumber = "1.0.
|
19 |
-
private $_lastUpdated = "
|
20 |
|
21 |
public function run()
|
22 |
{
|
@@ -71,7 +77,7 @@ class IntelligentReach
|
|
71 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
72 |
$this->getStores();
|
73 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
74 |
-
echo "e.g. http://www.exampledomain.com
|
75 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
76 |
echo "<h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
77 |
}
|
@@ -110,23 +116,23 @@ class IntelligentReach
|
|
110 |
echo "<h3>Instructions</h3>";
|
111 |
echo "<p>The parameter <strong>'splitby'</strong> in the URL splits pages into sections, each page contains (unless specified otherwise) the default amount of 100 products.</p>";
|
112 |
echo "<p>So setting <strong>'splitby'</strong> to equal 100 will bring back 1,000 products per page and 10,000 products per section, if there are 40,000 products in the store then this will return 4 sections. </p>";
|
113 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
114 |
echo "<p>You can also set the value of the number of products per page that is returned, by setting the parameter <strong>'amountofproducts'</strong> in the URL</p>";
|
115 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
116 |
echo "<p><strong>NB:</strong> The default value for <strong>'splitby'</strong> is 100 and for <strong>'amountofproducts'</strong> is 100.</p>";
|
117 |
echo "<h3>Other options</h3>";
|
118 |
echo "<p>You can retrieve all products by using the <strong>'getall'</strong> parameter</p>";
|
119 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
120 |
echo "<p>To enable the stripping of invalid XML characters add the <strong>'stripInvalidChars'</strong> parameter</p>";
|
121 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
122 |
echo "<p>To enable the converting of the first character in the XML tag from a number to a word, use the <strong>'convertNumberToWord'</strong> parameter.</p>";
|
123 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
124 |
echo "<p>To return all the parent product fields, use the <strong>'includeAllParentFields'</strong> parameter.</p>";
|
125 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
126 |
echo "<p>To include disabled products in the feed, use the <strong>'includeDisabled'</strong> parameter.</p>";
|
127 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
128 |
echo "<p>To include products of all types in the feed, use the <strong>'includeNonSimpleProducts'</strong> parameter.</p>";
|
129 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
130 |
echo "</div>";
|
131 |
echo "<div style='float:left; padding-left:50px;'><h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
132 |
}
|
@@ -173,7 +179,7 @@ class IntelligentReach
|
|
173 |
{
|
174 |
$products = $this->getProducts($startPage);
|
175 |
if ($products->count() == 0)
|
176 |
-
Mage::log('File:
|
177 |
else
|
178 |
{
|
179 |
Mage::getSingleton('core/resource_iterator')
|
@@ -215,7 +221,7 @@ class IntelligentReach
|
|
215 |
$value = $product->getResource()->getAttribute($key)->getFrontend()->getValue($product);
|
216 |
|
217 |
if (($key == 'url_path') || ($key == 'url_key'))
|
218 |
-
$value = trim(str_replace('/
|
219 |
|
220 |
if ($key == 'image')
|
221 |
$value = $baseUrl . "media/catalog/product" . $value;
|
@@ -288,7 +294,7 @@ class IntelligentReach
|
|
288 |
{
|
289 |
echo '<ir_parent_entity_id><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getId()).']]></ir_parent_entity_id>';
|
290 |
echo '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
291 |
-
echo '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/
|
292 |
echo '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
293 |
echo '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
294 |
}
|
@@ -390,7 +396,7 @@ class IntelligentReach
|
|
390 |
$value = $parentProduct->getResource()->getAttribute($key)->getFrontend()->getValue($parentProduct);
|
391 |
|
392 |
if (($key == 'url_path') || ($key == 'url_key'))
|
393 |
-
$value = trim(str_replace('/
|
394 |
|
395 |
if ($key == 'image')
|
396 |
$value = $baseUrl . "media/catalog/product" . $value;
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.44 Last updated by Kire on 31/10/2016 **/
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
include_once 'app/Mage.php';
|
12 |
|
13 |
class IntelligentReach
|
14 |
{
|
15 |
+
function __construct()
|
16 |
+
{
|
17 |
+
$this->_scriptName = basename($_SERVER['PHP_SELF']);
|
18 |
+
}
|
19 |
+
|
20 |
+
private $_scriptName = "";
|
21 |
private $_splitby = 100;
|
22 |
private $_amountOfProductsPerPage = 100;
|
23 |
private $_lastPageNumber = 0;
|
24 |
+
private $_versionNumber = "1.0.44";
|
25 |
+
private $_lastUpdated = "31/10/2016";
|
26 |
|
27 |
public function run()
|
28 |
{
|
77 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
78 |
$this->getStores();
|
79 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
80 |
+
echo "e.g. http://www.exampledomain.com/$this->_scriptName?storeid=1</p>";
|
81 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
82 |
echo "<h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
83 |
}
|
116 |
echo "<h3>Instructions</h3>";
|
117 |
echo "<p>The parameter <strong>'splitby'</strong> in the URL splits pages into sections, each page contains (unless specified otherwise) the default amount of 100 products.</p>";
|
118 |
echo "<p>So setting <strong>'splitby'</strong> to equal 100 will bring back 1,000 products per page and 10,000 products per section, if there are 40,000 products in the store then this will return 4 sections. </p>";
|
119 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>splitby=100</strong></p>";
|
120 |
echo "<p>You can also set the value of the number of products per page that is returned, by setting the parameter <strong>'amountofproducts'</strong> in the URL</p>";
|
121 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&splitby=100&<strong>amountofproducts=100</strong></p>";
|
122 |
echo "<p><strong>NB:</strong> The default value for <strong>'splitby'</strong> is 100 and for <strong>'amountofproducts'</strong> is 100.</p>";
|
123 |
echo "<h3>Other options</h3>";
|
124 |
echo "<p>You can retrieve all products by using the <strong>'getall'</strong> parameter</p>";
|
125 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>getall=1</strong></p>";
|
126 |
echo "<p>To enable the stripping of invalid XML characters add the <strong>'stripInvalidChars'</strong> parameter</p>";
|
127 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>stripInvalidChars=1</strong></p>";
|
128 |
echo "<p>To enable the converting of the first character in the XML tag from a number to a word, use the <strong>'convertNumberToWord'</strong> parameter.</p>";
|
129 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>convertNumberToWord=1</strong></p>";
|
130 |
echo "<p>To return all the parent product fields, use the <strong>'includeAllParentFields'</strong> parameter.</p>";
|
131 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>includeAllParentFields=1</strong></p>";
|
132 |
echo "<p>To include disabled products in the feed, use the <strong>'includeDisabled'</strong> parameter.</p>";
|
133 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>includeDisabled=1</strong></p>";
|
134 |
echo "<p>To include products of all types in the feed, use the <strong>'includeNonSimpleProducts'</strong> parameter.</p>";
|
135 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>includeNonSimpleProducts=1</strong></p>";
|
136 |
echo "</div>";
|
137 |
echo "<div style='float:left; padding-left:50px;'><h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
138 |
}
|
179 |
{
|
180 |
$products = $this->getProducts($startPage);
|
181 |
if ($products->count() == 0)
|
182 |
+
Mage::log('File: '.$this->_scriptName.', Error: There are no products to export at page '.$startPage.' when the amount of products per page is '. $this->_amountOfProductsPerPage);
|
183 |
else
|
184 |
{
|
185 |
Mage::getSingleton('core/resource_iterator')
|
221 |
$value = $product->getResource()->getAttribute($key)->getFrontend()->getValue($product);
|
222 |
|
223 |
if (($key == 'url_path') || ($key == 'url_key'))
|
224 |
+
$value = trim(str_replace($this->_scriptName.'/', '', $product->getProductUrl()));
|
225 |
|
226 |
if ($key == 'image')
|
227 |
$value = $baseUrl . "media/catalog/product" . $value;
|
294 |
{
|
295 |
echo '<ir_parent_entity_id><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getId()).']]></ir_parent_entity_id>';
|
296 |
echo '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
297 |
+
echo '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace($this->_scriptName.'/', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
298 |
echo '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
299 |
echo '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
300 |
}
|
396 |
$value = $parentProduct->getResource()->getAttribute($key)->getFrontend()->getValue($parentProduct);
|
397 |
|
398 |
if (($key == 'url_path') || ($key == 'url_key'))
|
399 |
+
$value = trim(str_replace($this->_scriptName.'/', '', $parentProduct->getProductUrl()));
|
400 |
|
401 |
if ($key == 'image')
|
402 |
$value = $baseUrl . "media/catalog/product" . $value;
|
intelligentreach_integration_qty.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
/** Version 1.0.
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
include_once 'app/Mage.php';
|
@@ -12,11 +12,17 @@ $ir->run();
|
|
12 |
|
13 |
class IntelligentReach
|
14 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
private $_splitby = 100;
|
16 |
private $_amountOfProductsPerPage = 100;
|
17 |
private $_lastPageNumber = 0;
|
18 |
-
private $_versionNumber = "1.0.
|
19 |
-
private $_lastUpdated = "
|
20 |
|
21 |
public function run()
|
22 |
{
|
@@ -71,7 +77,7 @@ class IntelligentReach
|
|
71 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
72 |
$this->getStores();
|
73 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
74 |
-
echo "e.g. http://www.exampledomain.com
|
75 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
76 |
echo "<h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
77 |
}
|
@@ -106,16 +112,16 @@ class IntelligentReach
|
|
106 |
echo "<h3>Instructions</h3>";
|
107 |
echo "<p>The parameter <strong>'splitby'</strong> in the URL splits pages into sections, each page contains (unless specified otherwise) the default amount of 100 products.</p>";
|
108 |
echo "<p>So setting <strong>'splitby'</strong> to equal 100 will bring back 1,000 products per page and 10,000 products per section, if there are 40,000 products in the store then this will return 4 sections. </p>";
|
109 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
110 |
echo "<p>You can also set the value of the number of products per page that is returned, by setting the parameter <strong>'amountofproducts'</strong> in the URL</p>";
|
111 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
112 |
echo "<p><strong>NB:</strong> The default value for <strong>'splitby'</strong> is 100 and for <strong>'amountofproducts'</strong> is 100.</p>";
|
113 |
echo "<p>You can also retrieve all product quantities but using the 'getall' parameter</p>";
|
114 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
115 |
echo "<p>To include disabled products in the feed, use the <strong>'includeDisabled'</strong> parameter.</p>";
|
116 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
117 |
echo "<p>To include products of all types in the feed, use the <strong>'includeNonSimpleProducts'</strong> parameter.</p>";
|
118 |
-
echo "<strong>e.g.</strong> http://www.exampledomain.com
|
119 |
echo "</div>";
|
120 |
echo "<div style='float:left; padding-left:50px;'><h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
121 |
}
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.44 Last updated by Kire on 31/10/2016 **/
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
include_once 'app/Mage.php';
|
12 |
|
13 |
class IntelligentReach
|
14 |
{
|
15 |
+
function __construct()
|
16 |
+
{
|
17 |
+
$this->_scriptName = basename($_SERVER['PHP_SELF']);
|
18 |
+
}
|
19 |
+
|
20 |
+
private $_scriptName = "";
|
21 |
private $_splitby = 100;
|
22 |
private $_amountOfProductsPerPage = 100;
|
23 |
private $_lastPageNumber = 0;
|
24 |
+
private $_versionNumber = "1.0.44";
|
25 |
+
private $_lastUpdated = "31/10/2016";
|
26 |
|
27 |
public function run()
|
28 |
{
|
77 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
78 |
$this->getStores();
|
79 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
80 |
+
echo "e.g. http://www.exampledomain.com/$this->_scriptName?storeid=1</p>";
|
81 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
82 |
echo "<h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
83 |
}
|
112 |
echo "<h3>Instructions</h3>";
|
113 |
echo "<p>The parameter <strong>'splitby'</strong> in the URL splits pages into sections, each page contains (unless specified otherwise) the default amount of 100 products.</p>";
|
114 |
echo "<p>So setting <strong>'splitby'</strong> to equal 100 will bring back 1,000 products per page and 10,000 products per section, if there are 40,000 products in the store then this will return 4 sections. </p>";
|
115 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>splitby=100</strong></p>";
|
116 |
echo "<p>You can also set the value of the number of products per page that is returned, by setting the parameter <strong>'amountofproducts'</strong> in the URL</p>";
|
117 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&splitby=100&<strong>amountofproducts=100</strong></p>";
|
118 |
echo "<p><strong>NB:</strong> The default value for <strong>'splitby'</strong> is 100 and for <strong>'amountofproducts'</strong> is 100.</p>";
|
119 |
echo "<p>You can also retrieve all product quantities but using the 'getall' parameter</p>";
|
120 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>getall=1</strong></p>";
|
121 |
echo "<p>To include disabled products in the feed, use the <strong>'includeDisabled'</strong> parameter.</p>";
|
122 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>includeDisabled=1</strong></p>";
|
123 |
echo "<p>To include products of all types in the feed, use the <strong>'includeNonSimpleProducts'</strong> parameter.</p>";
|
124 |
+
echo "<strong>e.g.</strong> http://www.exampledomain.com/$this->_scriptName?storeid=1&<strong>includeNonSimpleProducts=1</strong></p>";
|
125 |
echo "</div>";
|
126 |
echo "<div style='float:left; padding-left:50px;'><h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
127 |
}
|
ircronscripts/intelligentreach_integration_cron.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
/** Version 1.0.
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
ini_set('memory_limit', '2G');
|
@@ -13,8 +13,14 @@ $ir->run();
|
|
13 |
|
14 |
class IntelligentReach
|
15 |
{
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
private $_outputDirectory = "output";
|
19 |
private $_fileName = "Feed";
|
20 |
private $_fileNameTemp = "";
|
@@ -32,7 +38,7 @@ class IntelligentReach
|
|
32 |
private $_maxParentProductCacheSize = 100;
|
33 |
|
34 |
public function run()
|
35 |
-
{
|
36 |
$storeId = (isset($_GET["storeid"]))? $_GET["storeid"] : false;
|
37 |
|
38 |
// If a store id was provided then print the products to the output.
|
@@ -90,7 +96,7 @@ class IntelligentReach
|
|
90 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
91 |
$this->getStores();
|
92 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
93 |
-
echo "e.g. http://www.exampledomain.com
|
94 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
95 |
echo "<h3>Other options</h3>";
|
96 |
echo "<p>To enable the stripping of invalid XML characters set the <strong>'_stripInvalidChars'</strong> property to true</p>";
|
@@ -205,7 +211,7 @@ class IntelligentReach
|
|
205 |
$value = $product->getResource()->getAttribute($key)->getFrontend()->getValue($product);
|
206 |
|
207 |
if (($key == 'url_path') || ($key == 'url_key'))
|
208 |
-
$value = trim(str_replace('/
|
209 |
|
210 |
if ($key == 'image')
|
211 |
$value = $baseUrl . "media/catalog/product" . $value;
|
@@ -278,7 +284,7 @@ class IntelligentReach
|
|
278 |
{
|
279 |
$feedData .= '<ir_parent_entity_id><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getId()).']]></ir_parent_entity_id>';
|
280 |
$feedData .= '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
281 |
-
$feedData .= '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/
|
282 |
$feedData .= '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
283 |
$feedData .= '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
284 |
}
|
@@ -409,7 +415,7 @@ class IntelligentReach
|
|
409 |
$value = $parentProduct->getResource()->getAttribute($key)->getFrontend()->getValue($parentProduct);
|
410 |
|
411 |
if (($key == 'url_path') || ($key == 'url_key'))
|
412 |
-
$value = trim(str_replace('/
|
413 |
|
414 |
if ($key == 'image')
|
415 |
$value = $baseUrl . "media/catalog/product" . $value;
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.44 Last updated by Kire on 31/10/2016 **/
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
ini_set('memory_limit', '2G');
|
13 |
|
14 |
class IntelligentReach
|
15 |
{
|
16 |
+
function __construct()
|
17 |
+
{
|
18 |
+
$this->_scriptName = basename($_SERVER['PHP_SELF']);
|
19 |
+
}
|
20 |
+
|
21 |
+
private $_scriptName = "";
|
22 |
+
private $_versionNumber = "1.0.44";
|
23 |
+
private $_lastUpdated = "31/10/2016";
|
24 |
private $_outputDirectory = "output";
|
25 |
private $_fileName = "Feed";
|
26 |
private $_fileNameTemp = "";
|
38 |
private $_maxParentProductCacheSize = 100;
|
39 |
|
40 |
public function run()
|
41 |
+
{
|
42 |
$storeId = (isset($_GET["storeid"]))? $_GET["storeid"] : false;
|
43 |
|
44 |
// If a store id was provided then print the products to the output.
|
96 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
97 |
$this->getStores();
|
98 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
99 |
+
echo "e.g. http://www.exampledomain.com/$this->_scriptName?storeid=1</p>";
|
100 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
101 |
echo "<h3>Other options</h3>";
|
102 |
echo "<p>To enable the stripping of invalid XML characters set the <strong>'_stripInvalidChars'</strong> property to true</p>";
|
211 |
$value = $product->getResource()->getAttribute($key)->getFrontend()->getValue($product);
|
212 |
|
213 |
if (($key == 'url_path') || ($key == 'url_key'))
|
214 |
+
$value = trim(str_replace($this->_scriptName.'/', '', $product->getProductUrl()));
|
215 |
|
216 |
if ($key == 'image')
|
217 |
$value = $baseUrl . "media/catalog/product" . $value;
|
284 |
{
|
285 |
$feedData .= '<ir_parent_entity_id><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getId()).']]></ir_parent_entity_id>';
|
286 |
$feedData .= '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
287 |
+
$feedData .= '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace($this->_scriptName.'/', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
288 |
$feedData .= '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
289 |
$feedData .= '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
290 |
}
|
415 |
$value = $parentProduct->getResource()->getAttribute($key)->getFrontend()->getValue($parentProduct);
|
416 |
|
417 |
if (($key == 'url_path') || ($key == 'url_key'))
|
418 |
+
$value = trim(str_replace($this->_scriptName.'/', '', $parentProduct->getProductUrl()));
|
419 |
|
420 |
if ($key == 'image')
|
421 |
$value = $baseUrl . "media/catalog/product" . $value;
|
ircronscripts/intelligentreach_integration_cron_opt.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
/** Version 1.0.
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
ini_set('memory_limit', '2G');
|
@@ -13,8 +13,14 @@ $ir->run();
|
|
13 |
|
14 |
class IntelligentReach
|
15 |
{
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
private $_outputDirectory = "output";
|
19 |
private $_fileName = "Feed";
|
20 |
private $_fileNameTemp = "";
|
@@ -90,7 +96,7 @@ class IntelligentReach
|
|
90 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
91 |
$this->getStores();
|
92 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
93 |
-
echo "e.g. http://www.exampledomain.com
|
94 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
95 |
echo "<h3>Other options</h3>";
|
96 |
echo "<p>To enable the stripping of invalid XML characters set the <strong>'_stripInvalidChars'</strong> property to true</p>";
|
@@ -206,7 +212,7 @@ class IntelligentReach
|
|
206 |
$value = $product->getResource()->getAttribute($key)->getFrontend()->getValue($product);
|
207 |
|
208 |
if (($key == 'url_path') || ($key == 'url_key'))
|
209 |
-
$value = trim(str_replace('/
|
210 |
|
211 |
if ($key == 'image')
|
212 |
$value = $baseUrl . "media/catalog/product" . $value;
|
@@ -279,7 +285,7 @@ class IntelligentReach
|
|
279 |
{
|
280 |
$feedData .= '<ir_parent_entity_id><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getId()).']]></ir_parent_entity_id>';
|
281 |
$feedData .= '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
282 |
-
$feedData .= '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/
|
283 |
$feedData .= '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
284 |
$feedData .= '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
285 |
}
|
@@ -410,7 +416,7 @@ class IntelligentReach
|
|
410 |
$value = $parentProduct->getResource()->getAttribute($key)->getFrontend()->getValue($parentProduct);
|
411 |
|
412 |
if (($key == 'url_path') || ($key == 'url_key'))
|
413 |
-
$value = trim(str_replace('/
|
414 |
|
415 |
if ($key == 'image')
|
416 |
$value = $baseUrl . "media/catalog/product" . $value;
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.44 Last updated by Kire on 31/10/2016 **/
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
ini_set('memory_limit', '2G');
|
13 |
|
14 |
class IntelligentReach
|
15 |
{
|
16 |
+
function __construct()
|
17 |
+
{
|
18 |
+
$this->_scriptName = basename($_SERVER['PHP_SELF']);
|
19 |
+
}
|
20 |
+
|
21 |
+
private $_scriptName = "";
|
22 |
+
private $_versionNumber = "1.0.44";
|
23 |
+
private $_lastUpdated = "31/10/2016";
|
24 |
private $_outputDirectory = "output";
|
25 |
private $_fileName = "Feed";
|
26 |
private $_fileNameTemp = "";
|
96 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
97 |
$this->getStores();
|
98 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
99 |
+
echo "e.g. http://www.exampledomain.com/$this->_scriptName?storeid=1</p>";
|
100 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
101 |
echo "<h3>Other options</h3>";
|
102 |
echo "<p>To enable the stripping of invalid XML characters set the <strong>'_stripInvalidChars'</strong> property to true</p>";
|
212 |
$value = $product->getResource()->getAttribute($key)->getFrontend()->getValue($product);
|
213 |
|
214 |
if (($key == 'url_path') || ($key == 'url_key'))
|
215 |
+
$value = trim(str_replace($this->_scriptName.'/', '', $product->getProductUrl()));
|
216 |
|
217 |
if ($key == 'image')
|
218 |
$value = $baseUrl . "media/catalog/product" . $value;
|
285 |
{
|
286 |
$feedData .= '<ir_parent_entity_id><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getId()).']]></ir_parent_entity_id>';
|
287 |
$feedData .= '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
288 |
+
$feedData .= '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace($this->_scriptName.'/', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
289 |
$feedData .= '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
290 |
$feedData .= '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
291 |
}
|
416 |
$value = $parentProduct->getResource()->getAttribute($key)->getFrontend()->getValue($parentProduct);
|
417 |
|
418 |
if (($key == 'url_path') || ($key == 'url_key'))
|
419 |
+
$value = trim(str_replace($this->_scriptName.'/', '', $parentProduct->getProductUrl()));
|
420 |
|
421 |
if ($key == 'image')
|
422 |
$value = $baseUrl . "media/catalog/product" . $value;
|
ircronscripts/intelligentreach_integration_cron_pre.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
/** Version 1.0.
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
ini_set('memory_limit', '2G');
|
@@ -13,8 +13,14 @@ $ir->run();
|
|
13 |
|
14 |
class IntelligentReach
|
15 |
{
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
private $_outputDirectory = "output";
|
19 |
private $_fileName = "Feed";
|
20 |
private $_fileNameTemp = "";
|
@@ -90,7 +96,7 @@ class IntelligentReach
|
|
90 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
91 |
$this->getStores();
|
92 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
93 |
-
echo "e.g. http://www.exampledomain.com
|
94 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
95 |
echo "<h3>Other options</h3>";
|
96 |
echo "<p>To enable the stripping of invalid XML characters set the <strong>'_stripInvalidChars'</strong> property to true</p>";
|
@@ -205,7 +211,7 @@ class IntelligentReach
|
|
205 |
$value = $product->getResource()->getAttribute($key)->getFrontend()->getValue($product);
|
206 |
|
207 |
if (($key == 'url_path') || ($key == 'url_key'))
|
208 |
-
$value = trim(str_replace('/
|
209 |
|
210 |
if ($key == 'image')
|
211 |
$value = $baseUrl . "media/catalog/product" . $value;
|
@@ -278,7 +284,7 @@ class IntelligentReach
|
|
278 |
{
|
279 |
$feedData .= '<ir_parent_entity_id><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getId()).']]></ir_parent_entity_id>';
|
280 |
$feedData .= '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
281 |
-
$feedData .= '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/
|
282 |
$feedData .= '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
283 |
$feedData .= '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
284 |
}
|
@@ -409,7 +415,7 @@ class IntelligentReach
|
|
409 |
$value = $parentProduct->getResource()->getAttribute($key)->getFrontend()->getValue($parentProduct);
|
410 |
|
411 |
if (($key == 'url_path') || ($key == 'url_key'))
|
412 |
-
$value = trim(str_replace('/
|
413 |
|
414 |
if ($key == 'image')
|
415 |
$value = $baseUrl . "media/catalog/product" . $value;
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.44 Last updated by Kire on 31/10/2016 **/
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
ini_set('memory_limit', '2G');
|
13 |
|
14 |
class IntelligentReach
|
15 |
{
|
16 |
+
function __construct()
|
17 |
+
{
|
18 |
+
$this->_scriptName = basename($_SERVER['PHP_SELF']);
|
19 |
+
}
|
20 |
+
|
21 |
+
private $_scriptName = "";
|
22 |
+
private $_versionNumber = "1.0.44";
|
23 |
+
private $_lastUpdated = "31/10/2016";
|
24 |
private $_outputDirectory = "output";
|
25 |
private $_fileName = "Feed";
|
26 |
private $_fileNameTemp = "";
|
96 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
97 |
$this->getStores();
|
98 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
99 |
+
echo "e.g. http://www.exampledomain.com/$this->_scriptName?storeid=1</p>";
|
100 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
101 |
echo "<h3>Other options</h3>";
|
102 |
echo "<p>To enable the stripping of invalid XML characters set the <strong>'_stripInvalidChars'</strong> property to true</p>";
|
211 |
$value = $product->getResource()->getAttribute($key)->getFrontend()->getValue($product);
|
212 |
|
213 |
if (($key == 'url_path') || ($key == 'url_key'))
|
214 |
+
$value = trim(str_replace('/intelligentreach_integration_cron_pre.php', '', $product->getProductUrl()));
|
215 |
|
216 |
if ($key == 'image')
|
217 |
$value = $baseUrl . "media/catalog/product" . $value;
|
284 |
{
|
285 |
$feedData .= '<ir_parent_entity_id><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getId()).']]></ir_parent_entity_id>';
|
286 |
$feedData .= '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
287 |
+
$feedData .= '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace($this->_scriptName.'/', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
288 |
$feedData .= '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
289 |
$feedData .= '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
290 |
}
|
415 |
$value = $parentProduct->getResource()->getAttribute($key)->getFrontend()->getValue($parentProduct);
|
416 |
|
417 |
if (($key == 'url_path') || ($key == 'url_key'))
|
418 |
+
$value = trim(str_replace($this->_scriptName.'/', '', $parentProduct->getProductUrl()));
|
419 |
|
420 |
if ($key == 'image')
|
421 |
$value = $baseUrl . "media/catalog/product" . $value;
|
ircronscripts/intelligentreach_integration_cron_qty_price.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
/** Version 1.0.
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
ini_set('memory_limit', '2G');
|
@@ -13,8 +13,14 @@ $ir->run();
|
|
13 |
|
14 |
class IntelligentReach
|
15 |
{
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
private $_outputDirectory = "output";
|
19 |
private $_fileName = "Feed_Quantity_And_Price";
|
20 |
private $_fileNameTemp = "";
|
@@ -74,7 +80,7 @@ class IntelligentReach
|
|
74 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
75 |
$this->getStores();
|
76 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
77 |
-
echo "e.g. http://www.exampledomain.com
|
78 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
79 |
echo "<h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
80 |
}
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.44 Last updated by Kire on 31/10/2016 **/
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
ini_set('memory_limit', '2G');
|
13 |
|
14 |
class IntelligentReach
|
15 |
{
|
16 |
+
function __construct()
|
17 |
+
{
|
18 |
+
$this->_scriptName = basename($_SERVER['PHP_SELF']);
|
19 |
+
}
|
20 |
+
|
21 |
+
private $_scriptName = "";
|
22 |
+
private $_versionNumber = "1.0.44";
|
23 |
+
private $_lastUpdated = "31/10/2016";
|
24 |
private $_outputDirectory = "output";
|
25 |
private $_fileName = "Feed_Quantity_And_Price";
|
26 |
private $_fileNameTemp = "";
|
80 |
echo "<p>Sorry a Store Id was not provided, please choose a store from the options below.</p>";
|
81 |
$this->getStores();
|
82 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
83 |
+
echo "e.g. http://www.exampledomain.com/$this->_scriptName?storeid=1</p>";
|
84 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
85 |
echo "<h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
86 |
}
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Intelligent_Reach</name>
|
4 |
-
<version>1.0.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/OSL-3.0">OSL</license>
|
7 |
<channel>community</channel>
|
@@ -17,9 +17,9 @@ Intelligent reach also offers advanced insight and trading services; whilst ensu
|
|
17 |
Contact us to arrange a free E-commerce therapy session. Get advice about e-privacy compliance, tag management, analytics or BI implementations and Data quality as well as any key pain points or challenges which are hampering your growth.</description>
|
18 |
<notes>Stable release. Compatible with older versions. Feed creation has been optimized to handle larger loads. The option to choose the store is now available. Can retrieve associated products for grouped types.Bug fixes.Has support for PHP V5.2. Quantity script has now been added. Flat Catalog support has been added,</notes>
|
19 |
<authors><author><name>Intelligent Reach</name><user>IR</user><email>development@intelligentreach.com</email></author></authors>
|
20 |
-
<date>2016-
|
21 |
-
<time>
|
22 |
-
<contents><target name="mage"><dir name="."><file name="intelligentreach_integration.php" hash="
|
23 |
<compatible/>
|
24 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
25 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Intelligent_Reach</name>
|
4 |
+
<version>1.0.44</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/OSL-3.0">OSL</license>
|
7 |
<channel>community</channel>
|
17 |
Contact us to arrange a free E-commerce therapy session. Get advice about e-privacy compliance, tag management, analytics or BI implementations and Data quality as well as any key pain points or challenges which are hampering your growth.</description>
|
18 |
<notes>Stable release. Compatible with older versions. Feed creation has been optimized to handle larger loads. The option to choose the store is now available. Can retrieve associated products for grouped types.Bug fixes.Has support for PHP V5.2. Quantity script has now been added. Flat Catalog support has been added,</notes>
|
19 |
<authors><author><name>Intelligent Reach</name><user>IR</user><email>development@intelligentreach.com</email></author></authors>
|
20 |
+
<date>2016-10-31</date>
|
21 |
+
<time>16:04:39</time>
|
22 |
+
<contents><target name="mage"><dir name="."><file name="intelligentreach_integration.php" hash="41a33274736a98ffd14e9e8efd8a2d92"/><file name="intelligentreach_integration_qty.php" hash="447992bd8f09cad3a259f82d42f3ab4c"/><file name="intelligentreach_integration_pre.php" hash="bc65e01f36f57523e9f4fbf6d3013e43"/><file name="intelligentreach_integration_opt.php" hash="c92850c9eb53e869d1b89d18646e919e"/></dir><dir><dir name="app"><dir name="etc"><dir name="modules"><file name="IntelligentReach_Integration.xml" hash="6cdd19a11572e7073dbb3d746b6b57b6"/><file name="IntelligentReach_AmazonPayment.xml" hash="10faf651f19ea2298217be1a95707b7c"/><file name="IntelligentReach_EbayPayment.xml" hash="eb9acbd1b55da29e10b09981f0b7af8f"/><file name="IntelligentReach_DebenhamsPayment.xml" hash="649e25d5edf93ea84ce0a35240441ecb"/><file name="IntelligentReach_LazadaPayment.xml" hash="74ebd9f7bab6023049128e6de012b52c"/><file name="IntelligentReach_PlayPayment.xml" hash="c711e18f9a79c24bcddce4143ffb6fb6"/><file name="IntelligentReach_RakutenPayment.xml" hash="d70ce1efcf60b29ecc02fcea8df1f7e9"/><file name="IntelligentReach_TradeMePayment.xml" hash="367154d17430c1000c3798454be25dcb"/><file name="IntelligentReach_WestfieldPayment.xml" hash="b0ae5878bb26f86674ce88a50876496b"/><file name="IntelligentReach_OrderExporter.xml" hash="004c82baa9638e0fb23cc75f783b56e1"/></dir></dir><dir name="code"><dir name="local"><dir name="IntelligentReach"><dir name="Integration"><dir name="etc"><file name="config.xml" hash="54293cc5f7402223c5a8eaebf7fc4cb3"/></dir></dir><dir name="AmazonPayment"><dir name="etc"><file name="config.xml" hash="09f0934879211cd26897834bce47364d"/><file name="system.xml" hash="7b236978b8022dc4deda628640ea8689"/></dir><dir name="Helper"><file name="Data.php" hash="2e4ef89b210d0f992cd25b8ef5f4b96e"/></dir><dir name="Model"><file name="Pay.php" hash="4f706307986b9cd0f7cb64f69402cbd5"/></dir></dir><dir name="EbayPayment"><dir name="etc"><file name="config.xml" hash="325f1539f910aee04b0ac4fa14cf691f"/><file name="system.xml" hash="7246fbf64d238328f74bd6445cc05b29"/></dir><dir name="Helper"><file name="Data.php" hash="0e112e22a4786f3624216628dee796a0"/></dir><dir name="Model"><file name="Pay.php" hash="9195dd4e2dbdeae9170220d78efc9f7b"/></dir></dir><dir name="DebenhamsPayment"><dir name="etc"><file name="config.xml" hash="1f000fff0e67099c5f817dd5442a3472"/><file name="system.xml" hash="fab15158ef26748821326174ca9d91eb"/></dir><dir name="Helper"><file name="Data.php" hash="24e03a8fb06b27480aae4e37f2dc54d8"/></dir><dir name="Model"><file name="Pay.php" hash="45162537d76f8c9e9ccc1ec493c59691"/></dir></dir><dir name="LazadaPayment"><dir name="etc"><file name="config.xml" hash="15ce3dc818e5ca3936456929dab26121"/><file name="system.xml" hash="bf34e8ec60287c727d8221163f436c9c"/></dir><dir name="Helper"><file name="Data.php" hash="7eee4edb781ab93817979b61f314787f"/></dir><dir name="Model"><file name="Pay.php" hash="d52eafb63ab3bad2a390e2f83ebfab6e"/></dir></dir><dir name="PlayPayment"><dir name="etc"><file name="config.xml" hash="3232ef4dc7434eccf58370f03c381d51"/><file name="system.xml" hash="4afb9b545ca22d4043b0606222d734a6"/></dir><dir name="Helper"><file name="Data.php" hash="486d43158da7188608eb07d3c9e45845"/></dir><dir name="Model"><file name="Pay.php" hash="78432762a0020455de623fbe79166045"/></dir></dir><dir name="RakutenPayment"><dir name="etc"><file name="config.xml" hash="77e7da419ce51cd41de18418148ab4bc"/><file name="system.xml" hash="6c19c11b0ad20305d3dd705a0e3f71b9"/></dir><dir name="Helper"><file name="Data.php" hash="87cc7e597d4f70a26911c861358d5695"/></dir><dir name="Model"><file name="Pay.php" hash="b52e5cb4fdb78db91c23bc929e8a70eb"/></dir></dir><dir name="TradeMePayment"><dir name="etc"><file name="config.xml" hash="a872503e70416388e0cc3bc0ca3b0ff6"/><file name="system.xml" hash="98893010b7a44f27611421780a09cd6a"/></dir><dir name="Helper"><file name="Data.php" hash="b789a1164f2296882e81d4dced4897a0"/></dir><dir name="Model"><file name="Pay.php" hash="74ba42a1af907d6159fcd8c507d533de"/></dir></dir><dir name="WestfieldPayment"><dir name="etc"><file name="config.xml" hash="23727d3c891a707d04b7e31ceca191a7"/><file name="system.xml" hash="de52dce1e16aaa20f62253a4a22f419f"/></dir><dir name="Helper"><file name="Data.php" hash="1d1fcc723fc60d73b004173094a8499e"/></dir><dir name="Model"><file name="Pay.php" hash="d398e69f34d1b7b4105d264eccf01799"/></dir></dir><dir name="OrderExporter"><dir name="etc"><file name="api.xml" hash="aee4a0fdb16e1e6b24de0f1b9bb3da99"/><file name="config.xml" hash="98fe4ca541e8d919dd41c0958530d51a"/><file name="system.xml" hash="6e41cdc209a85975879947a78bda24b2"/><file name="wsdl.xml" hash="a7361499844f83df32d923322633bab1"/><file name="wsi.xml" hash="a106a60efb3b7e50d3239343311e5a50"/></dir><dir name="Model"><file name="Carrier.php" hash="723819e51c4e1a644cc3de48dcac54c6"/><dir name="Cart"><file name="Api.php" hash="50339620188a9187ecd0afa6ede3fda7"/><dir name="Api"><file name="V2.php" hash="1703584c45f0eabc93b75b7814a970b9"/></dir><dir name="Shipping"><file name="Api.php" hash="547829c7eb8d0c22a4a13e5a8df2a2a3"/><dir name="Api"><file name="V2.php" hash="ebd0fc61544ddcf8a7dc8c5fece6ada5"/></dir></dir><dir name="Product"><file name="Api.php" hash="25f9320923ed59266fb55bba645a2cf1"/><dir name="Api"><file name="V2.php" hash="74912462ca1d3bab41381c4d1a489091"/></dir></dir></dir><dir name="Quote"><dir name="Address"><dir name="Total"><file name="Shipping.php" hash="7891ef0dc09150b7dda42e7f67e14584"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="4ef41fb017e9d210521d42cff2b43dd0"/></dir></dir></dir></dir></dir><dir name="design"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="intelligentreach_integration.xml" hash="c45eb729e1e4b5025b25c20ac2723eeb"/></dir><dir name="template"><dir name="intelligentreach_integration"><file name="intelligentreach_integration.phtml" hash="cfcf6e1c2de50fa66258a820fb296775"/><dir name="product"><file name="intelligentreach_integration.phtml" hash="0d1f3ce4a57d977d8955176b01e2f87d"/></dir><dir name="basket"><file name="intelligentreach_integration.phtml" hash="983743acab4cd1c2819ea4fb6eebe0b5"/></dir><dir name="checkout"><dir name="onepage"><file name="intelligentreach_integration.phtml" hash="dfcfe625fadaf06fb3b069cb9257b4cc"/></dir><dir name="multishipping"><file name="intelligentreach_integration.phtml" hash="206d1fe72ab530829ca274fd52e90108"/></dir></dir></dir></dir></dir></dir><dir name="enterprise"><dir name="default"><dir name="layout"><file name="intelligentreach_integration.xml" hash="c45eb729e1e4b5025b25c20ac2723eeb"/></dir><dir name="template"><dir name="intelligentreach_integration"><file name="intelligentreach_integration.phtml" hash="cfcf6e1c2de50fa66258a820fb296775"/><dir name="product"><file name="intelligentreach_integration.phtml" hash="0d1f3ce4a57d977d8955176b01e2f87d"/></dir><dir name="basket"><file name="intelligentreach_integration.phtml" hash="983743acab4cd1c2819ea4fb6eebe0b5"/></dir><dir name="checkout"><dir name="onepage"><file name="intelligentreach_integration.phtml" hash="dfcfe625fadaf06fb3b069cb9257b4cc"/></dir><dir name="multishipping"><file name="intelligentreach_integration.phtml" hash="206d1fe72ab530829ca274fd52e90108"/></dir></dir></dir></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><file name="intelligentreach_integration.xml" hash="c45eb729e1e4b5025b25c20ac2723eeb"/></dir><dir name="template"><dir name="intelligentreach_integration"><file name="intelligentreach_integration.phtml" hash="cfcf6e1c2de50fa66258a820fb296775"/><dir name="product"><file name="intelligentreach_integration.phtml" hash="0d1f3ce4a57d977d8955176b01e2f87d"/></dir><dir name="basket"><file name="intelligentreach_integration.phtml" hash="983743acab4cd1c2819ea4fb6eebe0b5"/></dir><dir name="checkout"><dir name="onepage"><file name="intelligentreach_integration.phtml" hash="dfcfe625fadaf06fb3b069cb9257b4cc"/></dir><dir name="multishipping"><file name="intelligentreach_integration.phtml" hash="206d1fe72ab530829ca274fd52e90108"/></dir></dir></dir></dir></dir></dir></dir></dir></dir><dir name="ircronscripts"><file name="intelligentreach_integration_cron.php" hash="4ace5d9949abacc8540100db58e407a1"/><file name="intelligentreach_integration_cron_pre.php" hash="f771c1d244fecbaca47545cc66fbf73f"/><file name="intelligentreach_integration_cron_qty_price.php" hash="085b040befc8d83e0321869d7855fcd3"/><file name="intelligentreach_integration_cron_opt.php" hash="3e124a23be59cab65f18d25ae86adcfc"/></dir></dir></target></contents>
|
23 |
<compatible/>
|
24 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
25 |
</package>
|