epoqRS - Version 1.2.10

Version Notes

- export crossselling products

Download this release

Release Info

Developer Flagbit GmbH
Extension epoqRS
Version 1.2.10
Comparing to
See all releases


Code changes from version 1.2.9 to 1.2.10

app/code/community/Flagbit/EpoqInterface/Block/Export/Productlist.php CHANGED
@@ -160,6 +160,11 @@ class Flagbit_EpoqInterface_Block_Export_Productlist extends Flagbit_EpoqInterfa
160
 
161
  );
162
 
 
 
 
 
 
163
 
164
 
165
  // set Product variant
@@ -205,7 +210,26 @@ class Flagbit_EpoqInterface_Block_Export_Productlist extends Flagbit_EpoqInterfa
205
  $product->setTypeInstance($this->_productTypeInstances[$type], true);
206
  return $this;
207
  }
 
 
 
 
 
 
 
 
208
 
 
 
 
 
 
 
 
 
 
 
 
209
  /**
210
  * get Product Variants
211
  *
160
 
161
  );
162
 
163
+ $crossSellIds=$this->_getCrossSellIds($product,'id');
164
+ if (count($crossSellIds)>0) {
165
+ $data['c:crosssell_id'] = implode(';',$crossSellIds);
166
+ $data['c:crosssell_sku'] = implode(';',$this->_getCrossSellIds($product,'sku'));
167
+ } // if
168
 
169
 
170
  // set Product variant
210
  $product->setTypeInstance($this->_productTypeInstances[$type], true);
211
  return $this;
212
  }
213
+
214
+ /**
215
+ * get Product CrossSells
216
+ *
217
+ * @param Mage_Catalog_Model_Product $product
218
+ * @return array
219
+ */
220
+ protected function _getCrossSellIds($product, $type = 'id'){
221
 
222
+ $childProducts = $product->getCrossSellProducts();
223
+ foreach((array) $childProducts as $childProduct){
224
+ if ($type == 'id') {
225
+ $childProductIds[] = $childProduct->getId();
226
+ } else {
227
+ $childProductIds[] = $childProduct->getSku();
228
+ }
229
+ }
230
+ return $childProductIds;
231
+ } // _getCrossSellIds
232
+
233
  /**
234
  * get Product Variants
235
  *
app/code/community/Flagbit/EpoqInterface/Block/Export/Productlist.php~ ADDED
@@ -0,0 +1,339 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* *
3
+ * This script is part of the epoq Recommendation Service project *
4
+ * *
5
+ * epoqinterface is free software; you can redistribute it and/or modify *
6
+ * it under the terms of the GNU General Public License version 2 as *
7
+ * published by the Free Software Foundation. *
8
+ * *
9
+ * This script is distributed in the hope that it will be useful, but *
10
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- *
11
+ * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General *
12
+ * Public License for more details. *
13
+ * *
14
+ * @version $Id: Productlist.php 884 2011-09-01 13:34:31Z weller $
15
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License, version 2
16
+ */
17
+
18
+ class Flagbit_EpoqInterface_Block_Export_Productlist extends Flagbit_EpoqInterface_Block_Abstract
19
+ {
20
+
21
+
22
+ /**
23
+ * Product Type Instances singletons
24
+ *
25
+ * @var array
26
+ */
27
+ protected $_productTypeInstances = array();
28
+
29
+ /**
30
+ * generates the Output
31
+ *
32
+ * @return string
33
+ */
34
+ protected function _toHtml()
35
+ {
36
+ // create XML Object
37
+ $xmlObj = new DOMDocument("1.0", "UTF-8");
38
+ $xmlObj->formatOutput = true;
39
+
40
+ // add RSS Element and Namespace
41
+ $elemRss = $xmlObj->createElement( 'rss' );
42
+ $elemRss->setAttribute ( 'version' , '2.0' );
43
+ $elemRss->setAttribute ( 'xmlns:g' , 'http://base.google.com/ns/1.0' );
44
+ $elemRss->setAttribute ( 'xmlns:e' , 'http://base.google.com/cns/1.0' );
45
+ $elemRss->setAttribute ( 'xmlns:c' , 'http://base.google.com/cns/1.0' );
46
+ $elemRss->setAttribute ( 'magento' , Mage::getVersion() );
47
+ $elemRss->setAttribute ( 'epoq' , (string) Mage::getConfig()->getNode()->modules->Flagbit_EpoqInterface->version );
48
+ $xmlObj->appendChild( $elemRss );
49
+
50
+ // add Channel Element
51
+ $elemChannel = $xmlObj->createElement( 'channel' );
52
+ $elemRss->appendChild( $elemChannel );
53
+
54
+ // get Products
55
+ $product = Mage::getModel('catalog/product');
56
+
57
+ /*@var $products Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection */
58
+ $products = $product->getCollection()
59
+ ->addStoreFilter()
60
+ ->joinField('qty',
61
+ 'cataloginventory/stock_item',
62
+ 'qty',
63
+ 'product_id='.Mage::helper('epoqinterface')->getIdFieldName(),
64
+ '{{table}}.stock_id=1',
65
+ 'left')
66
+ ->addAttributeToSelect(array('name', 'price'), 'inner')
67
+ ->addAttributeToSelect(array('short_description', 'image'), 'left');
68
+
69
+ // split Export in Parts
70
+ if($this->getRequest()->getParam('part')){
71
+ $products->getSelect()->limitPage($this->getRequest()->getParam('part', 1), $this->getRequest()->getParam('limit', 1000));
72
+ }
73
+
74
+ Mage::helper('epoqinterface/debug')->log('Export select query: '.(string) $products->getSelect());
75
+
76
+ Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products);
77
+ //Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($products);
78
+
79
+ /*
80
+ using resource iterator to load the data one by one
81
+ instead of loading all at the same time. loading all data at the same time can cause the big memory allocation.
82
+ */
83
+ // BUGFIX: replaced with foreach: customer reported that product links in export xml are always the same
84
+ // Mage::getSingleton('core/resource_iterator')
85
+ // ->walk($products->getSelect(), array(array($this, 'addNewItemXmlCallback')), array('xmlObj'=> $xmlObj, 'product'=>$product));
86
+ foreach ($products as $product)
87
+ {
88
+ $this->addNewItemXmlCallback(array('product' => $product, 'xmlObj' => $xmlObj));
89
+ }
90
+
91
+ return $xmlObj->saveXML();
92
+ }
93
+
94
+ /**
95
+ * Product iterator callback function
96
+ * add detailinformations to products
97
+ *
98
+ * @param array $args
99
+ */
100
+ public function addNewItemXmlCallback($args)
101
+ {
102
+ $product = $args['product'];
103
+ $this->setData('product', $product);
104
+
105
+ // reset time limit
106
+ @set_time_limit(30);
107
+
108
+ /*@var $product Mage_Catalog_Model_Product */
109
+ $product->load($product->getId());
110
+
111
+ $this->setProductTypeInstance($product);
112
+
113
+ $parentProduct = array();
114
+ if(method_exists($product, 'getParentProductIds')){
115
+ $product->loadParentProductIds();
116
+ $parentProduct = $product->getParentProductIds();
117
+ } elseif (method_exists($product, 'getParentIdsByChild')) {
118
+ $objConfigurableProduct = Mage::getModel('catalog/product_type_configurable');
119
+ $parentProduct = $objConfigurableProduct->getParentIdsByChild($product);
120
+ }
121
+
122
+ // get Productcategories
123
+ $categories = $product->getCategoryCollection()->load();
124
+
125
+ $categoryPaths = array();
126
+ // get path for each category
127
+ foreach ($categories as $category) {
128
+ $this->setData('category', $category);
129
+ $categoryPaths[] = implode('>', $this->getCategoryPath(true));
130
+ }
131
+
132
+ /*@var $xmlObj DOMDocument*/
133
+ $xmlObj = $args['xmlObj'];
134
+
135
+ // create Item xml Element
136
+ $elemItem = $xmlObj->createElement('item');
137
+
138
+ $data = array(
139
+ 'title' => $product->getName(),
140
+ 'link' => $product->getProductUrl(),
141
+
142
+ // g Namespace
143
+ 'g:entity_id' => $product->getId(),
144
+ 'g:id' => $product->getData(Mage::helper('epoqinterface')->getIdFieldName()),
145
+ 'description' => $product->getShortDescription(),
146
+ 'g:price' => $this->getProductPrice($product),
147
+ 'g:image_link' => (string) $this->helper('catalog/image')->init($product, 'image'),
148
+ 'g:product_type' => implode('|', $categoryPaths),
149
+ 'g:brand' => is_object($this->getProduct()->getResource()
150
+ ->getAttribute('manufacturer')) ? $this->getProduct()->getAttributeText('manufacturer') : '',
151
+ 'g:upc' => $this->getProduct()->getSku(),
152
+ 'g:quantity' => $this->getProduct()->isSaleable(),
153
+ 'g:visibility' => $this->getProduct()->getVisibility(),
154
+
155
+ // e Namespace
156
+ 'e:locakey' => substr(Mage::getSingleton('core/locale')->getLocale(), 0, 2),
157
+
158
+ // c Namespace
159
+ 'c:mgtproducttype' => $product->getTypeId(),
160
+
161
+ );
162
+
163
+ $crossSellIds=$this->_getCrossSellIds($product,'id');
164
+ if (count($crossSellIds)>0) {
165
+ $data['c:crosssell_id'] = implode(';',$crossSellIds);
166
+ $data['c:crosssell_sku'] = implode(';',$this->_getCrossSellIds($product,'sku'));
167
+ } // if
168
+
169
+
170
+ // set Product variant
171
+ if(isset($parentProduct[0])){
172
+ $data['e:variant_of'] = $parentProduct[0];
173
+ $data['c:mgt_parents'] = implode(';', $parentProduct);
174
+ }
175
+ if($product->isConfigurable()
176
+ && $product->getTypeInstance(true) instanceof Mage_Catalog_Model_Product_Type_Configurable){
177
+ $data['e:variants_id'] = implode(';', $this->_getVariantIds($product));
178
+ $data['e:variants_sku'] = implode(';', $this->_getVariantIds($product, 'sku'));
179
+ }
180
+
181
+ // add Product Attributes
182
+ $attributes = $this->getProductAttributes();
183
+ foreach($attributes as $key => $value){
184
+ $data['c:'.$key] = $value;
185
+ }
186
+
187
+ // translate array to XML
188
+ $this->dataToXml($data, 'data', $elemItem, $xmlObj);
189
+
190
+ // add Product to Channel Element
191
+ /*@var $elemChannel DOMNodeList */
192
+ $elemChannel = $xmlObj->getElementsByTagName('channel');
193
+ $elemChannel->item(0)->appendChild( $elemItem );
194
+
195
+ }
196
+
197
+ /**
198
+ * ReDefine Product Type Instance to Product
199
+ *
200
+ * @param Mage_Catalog_Model_Product $product
201
+ * @return Mage_Catalog_Model_Convert_Adapter_Product
202
+ */
203
+ public function setProductTypeInstance(Mage_Catalog_Model_Product $product)
204
+ {
205
+ $type = $product->getTypeId();
206
+ if (!isset($this->_productTypeInstances[$type])) {
207
+ $this->_productTypeInstances[$type] = Mage::getSingleton('catalog/product_type')
208
+ ->factory($product, true);
209
+ }
210
+ $product->setTypeInstance($this->_productTypeInstances[$type], true);
211
+ return $this;
212
+ }
213
+
214
+ /**
215
+ * get Product CrossSells
216
+ *
217
+ * @param Mage_Catalog_Model_Product $product
218
+ * @return array
219
+ */
220
+ protected function _getCrossSellIds($product, $type = 'id'){
221
+
222
+ $childProducts = $product->getCrossSellProducts();
223
+ foreach((array) $childProducts as $childProduct){
224
+ if ($type == 'id') {
225
+ $childProductIds[] = $childProduct->getId();
226
+ } else {
227
+ $childProductIds[] = $childProduct->getSku();
228
+ }
229
+ }
230
+ return $childProductIds;
231
+ } // _getCrossSellIds
232
+
233
+ /**
234
+ * get Product Variants
235
+ *
236
+ * @param Mage_Catalog_Model_Product $product
237
+ * @return array
238
+ */
239
+ protected function _getVariantIds($product, $type = 'id'){
240
+
241
+ $childProducts = $product->getTypeInstance(true)->getUsedProducts(null, $product);
242
+ $childProductIds = array();
243
+ foreach((array) $childProducts as $childProduct){
244
+ if ($type == 'id') {
245
+ $childProductIds[] = $childProduct->getId();
246
+ } else {
247
+ $childProductIds[] = $childProduct->getSku();
248
+ }
249
+ }
250
+ return $childProductIds;
251
+ }
252
+
253
+ /**
254
+ * get current Product
255
+ *
256
+ * @return Mage_Catalog_Model_Product
257
+ */
258
+ public function getProduct()
259
+ {
260
+ return $this->getData('product');
261
+ }
262
+
263
+
264
+ /**
265
+ * get current Category
266
+ *
267
+ * @return unknown
268
+ */
269
+ public function getCategory()
270
+ {
271
+ return $this->getData('category');
272
+ }
273
+
274
+
275
+ /**
276
+ * The main function for converting to an XML document.
277
+ * Pass in a multi dimensional array and this recrusively loops through and builds up an XML document.
278
+ *
279
+ * @param array $data
280
+ * @param string $rootNodeName - what you want the root node to be - defaultsto data.
281
+ * @param DomElement $elem - should only be used recursively
282
+ * @param DOMDocument $xml - should only be used recursively
283
+ * @return object DOMDocument
284
+ */
285
+ protected function dataToXml($data, $rootNodeName = 'data', $elem=null, $xml=null)
286
+ {
287
+
288
+ if ($xml === null)
289
+ {
290
+ $xml = new DOMDocument("1.0", "UTF-8");
291
+ $xml->formatOutput = true;
292
+ $elem = $xml->createElement( $rootNodeName );
293
+ $xml->appendChild( $elem );
294
+ }
295
+
296
+ // loop through the data passed in.
297
+ foreach($data as $key => $value)
298
+ {
299
+ // no numeric keys in our xml please!
300
+ if (is_numeric($key))
301
+ {
302
+ // make string key...
303
+ $key = "node_". (string) $key;
304
+ }
305
+
306
+ // replace anything not alpha numeric
307
+ $key = preg_replace('/[^a-z0-9\_\:]/i', '', $key);
308
+
309
+ // if there is another array found recrusively call this function
310
+ if (is_array($value))
311
+ {
312
+ $subelem = $xml->createElement( $key );
313
+ $elem->appendChild( $subelem);
314
+
315
+ // recrusive call.
316
+ $this->DataToXml($value, $rootNodeName, $subelem, $xml);
317
+ }
318
+ else
319
+ {
320
+ $subelem = $xml->createElement( $key );
321
+ $subelem->appendChild(
322
+ (
323
+ strpos($value, '<')
324
+ or strpos($value, '>')
325
+ or strpos($value, '&')
326
+ )
327
+ ? $xml->createCDATASection( $value )
328
+ : $xml->createTextNode( $value )
329
+ );
330
+ $elem->appendChild( $subelem );
331
+
332
+ }
333
+ }
334
+
335
+ // pass back as DOMDocument object
336
+ return $xml;
337
+ }
338
+
339
+ }
app/code/community/Flagbit/EpoqInterface/etc/config.xml CHANGED
@@ -20,7 +20,7 @@
20
  <modules>
21
  <Flagbit_EpoqInterface>
22
  <active>true</active>
23
- <version>1.2.9</version>
24
  </Flagbit_EpoqInterface>
25
  </modules>
26
 
20
  <modules>
21
  <Flagbit_EpoqInterface>
22
  <active>true</active>
23
+ <version>1.2.10</version>
24
  </Flagbit_EpoqInterface>
25
  </modules>
26
 
app/code/community/Flagbit/EpoqInterface/etc/config.xml~ ADDED
@@ -0,0 +1,194 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /* *
4
+ * This script is part of the epoq Recommendation Service project *
5
+ * *
6
+ * epoqinterface is free software; you can redistribute it and/or modify *
7
+ * it under the terms of the GNU General Public License version 2 as *
8
+ * published by the Free Software Foundation. *
9
+ * *
10
+ * This script is distributed in the hope that it will be useful, but *
11
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- *
12
+ * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General *
13
+ * Public License for more details. *
14
+ * *
15
+ * @version $Id: config.xml 915 2011-10-19 12:35:02Z weller $
16
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License, version 2
17
+ */
18
+ -->
19
+ <config>
20
+ <modules>
21
+ <Flagbit_EpoqInterface>
22
+ <active>true</active>
23
+ <version>1.2.10</version>
24
+ </Flagbit_EpoqInterface>
25
+ </modules>
26
+
27
+ <global>
28
+ <helpers>
29
+ <epoqinterface>
30
+ <class>Flagbit_EpoqInterface_Helper</class>
31
+ </epoqinterface>
32
+ </helpers>
33
+ <blocks>
34
+ <epoqinterface>
35
+ <class>Flagbit_EpoqInterface_Block</class>
36
+ </epoqinterface>
37
+ </blocks>
38
+ <models>
39
+ <epoqinterface>
40
+ <class>Flagbit_EpoqInterface_Model</class>
41
+ <resourceModel>epoqinterface_mysql4</resourceModel>
42
+ </epoqinterface>
43
+ <epoqinterface_mysql4>
44
+ <class>Flagbit_EpoqInterface_Model_Resource_Eav_Mysql4</class>
45
+ </epoqinterface_mysql4>
46
+ </models>
47
+ <rewrite>
48
+ <epoqinterface>
49
+ <from><![CDATA[#^/epoqinterface/$#]]></from>
50
+ <to>/epoqinterface/index/productlist/</to>
51
+ </epoqinterface>
52
+ </rewrite>
53
+ </global>
54
+
55
+ <frontend>
56
+ <layout>
57
+ <updates>
58
+ <epoqinterface>
59
+ <file>epoqinterface.xml</file>
60
+ </epoqinterface>
61
+ </updates>
62
+ </layout>
63
+ <routers>
64
+ <epoqinterface>
65
+ <use>standard</use>
66
+ <args>
67
+ <module>Flagbit_EpoqInterface</module>
68
+ <frontName>epoqinterface</frontName>
69
+ </args>
70
+ </epoqinterface>
71
+ </routers>
72
+ <events>
73
+ <checkout_cart_product_add_after>
74
+ <observers>
75
+ <epoqinterface>
76
+ <type>singleton</type>
77
+ <class>epoqinterface/observer</class>
78
+ <method>checkoutCartProductAddAfter</method>
79
+ </epoqinterface>
80
+ </observers>
81
+ </checkout_cart_product_add_after>
82
+ <checkout_cart_update_items_after>
83
+ <observers>
84
+ <epoqinterface>
85
+ <type>singleton</type>
86
+ <class>epoqinterface/observer</class>
87
+ <method>checkoutCartUpdateItemsAfter</method>
88
+ </epoqinterface>
89
+ </observers>
90
+ </checkout_cart_update_items_after>
91
+ <controller_action_predispatch_checkout_cart_delete>
92
+ <observers>
93
+ <epoqinterface>
94
+ <type>singleton</type>
95
+ <class>epoqinterface/observer</class>
96
+ <method>controllerActionPredispatchCheckoutCartDelete</method>
97
+ </epoqinterface>
98
+ </observers>
99
+ </controller_action_predispatch_checkout_cart_delete>
100
+ <sales_order_place_after>
101
+ <observers>
102
+ <epoqinterface>
103
+ <type>singleton</type>
104
+ <class>epoqinterface/observer</class>
105
+ <method>salesOrderPlaceAfter</method>
106
+ </epoqinterface>
107
+ </observers>
108
+ </sales_order_place_after>
109
+ <checkout_onepage_controller_success_action>
110
+ <observers>
111
+ <epoqinterface_order_success>
112
+ <class>epoqinterface/observer</class>
113
+ <method>setTrackOnOrderSuccessPageView</method>
114
+ </epoqinterface_order_success>
115
+ </observers>
116
+ </checkout_onepage_controller_success_action>
117
+ <checkout_multishipping_controller_success_action>
118
+ <observers>
119
+ <epoqinterface_order_success>
120
+ <class>epoqinterface/observer</class>
121
+ <method>setTrackOnOrderSuccessPageView</method>
122
+ </epoqinterface_order_success>
123
+ </observers>
124
+ </checkout_multishipping_controller_success_action>
125
+ </events>
126
+ </frontend>
127
+
128
+ <adminhtml>
129
+ <acl>
130
+ <resources>
131
+ <admin>
132
+ <children>
133
+ <system>
134
+ <children>
135
+ <config>
136
+ <children>
137
+ <epoqinterface>
138
+ <title>epoq Recommendation Service</title>
139
+ </epoqinterface>
140
+ </children>
141
+ </config>
142
+ </children>
143
+ </system>
144
+ </children>
145
+ </admin>
146
+ </resources>
147
+ </acl>
148
+ <translate>
149
+ <modules>
150
+ <Flagbit_EpoqInterface>
151
+ <files>
152
+ <default>Flagbit_EpoqInterface.csv</default>
153
+ </files>
154
+ </Flagbit_EpoqInterface>
155
+ </modules>
156
+ </translate>
157
+ </adminhtml>
158
+
159
+ <default>
160
+ <epoqinterface>
161
+ <config>
162
+ <timeout>2</timeout>
163
+ <demo>0</demo>
164
+ <demo_items>6</demo_items>
165
+ <customer_profiles>0</customer_profiles>
166
+ <debug>0</debug>
167
+ <ajax>0</ajax>
168
+ <cookie>0</cookie>
169
+ </config>
170
+ <display_recommendation>
171
+ <user>1</user>
172
+ <rule_customer>RecommendationForCustomerRule</rule_customer>
173
+ <cart>1</cart>
174
+ <rule_cart>RecommendationForCartRule</rule_cart>
175
+ <product>1</product>
176
+ <rule_product>default</rule_product>
177
+ </display_recommendation>
178
+ <export>
179
+ <username>epoq</username>
180
+ </export>
181
+ <error_handling>
182
+ <enabled>0</enabled>
183
+ <max_attempts>3</max_attempts>
184
+ <idle_time>10</idle_time>
185
+ </error_handling>
186
+ </epoqinterface>
187
+ <system>
188
+ <epoqinterface>
189
+ <rest_url>http://rs1.epoq.de/inbound-servletapi/</rest_url>
190
+ <rest_failure_counter>0</rest_failure_counter>
191
+ </epoqinterface>
192
+ </system>
193
+ </default>
194
+ </config>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>epoqRS</name>
4
- <version>1.2.9</version>
5
  <stability>stable</stability>
6
  <license>GPL</license>
7
  <channel>community</channel>
@@ -12,12 +12,12 @@
12
  The quick and easy integration of epoq RS makes your Magento sell more within a few hours. You do not have to submit and update your product data and there is no need to connect to any internal systems - all available information - click stream, product data, cart information - are automatically processed for maximum quality recommendations.&#xD;
13
  &#xD;
14
  Try epoq Recommendation Service - free and without obligation in our 30-day trial version.</description>
15
- <notes>- export all categories of product&#xD;
16
- - minor bugfixes</notes>
17
  <authors><author><name>FlagbitFlagbit GmbH Co. KG</name><user>flagbit</user><email>magento@flagbit.de</email></author></authors>
18
- <date>2013-01-31</date>
19
- <time>10:51:34</time>
20
- <contents><target name="magecommunity"><dir name="Flagbit"><dir name="EpoqInterface"><dir name="Block"><file name="Abstract.php" hash="8d96815ddd6899c68bb127d1314276c5"/><dir name="Export"><file name="Productlist.php" hash="ca9caa63c95e73ea5deb888c11b10277"/></dir><file name="Head.php" hash="a898e39f4f86c0fcb8555c8d37e7ea2f"/><dir name="Recommendation"><file name="Abstract.php" hash="7fa68d2d34701511f60bbfe22931fd98"/><file name="Ajaxproduct.php" hash="558658147d6227436ff64996798e1fca"/><file name="Cart.php" hash="4bbe3e8abedbf4313db25b941b4f3e51"/><file name="Product.php" hash="94752b4f0837337862bb7d5ad692f21c"/><file name="User.php" hash="27d90f93b2a157bbb999a38136234407"/></dir><file name="Recommendation.php" hash="33875c34bffc6c50b8d894aea542cd63"/><dir name="Result"><file name="List.php" hash="247ba01688e5d9f89cf21fd0d73faf1f"/></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Version.php" hash="71e3964c13333a57929221aa8e2edf07"/></dir></dir></dir></dir><dir name="Track"><file name="Cart.php" hash="401061ad5b1d3bf279019c0803497178"/><file name="Order.php" hash="5280a5644c6fb62493d6853dafb887e5"/><file name="Product.php" hash="fbc499387ab0a20a0e702d4752056218"/><file name="User.php" hash="0d16615628d7df944976db9c3f02bb09"/></dir></dir><dir name="Helper"><file name="Data.php" hash="9d0d756bce4953b90624ba97ae6c63aa"/><file name="Debug.php" hash="7ab1e3121471d87ee59f02d129f308be"/></dir><dir name="Model"><file name="Abstract.php" hash="6d369b3b01ccaa3c796c37484e95a85f"/><dir name="Container"><file name="Product.php" hash="bb25e96a4159584c9701854d51962e52"/><file name="TrackProduct.php" hash="f95bbb60d7344859f71bd13b22d587c7"/></dir><dir name="Customer"><file name="Profiles.php" hash="fbedb6a3259a29db05b2c8783d02957b"/></dir><file name="Observer.php" hash="fa554bcc512f2c7d3b383b16ce41ebee"/><file name="Order.php" hash="9ff6141bb8a1a8b5070570310e1266e5"/><dir name="Recommendation"><file name="Abstract.php" hash="e7a8846905e453f5880b2362a9bbfe90"/><file name="Cart.php" hash="d46124c4c546c69ea64713e9402d6d25"/><file name="Product.php" hash="0e412fe277f5ef9d3e6a493dbfecc3fd"/><file name="User.php" hash="88e6b07cf2d0ba35441d95bc2d87f3d5"/></dir><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><dir name="Product"><file name="Collection.php" hash="9a302cf7cdfec28370d7c9afa31dac8a"/></dir></dir></dir></dir><file name="Session.php" hash="413f7d31ad2d5878f20a7db7adf5d207"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Attemps.php" hash="c01ebd5c76fd4d51305ed7111326d57d"/><file name="Identifier.php" hash="9e56f688a92a5691a5934e47f42144b6"/><file name="Idletime.php" hash="957ec9d0c4af2d52add60a9765c4e573"/><file name="Timeout.php" hash="95c38625ad50dc44ba2b2d371de1db65"/></dir></dir></dir></dir><dir name="controllers"><file name="IndexController.php" hash="6ea3c2de180540e082f0598133355e69"/><file name="RecommendationController.php" hash="a5930a94e2195adb07caac0bcac7cf5f"/></dir><dir name="documentation"><file name="epoqRS_Magento Installation Guide 1.2.4.pdf" hash="364abe5d2e44ce8aa31d08384dc54e1a"/></dir><dir name="etc"><file name="cache.xml" hash="7ed329563d8914670ae1ddeb399de34d"/><file name="config.xml" hash="622a1cdd5176b4cfa95b13cd552fb39c"/><file name="system.xml" hash="a5d70a49602cd9d14f542d515cde30bb"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Flagbit_EpoqInterface.xml" hash="8ada99bfdbcc7727ad36339bc11da6ec"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Flagbit_EpoqInterface.csv" hash="222d5eaedfde0639dd26f91c52dc395e"/></dir></target><target name="mageweb"><dir name="js"><dir name="epoqinterface"><file name="epoq_recommendations.js" hash="1b460589f83e228683ff2f610dfd13fc"/><file name="jQuery_init.js" hash="3179f2255b046d5f2e9a71e365287bef"/></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="epoqinterface.xml" hash="444ae31a25a3fc4f9df6e335a5e2e15d"/></dir><dir name="template"><dir name="epoqinterface"><dir name="recommendation"><file name="cart.phtml" hash="91fe1e5178fd79249dade5391952f9fa"/><file name="list.phtml" hash="c6c9c45f81993542dd182abea8c88f43"/><file name="mailproduct.phtml" hash="a81b28b9bee47f9e63a58ef87b7bb898"/><file name="product.phtml" hash="a558cf1a1dec1de784e7f05405dd83be"/><file name="user.phtml" hash="a3e884ce1f8ca6ab5ed4383e43b044d8"/></dir></dir></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><file name="epoqinterface.xml" hash="444ae31a25a3fc4f9df6e335a5e2e15d"/></dir><dir name="template"><dir name="epoqinterface"><dir name="recommendation"><file name="cart.phtml" hash="71bd2c1724743d995d31df4b96a24e87"/><file name="list.phtml" hash="92158be9c3dddca88cbd202aab666d39"/><file name="product.phtml" hash="a558cf1a1dec1de784e7f05405dd83be"/><file name="user.phtml" hash="90043a07221d19dcb079b86615eafa3b"/></dir></dir></dir></dir></dir></dir></target></contents>
21
  <compatible/>
22
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
23
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>epoqRS</name>
4
+ <version>1.2.10</version>
5
  <stability>stable</stability>
6
  <license>GPL</license>
7
  <channel>community</channel>
12
  The quick and easy integration of epoq RS makes your Magento sell more within a few hours. You do not have to submit and update your product data and there is no need to connect to any internal systems - all available information - click stream, product data, cart information - are automatically processed for maximum quality recommendations.&#xD;
13
  &#xD;
14
  Try epoq Recommendation Service - free and without obligation in our 30-day trial version.</description>
15
+ <notes>- export crossselling products&#xD;
16
+ </notes>
17
  <authors><author><name>FlagbitFlagbit GmbH Co. KG</name><user>flagbit</user><email>magento@flagbit.de</email></author></authors>
18
+ <date>2013-08-07</date>
19
+ <time>14:59:33</time>
20
+ <contents><target name="magecommunity"><dir name="Flagbit"><dir name="EpoqInterface"><dir name="Block"><file name="Abstract.php" hash="8d96815ddd6899c68bb127d1314276c5"/><dir name="Export"><file name="Productlist.php" hash="be568d92995300c70b377eb7bf965065"/><file name="Productlist.php~" hash="be568d92995300c70b377eb7bf965065"/></dir><file name="Head.php" hash="a898e39f4f86c0fcb8555c8d37e7ea2f"/><dir name="Recommendation"><file name="Abstract.php" hash="7fa68d2d34701511f60bbfe22931fd98"/><file name="Ajaxproduct.php" hash="558658147d6227436ff64996798e1fca"/><file name="Cart.php" hash="4bbe3e8abedbf4313db25b941b4f3e51"/><file name="Product.php" hash="94752b4f0837337862bb7d5ad692f21c"/><file name="User.php" hash="27d90f93b2a157bbb999a38136234407"/></dir><file name="Recommendation.php" hash="33875c34bffc6c50b8d894aea542cd63"/><dir name="Result"><file name="List.php" hash="247ba01688e5d9f89cf21fd0d73faf1f"/></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Version.php" hash="71e3964c13333a57929221aa8e2edf07"/></dir></dir></dir></dir><dir name="Track"><file name="Cart.php" hash="401061ad5b1d3bf279019c0803497178"/><file name="Order.php" hash="5280a5644c6fb62493d6853dafb887e5"/><file name="Product.php" hash="fbc499387ab0a20a0e702d4752056218"/><file name="User.php" hash="0d16615628d7df944976db9c3f02bb09"/></dir></dir><dir name="Helper"><file name="Data.php" hash="9d0d756bce4953b90624ba97ae6c63aa"/><file name="Debug.php" hash="7ab1e3121471d87ee59f02d129f308be"/></dir><dir name="Model"><file name="Abstract.php" hash="6d369b3b01ccaa3c796c37484e95a85f"/><dir name="Container"><file name="Product.php" hash="bb25e96a4159584c9701854d51962e52"/><file name="TrackProduct.php" hash="f95bbb60d7344859f71bd13b22d587c7"/></dir><dir name="Customer"><file name="Profiles.php" hash="fbedb6a3259a29db05b2c8783d02957b"/></dir><file name="Observer.php" hash="fa554bcc512f2c7d3b383b16ce41ebee"/><file name="Order.php" hash="9ff6141bb8a1a8b5070570310e1266e5"/><dir name="Recommendation"><file name="Abstract.php" hash="e7a8846905e453f5880b2362a9bbfe90"/><file name="Cart.php" hash="d46124c4c546c69ea64713e9402d6d25"/><file name="Product.php" hash="0e412fe277f5ef9d3e6a493dbfecc3fd"/><file name="User.php" hash="88e6b07cf2d0ba35441d95bc2d87f3d5"/></dir><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><dir name="Product"><file name="Collection.php" hash="9a302cf7cdfec28370d7c9afa31dac8a"/></dir></dir></dir></dir><file name="Session.php" hash="413f7d31ad2d5878f20a7db7adf5d207"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Attemps.php" hash="c01ebd5c76fd4d51305ed7111326d57d"/><file name="Identifier.php" hash="9e56f688a92a5691a5934e47f42144b6"/><file name="Idletime.php" hash="957ec9d0c4af2d52add60a9765c4e573"/><file name="Timeout.php" hash="95c38625ad50dc44ba2b2d371de1db65"/></dir></dir></dir></dir><dir name="controllers"><file name="IndexController.php" hash="6ea3c2de180540e082f0598133355e69"/><file name="RecommendationController.php" hash="a5930a94e2195adb07caac0bcac7cf5f"/></dir><dir name="documentation"><file name="epoqRS_Magento Installation Guide 1.2.4.pdf" hash="364abe5d2e44ce8aa31d08384dc54e1a"/></dir><dir name="etc"><file name="cache.xml" hash="7ed329563d8914670ae1ddeb399de34d"/><file name="config.xml" hash="6346ea919213fc06719b064e89e9d2a7"/><file name="config.xml~" hash="6346ea919213fc06719b064e89e9d2a7"/><file name="system.xml" hash="a5d70a49602cd9d14f542d515cde30bb"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Flagbit_EpoqInterface.xml" hash="8ada99bfdbcc7727ad36339bc11da6ec"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Flagbit_EpoqInterface.csv" hash="222d5eaedfde0639dd26f91c52dc395e"/></dir></target><target name="mageweb"><dir name="js"><dir name="epoqinterface"><file name="epoq_recommendations.js" hash="1b460589f83e228683ff2f610dfd13fc"/><file name="jQuery_init.js" hash="3179f2255b046d5f2e9a71e365287bef"/></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="epoqinterface.xml" hash="444ae31a25a3fc4f9df6e335a5e2e15d"/></dir><dir name="template"><dir name="epoqinterface"><dir name="recommendation"><file name="cart.phtml" hash="91fe1e5178fd79249dade5391952f9fa"/><file name="list.phtml" hash="c6c9c45f81993542dd182abea8c88f43"/><file name="mailproduct.phtml" hash="a81b28b9bee47f9e63a58ef87b7bb898"/><file name="product.phtml" hash="a558cf1a1dec1de784e7f05405dd83be"/><file name="user.phtml" hash="a3e884ce1f8ca6ab5ed4383e43b044d8"/></dir></dir></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><file name="epoqinterface.xml" hash="444ae31a25a3fc4f9df6e335a5e2e15d"/></dir><dir name="template"><dir name="epoqinterface"><dir name="recommendation"><file name="cart.phtml" hash="71bd2c1724743d995d31df4b96a24e87"/><file name="list.phtml" hash="92158be9c3dddca88cbd202aab666d39"/><file name="product.phtml" hash="a558cf1a1dec1de784e7f05405dd83be"/><file name="user.phtml" hash="90043a07221d19dcb079b86615eafa3b"/></dir></dir></dir></dir></dir></dir></target></contents>
21
  <compatible/>
22
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
23
  </package>