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.38 |
Comparing to | |
See all releases |
Code changes from version 1.0.37 to 1.0.38
- 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/IRShipping/Helper/Data.php +0 -5
- app/code/local/IntelligentReach/IRShipping/Model/Cart/Api/V2.php +0 -37
- app/code/local/IntelligentReach/IRShipping/Model/Cart/Shipping/Api/V2.php +0 -38
- app/code/local/IntelligentReach/IRShipping/etc/api.xml +0 -45
- app/code/local/IntelligentReach/IRShipping/etc/config.xml +0 -40
- app/code/local/IntelligentReach/IRShipping/etc/wsdl.xml +0 -39
- app/code/local/IntelligentReach/IRShipping/etc/wsi.xml +0 -58
- app/code/local/IntelligentReach/Integration/etc/config.xml +12 -12
- app/code/local/IntelligentReach/LazadaPayment/etc/config.xml +1 -1
- app/code/local/IntelligentReach/OrderExporter/Helper/Data.php +5 -0
- app/code/local/IntelligentReach/{IRShipping → OrderExporter}/Model/Carrier.php +2 -2
- app/code/local/IntelligentReach/{IRShipping → OrderExporter}/Model/Cart/Api.php +1 -1
- app/code/local/IntelligentReach/OrderExporter/Model/Cart/Api/V2.php +9 -0
- app/code/local/IntelligentReach/OrderExporter/Model/Cart/Product/Api.php +75 -0
- app/code/local/IntelligentReach/OrderExporter/Model/Cart/Product/Api/V2.php +9 -0
- app/code/local/IntelligentReach/{IRShipping → OrderExporter}/Model/Cart/Shipping/Api.php +4 -4
- app/code/local/IntelligentReach/OrderExporter/Model/Cart/Shipping/Api/V2.php +9 -0
- app/code/local/IntelligentReach/{IRShipping → OrderExporter}/Model/Quote/Address/Total/Shipping.php +1 -1
- app/code/local/IntelligentReach/OrderExporter/etc/api.xml +62 -0
- app/code/local/IntelligentReach/OrderExporter/etc/config.xml +42 -0
- app/code/local/IntelligentReach/{IRShipping → OrderExporter}/etc/system.xml +3 -3
- app/code/local/IntelligentReach/OrderExporter/etc/wsdl.xml +102 -0
- app/code/local/IntelligentReach/OrderExporter/etc/wsi.xml +141 -0
- 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
- app/etc/modules/{IntelligentReach_IRShipping.xml → IntelligentReach_OrderExporter.xml} +2 -2
- intelligentreach_integration.php +54 -19
- intelligentreach_integration_pre.php +54 -19
- intelligentreach_integration_qty.php +35 -13
- ircronscripts/intelligentreach_integration_cron.php +50 -21
- ircronscripts/intelligentreach_integration_cron_pre.php +50 -21
- ircronscripts/intelligentreach_integration_cron_qty_price.php +27 -7
- 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.38</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.38</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.38</version>
|
6 |
</IntelligentReach_EbayPayment>
|
7 |
</modules>
|
8 |
<global>
|
app/code/local/IntelligentReach/IRShipping/Helper/Data.php
DELETED
@@ -1,5 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
class IntelligentReach_IRShipping_Helper_Data extends Mage_Core_Helper_Abstract
|
3 |
-
{
|
4 |
-
}
|
5 |
-
?>
|
|
|
|
|
|
|
|
|
|
app/code/local/IntelligentReach/IRShipping/Model/Cart/Api/V2.php
DELETED
@@ -1,37 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento Enterprise Edition
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Magento Enterprise Edition License
|
8 |
-
* that is bundled with this package in the file LICENSE_EE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://www.magentocommerce.com/license/enterprise-edition
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* DISCLAIMER
|
16 |
-
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
-
* versions in the future. If you wish to customize Magento for your
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
-
*
|
21 |
-
* @category Mage
|
22 |
-
* @package Mage_Checkout
|
23 |
-
* @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
|
24 |
-
* @license http://www.magentocommerce.com/license/enterprise-edition
|
25 |
-
*/
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Shopping cart model
|
29 |
-
*
|
30 |
-
* @category Mage
|
31 |
-
* @package Mage_Checkout
|
32 |
-
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
-
*/
|
34 |
-
class IntelligentReach_IRShipping_Model_Cart_Api_V2 extends IntelligentReach_IRShipping_Model_Cart_Api
|
35 |
-
{
|
36 |
-
|
37 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/IntelligentReach/IRShipping/Model/Cart/Shipping/Api/V2.php
DELETED
@@ -1,38 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento Enterprise Edition
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Magento Enterprise Edition License
|
8 |
-
* that is bundled with this package in the file LICENSE_EE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://www.magentocommerce.com/license/enterprise-edition
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* DISCLAIMER
|
16 |
-
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
-
* versions in the future. If you wish to customize Magento for your
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
-
*
|
21 |
-
* @category Mage
|
22 |
-
* @package Mage_Checkout
|
23 |
-
* @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
|
24 |
-
* @license http://www.magentocommerce.com/license/enterprise-edition
|
25 |
-
*/
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Shopping cart api
|
29 |
-
*
|
30 |
-
* @category Mage
|
31 |
-
* @package Mage_Checkout
|
32 |
-
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
-
*/
|
34 |
-
|
35 |
-
class IntelligentReach_IRShipping_Model_Cart_Shipping_Api_V2 extends IntelligentReach_IRShipping_Model_Cart_Shipping_Api
|
36 |
-
{
|
37 |
-
|
38 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/IntelligentReach/IRShipping/etc/api.xml
DELETED
@@ -1,45 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<!--
|
3 |
-
/**
|
4 |
-
* Magento Enterprise Edition
|
5 |
-
*
|
6 |
-
* NOTICE OF LICENSE
|
7 |
-
*
|
8 |
-
* This source file is subject to the Magento Enterprise Edition License
|
9 |
-
* that is bundled with this package in the file LICENSE_EE.txt.
|
10 |
-
* It is also available through the world-wide-web at this URL:
|
11 |
-
* http://www.magentocommerce.com/license/enterprise-edition
|
12 |
-
* If you did not receive a copy of the license and are unable to
|
13 |
-
* obtain it through the world-wide-web, please send an email
|
14 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
15 |
-
*
|
16 |
-
* DISCLAIMER
|
17 |
-
*
|
18 |
-
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
19 |
-
* versions in the future. If you wish to customize Magento for your
|
20 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
21 |
-
*
|
22 |
-
* @category Mage
|
23 |
-
* @package Mage_Checkout
|
24 |
-
* @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
|
25 |
-
* @license http://www.magentocommerce.com/license/enterprise-edition
|
26 |
-
*/
|
27 |
-
-->
|
28 |
-
<config>
|
29 |
-
<api>
|
30 |
-
<resources>
|
31 |
-
<cart_shipping translate="title" module="checkout">
|
32 |
-
<model>checkout/cart_shipping_api</model>
|
33 |
-
<title>Shipping information</title>
|
34 |
-
<acl>cart/shipping</acl>
|
35 |
-
<methods>
|
36 |
-
<customIRMethod translate="title" module="checkout">
|
37 |
-
<title>Set shipping method and custom values</title>
|
38 |
-
<method>setCustomShippingMethod</method>
|
39 |
-
<acl>cart/shipping/method</acl>
|
40 |
-
</customIRMethod>
|
41 |
-
</methods>
|
42 |
-
</cart_shipping>
|
43 |
-
</resources>
|
44 |
-
</api>
|
45 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/IntelligentReach/IRShipping/etc/config.xml
DELETED
@@ -1,40 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<config>
|
3 |
-
<modules>
|
4 |
-
<IntelligentReach_IRShipping>
|
5 |
-
<version>1.0.37</version>
|
6 |
-
</IntelligentReach_IRShipping>
|
7 |
-
</modules>
|
8 |
-
<global>
|
9 |
-
<models>
|
10 |
-
<intelligentreach_irshipping>
|
11 |
-
<class>IntelligentReach_IRShipping_Model</class>
|
12 |
-
</intelligentreach_irshipping>
|
13 |
-
<sales>
|
14 |
-
<rewrite>
|
15 |
-
<quote_address_total_shipping>IntelligentReach_IRShipping_Model_Quote_Address_Total_Shipping</quote_address_total_shipping>
|
16 |
-
</rewrite>
|
17 |
-
</sales>
|
18 |
-
<checkout>
|
19 |
-
<rewrite>
|
20 |
-
<cart_shipping_api>IntelligentReach_IRShipping_Model_Cart_Shipping_Api</cart_shipping_api>
|
21 |
-
<cart_shipping_api_v2>IntelligentReach_IRShipping_Model_Cart_Shipping_Api_V2</cart_shipping_api_v2>
|
22 |
-
<cart_api>IntelligentReach_IRShipping_Model_Cart_Api</cart_api>
|
23 |
-
<cart_api_v2>IntelligentReach_IRShipping_Model_Cart_Api_V2</cart_api_v2>
|
24 |
-
</rewrite>
|
25 |
-
</checkout>
|
26 |
-
</models>
|
27 |
-
</global>
|
28 |
-
<default>
|
29 |
-
<carriers>
|
30 |
-
<intelligentreach_irshipping>
|
31 |
-
<active>1</active>
|
32 |
-
<model>intelligentreach_irshipping/carrier</model>
|
33 |
-
<title>Intelligent Reach Shipping</title>
|
34 |
-
<name>Intelligent Reach Shipping</name>
|
35 |
-
<sort_order>10</sort_order>
|
36 |
-
<sallowspecific>0</sallowspecific>
|
37 |
-
</intelligentreach_irshipping>
|
38 |
-
</carriers>
|
39 |
-
</default>
|
40 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/IntelligentReach/IRShipping/etc/wsdl.xml
DELETED
@@ -1,39 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
<definitions xmlns:typens="urn:{{var wsdl.name}}" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
3 |
-
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
4 |
-
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
5 |
-
xmlns="http://schemas.xmlsoap.org/wsdl/"
|
6 |
-
name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
|
7 |
-
<message name="shoppingCartShippingCustomIRMethodRequest">
|
8 |
-
<part name="sessionId" type="xsd:string"/>
|
9 |
-
<part name="quoteId" type="xsd:int"/>
|
10 |
-
<part name="method" type="xsd:string"/>
|
11 |
-
<part name="price" type="xsd:double"/>
|
12 |
-
<part name="description" type="xsd:string"/>
|
13 |
-
<part name="storeId" type="xsd:string"/>
|
14 |
-
</message>
|
15 |
-
<message name="shoppingCartShippingCustomIRMethodResponse">
|
16 |
-
<part name="result" type="xsd:boolean"/>
|
17 |
-
</message>
|
18 |
-
<portType name="{{var wsdl.handler}}PortType">
|
19 |
-
<operation name="shoppingCartShippingCustomIRMethod">
|
20 |
-
<documentation>Set shipping method and custom values</documentation>
|
21 |
-
<input message="typens:shoppingCartShippingCustomIRMethodRequest"/>
|
22 |
-
<output message="typens:shoppingCartShippingCustomIRMethodResponse"/>
|
23 |
-
</operation>
|
24 |
-
</portType>
|
25 |
-
<binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
|
26 |
-
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
|
27 |
-
<operation name="shoppingCartShippingCustomIRMethod">
|
28 |
-
<soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
|
29 |
-
<input>
|
30 |
-
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
|
31 |
-
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
32 |
-
</input>
|
33 |
-
<output>
|
34 |
-
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
|
35 |
-
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
36 |
-
</output>
|
37 |
-
</operation>
|
38 |
-
</binding>
|
39 |
-
</definitions>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/IntelligentReach/IRShipping/etc/wsi.xml
DELETED
@@ -1,58 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
<wsdl:definitions xmlns:typens="urn:{{var wsdl.name}}"
|
3 |
-
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
4 |
-
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
5 |
-
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
6 |
-
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
7 |
-
name="{{var wsdl.name}}"
|
8 |
-
targetNamespace="urn:{{var wsdl.name}}">
|
9 |
-
<wsdl:types>
|
10 |
-
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:{{var wsdl.name}}">
|
11 |
-
<xsd:element name="shoppingCartShippingCustomIRMethodRequestParam">
|
12 |
-
<xsd:complexType>
|
13 |
-
<xsd:sequence>
|
14 |
-
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
|
15 |
-
<xsd:element minOccurs="1" maxOccurs="1" name="quoteId" type="xsd:int" />
|
16 |
-
<xsd:element minOccurs="1" maxOccurs="1" name="shippingMethod" type="xsd:string" />
|
17 |
-
<xsd:element minOccurs="1" maxOccurs="1" name="price" type="xsd:double" />
|
18 |
-
<xsd:element minOccurs="1" maxOccurs="1" name="description" type="xsd:string" />
|
19 |
-
<xsd:element minOccurs="0" maxOccurs="1" name="store" type="xsd:string" />
|
20 |
-
</xsd:sequence>
|
21 |
-
</xsd:complexType>
|
22 |
-
</xsd:element>
|
23 |
-
<xsd:element name="shoppingCartShippingCustomIRMethodResponseParam">
|
24 |
-
<xsd:complexType>
|
25 |
-
<xsd:sequence>
|
26 |
-
<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />
|
27 |
-
</xsd:sequence>
|
28 |
-
</xsd:complexType>
|
29 |
-
</xsd:element>
|
30 |
-
</xsd:schema>
|
31 |
-
</wsdl:types>
|
32 |
-
<wsdl:message name="shoppingCartShippingCustomIRMethodRequest">
|
33 |
-
<wsdl:part name="parameters" element="typens:shoppingCartShippingCustomIRMethodRequestParam" />
|
34 |
-
</wsdl:message>
|
35 |
-
<wsdl:message name="shoppingCartShippingCustomIRMethodResponse">
|
36 |
-
<wsdl:part name="parameters" element="typens:shoppingCartShippingCustomIRMethodResponseParam" />
|
37 |
-
</wsdl:message>
|
38 |
-
|
39 |
-
<wsdl:portType name="{{var wsdl.handler}}PortType">
|
40 |
-
<wsdl:operation name="shoppingCartShippingCustomIRMethod">
|
41 |
-
<wsdl:documentation>Set shipping method and custom values</wsdl:documentation>
|
42 |
-
<wsdl:input message="typens:shoppingCartShippingCustomIRMethodRequest"/>
|
43 |
-
<wsdl:output message="typens:shoppingCartShippingCustomIRMethodResponse"/>
|
44 |
-
</wsdl:operation>
|
45 |
-
</wsdl:portType>
|
46 |
-
<wsdl:binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
|
47 |
-
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
48 |
-
<wsdl:operation name="shoppingCartShippingCustomIRMethod">
|
49 |
-
<soap:operation soapAction=""/>
|
50 |
-
<wsdl:input>
|
51 |
-
<soap:body use="literal" />
|
52 |
-
</wsdl:input>
|
53 |
-
<wsdl:output>
|
54 |
-
<soap:body use="literal" />
|
55 |
-
</wsdl:output>
|
56 |
-
</wsdl:operation>
|
57 |
-
</wsdl:binding>
|
58 |
-
</wsdl:definitions>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/IntelligentReach/Integration/etc/config.xml
CHANGED
@@ -1,17 +1,17 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<config>
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
<IntelligentReach_Integration>
|
5 |
-
|
6 |
</IntelligentReach_Integration>
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
<updates>
|
11 |
-
<IntelligentReach_Integration>
|
12 |
-
<file>intelligentreach_integration.xml</file>
|
13 |
-
</IntelligentReach_Integration>
|
14 |
-
</updates>
|
15 |
-
</layout>
|
16 |
-
</frontend>
|
17 |
</config>
|
1 |
<?xml version="1.0"?>
|
2 |
<config>
|
3 |
+
<modules>
|
4 |
+
<IntelligentReach_Integration>
|
5 |
+
<version>1.0.38</version>
|
6 |
+
</IntelligentReach_Integration>
|
7 |
+
</modules>
|
8 |
+
<frontend>
|
9 |
+
<layout>
|
10 |
+
<updates>
|
11 |
<IntelligentReach_Integration>
|
12 |
+
<file>intelligentreach_integration.xml</file>
|
13 |
</IntelligentReach_Integration>
|
14 |
+
</updates>
|
15 |
+
</layout>
|
16 |
+
</frontend>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
</config>
|
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.38</version>
|
6 |
</IntelligentReach_LazadaPayment>
|
7 |
</modules>
|
8 |
<global>
|
app/code/local/IntelligentReach/OrderExporter/Helper/Data.php
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class IntelligentReach_OrderExporter_Helper_Data extends Mage_Core_Helper_Abstract
|
3 |
+
{
|
4 |
+
}
|
5 |
+
?>
|
app/code/local/IntelligentReach/{IRShipping → OrderExporter}/Model/Carrier.php
RENAMED
@@ -3,11 +3,11 @@
|
|
3 |
//Copyright � 2016 Intuitive Search Technologies Ltd.
|
4 |
//Release under OSL license (http://opensource.org/licenses/osl-3.0).
|
5 |
//
|
6 |
-
class
|
7 |
extends Mage_Shipping_Model_Carrier_Abstract
|
8 |
implements Mage_Shipping_Model_Carrier_Interface
|
9 |
{
|
10 |
-
protected $_code = '
|
11 |
|
12 |
public function collectRates(Mage_Shipping_Model_Rate_Request $request)
|
13 |
{
|
3 |
//Copyright � 2016 Intuitive Search Technologies Ltd.
|
4 |
//Release under OSL license (http://opensource.org/licenses/osl-3.0).
|
5 |
//
|
6 |
+
class IntelligentReach_OrderExporter_Model_Carrier
|
7 |
extends Mage_Shipping_Model_Carrier_Abstract
|
8 |
implements Mage_Shipping_Model_Carrier_Interface
|
9 |
{
|
10 |
+
protected $_code = 'intelligentreach_orderexporter';
|
11 |
|
12 |
public function collectRates(Mage_Shipping_Model_Rate_Request $request)
|
13 |
{
|
app/code/local/IntelligentReach/{IRShipping → OrderExporter}/Model/Cart/Api.php
RENAMED
@@ -3,7 +3,7 @@
|
|
3 |
//Copyright � 2016 Intuitive Search Technologies Ltd.
|
4 |
//Release under OSL license (http://opensource.org/licenses/osl-3.0).
|
5 |
//
|
6 |
-
class
|
7 |
{
|
8 |
/**
|
9 |
* Create an order from the shopping cart (quote)
|
3 |
//Copyright � 2016 Intuitive Search Technologies Ltd.
|
4 |
//Release under OSL license (http://opensource.org/licenses/osl-3.0).
|
5 |
//
|
6 |
+
class IntelligentReach_OrderExporter_Model_Cart_Api extends Mage_Checkout_Model_Cart_Api
|
7 |
{
|
8 |
/**
|
9 |
* Create an order from the shopping cart (quote)
|
app/code/local/IntelligentReach/OrderExporter/Model/Cart/Api/V2.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
//Shopping Cart API required for the Intelligent Reach platform marketplace integration (http://www.intelligentreach.com).
|
3 |
+
//Copyright © 2016 Intuitive Search Technologies Ltd.
|
4 |
+
//Release under OSL license (http://opensource.org/licenses/osl-3.0).
|
5 |
+
//
|
6 |
+
class IntelligentReach_OrderExporter_Model_Cart_Api_V2 extends IntelligentReach_OrderExporter_Model_Cart_Api
|
7 |
+
{
|
8 |
+
|
9 |
+
}
|
app/code/local/IntelligentReach/OrderExporter/Model/Cart/Product/Api.php
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
//Shopping Cart Product API required for the Intelligent Reach platform marketplace integration (http://www.intelligentreach.com).
|
3 |
+
//Copyright © 2016 Intuitive Search Technologies Ltd.
|
4 |
+
//Release under OSL license (http://opensource.org/licenses/osl-3.0).
|
5 |
+
//
|
6 |
+
class IntelligentReach_OrderExporter_Model_Cart_Product_Api extends Mage_Checkout_Model_Cart_Product_Api
|
7 |
+
{
|
8 |
+
/**
|
9 |
+
* This is the version number of the IR Custom Cart_Product_Api.
|
10 |
+
* It should only be incremented when this section of the Api changes.
|
11 |
+
*
|
12 |
+
* @return double
|
13 |
+
*/
|
14 |
+
public function irApiVersion()
|
15 |
+
{
|
16 |
+
return 1.0;
|
17 |
+
}
|
18 |
+
|
19 |
+
/**
|
20 |
+
* @param $quoteId
|
21 |
+
* @param $productsData
|
22 |
+
* @param $store
|
23 |
+
* @return bool
|
24 |
+
*/
|
25 |
+
public function addWithPrice($quoteId, $productsData, $store=null)
|
26 |
+
{
|
27 |
+
$quote = $this->_getQuote($quoteId, $store);
|
28 |
+
if (empty($store)) {
|
29 |
+
$store = $quote->getStoreId();
|
30 |
+
}
|
31 |
+
|
32 |
+
$productsData = $this->_prepareProductsData($productsData);
|
33 |
+
if (empty($productsData)) {
|
34 |
+
$this->_fault('invalid_product_data');
|
35 |
+
}
|
36 |
+
|
37 |
+
$errors = array();
|
38 |
+
foreach ($productsData as $productItem) {
|
39 |
+
$productItem = get_object_vars($productItem);
|
40 |
+
if (isset($productItem['product_id'])) {
|
41 |
+
$productByItem = $this->_getProduct($productItem['product_id'], $store, "id");
|
42 |
+
} else if (isset($productItem['sku'])) {
|
43 |
+
$productByItem = $this->_getProduct($productItem['sku'], $store, "sku");
|
44 |
+
} else {
|
45 |
+
$errors[] = Mage::helper('checkout')->__("One item of products do not have identifier or sku");
|
46 |
+
continue;
|
47 |
+
}
|
48 |
+
$productRequest = $this->_getProductRequest($productItem);
|
49 |
+
try {
|
50 |
+
$result = $quote->addProduct($productByItem, $productRequest);
|
51 |
+
if(isset($productItem['price']) && $productItem['price'] != null) {
|
52 |
+
$result->setOriginalCustomPrice($productItem['price']);
|
53 |
+
}
|
54 |
+
|
55 |
+
if (is_string($result)) {
|
56 |
+
Mage::throwException($result);
|
57 |
+
}
|
58 |
+
} catch (Mage_Core_Exception $e) {
|
59 |
+
$errors[] = $e->getMessage();
|
60 |
+
}
|
61 |
+
}
|
62 |
+
|
63 |
+
if (!empty($errors)) {
|
64 |
+
$this->_fault("add_product_fault", implode(PHP_EOL, $errors));
|
65 |
+
}
|
66 |
+
|
67 |
+
try {
|
68 |
+
$quote->collectTotals()->save();
|
69 |
+
} catch(Exception $e) {
|
70 |
+
$this->_fault("add_product_quote_save_fault", $e->getMessage());
|
71 |
+
}
|
72 |
+
|
73 |
+
return true;
|
74 |
+
}
|
75 |
+
}
|
app/code/local/IntelligentReach/OrderExporter/Model/Cart/Product/Api/V2.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
//Shopping Cart Product API required for the Intelligent Reach platform marketplace integration (http://www.intelligentreach.com).
|
3 |
+
//Copyright © 2016 Intuitive Search Technologies Ltd.
|
4 |
+
//Release under OSL license (http://opensource.org/licenses/osl-3.0).
|
5 |
+
//
|
6 |
+
class IntelligentReach_OrderExporter_Model_Cart_Product_Api_V2 extends IntelligentReach_OrderExporter_Model_Cart_Product_Api
|
7 |
+
{
|
8 |
+
|
9 |
+
}
|
app/code/local/IntelligentReach/{IRShipping → OrderExporter}/Model/Cart/Shipping/Api.php
RENAMED
@@ -3,15 +3,15 @@
|
|
3 |
//Copyright � 2016 Intuitive Search Technologies Ltd.
|
4 |
//Release under OSL license (http://opensource.org/licenses/osl-3.0).
|
5 |
//
|
6 |
-
class
|
7 |
{
|
8 |
/**
|
9 |
* Set a Shipping Method for Shopping Cart with custom price and description.
|
10 |
*
|
11 |
* @param $quoteId
|
12 |
* @param $shippingMethod
|
13 |
-
|
14 |
-
|
15 |
* @param $store
|
16 |
* @return bool
|
17 |
*/
|
@@ -24,7 +24,7 @@ class IntelligentReach_IRShipping_Model_Cart_Shipping_Api extends Mage_Checkout_
|
|
24 |
$this->_fault("shipping_address_is_not_set");
|
25 |
}
|
26 |
|
27 |
-
|
28 |
|
29 |
// force calling carrier collectRates() again
|
30 |
$quote->getShippingAddress()->setCollectShippingRates(true);
|
3 |
//Copyright � 2016 Intuitive Search Technologies Ltd.
|
4 |
//Release under OSL license (http://opensource.org/licenses/osl-3.0).
|
5 |
//
|
6 |
+
class IntelligentReach_OrderExporter_Model_Cart_Shipping_Api extends Mage_Checkout_Model_Cart_Shipping_Api
|
7 |
{
|
8 |
/**
|
9 |
* Set a Shipping Method for Shopping Cart with custom price and description.
|
10 |
*
|
11 |
* @param $quoteId
|
12 |
* @param $shippingMethod
|
13 |
+
* @param $price
|
14 |
+
* @param $description
|
15 |
* @param $store
|
16 |
* @return bool
|
17 |
*/
|
24 |
$this->_fault("shipping_address_is_not_set");
|
25 |
}
|
26 |
|
27 |
+
$this->writeShippingValuesToTempFile($price, $description);
|
28 |
|
29 |
// force calling carrier collectRates() again
|
30 |
$quote->getShippingAddress()->setCollectShippingRates(true);
|
app/code/local/IntelligentReach/OrderExporter/Model/Cart/Shipping/Api/V2.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
//Shopping Cart Shipping API required for the Intelligent Reach platform marketplace integration (http://www.intelligentreach.com).
|
3 |
+
//Copyright © 2016 Intuitive Search Technologies Ltd.
|
4 |
+
//Release under OSL license (http://opensource.org/licenses/osl-3.0).
|
5 |
+
//
|
6 |
+
class IntelligentReach_OrderExporter_Model_Cart_Shipping_Api_V2 extends IntelligentReach_OrderExporter_Model_Cart_Shipping_Api
|
7 |
+
{
|
8 |
+
|
9 |
+
}
|
app/code/local/IntelligentReach/{IRShipping → OrderExporter}/Model/Quote/Address/Total/Shipping.php
RENAMED
@@ -3,7 +3,7 @@
|
|
3 |
//Copyright � 2016 Intuitive Search Technologies Ltd.
|
4 |
//Release under OSL license (http://opensource.org/licenses/osl-3.0).
|
5 |
//
|
6 |
-
class
|
7 |
{
|
8 |
/**
|
9 |
* Collect totals information about shipping
|
3 |
//Copyright � 2016 Intuitive Search Technologies Ltd.
|
4 |
//Release under OSL license (http://opensource.org/licenses/osl-3.0).
|
5 |
//
|
6 |
+
class IntelligentReach_OrderExporter_Model_Quote_Address_Total_Shipping extends Mage_Sales_Model_Quote_Address_Total_Shipping
|
7 |
{
|
8 |
/**
|
9 |
* Collect totals information about shipping
|
app/code/local/IntelligentReach/OrderExporter/etc/api.xml
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Magento Enterprise Edition
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Magento Enterprise Edition License
|
9 |
+
* that is bundled with this package in the file LICENSE_EE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://www.magentocommerce.com/license/enterprise-edition
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
19 |
+
* versions in the future. If you wish to customize Magento for your
|
20 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
21 |
+
*
|
22 |
+
* @category Mage
|
23 |
+
* @package Mage_Checkout
|
24 |
+
* @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
|
25 |
+
* @license http://www.magentocommerce.com/license/enterprise-edition
|
26 |
+
*/
|
27 |
+
-->
|
28 |
+
<config>
|
29 |
+
<api>
|
30 |
+
<resources>
|
31 |
+
<cart_shipping translate="title" module="checkout">
|
32 |
+
<model>checkout/cart_shipping_api</model>
|
33 |
+
<title>Shipping information</title>
|
34 |
+
<acl>cart/shipping</acl>
|
35 |
+
<methods>
|
36 |
+
<customIRMethod translate="title" module="checkout">
|
37 |
+
<title>Set shipping method and custom values</title>
|
38 |
+
<method>setCustomShippingMethod</method>
|
39 |
+
<acl>cart/shipping/method</acl>
|
40 |
+
</customIRMethod>
|
41 |
+
</methods>
|
42 |
+
</cart_shipping>
|
43 |
+
<cart_product translate="title" module="checkout">
|
44 |
+
<model>checkout/cart_product_api</model>
|
45 |
+
<title>Cart Product API</title>
|
46 |
+
<acl>cart/product</acl>
|
47 |
+
<methods>
|
48 |
+
<addWithPrice translate="title" module="checkout">
|
49 |
+
<title>Add product to shopping cart</title>
|
50 |
+
<method>addWithPrice</method>
|
51 |
+
<acl>cart/product/add</acl>
|
52 |
+
</addWithPrice>
|
53 |
+
<irApiVersion translate="title" module="checkout">
|
54 |
+
<title>Get IR Api version number.</title>
|
55 |
+
<method>irApiVersion</method>
|
56 |
+
<acl>cart/product</acl>
|
57 |
+
</irApiVersion>
|
58 |
+
</methods>
|
59 |
+
</cart_product>
|
60 |
+
</resources>
|
61 |
+
</api>
|
62 |
+
</config>
|
app/code/local/IntelligentReach/OrderExporter/etc/config.xml
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<IntelligentReach_OrderExporter>
|
5 |
+
<version>1.0.38</version>
|
6 |
+
</IntelligentReach_OrderExporter>
|
7 |
+
</modules>
|
8 |
+
<global>
|
9 |
+
<models>
|
10 |
+
<intelligentreach_orderexporter>
|
11 |
+
<class>IntelligentReach_OrderExporter_Model</class>
|
12 |
+
</intelligentreach_orderexporter>
|
13 |
+
<sales>
|
14 |
+
<rewrite>
|
15 |
+
<quote_address_total_shipping>IntelligentReach_OrderExporter_Model_Quote_Address_Total_Shipping</quote_address_total_shipping>
|
16 |
+
</rewrite>
|
17 |
+
</sales>
|
18 |
+
<checkout>
|
19 |
+
<rewrite>
|
20 |
+
<cart_shipping_api>IntelligentReach_OrderExporter_Model_Cart_Shipping_Api</cart_shipping_api>
|
21 |
+
<cart_shipping_api_v2>IntelligentReach_OrderExporter_Model_Cart_Shipping_Api_V2</cart_shipping_api_v2>
|
22 |
+
<cart_api>IntelligentReach_OrderExporter_Model_Cart_Api</cart_api>
|
23 |
+
<cart_api_v2>IntelligentReach_OrderExporter_Model_Cart_Api_V2</cart_api_v2>
|
24 |
+
<cart_product_api>IntelligentReach_OrderExporter_Model_Cart_Product_Api</cart_product_api>
|
25 |
+
<cart_product_api_v2>IntelligentReach_OrderExporter_Model_Cart_Product_Api_V2</cart_product_api_v2>
|
26 |
+
</rewrite>
|
27 |
+
</checkout>
|
28 |
+
</models>
|
29 |
+
</global>
|
30 |
+
<default>
|
31 |
+
<carriers>
|
32 |
+
<intelligentreach_orderexporter>
|
33 |
+
<active>1</active>
|
34 |
+
<model>intelligentreach_orderexporter/carrier</model>
|
35 |
+
<title>Intelligent Reach Order Exporter</title>
|
36 |
+
<name>Intelligent Reach Order Exporter</name>
|
37 |
+
<sort_order>10</sort_order>
|
38 |
+
<sallowspecific>0</sallowspecific>
|
39 |
+
</intelligentreach_orderexporter>
|
40 |
+
</carriers>
|
41 |
+
</default>
|
42 |
+
</config>
|
app/code/local/IntelligentReach/{IRShipping → OrderExporter}/etc/system.xml
RENAMED
@@ -3,8 +3,8 @@
|
|
3 |
<sections>
|
4 |
<carriers>
|
5 |
<groups>
|
6 |
-
<
|
7 |
-
<label>Intelligent Reach
|
8 |
<frontend_type>text</frontend_type>
|
9 |
<sort_order>13</sort_order>
|
10 |
<show_in_default>1</show_in_default>
|
@@ -29,7 +29,7 @@
|
|
29 |
<show_in_store>0</show_in_store>
|
30 |
</title>
|
31 |
</fields>
|
32 |
-
</
|
33 |
</groups>
|
34 |
</carriers>
|
35 |
</sections>
|
3 |
<sections>
|
4 |
<carriers>
|
5 |
<groups>
|
6 |
+
<intelligentreach_orderexporter translate="label">
|
7 |
+
<label>Intelligent Reach Order Exporter</label>
|
8 |
<frontend_type>text</frontend_type>
|
9 |
<sort_order>13</sort_order>
|
10 |
<show_in_default>1</show_in_default>
|
29 |
<show_in_store>0</show_in_store>
|
30 |
</title>
|
31 |
</fields>
|
32 |
+
</intelligentreach_orderexporter>
|
33 |
</groups>
|
34 |
</carriers>
|
35 |
</sections>
|
app/code/local/IntelligentReach/OrderExporter/etc/wsdl.xml
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<definitions xmlns:typens="urn:{{var wsdl.name}}" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
3 |
+
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
4 |
+
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
5 |
+
xmlns="http://schemas.xmlsoap.org/wsdl/"
|
6 |
+
name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
|
7 |
+
<types>
|
8 |
+
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
|
9 |
+
<complexType name="shoppingCartProductEntity">
|
10 |
+
<all>
|
11 |
+
<element name="product_id" type="xsd:string" minOccurs="0"/>
|
12 |
+
<element name="sku" type="xsd:string" minOccurs="0"/>
|
13 |
+
<element name="qty" type="xsd:double" minOccurs="0"/>
|
14 |
+
<element name="options" type="typens:associativeArray" minOccurs="0"/>
|
15 |
+
<element name="bundle_option" type="typens:associativeArray" minOccurs="0"/>
|
16 |
+
<element name="bundle_option_qty" type="typens:associativeArray" minOccurs="0"/>
|
17 |
+
<element name="links" type="typens:ArrayOfString" minOccurs="0"/>
|
18 |
+
<element name="price" type="xsd:double" minOccurs="0"/>
|
19 |
+
</all>
|
20 |
+
</complexType>
|
21 |
+
</schema>
|
22 |
+
</types>
|
23 |
+
<message name="shoppingCartProductAddWithPriceRequest">
|
24 |
+
<part name="sessionId" type="xsd:string"/>
|
25 |
+
<part name="quoteId" type="xsd:int"/>
|
26 |
+
<part name="products" type="typens:shoppingCartProductEntityArray"/>
|
27 |
+
<part name="storeId" type="xsd:string"/>
|
28 |
+
</message>
|
29 |
+
<message name="shoppingCartProductAddWithPriceResponse">
|
30 |
+
<part name="result" type="xsd:boolean"/>
|
31 |
+
</message>
|
32 |
+
<message name="shoppingCartProductIrApiVersionRequest">
|
33 |
+
<part name="sessionId" type="xsd:string"/>
|
34 |
+
</message>
|
35 |
+
<message name="shoppingCartProductIrApiVersionResponse">
|
36 |
+
<part name="result" type="xsd:double"/>
|
37 |
+
</message>
|
38 |
+
<message name="shoppingCartShippingCustomIRMethodRequest">
|
39 |
+
<part name="sessionId" type="xsd:string"/>
|
40 |
+
<part name="quoteId" type="xsd:int"/>
|
41 |
+
<part name="method" type="xsd:string"/>
|
42 |
+
<part name="price" type="xsd:double"/>
|
43 |
+
<part name="description" type="xsd:string"/>
|
44 |
+
<part name="storeId" type="xsd:string"/>
|
45 |
+
</message>
|
46 |
+
<message name="shoppingCartShippingCustomIRMethodResponse">
|
47 |
+
<part name="result" type="xsd:boolean"/>
|
48 |
+
</message>
|
49 |
+
<portType name="{{var wsdl.handler}}PortType">
|
50 |
+
<operation name="shoppingCartShippingCustomIRMethod">
|
51 |
+
<documentation>Set shipping method and custom values</documentation>
|
52 |
+
<input message="typens:shoppingCartShippingCustomIRMethodRequest"/>
|
53 |
+
<output message="typens:shoppingCartShippingCustomIRMethodResponse"/>
|
54 |
+
</operation>
|
55 |
+
<operation name="shoppingCartProductAddWithPrice">
|
56 |
+
<documentation>Add product(s) to shopping cart</documentation>
|
57 |
+
<input message="typens:shoppingCartProductAddWithPriceRequest"/>
|
58 |
+
<output message="typens:shoppingCartProductAddWithPriceResponse"/>
|
59 |
+
</operation>
|
60 |
+
<operation name="shoppingCartProductIrApiVersion">
|
61 |
+
<documentation>Get IR Api Version number</documentation>
|
62 |
+
<input message="typens:shoppingCartProductIrApiVersionRequest"/>
|
63 |
+
<output message="typens:shoppingCartProductIrApiVersionResponse"/>
|
64 |
+
</operation>
|
65 |
+
</portType>
|
66 |
+
<binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
|
67 |
+
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
|
68 |
+
<operation name="shoppingCartShippingCustomIRMethod">
|
69 |
+
<soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
|
70 |
+
<input>
|
71 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
|
72 |
+
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
73 |
+
</input>
|
74 |
+
<output>
|
75 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
|
76 |
+
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
77 |
+
</output>
|
78 |
+
</operation>
|
79 |
+
<operation name="shoppingCartProductAddWithPrice">
|
80 |
+
<soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
|
81 |
+
<input>
|
82 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
|
83 |
+
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
84 |
+
</input>
|
85 |
+
<output>
|
86 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
|
87 |
+
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
88 |
+
</output>
|
89 |
+
</operation>
|
90 |
+
<operation name="shoppingCartProductIrApiVersion">
|
91 |
+
<soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
|
92 |
+
<input>
|
93 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
|
94 |
+
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
95 |
+
</input>
|
96 |
+
<output>
|
97 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
|
98 |
+
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
99 |
+
</output>
|
100 |
+
</operation>
|
101 |
+
</binding>
|
102 |
+
</definitions>
|
app/code/local/IntelligentReach/OrderExporter/etc/wsi.xml
ADDED
@@ -0,0 +1,141 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<wsdl:definitions xmlns:typens="urn:{{var wsdl.name}}"
|
3 |
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
4 |
+
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
5 |
+
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
6 |
+
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
7 |
+
name="{{var wsdl.name}}"
|
8 |
+
targetNamespace="urn:{{var wsdl.name}}">
|
9 |
+
<wsdl:types>
|
10 |
+
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:{{var wsdl.name}}">
|
11 |
+
<xsd:complexType name="shoppingCartProductEntity">
|
12 |
+
<xsd:sequence>
|
13 |
+
<xsd:element name="product_id" type="xsd:string" minOccurs="0"/>
|
14 |
+
<xsd:element name="sku" type="xsd:string" minOccurs="0"/>
|
15 |
+
<xsd:element name="qty" type="xsd:double" minOccurs="0"/>
|
16 |
+
<xsd:element name="options" type="typens:associativeArray" minOccurs="0"/>
|
17 |
+
<xsd:element name="bundle_option" type="typens:associativeArray" minOccurs="0"/>
|
18 |
+
<xsd:element name="bundle_option_qty" type="typens:associativeArray" minOccurs="0"/>
|
19 |
+
<xsd:element name="links" type="typens:ArrayOfString" minOccurs="0"/>
|
20 |
+
<xsd:element name="price" type="xsd:double" minOccurs="0"/>
|
21 |
+
</xsd:sequence>
|
22 |
+
</xsd:complexType>
|
23 |
+
<xsd:element name="shoppingCartShippingCustomIRMethodRequestParam">
|
24 |
+
<xsd:complexType>
|
25 |
+
<xsd:sequence>
|
26 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
|
27 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="quoteId" type="xsd:int" />
|
28 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="shippingMethod" type="xsd:string" />
|
29 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="price" type="xsd:double" />
|
30 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="description" type="xsd:string" />
|
31 |
+
<xsd:element minOccurs="0" maxOccurs="1" name="store" type="xsd:string" />
|
32 |
+
</xsd:sequence>
|
33 |
+
</xsd:complexType>
|
34 |
+
</xsd:element>
|
35 |
+
<xsd:element name="shoppingCartShippingCustomIRMethodResponseParam">
|
36 |
+
<xsd:complexType>
|
37 |
+
<xsd:sequence>
|
38 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />
|
39 |
+
</xsd:sequence>
|
40 |
+
</xsd:complexType>
|
41 |
+
</xsd:element>
|
42 |
+
<xsd:element name="shoppingCartProductAddWithPriceRequestParam">
|
43 |
+
<xsd:complexType>
|
44 |
+
<xsd:sequence>
|
45 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
|
46 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="quoteId" type="xsd:int" />
|
47 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="productsData" type="typens:shoppingCartProductEntityArray" />
|
48 |
+
<xsd:element minOccurs="0" maxOccurs="1" name="store" type="xsd:string" />
|
49 |
+
</xsd:sequence>
|
50 |
+
</xsd:complexType>
|
51 |
+
</xsd:element>
|
52 |
+
<xsd:element name="shoppingCartProductAddWithPriceResponseParam">
|
53 |
+
<xsd:complexType>
|
54 |
+
<xsd:sequence>
|
55 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />
|
56 |
+
</xsd:sequence>
|
57 |
+
</xsd:complexType>
|
58 |
+
</xsd:element>
|
59 |
+
<xsd:element name="shoppingCartProductIrApiVersionRequestParam">
|
60 |
+
<xsd:complexType>
|
61 |
+
<xsd:sequence>
|
62 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
|
63 |
+
</xsd:sequence>
|
64 |
+
</xsd:complexType>
|
65 |
+
</xsd:element>
|
66 |
+
<xsd:element name="shoppingCartProductIrApiVersionResponseParam">
|
67 |
+
<xsd:complexType>
|
68 |
+
<xsd:sequence>
|
69 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:double" />
|
70 |
+
</xsd:sequence>
|
71 |
+
</xsd:complexType>
|
72 |
+
</xsd:element>
|
73 |
+
</xsd:schema>
|
74 |
+
</wsdl:types>
|
75 |
+
<wsdl:message name="shoppingCartShippingCustomIRMethodRequest">
|
76 |
+
<wsdl:part name="parameters" element="typens:shoppingCartShippingCustomIRMethodRequestParam" />
|
77 |
+
</wsdl:message>
|
78 |
+
<wsdl:message name="shoppingCartShippingCustomIRMethodResponse">
|
79 |
+
<wsdl:part name="parameters" element="typens:shoppingCartShippingCustomIRMethodResponseParam" />
|
80 |
+
</wsdl:message>
|
81 |
+
<wsdl:message name="shoppingCartProductAddWithPriceRequest">
|
82 |
+
<wsdl:part name="parameters" element="typens:shoppingCartProductAddWithPriceRequestParam" />
|
83 |
+
</wsdl:message>
|
84 |
+
<wsdl:message name="shoppingCartProductAddWithPriceResponse">
|
85 |
+
<wsdl:part name="parameters" element="typens:shoppingCartProductAddWithPriceResponseParam" />
|
86 |
+
</wsdl:message>
|
87 |
+
<wsdl:message name="shoppingCartProductIrApiVersionRequest">
|
88 |
+
<wsdl:part name="parameters" element="typens:shoppingCartProductIrApiVersionRequestParam" />
|
89 |
+
</wsdl:message>
|
90 |
+
<wsdl:message name="shoppingCartProductIrApiVersionResponse">
|
91 |
+
<wsdl:part name="parameters" element="typens:shoppingCartProductIrApiVersionResponseParam" />
|
92 |
+
</wsdl:message>
|
93 |
+
|
94 |
+
<wsdl:portType name="{{var wsdl.handler}}PortType">
|
95 |
+
<wsdl:operation name="shoppingCartShippingCustomIRMethod">
|
96 |
+
<wsdl:documentation>Set shipping method and custom values</wsdl:documentation>
|
97 |
+
<wsdl:input message="typens:shoppingCartShippingCustomIRMethodRequest"/>
|
98 |
+
<wsdl:output message="typens:shoppingCartShippingCustomIRMethodResponse"/>
|
99 |
+
</wsdl:operation>
|
100 |
+
<wsdl:operation name="shoppingCartProductAddWithPrice">
|
101 |
+
<wsdl:documentation>Add product(s) to shopping cart</wsdl:documentation>
|
102 |
+
<wsdl:input message="typens:shoppingCartProductAddWithPriceRequest"/>
|
103 |
+
<wsdl:output message="typens:shoppingCartProductAddWithPriceResponse"/>
|
104 |
+
</wsdl:operation>
|
105 |
+
<wsdl:operation name="shoppingCartProductIrApiVersion">
|
106 |
+
<wsdl:documentation>Get IR Api version number.</wsdl:documentation>
|
107 |
+
<wsdl:input message="typens:shoppingCartProductIrApiVersionRequest"/>
|
108 |
+
<wsdl:output message="typens:shoppingCartProductIrApiVersionResponse"/>
|
109 |
+
</wsdl:operation>
|
110 |
+
</wsdl:portType>
|
111 |
+
<wsdl:binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
|
112 |
+
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
113 |
+
<wsdl:operation name="shoppingCartShippingCustomIRMethod">
|
114 |
+
<soap:operation soapAction=""/>
|
115 |
+
<wsdl:input>
|
116 |
+
<soap:body use="literal" />
|
117 |
+
</wsdl:input>
|
118 |
+
<wsdl:output>
|
119 |
+
<soap:body use="literal" />
|
120 |
+
</wsdl:output>
|
121 |
+
</wsdl:operation>
|
122 |
+
<wsdl:operation name="shoppingCartProductAddWithPrice">
|
123 |
+
<soap:operation soapAction=""/>
|
124 |
+
<wsdl:input>
|
125 |
+
<soap:body use="literal" />
|
126 |
+
</wsdl:input>
|
127 |
+
<wsdl:output>
|
128 |
+
<soap:body use="literal" />
|
129 |
+
</wsdl:output>
|
130 |
+
</wsdl:operation>
|
131 |
+
<wsdl:operation name="shoppingCartProductIrApiVersion">
|
132 |
+
<soap:operation soapAction=""/>
|
133 |
+
<wsdl:input>
|
134 |
+
<soap:body use="literal" />
|
135 |
+
</wsdl:input>
|
136 |
+
<wsdl:output>
|
137 |
+
<soap:body use="literal" />
|
138 |
+
</wsdl:output>
|
139 |
+
</wsdl:operation>
|
140 |
+
</wsdl:binding>
|
141 |
+
</wsdl:definitions>
|
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.38</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.38</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.38</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.38</version>
|
6 |
</IntelligentReach_WestfieldPayment>
|
7 |
</modules>
|
8 |
<global>
|
app/etc/modules/{IntelligentReach_IRShipping.xml → IntelligentReach_OrderExporter.xml}
RENAMED
@@ -1,9 +1,9 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<config>
|
3 |
<modules>
|
4 |
-
<
|
5 |
<active>true</active>
|
6 |
<codePool>local</codePool>
|
7 |
-
</
|
8 |
</modules>
|
9 |
</config>
|
1 |
<?xml version="1.0"?>
|
2 |
<config>
|
3 |
<modules>
|
4 |
+
<IntelligentReach_OrderExporter>
|
5 |
<active>true</active>
|
6 |
<codePool>local</codePool>
|
7 |
+
</IntelligentReach_OrderExporter>
|
8 |
</modules>
|
9 |
</config>
|
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';
|
@@ -15,7 +15,8 @@ class IntelligentReach
|
|
15 |
private $_splitby = 100;
|
16 |
private $_amountOfProductsPerPage = 100;
|
17 |
private $_lastPageNumber = 0;
|
18 |
-
private $
|
|
|
19 |
|
20 |
public function run()
|
21 |
{
|
@@ -32,9 +33,9 @@ class IntelligentReach
|
|
32 |
{
|
33 |
header("Content-Type: text/xml; charset=UTF-8");
|
34 |
header("Cache-Control: no-cache, must-revalidate");
|
35 |
-
echo
|
36 |
-
|
37 |
-
|
38 |
echo '</products>';
|
39 |
}
|
40 |
else
|
@@ -72,7 +73,7 @@ class IntelligentReach
|
|
72 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
73 |
echo "e.g. http://www.exampledomain.com/intelligentreach_integration.php?storeid=1</p>";
|
74 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
75 |
-
echo "<h5>
|
76 |
}
|
77 |
|
78 |
public function getSections($sections)
|
@@ -80,6 +81,9 @@ class IntelligentReach
|
|
80 |
$convertNumberToWord = (isset($_GET["convertNumberToWord"])) ? "&convertNumberToWord=1" : "";
|
81 |
$stripInvalidChars = (isset($_GET["stripInvalidChars"])) ? "&stripInvalidChars=1" : "";
|
82 |
$includeAllParentFields = (isset($_GET["includeAllParentFields"])) ? "&includeAllParentFields=1" : "";
|
|
|
|
|
|
|
83 |
$pages = $this->_lastPageNumber;
|
84 |
echo "<table cellspacing='2px;' border='1px;' cellpadding='8px;'>";
|
85 |
echo "<tr><th>Section</th><th>Pages</th></tr>";
|
@@ -89,7 +93,7 @@ class IntelligentReach
|
|
89 |
if ($startingPage < 1)
|
90 |
$startingPage = 1;
|
91 |
|
92 |
-
echo "<tr><td><a href='?storeid=" . $_GET["storeid"] . "&startingpage=" . $startingPage . "&endpage=" . $pages . "&splitby=".$this->_splitby
|
93 |
$pages = $startingPage - 1;
|
94 |
}
|
95 |
echo "</table>";
|
@@ -119,10 +123,12 @@ class IntelligentReach
|
|
119 |
echo "<strong>e.g.</strong> http://www.exampledomain.com/intelligentreach_integration.php?storeid=1&<strong>convertNumberToWord=1</strong></p>";
|
120 |
echo "<p>To return all the parent product fields, use the <strong>'includeAllParentFields'</strong> parameter.</p>";
|
121 |
echo "<strong>e.g.</strong> http://www.exampledomain.com/intelligentreach_integration.php?storeid=1&<strong>includeAllParentFields=1</strong></p>";
|
|
|
|
|
|
|
|
|
122 |
echo "</div>";
|
123 |
-
echo "<div style='float:left; padding-left:50px;'><h5>";
|
124 |
-
echo $this->_versionDisplay;
|
125 |
-
echo "</h5></div>";
|
126 |
}
|
127 |
|
128 |
// Gets all the products in the catalog in the specific store view,
|
@@ -142,9 +148,26 @@ class IntelligentReach
|
|
142 |
|
143 |
public function getProductCollection()
|
144 |
{
|
145 |
-
|
146 |
->addStoreFilter($_GET["storeid"])
|
147 |
->addAttributeToSelect('*');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
}
|
149 |
|
150 |
// Run the task
|
@@ -179,6 +202,14 @@ class IntelligentReach
|
|
179 |
if(isset($parentIds[0]))
|
180 |
$parentProduct = Mage::getModel('catalog/product')->load($parentIds[0]);
|
181 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
echo'<product>';
|
183 |
foreach ($product->getData() as $key => $value)
|
184 |
{
|
@@ -241,10 +272,7 @@ class IntelligentReach
|
|
241 |
continue;
|
242 |
}
|
243 |
|
244 |
-
|
245 |
-
$value = htmlentities($value, ENT_COMPAT | ENT_SUBSTITUTE, "UTF-8");
|
246 |
-
else
|
247 |
-
$value = htmlentities($value, ENT_COMPAT, "UTF-8");
|
248 |
$value = $this->stripInvalidXMLCharacters($value);
|
249 |
|
250 |
$value = "<![CDATA[$value]]>";
|
@@ -266,6 +294,7 @@ class IntelligentReach
|
|
266 |
echo '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
267 |
echo '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/intelligentreach_integration.php', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
268 |
echo '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
|
|
269 |
}
|
270 |
$gallery = $parentProduct->getMediaGallery();
|
271 |
if(count($gallery['images']) != 0)
|
@@ -382,10 +411,8 @@ class IntelligentReach
|
|
382 |
}
|
383 |
continue;
|
384 |
}
|
385 |
-
|
386 |
-
|
387 |
-
else
|
388 |
-
$value = htmlentities($value, ENT_COMPAT, "UTF-8");
|
389 |
$value = $this->stripInvalidXMLCharacters($value);
|
390 |
|
391 |
$value = "<![CDATA[$value]]>";
|
@@ -412,5 +439,13 @@ class IntelligentReach
|
|
412 |
$dictionary = array( 0 => 'zero', 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', 6 => 'six', 7 => 'seven', 8 => 'eight', 9 => 'nine');
|
413 |
return $dictionary[$number];
|
414 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
415 |
}
|
416 |
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.38 Last updated by Kire on 16/06/2016 **/
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
include_once 'app/Mage.php';
|
15 |
private $_splitby = 100;
|
16 |
private $_amountOfProductsPerPage = 100;
|
17 |
private $_lastPageNumber = 0;
|
18 |
+
private $_versionNumber = "1.0.38";
|
19 |
+
private $_lastUpdated = "16/06/2016";
|
20 |
|
21 |
public function run()
|
22 |
{
|
33 |
{
|
34 |
header("Content-Type: text/xml; charset=UTF-8");
|
35 |
header("Cache-Control: no-cache, must-revalidate");
|
36 |
+
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>
|
37 |
+
<products version=\"$this->_versionNumber\" type=\"web\">";
|
38 |
+
$this->runTheTask(isset($_GET["getall"]) ? 1 : $_GET["startingpage"], isset($_GET["getall"]) ? $this->_lastPageNumber : $_GET["endpage"]);
|
39 |
echo '</products>';
|
40 |
}
|
41 |
else
|
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/intelligentreach_integration.php?storeid=1</p>";
|
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 |
}
|
78 |
|
79 |
public function getSections($sections)
|
81 |
$convertNumberToWord = (isset($_GET["convertNumberToWord"])) ? "&convertNumberToWord=1" : "";
|
82 |
$stripInvalidChars = (isset($_GET["stripInvalidChars"])) ? "&stripInvalidChars=1" : "";
|
83 |
$includeAllParentFields = (isset($_GET["includeAllParentFields"])) ? "&includeAllParentFields=1" : "";
|
84 |
+
$includeDisabled = (isset($_GET["includeDisabled"])) ? "&includeDisabled=1" : "";
|
85 |
+
$includeNonSimpleProducts = (isset($_GET["includeNonSimpleProducts"])) ? "&includeNonSimpleProducts=1" : "";
|
86 |
+
|
87 |
$pages = $this->_lastPageNumber;
|
88 |
echo "<table cellspacing='2px;' border='1px;' cellpadding='8px;'>";
|
89 |
echo "<tr><th>Section</th><th>Pages</th></tr>";
|
93 |
if ($startingPage < 1)
|
94 |
$startingPage = 1;
|
95 |
|
96 |
+
echo "<tr><td><a href='?storeid=" . $_GET["storeid"] . "&startingpage=" . $startingPage . "&endpage=" . $pages . "&splitby=".$this->_splitby."&amountofproducts=".$this->_amountOfProductsPerPage.$convertNumberToWord.$stripInvalidChars.$includeAllParentFields.$includeDisabled.$includeNonSimpleProducts."'>" . $i . "</a></td><td>" . $startingPage . "-" . $pages . "</td></tr>";
|
97 |
$pages = $startingPage - 1;
|
98 |
}
|
99 |
echo "</table>";
|
123 |
echo "<strong>e.g.</strong> http://www.exampledomain.com/intelligentreach_integration.php?storeid=1&<strong>convertNumberToWord=1</strong></p>";
|
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/intelligentreach_integration.php?storeid=1&<strong>includeAllParentFields=1</strong></p>";
|
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/intelligentreach_integration.php?storeid=1&<strong>includeDisabled=1</strong></p>";
|
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/intelligentreach_integration.php?storeid=1&<strong>includeNonSimpleProducts=1</strong></p>";
|
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 |
}
|
133 |
|
134 |
// Gets all the products in the catalog in the specific store view,
|
148 |
|
149 |
public function getProductCollection()
|
150 |
{
|
151 |
+
$products = Mage::getModel('catalog/product')->getCollection()
|
152 |
->addStoreFilter($_GET["storeid"])
|
153 |
->addAttributeToSelect('*');
|
154 |
+
return $this->addAdditionalAttributeFilters($products);
|
155 |
+
}
|
156 |
+
|
157 |
+
public function addAdditionalAttributeFilters($products)
|
158 |
+
{
|
159 |
+
if(Mage::app()->getStore()->getConfig('catalog/frontend/flat_catalog_product'))
|
160 |
+
Mage::app()->getStore()->setConfig('catalog/frontend/flat_catalog_product', 0);
|
161 |
+
|
162 |
+
if(isset($_GET["includeDisabled"]))
|
163 |
+
$products->addAttributeToFilter('status', array('gt' => 0));
|
164 |
+
else
|
165 |
+
$products->addAttributeToFilter('status', array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED));
|
166 |
+
|
167 |
+
if(!isset($_GET["includeNonSimpleProducts"]))
|
168 |
+
$products->addAttributeToFilter('type_id', array('eq' => 'simple'));
|
169 |
+
|
170 |
+
return $products;
|
171 |
}
|
172 |
|
173 |
// Run the task
|
202 |
if(isset($parentIds[0]))
|
203 |
$parentProduct = Mage::getModel('catalog/product')->load($parentIds[0]);
|
204 |
}
|
205 |
+
|
206 |
+
if((($product->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_DISABLED)
|
207 |
+
|| ((isset($parentProduct)) && ($parentProduct->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_DISABLED)))
|
208 |
+
&& !isset($_GET['includeDisabled']))
|
209 |
+
{
|
210 |
+
return;
|
211 |
+
}
|
212 |
+
|
213 |
echo'<product>';
|
214 |
foreach ($product->getData() as $key => $value)
|
215 |
{
|
272 |
continue;
|
273 |
}
|
274 |
|
275 |
+
$value = $this->encodeValue($value);
|
|
|
|
|
|
|
276 |
$value = $this->stripInvalidXMLCharacters($value);
|
277 |
|
278 |
$value = "<![CDATA[$value]]>";
|
294 |
echo '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
295 |
echo '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/intelligentreach_integration.php', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
296 |
echo '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
297 |
+
echo '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
298 |
}
|
299 |
$gallery = $parentProduct->getMediaGallery();
|
300 |
if(count($gallery['images']) != 0)
|
411 |
}
|
412 |
continue;
|
413 |
}
|
414 |
+
|
415 |
+
$value = $this->encodeValue($value);
|
|
|
|
|
416 |
$value = $this->stripInvalidXMLCharacters($value);
|
417 |
|
418 |
$value = "<![CDATA[$value]]>";
|
439 |
$dictionary = array( 0 => 'zero', 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', 6 => 'six', 7 => 'seven', 8 => 'eight', 9 => 'nine');
|
440 |
return $dictionary[$number];
|
441 |
}
|
442 |
+
|
443 |
+
public function encodeValue($value)
|
444 |
+
{
|
445 |
+
if(version_compare(PHP_VERSION, '5.4.0', '>='))
|
446 |
+
return htmlentities($value, ENT_COMPAT | ENT_SUBSTITUTE, "UTF-8");
|
447 |
+
else
|
448 |
+
return htmlentities($value, ENT_COMPAT, "UTF-8");
|
449 |
+
}
|
450 |
}
|
451 |
|
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';
|
@@ -15,7 +15,8 @@ class IntelligentReach
|
|
15 |
private $_splitby = 100;
|
16 |
private $_amountOfProductsPerPage = 100;
|
17 |
private $_lastPageNumber = 0;
|
18 |
-
private $
|
|
|
19 |
|
20 |
public function run()
|
21 |
{
|
@@ -32,9 +33,9 @@ class IntelligentReach
|
|
32 |
{
|
33 |
header("Content-Type: text/xml; charset=UTF-8");
|
34 |
header("Cache-Control: no-cache, must-revalidate");
|
35 |
-
echo
|
36 |
-
|
37 |
-
|
38 |
echo '</products>';
|
39 |
}
|
40 |
else
|
@@ -72,7 +73,7 @@ class IntelligentReach
|
|
72 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
73 |
echo "e.g. http://www.exampledomain.com/intelligentreach_integration.php?storeid=1</p>";
|
74 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
75 |
-
echo "<h5>
|
76 |
}
|
77 |
|
78 |
public function getSections($sections)
|
@@ -80,6 +81,9 @@ class IntelligentReach
|
|
80 |
$convertNumberToWord = (isset($_GET["convertNumberToWord"])) ? "&convertNumberToWord=1" : "";
|
81 |
$stripInvalidChars = (isset($_GET["stripInvalidChars"])) ? "&stripInvalidChars=1" : "";
|
82 |
$includeAllParentFields = (isset($_GET["includeAllParentFields"])) ? "&includeAllParentFields=1" : "";
|
|
|
|
|
|
|
83 |
$pages = $this->_lastPageNumber;
|
84 |
echo "<table cellspacing='2px;' border='1px;' cellpadding='8px;'>";
|
85 |
echo "<tr><th>Section</th><th>Pages</th></tr>";
|
@@ -89,7 +93,7 @@ class IntelligentReach
|
|
89 |
if ($startingPage < 1)
|
90 |
$startingPage = 1;
|
91 |
|
92 |
-
echo "<tr><td><a href='?storeid=" . $_GET["storeid"] . "&startingpage=" . $startingPage . "&endpage=" . $pages . "&splitby=".$this->_splitby
|
93 |
$pages = $startingPage - 1;
|
94 |
}
|
95 |
echo "</table>";
|
@@ -119,10 +123,12 @@ class IntelligentReach
|
|
119 |
echo "<strong>e.g.</strong> http://www.exampledomain.com/intelligentreach_integration.php?storeid=1&<strong>convertNumberToWord=1</strong></p>";
|
120 |
echo "<p>To return all the parent product fields, use the <strong>'includeAllParentFields'</strong> parameter.</p>";
|
121 |
echo "<strong>e.g.</strong> http://www.exampledomain.com/intelligentreach_integration.php?storeid=1&<strong>includeAllParentFields=1</strong></p>";
|
|
|
|
|
|
|
|
|
122 |
echo "</div>";
|
123 |
-
echo "<div style='float:left; padding-left:50px;'><h5>";
|
124 |
-
echo $this->_versionDisplay;
|
125 |
-
echo "</h5></div>";
|
126 |
}
|
127 |
|
128 |
// Gets all the products in the catalog in the specific store view,
|
@@ -142,8 +148,25 @@ class IntelligentReach
|
|
142 |
|
143 |
public function getProductCollection()
|
144 |
{
|
145 |
-
|
146 |
->addStoreFilter($_GET["storeid"]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
}
|
148 |
|
149 |
// Run the task
|
@@ -178,6 +201,14 @@ class IntelligentReach
|
|
178 |
if(isset($parentIds[0]))
|
179 |
$parentProduct = Mage::getModel('catalog/product')->load($parentIds[0]);
|
180 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
echo'<product>';
|
182 |
foreach ($product->getData() as $key => $value)
|
183 |
{
|
@@ -240,10 +271,7 @@ class IntelligentReach
|
|
240 |
continue;
|
241 |
}
|
242 |
|
243 |
-
|
244 |
-
$value = htmlentities($value, ENT_COMPAT | ENT_SUBSTITUTE, "UTF-8");
|
245 |
-
else
|
246 |
-
$value = htmlentities($value, ENT_COMPAT, "UTF-8");
|
247 |
$value = $this->stripInvalidXMLCharacters($value);
|
248 |
|
249 |
$value = "<![CDATA[$value]]>";
|
@@ -265,6 +293,7 @@ class IntelligentReach
|
|
265 |
echo '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
266 |
echo '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/intelligentreach_integration.php', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
267 |
echo '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
|
|
268 |
}
|
269 |
$gallery = $parentProduct->getMediaGallery();
|
270 |
if(count($gallery['images']) != 0)
|
@@ -381,10 +410,8 @@ class IntelligentReach
|
|
381 |
}
|
382 |
continue;
|
383 |
}
|
384 |
-
|
385 |
-
|
386 |
-
else
|
387 |
-
$value = htmlentities($value, ENT_COMPAT, "UTF-8");
|
388 |
$value = $this->stripInvalidXMLCharacters($value);
|
389 |
|
390 |
$value = "<![CDATA[$value]]>";
|
@@ -411,5 +438,13 @@ class IntelligentReach
|
|
411 |
$dictionary = array( 0 => 'zero', 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', 6 => 'six', 7 => 'seven', 8 => 'eight', 9 => 'nine');
|
412 |
return $dictionary[$number];
|
413 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
414 |
}
|
415 |
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.38 Last updated by Kire on 16/06/2016 **/
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
include_once 'app/Mage.php';
|
15 |
private $_splitby = 100;
|
16 |
private $_amountOfProductsPerPage = 100;
|
17 |
private $_lastPageNumber = 0;
|
18 |
+
private $_versionNumber = "1.0.38";
|
19 |
+
private $_lastUpdated = "16/06/2016";
|
20 |
|
21 |
public function run()
|
22 |
{
|
33 |
{
|
34 |
header("Content-Type: text/xml; charset=UTF-8");
|
35 |
header("Cache-Control: no-cache, must-revalidate");
|
36 |
+
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>
|
37 |
+
<products version=\"$this->_versionNumber\" type=\"web_pre\">";
|
38 |
+
$this->runTheTask(isset($_GET["getall"]) ? 1 : $_GET["startingpage"], isset($_GET["getall"]) ? $this->_lastPageNumber : $_GET["endpage"]);
|
39 |
echo '</products>';
|
40 |
}
|
41 |
else
|
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/intelligentreach_integration.php?storeid=1</p>";
|
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 |
}
|
78 |
|
79 |
public function getSections($sections)
|
81 |
$convertNumberToWord = (isset($_GET["convertNumberToWord"])) ? "&convertNumberToWord=1" : "";
|
82 |
$stripInvalidChars = (isset($_GET["stripInvalidChars"])) ? "&stripInvalidChars=1" : "";
|
83 |
$includeAllParentFields = (isset($_GET["includeAllParentFields"])) ? "&includeAllParentFields=1" : "";
|
84 |
+
$includeDisabled = (isset($_GET["includeDisabled"])) ? "&includeDisabled=1" : "";
|
85 |
+
$includeNonSimpleProducts = (isset($_GET["includeNonSimpleProducts"])) ? "&includeNonSimpleProducts=1" : "";
|
86 |
+
|
87 |
$pages = $this->_lastPageNumber;
|
88 |
echo "<table cellspacing='2px;' border='1px;' cellpadding='8px;'>";
|
89 |
echo "<tr><th>Section</th><th>Pages</th></tr>";
|
93 |
if ($startingPage < 1)
|
94 |
$startingPage = 1;
|
95 |
|
96 |
+
echo "<tr><td><a href='?storeid=" . $_GET["storeid"] . "&startingpage=" . $startingPage . "&endpage=" . $pages . "&splitby=".$this->_splitby."&amountofproducts=".$this->_amountOfProductsPerPage.$convertNumberToWord.$stripInvalidChars.$includeAllParentFields.$includeDisabled.$includeNonSimpleProducts."'>" . $i . "</a></td><td>" . $startingPage . "-" . $pages . "</td></tr>";
|
97 |
$pages = $startingPage - 1;
|
98 |
}
|
99 |
echo "</table>";
|
123 |
echo "<strong>e.g.</strong> http://www.exampledomain.com/intelligentreach_integration.php?storeid=1&<strong>convertNumberToWord=1</strong></p>";
|
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/intelligentreach_integration.php?storeid=1&<strong>includeAllParentFields=1</strong></p>";
|
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/intelligentreach_integration.php?storeid=1&<strong>includeDisabled=1</strong></p>";
|
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/intelligentreach_integration.php?storeid=1&<strong>includeNonSimpleProducts=1</strong></p>";
|
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 |
}
|
133 |
|
134 |
// Gets all the products in the catalog in the specific store view,
|
148 |
|
149 |
public function getProductCollection()
|
150 |
{
|
151 |
+
$products = Mage::getModel('catalog/product')->getCollection()
|
152 |
->addStoreFilter($_GET["storeid"]);
|
153 |
+
return $this->addAdditionalAttributeFilters($products);
|
154 |
+
}
|
155 |
+
|
156 |
+
public function addAdditionalAttributeFilters($products)
|
157 |
+
{
|
158 |
+
if(Mage::app()->getStore()->getConfig('catalog/frontend/flat_catalog_product'))
|
159 |
+
Mage::app()->getStore()->setConfig('catalog/frontend/flat_catalog_product', 0);
|
160 |
+
|
161 |
+
if(isset($_GET["includeDisabled"]))
|
162 |
+
$products->addAttributeToFilter('status', array('gt' => 0));
|
163 |
+
else
|
164 |
+
$products->addAttributeToFilter('status', array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED));
|
165 |
+
|
166 |
+
if(!isset($_GET["includeNonSimpleProducts"]))
|
167 |
+
$products->addAttributeToFilter('type_id', array('eq' => 'simple'));
|
168 |
+
|
169 |
+
return $products;
|
170 |
}
|
171 |
|
172 |
// Run the task
|
201 |
if(isset($parentIds[0]))
|
202 |
$parentProduct = Mage::getModel('catalog/product')->load($parentIds[0]);
|
203 |
}
|
204 |
+
|
205 |
+
if((($product->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_DISABLED)
|
206 |
+
|| ((isset($parentProduct)) && ($parentProduct->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_DISABLED)))
|
207 |
+
&& !isset($_GET['includeDisabled']))
|
208 |
+
{
|
209 |
+
return;
|
210 |
+
}
|
211 |
+
|
212 |
echo'<product>';
|
213 |
foreach ($product->getData() as $key => $value)
|
214 |
{
|
271 |
continue;
|
272 |
}
|
273 |
|
274 |
+
$value = $this->encodeValue($value);
|
|
|
|
|
|
|
275 |
$value = $this->stripInvalidXMLCharacters($value);
|
276 |
|
277 |
$value = "<![CDATA[$value]]>";
|
293 |
echo '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
294 |
echo '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/intelligentreach_integration.php', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
295 |
echo '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
296 |
+
echo '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
297 |
}
|
298 |
$gallery = $parentProduct->getMediaGallery();
|
299 |
if(count($gallery['images']) != 0)
|
410 |
}
|
411 |
continue;
|
412 |
}
|
413 |
+
|
414 |
+
$value = $this->encodeValue($value);
|
|
|
|
|
415 |
$value = $this->stripInvalidXMLCharacters($value);
|
416 |
|
417 |
$value = "<![CDATA[$value]]>";
|
438 |
$dictionary = array( 0 => 'zero', 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', 6 => 'six', 7 => 'seven', 8 => 'eight', 9 => 'nine');
|
439 |
return $dictionary[$number];
|
440 |
}
|
441 |
+
|
442 |
+
public function encodeValue($value)
|
443 |
+
{
|
444 |
+
if(version_compare(PHP_VERSION, '5.4.0', '>='))
|
445 |
+
return htmlentities($value, ENT_COMPAT | ENT_SUBSTITUTE, "UTF-8");
|
446 |
+
else
|
447 |
+
return htmlentities($value, ENT_COMPAT, "UTF-8");
|
448 |
+
}
|
449 |
}
|
450 |
|
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';
|
@@ -15,7 +15,8 @@ class IntelligentReach
|
|
15 |
private $_splitby = 100;
|
16 |
private $_amountOfProductsPerPage = 100;
|
17 |
private $_lastPageNumber = 0;
|
18 |
-
private $
|
|
|
19 |
|
20 |
public function run()
|
21 |
{
|
@@ -32,9 +33,9 @@ class IntelligentReach
|
|
32 |
{
|
33 |
header("Content-Type: text/xml; charset=UTF-8");
|
34 |
header("Cache-Control: no-cache, must-revalidate");
|
35 |
-
echo
|
36 |
-
|
37 |
-
|
38 |
echo '</products>';
|
39 |
}
|
40 |
else
|
@@ -72,11 +73,14 @@ class IntelligentReach
|
|
72 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
73 |
echo "e.g. http://www.exampledomain.com/intelligentreach_integration.php?storeid=1</p>";
|
74 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
75 |
-
echo "<h5>
|
76 |
}
|
77 |
|
78 |
public function getSections($sections)
|
79 |
{
|
|
|
|
|
|
|
80 |
$pages = $this->_lastPageNumber;
|
81 |
echo "<table cellspacing='2px;' border='1px;' cellpadding='8px;'>";
|
82 |
echo "<tr><th>Section</th><th>Pages</th></tr>";
|
@@ -85,7 +89,7 @@ class IntelligentReach
|
|
85 |
$startingPage = $pages - $this->_splitby + 1;
|
86 |
if ($startingPage < 1)
|
87 |
$startingPage = 1;
|
88 |
-
echo "<tr><td><a href='?storeid=" . $_GET["storeid"] . "&startingpage=" . $startingPage . "&endpage=" . $pages . "&splitby=".$this->_splitby ."&amountofproducts=".$this->_amountOfProductsPerPage."'>" . $i . "</a></td><td>" . $startingPage . "-" . $pages . "</td></tr>";
|
89 |
$pages = $startingPage - 1;
|
90 |
}
|
91 |
echo "</table>";
|
@@ -108,10 +112,12 @@ class IntelligentReach
|
|
108 |
echo "<p><strong>NB:</strong> The default value for <strong>'splitby'</strong> is 100 and for <strong>'amountofproducts'</strong> is 100.</p>";
|
109 |
echo "<p>You can also retrieve all product quantities but using the 'getall' parameter</p>";
|
110 |
echo "<strong>e.g.</strong> http://www.exampledomain.com/intelligentreach_integration.php?storeid=1&<strong>getall=1</strong></p>";
|
|
|
|
|
|
|
|
|
111 |
echo "</div>";
|
112 |
-
echo "<div style='float:left; padding-left:50px;'><h5>";
|
113 |
-
echo $this->_versionDisplay;
|
114 |
-
echo "</h5></div>";
|
115 |
}
|
116 |
|
117 |
// Gets all the products in the catalog in the specific store view,
|
@@ -137,11 +143,27 @@ class IntelligentReach
|
|
137 |
|
138 |
public function getProductCollection()
|
139 |
{
|
140 |
-
|
141 |
->getCollection()
|
142 |
->addStoreFilter($_GET["storeid"])
|
143 |
-
->addAttributeToSelect('price', 'left')
|
144 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
145 |
}
|
146 |
|
147 |
// Run the task
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.38 Last updated by Kire on 16/06/2016 **/
|
4 |
ini_set('display_errors', 1);
|
5 |
ini_set('max_execution_time', 1800);
|
6 |
include_once 'app/Mage.php';
|
15 |
private $_splitby = 100;
|
16 |
private $_amountOfProductsPerPage = 100;
|
17 |
private $_lastPageNumber = 0;
|
18 |
+
private $_versionNumber = "1.0.38";
|
19 |
+
private $_lastUpdated = "16/06/2016";
|
20 |
|
21 |
public function run()
|
22 |
{
|
33 |
{
|
34 |
header("Content-Type: text/xml; charset=UTF-8");
|
35 |
header("Cache-Control: no-cache, must-revalidate");
|
36 |
+
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>
|
37 |
+
<products version=\"$this->_versionNumber\" type=\"web\">";
|
38 |
+
$this->runTheTask(isset($_GET["getall"]) ? 1 : $_GET["startingpage"], isset($_GET["getall"]) ? $this->_lastPageNumber : $_GET["endpage"]);
|
39 |
echo '</products>';
|
40 |
}
|
41 |
else
|
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/intelligentreach_integration.php?storeid=1</p>";
|
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 |
}
|
78 |
|
79 |
public function getSections($sections)
|
80 |
{
|
81 |
+
$includeDisabled = (isset($_GET["includeDisabled"])) ? "&includeDisabled=1" : "";
|
82 |
+
$includeNonSimpleProducts = (isset($_GET["includeNonSimpleProducts"])) ? "&includeNonSimpleProducts=1" : "";
|
83 |
+
|
84 |
$pages = $this->_lastPageNumber;
|
85 |
echo "<table cellspacing='2px;' border='1px;' cellpadding='8px;'>";
|
86 |
echo "<tr><th>Section</th><th>Pages</th></tr>";
|
89 |
$startingPage = $pages - $this->_splitby + 1;
|
90 |
if ($startingPage < 1)
|
91 |
$startingPage = 1;
|
92 |
+
echo "<tr><td><a href='?storeid=" . $_GET["storeid"] . "&startingpage=" . $startingPage . "&endpage=" . $pages . "&splitby=".$this->_splitby ."&amountofproducts=".$this->_amountOfProductsPerPage.$includeDisabled.$includeNonSimpleProducts."'>" . $i . "</a></td><td>" . $startingPage . "-" . $pages . "</td></tr>";
|
93 |
$pages = $startingPage - 1;
|
94 |
}
|
95 |
echo "</table>";
|
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/intelligentreach_integration.php?storeid=1&<strong>getall=1</strong></p>";
|
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/intelligentreach_integration.php?storeid=1&<strong>includeDisabled=1</strong></p>";
|
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/intelligentreach_integration.php?storeid=1&<strong>includeNonSimpleProducts=1</strong></p>";
|
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 |
}
|
122 |
|
123 |
// Gets all the products in the catalog in the specific store view,
|
143 |
|
144 |
public function getProductCollection()
|
145 |
{
|
146 |
+
$products = Mage::getModel('catalog/product')
|
147 |
->getCollection()
|
148 |
->addStoreFilter($_GET["storeid"])
|
149 |
+
->addAttributeToSelect('price', 'left');
|
150 |
+
return $this->addAdditionalAttributeFilters($products);
|
151 |
+
}
|
152 |
+
|
153 |
+
public function addAdditionalAttributeFilters($products)
|
154 |
+
{
|
155 |
+
if(Mage::app()->getStore()->getConfig('catalog/frontend/flat_catalog_product'))
|
156 |
+
Mage::app()->getStore()->setConfig('catalog/frontend/flat_catalog_product', 0);
|
157 |
+
|
158 |
+
if(isset($_GET["includeDisabled"]))
|
159 |
+
$products->addAttributeToFilter('status', array('gt' => 0));
|
160 |
+
else
|
161 |
+
$products->addAttributeToFilter('status', array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED));
|
162 |
+
|
163 |
+
if(!isset($_GET["includeNonSimpleProducts"]))
|
164 |
+
$products->addAttributeToFilter('type_id', array('eq' => 'simple'));
|
165 |
+
|
166 |
+
return $products;
|
167 |
}
|
168 |
|
169 |
// Run the task
|
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,7 +13,8 @@ $ir->run();
|
|
13 |
|
14 |
class IntelligentReach
|
15 |
{
|
16 |
-
private $
|
|
|
17 |
private $_outputDirectory = "output";
|
18 |
private $_fileName = "Feed";
|
19 |
private $_fileNameTemp = "";
|
@@ -26,6 +27,8 @@ class IntelligentReach
|
|
26 |
private $_includeAllParentFields = false;
|
27 |
private $_stripInvalidChars = false;
|
28 |
private $_convertNumberToWord = false;
|
|
|
|
|
29 |
|
30 |
public function run()
|
31 |
{
|
@@ -38,8 +41,8 @@ class IntelligentReach
|
|
38 |
$this->_fileNameTemp = tempnam("", $this->_fileName);
|
39 |
echo "Temp File created: ". $this->_fileNameTemp."<br />";
|
40 |
$time = microtime(true);
|
41 |
-
file_put_contents($this->_fileNameTemp,
|
42 |
-
<products version
|
43 |
$this->runTheTask($storeId);
|
44 |
file_put_contents($this->_fileNameTemp, '</products>', FILE_APPEND | LOCK_EX);
|
45 |
|
@@ -89,13 +92,12 @@ class IntelligentReach
|
|
89 |
echo "e.g. http://www.exampledomain.com/intelligentreach_integration.php?storeid=1</p>";
|
90 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
91 |
echo "<h3>Other options</h3>";
|
92 |
-
echo "<p>To enable the stripping of invalid XML characters
|
93 |
-
echo "<
|
94 |
-
echo "<p>To
|
95 |
-
echo "<
|
96 |
-
echo "<p>To
|
97 |
-
echo "<
|
98 |
-
echo "<h5>".$this->_versionDisplay."</h5></div>";
|
99 |
}
|
100 |
|
101 |
/**
|
@@ -120,10 +122,27 @@ class IntelligentReach
|
|
120 |
|
121 |
public function getProductCollection($storeId)
|
122 |
{
|
123 |
-
|
124 |
->getCollection()
|
125 |
->addStoreFilter($storeId)
|
126 |
->addAttributeToSelect('*');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
}
|
128 |
|
129 |
// Run the task
|
@@ -174,6 +193,14 @@ class IntelligentReach
|
|
174 |
if (isset($parentIds[0]))
|
175 |
$parentProduct = $this->getParentProduct($parentIds[0]);// use already loaded parent if available
|
176 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
$feedData .= '<product>';
|
178 |
foreach ($product->getData() as $key => $value)
|
179 |
{
|
@@ -233,11 +260,7 @@ class IntelligentReach
|
|
233 |
continue;
|
234 |
}
|
235 |
|
236 |
-
|
237 |
-
$value = htmlentities($value, ENT_COMPAT | ENT_SUBSTITUTE, "UTF-8");
|
238 |
-
else
|
239 |
-
$value = htmlentities($value, ENT_COMPAT, "UTF-8");
|
240 |
-
|
241 |
$value = $this->stripInvalidXMLCharacters($value);
|
242 |
$value = "<![CDATA[$value]]>";
|
243 |
|
@@ -262,6 +285,7 @@ class IntelligentReach
|
|
262 |
$feedData .= '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
263 |
$feedData .= '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/intelligentreach_integration.php', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
264 |
$feedData .= '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
|
|
265 |
}
|
266 |
$gallery = $parentProduct->getMediaGallery();
|
267 |
if(count($gallery['images']) != 0)
|
@@ -422,10 +446,7 @@ class IntelligentReach
|
|
422 |
}
|
423 |
continue;
|
424 |
}
|
425 |
-
|
426 |
-
$value = htmlentities($value, ENT_COMPAT | ENT_SUBSTITUTE, "UTF-8");
|
427 |
-
else
|
428 |
-
$value = htmlentities($value, ENT_COMPAT, "UTF-8");
|
429 |
$value = $this->stripInvalidXMLCharacters($value);
|
430 |
|
431 |
$value = "<![CDATA[$value]]>";
|
@@ -459,6 +480,14 @@ class IntelligentReach
|
|
459 |
$dictionary = array( 0 => 'zero', 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', 6 => 'six', 7 => 'seven', 8 => 'eight', 9 => 'nine');
|
460 |
return $dictionary[$number];
|
461 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
462 |
|
463 |
/**
|
464 |
* GZIPs a file on disk (appending .gz to the name)
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.38 Last updated by Kire on 16/06/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 |
+
private $_versionNumber = "1.0.38";
|
17 |
+
private $_lastUpdated = "16/06/2016";
|
18 |
private $_outputDirectory = "output";
|
19 |
private $_fileName = "Feed";
|
20 |
private $_fileNameTemp = "";
|
27 |
private $_includeAllParentFields = false;
|
28 |
private $_stripInvalidChars = false;
|
29 |
private $_convertNumberToWord = false;
|
30 |
+
private $_includeDisabled = false;
|
31 |
+
private $_includeNonSimpleProducts = false;
|
32 |
|
33 |
public function run()
|
34 |
{
|
41 |
$this->_fileNameTemp = tempnam("", $this->_fileName);
|
42 |
echo "Temp File created: ". $this->_fileNameTemp."<br />";
|
43 |
$time = microtime(true);
|
44 |
+
file_put_contents($this->_fileNameTemp, "<?xml version=\"1.0\" encoding=\"utf-8\"?>
|
45 |
+
<products version=\"$this->_versionNumber\" type=\"cron\">", LOCK_EX);
|
46 |
$this->runTheTask($storeId);
|
47 |
file_put_contents($this->_fileNameTemp, '</products>', FILE_APPEND | LOCK_EX);
|
48 |
|
92 |
echo "e.g. http://www.exampledomain.com/intelligentreach_integration.php?storeid=1</p>";
|
93 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
94 |
echo "<h3>Other options</h3>";
|
95 |
+
echo "<p>To enable the stripping of invalid XML characters set the <strong>'_stripInvalidChars'</strong> property to true</p>";
|
96 |
+
echo "<p>To enable the converting of the first character in the XML tag from a number to a word, set the <strong>'_convertNumberToWord'</strong> property to true.</p>";
|
97 |
+
echo "<p>To return all the parent product fields, set the <strong>'_includeAllParentFields'</strong> property to true.</p>";
|
98 |
+
echo "<p>To include disabled products in the feed, set the <strong>'_includeDisabled'</strong> property to true.</p>";
|
99 |
+
echo "<p>To include products of all types in the feed, set the <strong>'_includeNonSimpleProducts'</strong> property to true.</p>";
|
100 |
+
echo "<h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
|
|
101 |
}
|
102 |
|
103 |
/**
|
122 |
|
123 |
public function getProductCollection($storeId)
|
124 |
{
|
125 |
+
$products = Mage::getModel('catalog/product')
|
126 |
->getCollection()
|
127 |
->addStoreFilter($storeId)
|
128 |
->addAttributeToSelect('*');
|
129 |
+
return $this->addAdditionalAttributeFilters($products);
|
130 |
+
}
|
131 |
+
|
132 |
+
public function addAdditionalAttributeFilters($products)
|
133 |
+
{
|
134 |
+
if(Mage::app()->getStore()->getConfig('catalog/frontend/flat_catalog_product') == 1)
|
135 |
+
Mage::app()->getStore()->setConfig('catalog/frontend/flat_catalog_product', 0);
|
136 |
+
|
137 |
+
if($this->_includeDisabled)
|
138 |
+
$products->addAttributeToFilter('status', array('gt' => 0));
|
139 |
+
else
|
140 |
+
$products->addAttributeToFilter('status', array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED));
|
141 |
+
|
142 |
+
if(!$this->_includeNonSimpleProducts)
|
143 |
+
$products->addAttributeToFilter('type_id', array('eq' => 'simple'));
|
144 |
+
|
145 |
+
return $products;
|
146 |
}
|
147 |
|
148 |
// Run the task
|
193 |
if (isset($parentIds[0]))
|
194 |
$parentProduct = $this->getParentProduct($parentIds[0]);// use already loaded parent if available
|
195 |
}
|
196 |
+
|
197 |
+
if((($product->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_DISABLED)
|
198 |
+
|| ((isset($parentProduct)) && ($parentProduct->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_DISABLED)))
|
199 |
+
&& !$this->_includeDisabled)
|
200 |
+
{
|
201 |
+
return;
|
202 |
+
}
|
203 |
+
|
204 |
$feedData .= '<product>';
|
205 |
foreach ($product->getData() as $key => $value)
|
206 |
{
|
260 |
continue;
|
261 |
}
|
262 |
|
263 |
+
$value = $this->encodeValue($value);
|
|
|
|
|
|
|
|
|
264 |
$value = $this->stripInvalidXMLCharacters($value);
|
265 |
$value = "<![CDATA[$value]]>";
|
266 |
|
285 |
$feedData .= '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
286 |
$feedData .= '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/intelligentreach_integration.php', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
287 |
$feedData .= '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
288 |
+
$feedData .= '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
289 |
}
|
290 |
$gallery = $parentProduct->getMediaGallery();
|
291 |
if(count($gallery['images']) != 0)
|
446 |
}
|
447 |
continue;
|
448 |
}
|
449 |
+
$value = $this->encodeValue($value);
|
|
|
|
|
|
|
450 |
$value = $this->stripInvalidXMLCharacters($value);
|
451 |
|
452 |
$value = "<![CDATA[$value]]>";
|
480 |
$dictionary = array( 0 => 'zero', 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', 6 => 'six', 7 => 'seven', 8 => 'eight', 9 => 'nine');
|
481 |
return $dictionary[$number];
|
482 |
}
|
483 |
+
|
484 |
+
public function encodeValue($value)
|
485 |
+
{
|
486 |
+
if(version_compare(PHP_VERSION, '5.4.0', '>='))
|
487 |
+
return htmlentities($value, ENT_COMPAT | ENT_SUBSTITUTE, "UTF-8");
|
488 |
+
else
|
489 |
+
return htmlentities($value, ENT_COMPAT, "UTF-8");
|
490 |
+
}
|
491 |
|
492 |
/**
|
493 |
* GZIPs a file on disk (appending .gz to the name)
|
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,7 +13,8 @@ $ir->run();
|
|
13 |
|
14 |
class IntelligentReach
|
15 |
{
|
16 |
-
private $
|
|
|
17 |
private $_outputDirectory = "output";
|
18 |
private $_fileName = "Feed";
|
19 |
private $_fileNameTemp = "";
|
@@ -26,6 +27,8 @@ class IntelligentReach
|
|
26 |
private $_includeAllParentFields = false;
|
27 |
private $_stripInvalidChars = false;
|
28 |
private $_convertNumberToWord = false;
|
|
|
|
|
29 |
|
30 |
public function run()
|
31 |
{
|
@@ -38,8 +41,8 @@ class IntelligentReach
|
|
38 |
$this->_fileNameTemp = tempnam("", $this->_fileName);
|
39 |
echo "Temp File created: ". $this->_fileNameTemp."<br />";
|
40 |
$time = microtime(true);
|
41 |
-
file_put_contents($this->_fileNameTemp,
|
42 |
-
<products version
|
43 |
$this->runTheTask($storeId);
|
44 |
file_put_contents($this->_fileNameTemp, '</products>', FILE_APPEND | LOCK_EX);
|
45 |
|
@@ -89,13 +92,12 @@ class IntelligentReach
|
|
89 |
echo "e.g. http://www.exampledomain.com/intelligentreach_integration.php?storeid=1</p>";
|
90 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
91 |
echo "<h3>Other options</h3>";
|
92 |
-
echo "<p>To enable the stripping of invalid XML characters
|
93 |
-
echo "<
|
94 |
-
echo "<p>To
|
95 |
-
echo "<
|
96 |
-
echo "<p>To
|
97 |
-
echo "<
|
98 |
-
echo "<h5>".$this->_versionDisplay."</h5></div>";
|
99 |
}
|
100 |
|
101 |
/**
|
@@ -120,9 +122,26 @@ class IntelligentReach
|
|
120 |
|
121 |
public function getProductCollection($storeId)
|
122 |
{
|
123 |
-
|
124 |
->getCollection()
|
125 |
->addStoreFilter($storeId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
}
|
127 |
|
128 |
// Run the task
|
@@ -173,6 +192,14 @@ class IntelligentReach
|
|
173 |
if (isset($parentIds[0]))
|
174 |
$parentProduct = $this->getParentProduct($parentIds[0]);// use already loaded parent if available
|
175 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
$feedData .= '<product>';
|
177 |
foreach ($product->getData() as $key => $value)
|
178 |
{
|
@@ -232,11 +259,7 @@ class IntelligentReach
|
|
232 |
continue;
|
233 |
}
|
234 |
|
235 |
-
|
236 |
-
$value = htmlentities($value, ENT_COMPAT | ENT_SUBSTITUTE, "UTF-8");
|
237 |
-
else
|
238 |
-
$value = htmlentities($value, ENT_COMPAT, "UTF-8");
|
239 |
-
|
240 |
$value = $this->stripInvalidXMLCharacters($value);
|
241 |
$value = "<![CDATA[$value]]>";
|
242 |
|
@@ -261,6 +284,7 @@ class IntelligentReach
|
|
261 |
$feedData .= '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
262 |
$feedData .= '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/intelligentreach_integration.php', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
263 |
$feedData .= '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
|
|
264 |
}
|
265 |
$gallery = $parentProduct->getMediaGallery();
|
266 |
if(count($gallery['images']) != 0)
|
@@ -421,10 +445,7 @@ class IntelligentReach
|
|
421 |
}
|
422 |
continue;
|
423 |
}
|
424 |
-
|
425 |
-
$value = htmlentities($value, ENT_COMPAT | ENT_SUBSTITUTE, "UTF-8");
|
426 |
-
else
|
427 |
-
$value = htmlentities($value, ENT_COMPAT, "UTF-8");
|
428 |
$value = $this->stripInvalidXMLCharacters($value);
|
429 |
|
430 |
$value = "<![CDATA[$value]]>";
|
@@ -458,6 +479,14 @@ class IntelligentReach
|
|
458 |
$dictionary = array( 0 => 'zero', 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', 6 => 'six', 7 => 'seven', 8 => 'eight', 9 => 'nine');
|
459 |
return $dictionary[$number];
|
460 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
461 |
|
462 |
/**
|
463 |
* GZIPs a file on disk (appending .gz to the name)
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.38 Last updated by Kire on 16/06/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 |
+
private $_versionNumber = "1.0.38";
|
17 |
+
private $_lastUpdated = "16/06/2016";
|
18 |
private $_outputDirectory = "output";
|
19 |
private $_fileName = "Feed";
|
20 |
private $_fileNameTemp = "";
|
27 |
private $_includeAllParentFields = false;
|
28 |
private $_stripInvalidChars = false;
|
29 |
private $_convertNumberToWord = false;
|
30 |
+
private $_includeDisabled = false;
|
31 |
+
private $_includeNonSimpleProducts = false;
|
32 |
|
33 |
public function run()
|
34 |
{
|
41 |
$this->_fileNameTemp = tempnam("", $this->_fileName);
|
42 |
echo "Temp File created: ". $this->_fileNameTemp."<br />";
|
43 |
$time = microtime(true);
|
44 |
+
file_put_contents($this->_fileNameTemp, "<?xml version=\"1.0\" encoding=\"utf-8\"?>
|
45 |
+
<products version=\"$this->_versionNumber\" type=\"cron_pre\">", LOCK_EX);
|
46 |
$this->runTheTask($storeId);
|
47 |
file_put_contents($this->_fileNameTemp, '</products>', FILE_APPEND | LOCK_EX);
|
48 |
|
92 |
echo "e.g. http://www.exampledomain.com/intelligentreach_integration.php?storeid=1</p>";
|
93 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
94 |
echo "<h3>Other options</h3>";
|
95 |
+
echo "<p>To enable the stripping of invalid XML characters set the <strong>'_stripInvalidChars'</strong> property to true</p>";
|
96 |
+
echo "<p>To enable the converting of the first character in the XML tag from a number to a word, set the <strong>'_convertNumberToWord'</strong> property to true.</p>";
|
97 |
+
echo "<p>To return all the parent product fields, set the <strong>'_includeAllParentFields'</strong> property to true.</p>";
|
98 |
+
echo "<p>To include disabled products in the feed, set the <strong>'_includeDisabled'</strong> property to true.</p>";
|
99 |
+
echo "<p>To include products of all types in the feed, set the <strong>'_includeNonSimpleProducts'</strong> property to true.</p>";
|
100 |
+
echo "<h5>Version $this->_versionNumber <br />Last updated on $this->_lastUpdated</h5></div>";
|
|
|
101 |
}
|
102 |
|
103 |
/**
|
122 |
|
123 |
public function getProductCollection($storeId)
|
124 |
{
|
125 |
+
$products = Mage::getModel('catalog/product')
|
126 |
->getCollection()
|
127 |
->addStoreFilter($storeId);
|
128 |
+
return $this->addAdditionalAttributeFilters($products);
|
129 |
+
}
|
130 |
+
|
131 |
+
public function addAdditionalAttributeFilters($products)
|
132 |
+
{
|
133 |
+
if(Mage::app()->getStore()->getConfig('catalog/frontend/flat_catalog_product') == 1)
|
134 |
+
Mage::app()->getStore()->setConfig('catalog/frontend/flat_catalog_product', 0);
|
135 |
+
|
136 |
+
if($this->_includeDisabled)
|
137 |
+
$products->addAttributeToFilter('status', array('gt' => 0));
|
138 |
+
else
|
139 |
+
$products->addAttributeToFilter('status', array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED));
|
140 |
+
|
141 |
+
if(!$this->_includeNonSimpleProducts)
|
142 |
+
$products->addAttributeToFilter('type_id', array('eq' => 'simple'));
|
143 |
+
|
144 |
+
return $products;
|
145 |
}
|
146 |
|
147 |
// Run the task
|
192 |
if (isset($parentIds[0]))
|
193 |
$parentProduct = $this->getParentProduct($parentIds[0]);// use already loaded parent if available
|
194 |
}
|
195 |
+
|
196 |
+
if((($product->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_DISABLED)
|
197 |
+
|| ((isset($parentProduct)) && ($parentProduct->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_DISABLED)))
|
198 |
+
&& !$this->_includeDisabled)
|
199 |
+
{
|
200 |
+
return;
|
201 |
+
}
|
202 |
+
|
203 |
$feedData .= '<product>';
|
204 |
foreach ($product->getData() as $key => $value)
|
205 |
{
|
259 |
continue;
|
260 |
}
|
261 |
|
262 |
+
$value = $this->encodeValue($value);
|
|
|
|
|
|
|
|
|
263 |
$value = $this->stripInvalidXMLCharacters($value);
|
264 |
$value = "<![CDATA[$value]]>";
|
265 |
|
284 |
$feedData .= '<ir_parent_sku><![CDATA['.$this->stripInvalidXMLCharacters($parentProduct->getSku()).']]></ir_parent_sku>';
|
285 |
$feedData .= '<ir_parent_url><![CDATA[' . $this->stripInvalidXMLCharacters(trim(str_replace('/intelligentreach_integration.php', '', $parentProduct->getProductUrl()))) . ']]></ir_parent_url>';
|
286 |
$feedData .= '<ir_parent_image><![CDATA['.$this->stripInvalidXMLCharacters($baseUrl . 'media/catalog/product' . $parentProduct->getImage()).']]></ir_parent_image>';
|
287 |
+
$feedData .= '<ir_parent_description><![CDATA['.$this->stripInvalidXMLCharacters($this->encodeValue($parentProduct->getDescription())).']]></ir_parent_description>';
|
288 |
}
|
289 |
$gallery = $parentProduct->getMediaGallery();
|
290 |
if(count($gallery['images']) != 0)
|
445 |
}
|
446 |
continue;
|
447 |
}
|
448 |
+
$value = $this->encodeValue($value);
|
|
|
|
|
|
|
449 |
$value = $this->stripInvalidXMLCharacters($value);
|
450 |
|
451 |
$value = "<![CDATA[$value]]>";
|
479 |
$dictionary = array( 0 => 'zero', 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', 6 => 'six', 7 => 'seven', 8 => 'eight', 9 => 'nine');
|
480 |
return $dictionary[$number];
|
481 |
}
|
482 |
+
|
483 |
+
public function encodeValue($value)
|
484 |
+
{
|
485 |
+
if(version_compare(PHP_VERSION, '5.4.0', '>='))
|
486 |
+
return htmlentities($value, ENT_COMPAT | ENT_SUBSTITUTE, "UTF-8");
|
487 |
+
else
|
488 |
+
return htmlentities($value, ENT_COMPAT, "UTF-8");
|
489 |
+
}
|
490 |
|
491 |
/**
|
492 |
* GZIPs a file on disk (appending .gz to the name)
|
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,12 +13,16 @@ $ir->run();
|
|
13 |
|
14 |
class IntelligentReach
|
15 |
{
|
16 |
-
private $
|
|
|
17 |
private $_outputDirectory = "output";
|
18 |
private $_fileName = "Feed_Quantity_And_Price";
|
19 |
private $_fileNameTemp = "";
|
20 |
private $_amountOfProductsPerPage = 1000;
|
|
|
21 |
private $_gzipFile = true;
|
|
|
|
|
22 |
|
23 |
public function run()
|
24 |
{
|
@@ -32,7 +36,7 @@ class IntelligentReach
|
|
32 |
$this->_fileNameTemp = tempnam("", $this->_fileName);
|
33 |
echo "Temp File created: ". $this->_fileNameTemp."<br />";
|
34 |
|
35 |
-
file_put_contents($this->_fileNameTemp,
|
36 |
$this->runTheTask($storeId);
|
37 |
file_put_contents($this->_fileNameTemp, '</products>', FILE_APPEND | LOCK_EX);
|
38 |
|
@@ -72,7 +76,7 @@ class IntelligentReach
|
|
72 |
echo "<p>If you want to skip this step in the future, you can manually enter the Store Id in the URL.<br />";
|
73 |
echo "e.g. http://www.exampledomain.com/intelligentreach_integration.php?storeid=1</p>";
|
74 |
echo "<p><strong>NB:</strong> The Store Id parameter name is case sensitive. Only use \"storeid=\" not another variation.</p>";
|
75 |
-
echo "<h5>
|
76 |
}
|
77 |
|
78 |
// Gets all the products in the catalog in the specific store view,
|
@@ -97,11 +101,27 @@ class IntelligentReach
|
|
97 |
|
98 |
public function getProductCollection($storeId)
|
99 |
{
|
100 |
-
|
101 |
->getCollection()
|
102 |
->addStoreFilter($storeId)
|
103 |
-
->addAttributeToSelect('price', 'left')
|
104 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
}
|
106 |
|
107 |
// Run the task
|
1 |
<?php
|
2 |
|
3 |
+
/** Version 1.0.38 Last updated by Kire on 16/06/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 |
+
private $_versionNumber = "1.0.38";
|
17 |
+
private $_lastUpdated = "16/06/2016";
|
18 |
private $_outputDirectory = "output";
|
19 |
private $_fileName = "Feed_Quantity_And_Price";
|
20 |
private $_fileNameTemp = "";
|
21 |
private $_amountOfProductsPerPage = 1000;
|
22 |
+
|
23 |
private $_gzipFile = true;
|
24 |
+
private $_includeDisabled = false;
|
25 |
+
private $_includeNonSimpleProducts = false;
|
26 |
|
27 |
public function run()
|
28 |
{
|
36 |
$this->_fileNameTemp = tempnam("", $this->_fileName);
|
37 |
echo "Temp File created: ". $this->_fileNameTemp."<br />";
|
38 |
|
39 |
+
file_put_contents($this->_fileNameTemp, "<?xml version=\"1.0\" encoding=\"utf-8\"?><products version=\"$this->_versionNumber\" type=\"cron\">", LOCK_EX);
|
40 |
$this->runTheTask($storeId);
|
41 |
file_put_contents($this->_fileNameTemp, '</products>', FILE_APPEND | LOCK_EX);
|
42 |
|
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/intelligentreach_integration.php?storeid=1</p>";
|
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 |
}
|
81 |
|
82 |
// Gets all the products in the catalog in the specific store view,
|
101 |
|
102 |
public function getProductCollection($storeId)
|
103 |
{
|
104 |
+
$products = Mage::getModel('catalog/product')
|
105 |
->getCollection()
|
106 |
->addStoreFilter($storeId)
|
107 |
+
->addAttributeToSelect('price', 'left');
|
108 |
+
return $this->addAdditionalAttributeFilters($products);
|
109 |
+
}
|
110 |
+
|
111 |
+
public function addAdditionalAttributeFilters($products)
|
112 |
+
{
|
113 |
+
if(Mage::app()->getStore()->getConfig('catalog/frontend/flat_catalog_product'))
|
114 |
+
Mage::app()->getStore()->setConfig('catalog/frontend/flat_catalog_product', 0);
|
115 |
+
|
116 |
+
if($this->_includeDisabled)
|
117 |
+
$products->addAttributeToFilter('status', array('gt' => 0));
|
118 |
+
else
|
119 |
+
$products->addAttributeToFilter('status', array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED));
|
120 |
+
|
121 |
+
if(!$this->_includeNonSimpleProducts)
|
122 |
+
$products->addAttributeToFilter('type_id', array('eq' => 'simple'));
|
123 |
+
|
124 |
+
return $products;
|
125 |
}
|
126 |
|
127 |
// Run the task
|
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.38</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-06-21</date>
|
21 |
+
<time>12:41:05</time>
|
22 |
+
<contents><target name="mage"><dir name="."><file name="intelligentreach_integration.php" hash="1d0912d3f623a7eac4d3cf1d53ac3886"/><file name="intelligentreach_integration_qty.php" hash="f908665fd49e3a9bc7538fc043711b3a"/><file name="intelligentreach_integration_pre.php" hash="8deab44da93dc38afa3e3d77ca766c67"/></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="c8f4ec09cdb7d39a76f1a6d797b8ce50"/></dir></dir><dir name="AmazonPayment"><dir name="etc"><file name="config.xml" hash="72b858a3b47353aa1d499c1d8e382233"/><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="453994159af90124770955642a339f46"/><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="812a8b450bb83d54d7d8fb05c5d912c4"/><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="a8523470fb16a0a835cf6ca23d649de6"/><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="1e804794ec24e9125da2e40c615793da"/><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="914ebfdda6296b403abdf84234300629"/><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="3cd0d5f292f537032e6f41cebcc4493e"/><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="ae47650584564df31e1c6759794cc934"/><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="5f4b22217c793d6e40a25f83cf05d50d"/><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="bbe02a83fd2be37f5eee75dd951d354c"/><file name="intelligentreach_integration_cron_pre.php" hash="be0edc6a2fd2b20eeb12710583db9be3"/><file name="intelligentreach_integration_cron_qty_price.php" hash="367a47749af6d98c653f200dff21b580"/></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>
|