Channelpilotsolutions_Channelpilot - Version 1.0.1

Version Notes

improved export performance

Download this release

Release Info

Developer Magento Core Team
Extension Channelpilotsolutions_Channelpilot
Version 1.0.1
Comparing to
See all releases


Code changes from version 1.0.0 to 1.0.1

app/code/community/Channelpilotsolutions/Channelpilot/Block/Adminhtml/Field/Replacefields.php ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ *
4
+ * NOTICE OF LICENSE
5
+ *
6
+ * This source file is subject to the GNU General Public License (GPL 3)
7
+ * that is bundled with this package in the file LICENSE.txt
8
+ *
9
+ * DISCLAIMER
10
+ *
11
+ * Do not edit or add to this file if you wish to upgrade Channelpilotsolutions_Channelpilot to newer
12
+ * versions in the future. If you wish to customize Channelpilotsolutions_Channelpilot for your
13
+ * needs please refer to http://www.channelpilot.com for more information.
14
+ *
15
+ * @category Channelpilotsolutions
16
+ * @package Channelpilotsolutions_Channelpilot
17
+ * @subpackage block_adminhtml_field
18
+ * @copyright Copyright (c) 2012 <info@channelpilot.com> - www.channelpilot.com
19
+ * @author Peter Hoffmann <info@channelpilot.com>
20
+ * @license <http://www.gnu.org/licenses/> GNU General Public License (GPL 3)
21
+ * @link http://www.channelpilot.com
22
+ */
23
+ class Channelpilotsolutions_Channelpilot_Block_Adminhtml_Field_Replacefields
24
+ extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
25
+ {
26
+
27
+ private $_standardattributes;
28
+
29
+ public function __construct()
30
+ {
31
+ $this->addColumn('productattribute', array(
32
+ 'label' => Mage::helper('adminhtml')->__('Data field'),
33
+ 'size' => 30
34
+ ));
35
+ $this->_addAfter = false;
36
+
37
+ parent::__construct();
38
+ $this->setTemplate('Channelpilotsolutions/array_dropdown.phtml');
39
+ }
40
+
41
+ protected function _renderCellTemplate($columnName)
42
+ {
43
+ $this->_standardattributes = "('sku','price','name','description','manufacturer','color','weight')";
44
+ if (empty($this->_columns[$columnName])) {
45
+ throw new Exception('Wrong column name specified.');
46
+ }
47
+ $column = $this->_columns[$columnName];
48
+ $inputName = $this->getElement()->getName() . '[#{_id}][' . $columnName . ']';
49
+
50
+ if($columnName == 'productattribute')
51
+ {
52
+ $rendered = '<select name="'.$inputName.'">';
53
+
54
+ $tableName = Mage::getSingleton('core/resource')->getTableName('core_website');
55
+ $tablePrefix = substr($tableName, 0, strpos($tableName, 'core_website'));
56
+ $dbConnection = Mage::getSingleton('core/resource') ->getConnection('core_read');
57
+
58
+ // Get attribute codes and types
59
+ $query = "SELECT attribute_code
60
+ FROM ChannelPilotSolutions_ChannelPilot_eav_attribute
61
+ WHERE entity_type_id = (SELECT entity_type_id FROM
62
+ ChannelPilotSolutions_ChannelPilot_eav_entity_type WHERE entity_type_code = 'catalog_product') AND
63
+ attribute_code NOT IN $this->_standardattributes
64
+ ";
65
+ $query = str_replace('ChannelPilotSolutions_ChannelPilot_', $tablePrefix, $query);
66
+ $attributes = $dbConnection->FetchAssoc($query);
67
+
68
+ $attributes[]['attribute_code'] = 'qty';
69
+ $attributes[]['attribute_code'] = 'stock_status';
70
+ $attributes[]['attribute_code'] = 'cp_color_attribute_id';
71
+ $attributes[]['attribute_code'] = 'parent_id';
72
+
73
+ $attributes[]['attribute_code'] = 'categories';
74
+ $attributes[]['attribute_code'] = 'cp_image_url';
75
+ $attributes[]['attribute_code'] = 'cp_product_url';
76
+ $attributes[]['attribute_code'] = 'cp_additional_image_1';
77
+ $attributes[]['attribute_code'] = 'cp_additional_image_2';
78
+ $attributes[]['attribute_code'] = 'cp_additional_image_3';
79
+ asort($attributes);
80
+ foreach ($attributes as $attribute) {
81
+ $rendered .= '<option value="'.$attribute['attribute_code'].'">'.$attribute['attribute_code'].'</option>';
82
+ }
83
+ $rendered .= '</select>';
84
+ return $rendered;
85
+ }
86
+
87
+ return '<input type="text" name="'.$inputName.'" value="#{' . $columnName . '}"/>';
88
+ }
89
+ }
90
+ ?>
app/code/community/Channelpilotsolutions/Channelpilot/Helper/ExportData.php CHANGED
@@ -342,15 +342,27 @@ class ExportData
342
  if($border<$count[0][0]){
343
  $border=$count[0][0];
344
  }
 
 
 
 
 
345
  while($counter<=$border){
346
  // Get all entity_ids for all products in the selected store
347
  $query = "
348
- SELECT cpe.entity_id, cpe.sku
 
 
 
 
 
349
  FROM ChannelPilotSolutions_ChannelPilot_catalog_product_entity AS cpe
350
  INNER JOIN ChannelPilotSolutions_ChannelPilot_catalog_product_website as cpw
351
  ON cpw.product_id = cpe.entity_id
352
  WHERE cpw.website_id = ".$this->_siteId."
353
- AND IFNULL(cpe.sku, '') != '' LIMIT ".$counter.", ".$selectLimit."
 
 
354
  ";
355
  $query = $this->_applyTablePrefix($query);
356
  // Set fetch mode to numeric to save memory
@@ -458,8 +470,8 @@ class ExportData
458
  } else {
459
  $query = "
460
  SELECT pi.category_id, ce.path
461
- FROM catalog_category_product_index AS pi
462
- INNER JOIN catalog_category_entity AS ce ON pi.category_id = ce.entity_id
463
  WHERE pi.product_id = ".$entity[0]." AND pi.is_parent = 1 AND pi.store_id = ".$this->_storeId." ORDER BY ce.path ASC
464
  ";
465
  }
@@ -498,34 +510,24 @@ class ExportData
498
 
499
  // Get stock quantity
500
  // NOTE: stock_id = 1 is the 'Default' stock
501
- $query = "
502
- SELECT qty, stock_status
503
- FROM ChannelPilotSolutions_ChannelPilot_cataloginventory_stock_status
504
- WHERE product_id=".$entity[0]."
505
- AND website_id=".$this->_siteId."
506
- AND stock_id = 1";
507
- $query = $this->_applyTablePrefix($query);
508
- $stockInfoResult = $this->_dbConnection->query($query);
509
- $stockInfo = $stockInfoResult->fetch();
510
- if($export_data_fields_codes)
511
  if(strpos($export_data_fields_codes, "'qty'")!=false){
512
- if(empty($stockInfo) == true)
513
  {
514
  $product['qty'] = '0';
515
  }
516
  else
517
  {
518
- $product['qty'] = $stockInfo[0];
519
  }
520
  }
521
  if(strpos($export_data_fields_codes, "'stock_status'")!=false){
522
- if(empty($stockInfo) == true)
523
  {
524
  $product['stock_status'] = '';
525
  }
526
  else
527
  {
528
- $product['stock_status'] = $stockInfo[1];
529
  }
530
  }
531
  $stockInfoResult = null;
@@ -558,33 +560,16 @@ class ExportData
558
  }
559
 
560
  // Get parent ID
561
- $query = "
562
- SELECT GROUP_CONCAT(parent_id SEPARATOR ',') AS parent_id
563
- FROM ChannelPilotSolutions_ChannelPilot_catalog_product_super_link AS super_link
564
- WHERE super_link.product_id=".intval($entity[0])."";
565
- $query = $this->_applyTablePrefix($query);
566
- $this->_dbConnection->setFetchMode(ZEND_DB::FETCH_NUM);
567
- $parentId = $this->_dbConnection->fetchAll($query);
568
- if(empty($parentId) != true && strpos($export_data_fields_codes, "'parent_id'")!=false)
569
  {
570
- $product['parent_id'] = $parentId[0][0];
571
  }
572
 
573
  // Override price with catalog price rule, if found
574
- $query = "
575
- SELECT crpp.rule_price
576
- FROM ChannelPilotSolutions_ChannelPilot_catalogrule_product_price AS crpp
577
- WHERE crpp.rule_date = CURDATE()
578
- AND crpp.product_id = ".intval($entity[0])."
579
- AND crpp.customer_group_id = 1
580
- AND crpp.website_id = ".$this->_siteId;
581
- $query = $this->_applyTablePrefix($query);
582
- $this->_dbConnection->setFetchMode(ZEND_DB::FETCH_NUM);
583
- $rule_price = $this->_dbConnection->fetchAll($query);
584
- if(empty($rule_price) != true)
585
  {
586
  // Override price with catalog rule price
587
- $product['price'] = $rule_price[0][0];
588
  }
589
 
590
  // Calculate image and product URLs
@@ -599,13 +584,31 @@ class ExportData
599
  $product['cp_image_url'] = $this->_urlPathJoin($product['cp_image_url'], $product_image);
600
  }
601
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
602
  $this->xml = new SimpleXMLElement("<product></product>");
603
  echo str_replace('<?xml version="1.0"?>','',$this->toXML($product));
604
  $this->xml = null;
605
  }
606
  $counter=$counter+$selectLimit;
607
  }
608
-
609
  return ;
610
  }
611
 
342
  if($border<$count[0][0]){
343
  $border=$count[0][0];
344
  }
345
+
346
+ $parentProductArray = array();
347
+ $replace_fields= unserialize(Mage::getStoreConfig('channelpilot_section/channelpilot_productfeed/channelpilot_replacefields'));
348
+
349
+
350
  while($counter<=$border){
351
  // Get all entity_ids for all products in the selected store
352
  $query = "
353
+ SELECT cpe.entity_id, cpe.sku,
354
+ (SELECT parent_id FROM ChannelPilotSolutions_ChannelPilot_catalog_product_super_link WHERE product_id=cpe.entity_id LIMIT 1) as parent,
355
+ (SELECT count(*) FROM ChannelPilotSolutions_ChannelPilot_catalog_product_super_link WHERE parent_id=cpe.entity_id LIMIT 1) as is_parent,
356
+ (SELECT qty FROM ChannelPilotSolutions_ChannelPilot_cataloginventory_stock_status WHERE product_id=cpe.entity_id AND website_id=".$this->_siteId." AND stock_id = 1 LIMIT 1) as qty,
357
+ (SELECT stock_status FROM ChannelPilotSolutions_ChannelPilot_cataloginventory_stock_status WHERE product_id=cpe.entity_id AND website_id=".$this->_siteId." AND stock_id = 1 LIMIT 1) as stock_status,
358
+ (SELECT crpp.rule_price FROM ChannelPilotSolutions_ChannelPilot_catalogrule_product_price AS crpp WHERE crpp.rule_date = CURDATE() AND crpp.product_id =cpe.entity_id AND crpp.customer_group_id = 1 AND crpp.website_id = ".$this->_siteId.") as cat_price
359
  FROM ChannelPilotSolutions_ChannelPilot_catalog_product_entity AS cpe
360
  INNER JOIN ChannelPilotSolutions_ChannelPilot_catalog_product_website as cpw
361
  ON cpw.product_id = cpe.entity_id
362
  WHERE cpw.website_id = ".$this->_siteId."
363
+ AND IFNULL(cpe.sku, '') != ''
364
+ ORDER BY is_parent DESC
365
+ LIMIT ".$counter.", ".$selectLimit."
366
  ";
367
  $query = $this->_applyTablePrefix($query);
368
  // Set fetch mode to numeric to save memory
470
  } else {
471
  $query = "
472
  SELECT pi.category_id, ce.path
473
+ FROM ChannelPilotSolutions_ChannelPilot_catalog_category_product_index AS pi
474
+ INNER JOIN ChannelPilotSolutions_ChannelPilot_catalog_category_entity AS ce ON pi.category_id = ce.entity_id
475
  WHERE pi.product_id = ".$entity[0]." AND pi.is_parent = 1 AND pi.store_id = ".$this->_storeId." ORDER BY ce.path ASC
476
  ";
477
  }
510
 
511
  // Get stock quantity
512
  // NOTE: stock_id = 1 is the 'Default' stock
 
 
 
 
 
 
 
 
 
 
513
  if(strpos($export_data_fields_codes, "'qty'")!=false){
514
+ if(empty($entity[4]) == true)
515
  {
516
  $product['qty'] = '0';
517
  }
518
  else
519
  {
520
+ $product['qty'] = $entity[4];
521
  }
522
  }
523
  if(strpos($export_data_fields_codes, "'stock_status'")!=false){
524
+ if(empty($entity[5]) == true)
525
  {
526
  $product['stock_status'] = '';
527
  }
528
  else
529
  {
530
+ $product['stock_status'] = $entity[5];
531
  }
532
  }
533
  $stockInfoResult = null;
560
  }
561
 
562
  // Get parent ID
563
+ if(empty($entity[2]) != true && strpos($export_data_fields_codes, "'parent_id'")!=false)
 
 
 
 
 
 
 
564
  {
565
+ $product['parent_id'] = $entity[2];
566
  }
567
 
568
  // Override price with catalog price rule, if found
569
+ if(empty($entity[6]) != true)
 
 
 
 
 
 
 
 
 
 
570
  {
571
  // Override price with catalog rule price
572
+ $product['price'] = $entity[6];
573
  }
574
 
575
  // Calculate image and product URLs
584
  $product['cp_image_url'] = $this->_urlPathJoin($product['cp_image_url'], $product_image);
585
  }
586
 
587
+ if(!empty($replace_fields)){
588
+ // PARENT
589
+ if($entity[3]>0){
590
+ foreach($replace_fields as $element){
591
+ if(!empty($element['productattribute']) && array_key_exists($element['productattribute'],$product)){
592
+ $parentProductArray[$product['entity_id']][$element['productattribute']] = $product[$element['productattribute']];
593
+ }
594
+ }
595
+ } else {
596
+ // CHILD
597
+ if($entity[2]!=null){
598
+ foreach($replace_fields as $element){
599
+ if(!empty($element['productattribute']) && array_key_exists($element['productattribute'],$product)){
600
+ $product[$element['productattribute']] = $parentProductArray[$entity[2]][$element['productattribute']];
601
+ }
602
+ }
603
+ }
604
+ }
605
+ }
606
  $this->xml = new SimpleXMLElement("<product></product>");
607
  echo str_replace('<?xml version="1.0"?>','',$this->toXML($product));
608
  $this->xml = null;
609
  }
610
  $counter=$counter+$selectLimit;
611
  }
 
612
  return ;
613
  }
614
 
app/code/community/Channelpilotsolutions/Channelpilot/etc/system.xml CHANGED
@@ -60,7 +60,7 @@
60
  </channelpilot_password>
61
  <channelpilot_exportfields>
62
  <label>Select data fields</label>
63
- <comment>Select the data fields that you want to provide on ChannelPilot. Some product attributes are always included. (Entity_Id, Sku, name, description, price, manufacturer, color, categories, product_url, image_url, additional_image_1, additional_image_2, additional_image_3, weight)</comment>
64
  <frontend_model>channelpilot_core/adminhtml_field_exportfields</frontend_model>
65
  <backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
66
  <sort_order>2</sort_order>
@@ -78,6 +78,16 @@
78
  <show_in_website>1</show_in_website>
79
  <show_in_store>1</show_in_store>
80
  </channelpilot_specialexportfields>
 
 
 
 
 
 
 
 
 
 
81
  </fields>
82
  </channelpilot_productfeed>
83
  <!-- New group -->
60
  </channelpilot_password>
61
  <channelpilot_exportfields>
62
  <label>Select data fields</label>
63
+ <comment>Select the data fields you want to provide on ChannelPilot. Some product attributes are always included. (Entity_Id, Sku, name, description, price, manufacturer, color, categories, product_url, image_url, additional_image_1, additional_image_2, additional_image_3, weight)</comment>
64
  <frontend_model>channelpilot_core/adminhtml_field_exportfields</frontend_model>
65
  <backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
66
  <sort_order>2</sort_order>
78
  <show_in_website>1</show_in_website>
79
  <show_in_store>1</show_in_store>
80
  </channelpilot_specialexportfields>
81
+ <channelpilot_replacefields>
82
+ <label>Product variant data fields</label>
83
+ <comment>Select the data fields you want to be overwritten by the respective value of the parent article.</comment>
84
+ <frontend_model>channelpilot_core/adminhtml_field_replacefields</frontend_model>
85
+ <backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
86
+ <sort_order>4</sort_order>
87
+ <show_in_default>1</show_in_default>
88
+ <show_in_website>1</show_in_website>
89
+ <show_in_store>1</show_in_store>
90
+ </channelpilot_replacefields>
91
  </fields>
92
  </channelpilot_productfeed>
93
  <!-- New group -->
app/locale/de_DE/Channelpilotsolutions_Channelpilot.csv CHANGED
@@ -7,12 +7,13 @@
7
  "Protect your productfeed with a password. For example: 'www.testshop.com/channelpilot?password=12345'","Schützen Sie Ihren Produktkatalog mit einem Passwort. Zum Beispiel: 'www.testshop.com/channelpilot?password=12345'"
8
  "Select data fields","Datenfelder auswählen"
9
  "Data field","Datenfeld"
10
- "Select the data fields that you want to provide on ChannelPilot. Some product attributes are always included. (Entity_Id, Sku, name, description, price, manufacturer, color, categories, product_url, image_url, additional_image_1, additional_image_2, additional_image_3, weight)","Wählen Sie die Datenfelder aus, die Sie ChannelPilot bereitstellen möchten. Einige Datenfelder sind immer im Produktkatalog enthalten. (Entity_Id, Sku, name, description, price, manufacturer, color, categories, product_url, image_url, additional_image_1, additional_image_2, additional_image_3, weight)"
11
  "Create static data fields","Statische Datenfelder erstellen"
12
  "Data field name","Datenfeld Name"
13
  "Data field value","Datenfeld Wert"
14
  "Set up additional data fields. These fields have for every product the same value. E.g. for additional delivery costs.","Richten Sie zusätzliche Datenfelder ein, die für jedes Produkt einen statischen Wert haben. Z.B. für zusätzliche Versandkosten."
15
-
 
16
 
17
 
18
  "Salestracking","Salestracking"
7
  "Protect your productfeed with a password. For example: 'www.testshop.com/channelpilot?password=12345'","Schützen Sie Ihren Produktkatalog mit einem Passwort. Zum Beispiel: 'www.testshop.com/channelpilot?password=12345'"
8
  "Select data fields","Datenfelder auswählen"
9
  "Data field","Datenfeld"
10
+ "Select the data fields you want to provide on ChannelPilot. Some product attributes are always included. (Entity_Id, Sku, name, description, price, manufacturer, color, categories, product_url, image_url, additional_image_1, additional_image_2, additional_image_3, weight)","Wählen Sie die Datenfelder aus, die Sie ChannelPilot bereitstellen möchten. Einige Datenfelder sind immer im Produktkatalog enthalten. (Entity_Id, Sku, name, description, price, manufacturer, color, categories, product_url, image_url, additional_image_1, additional_image_2, additional_image_3, weight)"
11
  "Create static data fields","Statische Datenfelder erstellen"
12
  "Data field name","Datenfeld Name"
13
  "Data field value","Datenfeld Wert"
14
  "Set up additional data fields. These fields have for every product the same value. E.g. for additional delivery costs.","Richten Sie zusätzliche Datenfelder ein, die für jedes Produkt einen statischen Wert haben. Z.B. für zusätzliche Versandkosten."
15
+ "Product variant data fields","Variantenfelder überschreiben"
16
+ "Select the data fields you want to be overwritten by the respective value of the parent article.","Wählen Sie hier die Felder aus, deren Werte bei einem Variantenartikel mit dem entsprechenden Werten des jeweiligen Stammartikels überschrieben werden sollen."
17
 
18
 
19
  "Salestracking","Salestracking"
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Channelpilotsolutions_Channelpilot</name>
4
- <version>1.0.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/gpl-license.php">GPL</license>
7
  <channel>community</channel>
@@ -21,11 +21,11 @@
21
  &lt;li&gt;&lt;b&gt;BEST QUALITY:&lt;/b&gt; ChannelPilot is "made in Germany" and is exclusively developed in-house by experienced software-engineers.&lt;/li&gt;&#xD;
22
  &lt;/ul&gt;&#xD;
23
  Just get more information about ChannelPilot : &lt;a href="http://www.channelpilot.com"&gt;www.channelpilot.com&lt;/a&gt;</description>
24
- <notes>Release version</notes>
25
  <authors><author><name>ChannelPilot Solutions GmbH</name><user>auto-converted</user><email>info@channelpilot.com</email></author></authors>
26
- <date>2013-03-19</date>
27
- <time>14:13:17</time>
28
- <contents><target name="magecommunity"><dir name="Channelpilotsolutions"><dir name="Channelpilot"><dir name="Adminhtml"><dir name="Model"><dir name="Articlenumber"><file name="Values.php" hash="4a920f99cf9443aaa2f8841d853cebec"/></dir><dir name="Cookiemode"><file name="Values.php" hash="ff8d69f41d7df21707d749305c20e935"/></dir></dir></dir><dir name="Block"><dir name="Adminhtml"><dir name="Field"><file name="Exportfields.php" hash="c3a73f607cc6fe8f249d8fef7d49cfeb"/><file name="Specialfields.php" hash="33842132f2ff85227efcaff836dd4c1c"/><file name="Trackingkeys.php" hash="94c7d54b134a71f0080b3bbd52dac475"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="a50cceaf7f52911c35979cf4b5beec22"/><file name="ExportData.php" hash="8ba240d249057aaa1688739902c5a487"/></dir><dir name="controllers"><file name="IndexController.php" hash="6c691bd30403c6340248e6f9b2cedea8"/></dir><dir name="etc"><file name="adminhtml.xml" hash="ee4e49b9b64d99fce70b618ac7349a9d"/><file name="config.xml" hash="c2217ae3c7f5575d8eeed0dac4d3c5d4"/><file name="system.xml" hash="cd5a5d4b11056de84653a91a57186bac"/></dir></dir><dir name="Clicktracking"><dir name="etc"><file name="config.xml" hash="1ee288f21630d1873a4f6ebe37c24f10"/></dir></dir><dir name="Salestracking"><dir name="etc"><file name="config.xml" hash="92b7c6e930b2d241d8b095635a10519e"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Channelpilotsolutions_Channelpilot.xml" hash="a64f082fbb324d006d05566a4eb63d3f"/><file name="Channelpilotsolutions_Clicktracking.xml" hash="0e9a283fcb2b0bbc40ed3f3ad960624d"/><file name="Channelpilotsolutions_Salestracking.xml" hash="226c8a5105db455556e450a6b49d8eb2"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="Channelpilotsolutions"><file name="clicktracking.xml" hash="8e97b079e03fd90750ee52b76e3eae08"/><file name="salestracking.xml" hash="2f356111cb7f06f2a7dd39157cfc3a6b"/></dir></dir><dir name="template"><dir name="Channelpilotsolutions"><file name="clicktracking.phtml" hash="54b5c464b923057e4cfd6ed1e27c6597"/><file name="salestracking.phtml" hash="43e715b7b06467e4278aef571420768c"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="template"><dir name="Channelpilotsolutions"><file name="array_dropdown.phtml" hash="cb1230cd8a92ce0a0961f71b396736ec"/></dir></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><dir name="Channelpilotsolutions"><file name="channelpilot.xml" hash="ee23fe0af5078ab653c5341116c21ddb"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="Channelpilotsolutions"><dir name="Channelpilot"><file name="icon.css" hash="ee075d8ba7c5c45dcb8c87ba1205eaa0"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="Channelpilotsolutions_Channelpilot.csv" hash="1838fd9365f73bc40ada833d0948b2e4"/></dir><dir name="de_CH"><file name="Channelpilotsolutions_Channelpilot.csv" hash="1838fd9365f73bc40ada833d0948b2e4"/></dir><dir name="de_AT"><file name="Channelpilotsolutions_Channelpilot.csv" hash="1838fd9365f73bc40ada833d0948b2e4"/></dir></target></contents>
29
  <compatible/>
30
  <dependencies/>
31
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Channelpilotsolutions_Channelpilot</name>
4
+ <version>1.0.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/gpl-license.php">GPL</license>
7
  <channel>community</channel>
21
  &lt;li&gt;&lt;b&gt;BEST QUALITY:&lt;/b&gt; ChannelPilot is "made in Germany" and is exclusively developed in-house by experienced software-engineers.&lt;/li&gt;&#xD;
22
  &lt;/ul&gt;&#xD;
23
  Just get more information about ChannelPilot : &lt;a href="http://www.channelpilot.com"&gt;www.channelpilot.com&lt;/a&gt;</description>
24
+ <notes>improved export performance</notes>
25
  <authors><author><name>ChannelPilot Solutions GmbH</name><user>auto-converted</user><email>info@channelpilot.com</email></author></authors>
26
+ <date>2013-04-29</date>
27
+ <time>12:42:50</time>
28
+ <contents><target name="magecommunity"><dir name="Channelpilotsolutions"><dir name="Channelpilot"><dir name="Adminhtml"><dir name="Model"><dir name="Articlenumber"><file name="Values.php" hash="4a920f99cf9443aaa2f8841d853cebec"/></dir><dir name="Cookiemode"><file name="Values.php" hash="ff8d69f41d7df21707d749305c20e935"/></dir></dir></dir><dir name="Block"><dir name="Adminhtml"><dir name="Field"><file name="Exportfields.php" hash="c3a73f607cc6fe8f249d8fef7d49cfeb"/><file name="Replacefields.php" hash="03403b9cbdad48fa8ca2b28d7440143c"/><file name="Specialfields.php" hash="33842132f2ff85227efcaff836dd4c1c"/><file name="Trackingkeys.php" hash="94c7d54b134a71f0080b3bbd52dac475"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="a50cceaf7f52911c35979cf4b5beec22"/><file name="ExportData.php" hash="8b5088f7ffa12b5c5eca38c286861460"/></dir><dir name="controllers"><file name="IndexController.php" hash="6c691bd30403c6340248e6f9b2cedea8"/></dir><dir name="etc"><file name="adminhtml.xml" hash="ee4e49b9b64d99fce70b618ac7349a9d"/><file name="config.xml" hash="c2217ae3c7f5575d8eeed0dac4d3c5d4"/><file name="system.xml" hash="d3ffb78c9469d44b61dc85be2480abc6"/></dir></dir><dir name="Clicktracking"><dir name="etc"><file name="config.xml" hash="1ee288f21630d1873a4f6ebe37c24f10"/></dir></dir><dir name="Salestracking"><dir name="etc"><file name="config.xml" hash="92b7c6e930b2d241d8b095635a10519e"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Channelpilotsolutions_Channelpilot.xml" hash="a64f082fbb324d006d05566a4eb63d3f"/><file name="Channelpilotsolutions_Clicktracking.xml" hash="0e9a283fcb2b0bbc40ed3f3ad960624d"/><file name="Channelpilotsolutions_Salestracking.xml" hash="226c8a5105db455556e450a6b49d8eb2"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="Channelpilotsolutions"><file name="clicktracking.xml" hash="8e97b079e03fd90750ee52b76e3eae08"/><file name="salestracking.xml" hash="2f356111cb7f06f2a7dd39157cfc3a6b"/></dir></dir><dir name="template"><dir name="Channelpilotsolutions"><file name="clicktracking.phtml" hash="54b5c464b923057e4cfd6ed1e27c6597"/><file name="salestracking.phtml" hash="43e715b7b06467e4278aef571420768c"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="template"><dir name="Channelpilotsolutions"><file name="array_dropdown.phtml" hash="cb1230cd8a92ce0a0961f71b396736ec"/></dir></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><dir name="Channelpilotsolutions"><file name="channelpilot.xml" hash="ee23fe0af5078ab653c5341116c21ddb"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="Channelpilotsolutions"><dir name="Channelpilot"><file name="icon.css" hash="ee075d8ba7c5c45dcb8c87ba1205eaa0"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="Channelpilotsolutions_Channelpilot.csv" hash="9bae5f67a38ac2aba098dfc1ed7e4b21"/></dir><dir name="de_CH"><file name="Channelpilotsolutions_Channelpilot.csv" hash="1838fd9365f73bc40ada833d0948b2e4"/></dir><dir name="de_AT"><file name="Channelpilotsolutions_Channelpilot.csv" hash="1838fd9365f73bc40ada833d0948b2e4"/></dir></target></contents>
29
  <compatible/>
30
  <dependencies/>
31
  </package>