Magmodules_Channable - Version 1.3.9

Version Notes

Channable Connect

Download this release

Release Info

Developer Magmodules
Extension Magmodules_Channable
Version 1.3.9
Comparing to
See all releases


Code changes from version 1.3.7 to 1.3.9

app/code/community/Magmodules/Channable/Block/Adminhtml/Config/Form/Field/Filter.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magmodules.eu - http://www.magmodules.eu - info@magmodules.eu
4
+ * =============================================================
5
+ * NOTICE OF LICENSE [Single domain license]
6
+ * This source file is subject to the EULA that is
7
+ * available through the world-wide-web at:
8
+ * http://www.magmodules.eu/license-agreement/
9
+ * =============================================================
10
+ * @category Magmodules
11
+ * @package Magmodules_Channable
12
+ * @author Magmodules <info@magmodules.eu>
13
+ * @copyright Copyright (c) 2016 (http://www.magmodules.eu)
14
+ * @license http://www.magmodules.eu/license-agreement/
15
+ * =============================================================
16
+ */
17
+
18
+ class Magmodules_Channable_Block_Adminhtml_Config_Form_Field_Filter extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract {
19
+
20
+ protected $_renders = array();
21
+
22
+ public function __construct()
23
+ {
24
+ $layout = Mage::app()->getFrontController()->getAction()->getLayout();
25
+ $renderer_attributes = $layout->createBlock('channable/adminhtml_config_form_renderer_select', '', array('is_render_to_js_template' => true));
26
+ $renderer_attributes->setOptions(Mage::getModel('channable/adminhtml_system_config_source_attribute')->toOptionArray());
27
+
28
+ $renderer_conditions = $layout->createBlock('channable/adminhtml_config_form_renderer_select', '', array('is_render_to_js_template' => true));
29
+ $renderer_conditions->setOptions(Mage::getModel('channable/adminhtml_system_config_source_conditions')->toOptionArray());
30
+
31
+ $this->addColumn('attribute', array(
32
+ 'label' => Mage::helper('channable')->__('Attribute'),
33
+ 'style' => 'width:100px',
34
+ 'renderer' => $renderer_attributes
35
+ ));
36
+
37
+ $this->addColumn('condition', array(
38
+ 'label' => Mage::helper('channable')->__('Condition'),
39
+ 'style' => 'width:100px',
40
+ 'renderer' => $renderer_conditions
41
+ ));
42
+
43
+ $this->addColumn('value', array(
44
+ 'label' => Mage::helper('channable')->__('Value'),
45
+ 'style' => 'width:100px',
46
+ ));
47
+
48
+ $this->_renders['attribute'] = $renderer_attributes;
49
+ $this->_renders['condition'] = $renderer_conditions;
50
+
51
+ $this->_addAfter = false;
52
+ $this->_addButtonLabel = Mage::helper('channable')->__('Add Filter');
53
+ parent::__construct();
54
+ }
55
+
56
+
57
+ protected function _prepareArrayRow(Varien_Object $row)
58
+ {
59
+ foreach ($this->_renders as $key => $render){
60
+ $row->setData(
61
+ 'option_extra_attr_' . $render->calcOptionHash($row->getData($key)),
62
+ 'selected="selected"'
63
+ );
64
+ }
65
+ }
66
+
67
+ }
app/code/community/Magmodules/Channable/Block/Adminhtml/Widget/Info/Info.php CHANGED
@@ -19,9 +19,10 @@ class Magmodules_Channable_Block_Adminhtml_Widget_Info_Info extends Mage_Adminht
19
 
20
  public function render(Varien_Data_Form_Element_Abstract $element)
21
  {
22
-
23
  $magento_version = Mage::getVersion();
24
- $logo_link = '//www.magmodules.eu/logo/channable/1.3.0/' . $magento_version . '/logo.png';
 
 
25
 
26
  $html = '<div style="background:url(\'' . $logo_link . '\') no-repeat scroll 15px center #EAF0EE;border:1px solid #CCCCCC;margin-bottom:10px;padding:10px 5px 5px 200px;">
27
  <h4>About Magmodules.eu</h4>
19
 
20
  public function render(Varien_Data_Form_Element_Abstract $element)
21
  {
 
22
  $magento_version = Mage::getVersion();
23
+ $module_version = Mage::getConfig()->getNode()->modules->Magmodules_Channable->version;
24
+
25
+ $logo_link = '//www.magmodules.eu/logo/channable/' . $module_version . '/' . $magento_version . '/logo.png';
26
 
27
  $html = '<div style="background:url(\'' . $logo_link . '\') no-repeat scroll 15px center #EAF0EE;border:1px solid #CCCCCC;margin-bottom:10px;padding:10px 5px 5px 200px;">
28
  <h4>About Magmodules.eu</h4>
app/code/community/Magmodules/Channable/Helper/Data.php CHANGED
@@ -12,7 +12,7 @@
12
  * @author Magmodules <info@magmodules.eu>
13
  * @copyright Copyright (c) 2016 (http://www.magmodules.eu)
14
  * @license http://www.magmodules.eu/license-agreement/
15
- * @version 26-03-2016
16
  * =============================================================
17
  */
18
 
@@ -124,7 +124,7 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
124
  return $data_row;
125
  }
126
 
127
- if(!empty($value)) {
128
  $data_row[$data['label']] = $value;
129
  return $data_row;
130
  }
@@ -156,6 +156,14 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
156
  if(in_array('truncate', $actions)) {
157
  $st = Mage::helper('core/string')->truncate($st, '5000');
158
  }
 
 
 
 
 
 
 
 
159
  if(in_array('cdata', $actions)) {
160
  $st = '<![CDATA[' . $st . ']]>';
161
  }
@@ -383,7 +391,7 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
383
  }
384
  break;
385
  default:
386
- if(!empty($product[$source])) {
387
  $value = $product[$source];
388
  }
389
  break;
@@ -414,7 +422,7 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
414
  $pricerule_price = Mage::helper('tax')->getPrice($product, $product->getFinalPrice(), $tax_param);
415
 
416
  $special_price = ''; $special_date = '';
417
- if(($pricerule_price > 0) && ($pricerule_price < $product->getPrice())) {
418
  $sales_price = $pricerule_price;
419
  $specialPriceFromDate = $product->getSpecialFromDate();
420
  $specialPriceToDate = $product->getSpecialToDate();
@@ -440,7 +448,7 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
440
  }
441
  }
442
  }
443
-
444
  $price_data['final_price_clean'] = $price;
445
  $price_data['price'] = number_format(($price * $price_markup), 2, '.', '') . $currency;
446
 
@@ -513,7 +521,7 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
513
  $attributes[] = $config['category_replace'];
514
  }
515
 
516
- $categories = Mage::getModel('catalog/category')->setStoreId($storeId)->getCollection()->addAttributeToSelect($attributes)->addFieldToFilter('include_in_menu', array('eq' => 1))->addFieldToFilter('is_active', array('eq' => 1));
517
  $_categories = array();
518
 
519
  foreach($categories as $cat) {
@@ -622,8 +630,11 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
622
  foreach ($options as $option) {
623
  $selection = $option->getDefaultSelection();
624
  if($selection === null) { continue; }
625
- $prod_option = Mage::getModel('catalog/product')->setStoreId($storeId)->load($selection->getProductId());
626
- $price += ($prod_option->getFinalPrice() * $selection->getSelectionQty());
 
 
 
627
  }
628
  }
629
  if($price < 0.01) {
@@ -650,6 +661,44 @@ class Magmodules_Channable_Helper_Data extends Mage_Core_Helper_Abstract {
650
  }
651
  }
652
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
653
  public function checkOldVersion($dir)
654
  {
655
  if($dir) {
12
  * @author Magmodules <info@magmodules.eu>
13
  * @copyright Copyright (c) 2016 (http://www.magmodules.eu)
14
  * @license http://www.magmodules.eu/license-agreement/
15
+ * @version 07-06-2016
16
  * =============================================================
17
  */
18
 
124
  return $data_row;
125
  }
126
 
127
+ if(!empty($value) || is_numeric($value)) {
128
  $data_row[$data['label']] = $value;
129
  return $data_row;
130
  }
156
  if(in_array('truncate', $actions)) {
157
  $st = Mage::helper('core/string')->truncate($st, '5000');
158
  }
159
+ if(in_array('truncate150', $actions)) {
160
+ $st = Mage::helper('core/string')->truncate($st, '150');
161
+ }
162
+ if(in_array('uppercheck', $actions)) {
163
+ if(strtoupper($st) == $st) {
164
+ $st = ucfirst(strtolower($st));
165
+ }
166
+ }
167
  if(in_array('cdata', $actions)) {
168
  $st = '<![CDATA[' . $st . ']]>';
169
  }
391
  }
392
  break;
393
  default:
394
+ if(isset($product[$source])) {
395
  $value = $product[$source];
396
  }
397
  break;
422
  $pricerule_price = Mage::helper('tax')->getPrice($product, $product->getFinalPrice(), $tax_param);
423
 
424
  $special_price = ''; $special_date = '';
425
+ if(($pricerule_price > 0) && ($pricerule_price < $price)) {
426
  $sales_price = $pricerule_price;
427
  $specialPriceFromDate = $product->getSpecialFromDate();
428
  $specialPriceToDate = $product->getSpecialToDate();
448
  }
449
  }
450
  }
451
+
452
  $price_data['final_price_clean'] = $price;
453
  $price_data['price'] = number_format(($price * $price_markup), 2, '.', '') . $currency;
454
 
521
  $attributes[] = $config['category_replace'];
522
  }
523
 
524
+ $categories = Mage::getModel('catalog/category')->setStoreId($storeId)->getCollection()->addAttributeToSelect($attributes)->addFieldToFilter('is_active', array('eq' => 1));
525
  $_categories = array();
526
 
527
  foreach($categories as $cat) {
630
  foreach ($options as $option) {
631
  $selection = $option->getDefaultSelection();
632
  if($selection === null) { continue; }
633
+ $selection_product_id = $selection->getProductId();
634
+ $_resource = Mage::getSingleton('catalog/product')->getResource();
635
+ $final_price = $_resource->getAttributeRawValue($selection_product_id, 'final_price', $storeId);
636
+ $selection_qty = $_resource->getAttributeRawValue($selection_product_id, 'selection_qty', $storeId);
637
+ $price += ($final_price * $selection_qty);
638
  }
639
  }
640
  if($price < 0.01) {
661
  }
662
  }
663
 
664
+ public function getTypePrices($config, $products)
665
+ {
666
+ $type_prices = array();
667
+ if(!empty($config['conf_enabled'])) {
668
+ foreach($products as $product) {
669
+ if($product->getTypeId() == 'configurable') {
670
+ $attributes = $product->getTypeInstance(true)->getConfigurableAttributes($product);
671
+ $att_prices = array();
672
+ $base_price = $product->getFinalPrice();
673
+ foreach ($attributes as $attribute){
674
+ $prices = $attribute->getPrices();
675
+ foreach ($prices as $price){
676
+ if ($price['is_percent']) {
677
+ $att_prices[$price['value_index']] = (float)$price['pricing_value'] * $base_price / 100;
678
+ } else {
679
+ $att_prices[$price['value_index']] = (float)$price['pricing_value'];
680
+ }
681
+ }
682
+ }
683
+ $simple = $product->getTypeInstance()->getUsedProducts();
684
+ $simple_prices = array();
685
+ foreach($simple as $sProduct) {
686
+ $total_price = $base_price;
687
+ foreach($attributes as $attribute) {
688
+ $value = $sProduct->getData($attribute->getProductAttribute()->getAttributeCode());
689
+ if(isset($att_prices[$value])) {
690
+ $total_price += $att_prices[$value];
691
+ }
692
+ }
693
+ $type_prices[$sProduct->getEntityId()] = number_format($total_price, 2, '.', '') . ' ' . $config['currency'];
694
+ }
695
+ }
696
+ }
697
+ }
698
+ return $type_prices;
699
+ }
700
+
701
+
702
  public function checkOldVersion($dir)
703
  {
704
  if($dir) {
app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Backend/Design/Filter.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magmodules.eu - http://www.magmodules.eu - info@magmodules.eu
4
+ * =============================================================
5
+ * NOTICE OF LICENSE [Single domain license]
6
+ * This source file is subject to the EULA that is
7
+ * available through the world-wide-web at:
8
+ * http://www.magmodules.eu/license-agreement/
9
+ * =============================================================
10
+ * @category Magmodules
11
+ * @package Magmodules_Channable
12
+ * @author Magmodules <info@magmodules.eu>
13
+ * @copyright Copyright (c) 2016 (http://www.magmodules.eu)
14
+ * @license http://www.magmodules.eu/license-agreement/
15
+ * =============================================================
16
+ */
17
+
18
+ class Magmodules_Channable_Model_Adminhtml_System_Config_Backend_Design_Filter extends Mage_Adminhtml_Model_System_Config_Backend_Serialized_Array {
19
+
20
+ protected function _beforeSave()
21
+ {
22
+ $value = $this->getValue();
23
+ if(is_array($value)) {
24
+ unset($value['__empty']);
25
+ if(count($value)) {
26
+ $value = $this->orderData($value, 'attribute');
27
+ foreach($value as $key => $field){
28
+ if(!empty($field['attribute']) && !empty($field['condition']) && !empty($field['value'])) {
29
+ $attribute = Mage::getModel('eav/entity_attribute')->loadByCode('catalog_product', $field['attribute']);
30
+ $value[$key]['attribute'] = $field['attribute'];
31
+ $value[$key]['condition'] = $field['condition'];
32
+ $value[$key]['value'] = $field['value'];
33
+ $value[$key]['type'] = $attribute->getFrontendInput();
34
+ } else {
35
+ unset($value[$key]);
36
+ }
37
+ }
38
+ $keys = array();
39
+ for($i=0; $i < count($value); $i++){
40
+ $keys[] = 'filter_' . uniqid();
41
+ }
42
+ $value = array_combine($keys, array_values($value));
43
+ }
44
+ }
45
+ $this->setValue($value);
46
+ parent::_beforeSave();
47
+ }
48
+
49
+ function orderData($data, $sort)
50
+ {
51
+ $code = "return strnatcmp(\$a['$sort'], \$b['$sort']);";
52
+ usort($data, create_function('$a,$b', $code));
53
+ return $data;
54
+ }
55
+
56
+ }
app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Source/Attribute.php CHANGED
@@ -14,21 +14,28 @@
14
  * @license http://www.magmodules.eu/license-agreement/
15
  * =============================================================
16
  */
 
17
  class Magmodules_Channable_Model_Adminhtml_System_Config_Source_Attribute {
18
 
19
  public function toOptionArray()
20
  {
21
  $optionArray = array();
22
  $optionArray[] = array('value' => '', 'label' => Mage::helper('channable')->__('-- none'));
 
 
 
23
  $backend_types = array('text', 'select', 'textarea', 'date', 'int', 'boolean', 'static', 'varchar', 'decimal');
24
  $attributes = Mage::getResourceModel('catalog/product_attribute_collection')->setOrder('frontend_label','ASC')->addFieldToFilter('backend_type', $backend_types);
25
  foreach($attributes as $attribute) {
26
  if($attribute->getData('frontend_label')) {
27
- $optionArray[] = array(
28
- 'value' => $attribute->getData('attribute_code'),
29
- 'label' => str_replace("'", "", $attribute->getData('frontend_label')),
30
- );
31
  }
 
 
 
 
32
  }
33
  return $optionArray;
34
  }
14
  * @license http://www.magmodules.eu/license-agreement/
15
  * =============================================================
16
  */
17
+
18
  class Magmodules_Channable_Model_Adminhtml_System_Config_Source_Attribute {
19
 
20
  public function toOptionArray()
21
  {
22
  $optionArray = array();
23
  $optionArray[] = array('value' => '', 'label' => Mage::helper('channable')->__('-- none'));
24
+ $optionArray[] = array('label' => Mage::helper('channable')->__('- Product ID'), 'value' => 'entity_id');
25
+ $optionArray[] = array('label' => Mage::helper('channable')->__('- Final Price'), 'value' => 'final_price');
26
+ $optionArray[] = array('label' => Mage::helper('channable')->__('- Product Type'), 'value' => 'type_id');
27
  $backend_types = array('text', 'select', 'textarea', 'date', 'int', 'boolean', 'static', 'varchar', 'decimal');
28
  $attributes = Mage::getResourceModel('catalog/product_attribute_collection')->setOrder('frontend_label','ASC')->addFieldToFilter('backend_type', $backend_types);
29
  foreach($attributes as $attribute) {
30
  if($attribute->getData('frontend_label')) {
31
+ $label = str_replace("'", "", $attribute->getData('frontend_label'));
32
+ } else {
33
+ $label = str_replace("'", "", $attribute->getData('attribute_code'));
 
34
  }
35
+ $optionArray[] = array(
36
+ 'value' => $attribute->getData('attribute_code'),
37
+ 'label' => $label,
38
+ );
39
  }
40
  return $optionArray;
41
  }
app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Source/Conditions.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magmodules.eu - http://www.magmodules.eu - info@magmodules.eu
4
+ * =============================================================
5
+ * NOTICE OF LICENSE [Single domain license]
6
+ * This source file is subject to the EULA that is
7
+ * available through the world-wide-web at:
8
+ * http://www.magmodules.eu/license-agreement/
9
+ * =============================================================
10
+ * @category Magmodules
11
+ * @package Magmodules_Channable
12
+ * @author Magmodules <info@magmodules.eu>
13
+ * @copyright Copyright (c) 2015 (http://www.magmodules.eu)
14
+ * @license http://www.magmodules.eu/license-agreement/
15
+ * =============================================================
16
+ */
17
+
18
+ class Magmodules_Channable_Model_Adminhtml_System_Config_Source_Conditions {
19
+
20
+ public function toOptionArray() {
21
+ $type = array();
22
+ $type[] = array('value'=> '', 'label'=> Mage::helper('channable')->__(''));
23
+ $type[] = array('value'=> 'eq', 'label'=> Mage::helper('channable')->__('Equal'));
24
+ $type[] = array('value'=> 'neq', 'label'=> Mage::helper('channable')->__('Not equal'));
25
+ $type[] = array('value'=> 'gt', 'label'=> Mage::helper('channable')->__('Greater than'));
26
+ $type[] = array('value'=> 'gteq', 'label'=> Mage::helper('channable')->__('Greater than or equal to'));
27
+ $type[] = array('value'=> 'lt', 'label'=> Mage::helper('channable')->__('Less than'));
28
+ $type[] = array('value'=> 'lteg', 'label'=> Mage::helper('channable')->__('Less than or equal to'));
29
+ $type[] = array('value'=> 'in', 'label'=> Mage::helper('channable')->__('In'));
30
+ $type[] = array('value'=> 'nin', 'label'=> Mage::helper('channable')->__('Not in'));
31
+ $type[] = array('value'=> 'like', 'label'=> Mage::helper('channable')->__('Like'));
32
+ $type[] = array('value'=> 'empty', 'label'=> Mage::helper('channable')->__('Empty'));
33
+ $type[] = array('value'=> 'not-empty', 'label'=> Mage::helper('channable')->__('Not Empty'));
34
+ return $type;
35
+ }
36
+
37
+ }
app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Source/Countries.php CHANGED
@@ -17,12 +17,13 @@
17
 
18
  class Magmodules_Channable_Model_Adminhtml_System_Config_Source_Countries {
19
 
20
- public function toOptionArray() {
 
21
  $countries = array();
22
- $countries[] = array('value'=> '', 'label'=> Mage::helper('channable')->__('NL & BE'));
23
- $countries[] = array('value'=> 'NL', 'label'=> Mage::helper('channable')->__('The Netherlands'));
24
- $countries[] = array('value'=> 'BE', 'label'=> Mage::helper('channable')->__('Belgium'));
25
- return $countries;
26
  }
27
 
28
  }
17
 
18
  class Magmodules_Channable_Model_Adminhtml_System_Config_Source_Countries {
19
 
20
+ public function toOptionArray()
21
+ {
22
  $countries = array();
23
+ $countries[] = array('value' => '', 'label' => Mage::helper('channable')->__('-- All Countries'));
24
+ $source = Mage::getModel('adminhtml/system_config_source_country')->toOptionArray();
25
+ unset($source[0]);
26
+ return array_merge($countries, $source);
27
  }
28
 
29
  }
app/code/community/Magmodules/Channable/Model/Adminhtml/System/Config/Source/Shipping.php CHANGED
@@ -19,8 +19,8 @@ class Magmodules_Channable_Model_Adminhtml_System_Config_Source_Shipping {
19
 
20
  public function toOptionArray() {
21
  $type = array();
22
- $type[] = array('value' => 'price', 'label'=> Mage::helper('channable')->__('Based on product price'));
23
- $type[] = array('value' => 'weight', 'label'=> Mage::helper('channable')->__('Based on product weight'));
24
  return $type;
25
  }
26
 
19
 
20
  public function toOptionArray() {
21
  $type = array();
22
+ $type[] = array('value' => 'price', 'label'=> Mage::helper('channable')->__('Price'));
23
+ $type[] = array('value' => 'weight', 'label'=> Mage::helper('channable')->__('Weight'));
24
  return $type;
25
  }
26
 
app/code/community/Magmodules/Channable/Model/Channable.php CHANGED
@@ -23,12 +23,13 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
23
  $config = $this->getFeedConfig($storeId);
24
  $clean = $this->cleanItemUpdates($storeId, $page);
25
  $products = $this->getProducts($config, $config['limit'], $page);
26
- if($feed = $this->getFeedData($products, $config, $time_start)) {
 
27
  return $feed;
28
  }
29
  }
30
 
31
- public function getFeedData($products, $config, $time_start)
32
  {
33
  $count = $this->getProducts($config, '', '', 'count');
34
  foreach($products as $product) {
@@ -39,7 +40,7 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
39
  foreach($product_data as $key => $value) {
40
  if(!is_array($value)) { $product_row[$key] = $value; }
41
  }
42
- if($extra_data = $this->getExtraDataFields($product_data, $config, $product)) {
43
  $product_row = array_merge($product_row, $extra_data);
44
  }
45
  $feed['products'][] = $product_row;
@@ -79,7 +80,8 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
79
  $config['version'] = (string)Mage::getConfig()->getNode()->modules->Magmodules_Channable->version;
80
  $config['media_gallery_id'] = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('catalog_product', 'media_gallery');
81
  $config['item_updates'] = Mage::getStoreConfig('channable_api/item/enabled', $storeId);
82
-
 
83
  // PRODUCT & CATEGORY
84
  $config['filter_enabled'] = Mage::getStoreConfig('channable/filter/category_enabled', $storeId);
85
  $config['filter_cat'] = Mage::getStoreConfig('channable/filter/categories', $storeId);
@@ -174,21 +176,25 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
174
  return Mage::helper('channable')->addAttributeData($attributes, $config);
175
  }
176
 
177
- protected function getPrices($data)
178
  {
179
  $prices = array();
180
- $prices['price'] = $data['price'];
181
- $prices['special_price'] = '';
182
- $prices['special_price_from'] = '';
183
- $prices['special_price_to'] = '';
184
- if(isset($data['sales_price'])) {
185
- $prices['price'] = $data['regular_price'];
186
- $prices['special_price'] = $data['sales_price'];
187
- if(isset($data['sales_date_start'])) {
188
- $prices['special_price_from'] = $data['sales_date_start'];
189
- }
190
- if(isset($data['sales_date_end'])) {
191
- $prices['special_price_to'] = $data['sales_date_end'];
 
 
 
 
192
  }
193
  }
194
  return $prices;
@@ -231,21 +237,23 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
231
  $cal_value = $data['price']['final_price_clean'];
232
  }
233
  }
234
- foreach($config['shipping_prices'] as $shipping_price) {
235
- if(($cal_value >= $shipping_price['price_from']) && ($cal_value <= $shipping_price['price_to'])) {
236
- $shipping_cost = $shipping_price['cost'];
237
- $shipping_cost = number_format($shipping_cost, 2, '.', '');
238
- if(empty($shipping_price['country'])) {
239
- $shipping_array['shipping'] = $shipping_cost;
240
- $shipping_array['shipping_be'] = $shipping_cost;
241
- } else {
242
- if($shipping_price['country'] == 'BE') {
243
- $shipping_array['shipping_be'] = $shipping_cost;
244
  } else {
245
- $shipping_array['shipping'] = $shipping_cost;
246
- }
 
 
 
 
247
  }
248
- }
249
  }
250
  return $shipping_array;
251
  }
@@ -303,11 +311,11 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
303
  return $_images;
304
  }
305
 
306
- protected function getExtraDataFields($product_data, $config, $product)
307
  {
308
  $_extra = array();
309
  if(!empty($product_data['price'])) {
310
- if($_prices = $this->getPrices($product_data['price'])) {
311
  $_extra = array_merge($_extra, $_prices);
312
  }
313
  }
@@ -345,7 +353,8 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
345
  return $header;
346
  }
347
 
348
- protected function cleanItemUpdates($storeId, $page) {
 
349
  if(empty($page)) {
350
  if(Mage::helper('core')->isModuleEnabled('Magmodules_Channableapi')) {
351
  Mage::getModel('channableapi/items')->cleanItemStore($storeId);
@@ -353,7 +362,8 @@ class Magmodules_Channable_Model_Channable extends Magmodules_Channable_Model_Co
353
  }
354
  }
355
 
356
- protected function processItemUpdates($product_row, $store_id) {
 
357
  if(Mage::helper('core')->isModuleEnabled('Magmodules_Channableapi')) {
358
  Mage::getModel('channableapi/items')->saveItemFeed($product_row, $store_id);
359
  }
23
  $config = $this->getFeedConfig($storeId);
24
  $clean = $this->cleanItemUpdates($storeId, $page);
25
  $products = $this->getProducts($config, $config['limit'], $page);
26
+ $prices = Mage::helper('channable')->getTypePrices($config, $products);
27
+ if($feed = $this->getFeedData($products, $config, $time_start, $prices)) {
28
  return $feed;
29
  }
30
  }
31
 
32
+ public function getFeedData($products, $config, $time_start, $prices)
33
  {
34
  $count = $this->getProducts($config, '', '', 'count');
35
  foreach($products as $product) {
40
  foreach($product_data as $key => $value) {
41
  if(!is_array($value)) { $product_row[$key] = $value; }
42
  }
43
+ if($extra_data = $this->getExtraDataFields($product_data, $config, $product, $prices)) {
44
  $product_row = array_merge($product_row, $extra_data);
45
  }
46
  $feed['products'][] = $product_row;
80
  $config['version'] = (string)Mage::getConfig()->getNode()->modules->Magmodules_Channable->version;
81
  $config['media_gallery_id'] = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('catalog_product', 'media_gallery');
82
  $config['item_updates'] = Mage::getStoreConfig('channable_api/item/enabled', $storeId);
83
+ $config['filters'] = @unserialize(Mage::getStoreConfig('channable/filter/advanced', $storeId));
84
+
85
  // PRODUCT & CATEGORY
86
  $config['filter_enabled'] = Mage::getStoreConfig('channable/filter/category_enabled', $storeId);
87
  $config['filter_cat'] = Mage::getStoreConfig('channable/filter/categories', $storeId);
176
  return Mage::helper('channable')->addAttributeData($attributes, $config);
177
  }
178
 
179
+ protected function getPrices($data, $conf_prices, $id)
180
  {
181
  $prices = array();
182
+ if(!empty($conf_prices[$id])) {
183
+ $prices['price'] = $conf_prices[$id];
184
+ } else {
185
+ $prices['price'] = $data['price'];
186
+ $prices['special_price'] = '';
187
+ $prices['special_price_from'] = '';
188
+ $prices['special_price_to'] = '';
189
+ if(isset($data['sales_price'])) {
190
+ $prices['price'] = $data['regular_price'];
191
+ $prices['special_price'] = $data['sales_price'];
192
+ if(isset($data['sales_date_start'])) {
193
+ $prices['special_price_from'] = $data['sales_date_start'];
194
+ }
195
+ if(isset($data['sales_date_end'])) {
196
+ $prices['special_price_to'] = $data['sales_date_end'];
197
+ }
198
  }
199
  }
200
  return $prices;
237
  $cal_value = $data['price']['final_price_clean'];
238
  }
239
  }
240
+
241
+ if(!empty($config['shipping_prices'])) {
242
+ foreach($config['shipping_prices'] as $shipping_price) {
243
+ if(($cal_value >= $shipping_price['price_from']) && ($cal_value <= $shipping_price['price_to'])) {
244
+ $shipping_cost = $shipping_price['cost'];
245
+ $shipping_cost = number_format($shipping_cost, 2, '.', '');
246
+ if(empty($shipping_price['country'])) {
247
+ $shipping_array['shipping'] = $shipping_cost;
 
 
248
  } else {
249
+ $label = 'shipping_' . strtolower($shipping_price['country']);
250
+ $shipping_array[$label] = $shipping_cost;
251
+ if(strtolower($shipping_price['country']) == 'nl') {
252
+ $shipping_array['shipping'] = $shipping_cost;
253
+ }
254
+ }
255
  }
256
+ }
257
  }
258
  return $shipping_array;
259
  }
311
  return $_images;
312
  }
313
 
314
+ protected function getExtraDataFields($product_data, $config, $product, $prices)
315
  {
316
  $_extra = array();
317
  if(!empty($product_data['price'])) {
318
+ if($_prices = $this->getPrices($product_data['price'], $prices, $product->getEntityId())) {
319
  $_extra = array_merge($_extra, $_prices);
320
  }
321
  }
353
  return $header;
354
  }
355
 
356
+ protected function cleanItemUpdates($storeId, $page)
357
+ {
358
  if(empty($page)) {
359
  if(Mage::helper('core')->isModuleEnabled('Magmodules_Channableapi')) {
360
  Mage::getModel('channableapi/items')->cleanItemStore($storeId);
362
  }
363
  }
364
 
365
+ protected function processItemUpdates($product_row, $store_id)
366
+ {
367
  if(Mage::helper('core')->isModuleEnabled('Magmodules_Channableapi')) {
368
  Mage::getModel('channableapi/items')->saveItemFeed($product_row, $store_id);
369
  }
app/code/community/Magmodules/Channable/Model/Common.php CHANGED
@@ -54,7 +54,8 @@ class Magmodules_Channable_Model_Common extends Mage_Core_Helper_Abstract {
54
 
55
  // All attributes
56
  $attributes = array();
57
- $attributes[] = 'url_path';
 
58
  $attributes[] = 'sku';
59
  $attributes[] = 'price';
60
  $attributes[] = 'final_price';
@@ -115,8 +116,40 @@ class Magmodules_Channable_Model_Common extends Mage_Core_Helper_Abstract {
115
  }
116
  }
117
 
118
- $collection->addAttributeToSelect($attributes);
119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  $collection->joinTable('cataloginventory/stock_item', 'product_id=entity_id', array("qty" => "qty", "stock_status" => "is_in_stock", "manage_stock" => "manage_stock", "use_config_manage_stock" => "use_config_manage_stock"))->addAttributeToSelect(array('qty', 'stock_status', 'manage_stock', 'use_config_manage_stock'));
121
  $collection->getSelect()->group('e.entity_id');
122
  $products = $collection->load();
54
 
55
  // All attributes
56
  $attributes = array();
57
+ $attributes[] = 'url_path';
58
+ $attributes[] = 'url_key';
59
  $attributes[] = 'sku';
60
  $attributes[] = 'price';
61
  $attributes[] = 'final_price';
116
  }
117
  }
118
 
119
+ $collection->addAttributeToSelect(array_unique($attributes));
120
 
121
+ if(!empty($config['filters'])) {
122
+ foreach($config['filters'] as $filter) {
123
+ $attribute = $filter['attribute'];
124
+ if($filter['type'] == 'select') {
125
+ $attribute = $filter['attribute'] . '_value';
126
+ }
127
+ $condition = $filter['condition'];
128
+ $value = $filter['value'];
129
+ switch ($condition) {
130
+ case 'nin':
131
+ if(strpos($value, ',') !== FALSE) { $value = explode(',', $value); }
132
+ $collection->addAttributeToFilter(array(array('attribute' => $attribute, $condition => $value), array('attribute' => $attribute, 'null' => true)));
133
+ break;
134
+ case 'in';
135
+ if(strpos($value, ',') !== FALSE) { $value = explode(',', $value); }
136
+ $collection->addAttributeToFilter($attribute, array($condition => $value));
137
+ break;
138
+ case 'neq':
139
+ $collection->addAttributeToFilter(array(array('attribute' => $attribute, $condition => $value), array('attribute' => $attribute, 'null' => true)));
140
+ break;
141
+ case 'empty':
142
+ $collection->addAttributeToFilter($attribute, array('null' => true));
143
+ break;
144
+ case 'not-empty':
145
+ $collection->addAttributeToFilter($attribute, array('notnull' => true));
146
+ break;
147
+ default:
148
+ $collection->addAttributeToFilter($attribute, array($condition => $value));
149
+ break;
150
+ }
151
+ }
152
+ }
153
  $collection->joinTable('cataloginventory/stock_item', 'product_id=entity_id', array("qty" => "qty", "stock_status" => "is_in_stock", "manage_stock" => "manage_stock", "use_config_manage_stock" => "use_config_manage_stock"))->addAttributeToSelect(array('qty', 'stock_status', 'manage_stock', 'use_config_manage_stock'));
154
  $collection->getSelect()->group('e.entity_id');
155
  $products = $collection->load();
app/code/community/Magmodules/Channable/etc/config.xml CHANGED
@@ -19,7 +19,7 @@
19
  <config>
20
  <modules>
21
  <Magmodules_Channable>
22
- <version>1.3.7</version>
23
  </Magmodules_Channable>
24
  </modules>
25
  <global>
19
  <config>
20
  <modules>
21
  <Magmodules_Channable>
22
+ <version>1.3.9</version>
23
  </Magmodules_Channable>
24
  </modules>
25
  <global>
app/code/community/Magmodules/Channable/etc/system.xml CHANGED
@@ -132,7 +132,7 @@
132
  <description translate="label">
133
  <label>Description</label>
134
  <frontend_type>select</frontend_type>
135
- <source_model>channable/adminhtml_system_config_source_textattribute</source_model>
136
  <sort_order>12</sort_order>
137
  <show_in_default>1</show_in_default>
138
  <show_in_website>1</show_in_website>
@@ -150,7 +150,7 @@
150
  <ean translate="label">
151
  <label>EAN-code</label>
152
  <frontend_type>select</frontend_type>
153
- <source_model>channable/adminhtml_system_config_source_textattribute</source_model>
154
  <sort_order>14</sort_order>
155
  <show_in_default>1</show_in_default>
156
  <show_in_website>1</show_in_website>
@@ -194,7 +194,7 @@
194
  <sku translate="label">
195
  <label>SKU</label>
196
  <frontend_type>select</frontend_type>
197
- <source_model>channable/adminhtml_system_config_source_textattribute</source_model>
198
  <sort_order>21</sort_order>
199
  <show_in_default>1</show_in_default>
200
  <show_in_website>1</show_in_website>
@@ -597,7 +597,24 @@
597
  <show_in_default>1</show_in_default>
598
  <show_in_website>1</show_in_website>
599
  <show_in_store>1</show_in_store>
600
- </stock>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
601
  </fields>
602
  </filter>
603
  <server translate="label" module="channable">
132
  <description translate="label">
133
  <label>Description</label>
134
  <frontend_type>select</frontend_type>
135
+ <source_model>channable/adminhtml_system_config_source_attribute</source_model>
136
  <sort_order>12</sort_order>
137
  <show_in_default>1</show_in_default>
138
  <show_in_website>1</show_in_website>
150
  <ean translate="label">
151
  <label>EAN-code</label>
152
  <frontend_type>select</frontend_type>
153
+ <source_model>channable/adminhtml_system_config_source_attribute</source_model>
154
  <sort_order>14</sort_order>
155
  <show_in_default>1</show_in_default>
156
  <show_in_website>1</show_in_website>
194
  <sku translate="label">
195
  <label>SKU</label>
196
  <frontend_type>select</frontend_type>
197
+ <source_model>channable/adminhtml_system_config_source_attribute</source_model>
198
  <sort_order>21</sort_order>
199
  <show_in_default>1</show_in_default>
200
  <show_in_website>1</show_in_website>
597
  <show_in_default>1</show_in_default>
598
  <show_in_website>1</show_in_website>
599
  <show_in_store>1</show_in_store>
600
+ </stock>
601
+ <advanced_heading translate="label">
602
+ <label>Advanced</label>
603
+ <frontend_model>channable/adminhtml_system_config_form_field_heading</frontend_model>
604
+ <sort_order>40</sort_order>
605
+ <show_in_default>1</show_in_default>
606
+ <show_in_website>1</show_in_website>
607
+ <show_in_store>1</show_in_store>
608
+ </advanced_heading>
609
+ <advanced>
610
+ <label>Advanced Filter</label>
611
+ <frontend_model>channable/adminhtml_config_form_field_filter</frontend_model>
612
+ <backend_model>channable/adminhtml_system_config_backend_design_filter</backend_model>
613
+ <sort_order>42</sort_order>
614
+ <show_in_default>1</show_in_default>
615
+ <show_in_website>1</show_in_website>
616
+ <show_in_store>1</show_in_store>
617
+ </advanced>
618
  </fields>
619
  </filter>
620
  <server translate="label" module="channable">
app/locale/en_US/Magmodules_Channable.csv CHANGED
@@ -2,60 +2,96 @@
2
  "-- none","-- none"
3
  "Each store view will have their own Channable feed. Use the auto connect button to connect the Feed with your Channable account.","Each store view will have their own Channable feed. Use the auto connect button to connect the Feed with your Channable account."
4
  "Add Attribute","Add Attribute"
5
- "Add Option","Add Option"
6
  "Always Use Parent Data","Always Use Parent Data"
7
- "Additional Fields","Additional Fields"
 
8
  "Attribute","Attribute"
9
  "Brand","Brand"
 
 
10
  "Channable Connect","Channable Connect"
11
  "Color","Color"
12
- "Cost","Cost"
 
 
 
13
  "Connector Code","Connector Code"
 
 
 
 
14
  "Data Selection","Data Selection"
15
  "Delivery Time","Delivery Time"
16
- "Delivery Time - In Stock","Delivery Time - In Stock"
17
- "Delivery Time - Out of Stock","Delivery Time - Out of Stock"
 
 
18
  "Description","Description"
19
  "EAN-code","EAN-code"
 
20
  "Enabled","Enabled"
21
- "Exclude out of stock products","Exclude out of stock products"
22
  "Enabled Feed","Enabled Feed"
 
 
23
  "Extra Fields","Extra Fields"
24
  "Feeds - Available","Feeds - Available"
 
 
25
  "Gender","Gender"
26
  "General - Settings","General - Settings"
27
- "General Fields","General Fields"
 
28
  "Licence","Licence"
29
  "License Key","License Key"
30
  "Magento Attribute","Magento Attribute"
31
  "Magmodules","Magmodules"
 
32
  "Material","Material"
33
  "Products - Configurable Products","Products - Configurable Products"
34
- "Price From","Price From"
35
- "Price To","Price To"
 
36
  "Products - Data","Products - Data"
37
  "Products - Data Extra fields & Shipping","Products - Data Extra fields & Shipping"
38
- "Products per feed","Products per feed"
 
39
  "SKU","SKU"
40
  "Set the configurable products to your needs with the option to always use the parent data from the product inside the configurable product, only when the data is not available (as a fallback) or to use the simple product data anytime.","Set the configurable products to your needs with the option to always use the parent data from the product inside the configurable product, only when the data is not available (as a fallback) or to use the simple product data anytime."
41
  "Send Status","Send Status"
42
  "Send Stock Level","Send Stock Level"
43
  "Server Name","Server Name"
 
 
44
  "Settings","Settings"
45
  "Shipping Price","Shipping Price"
46
  "Size","Size"
47
  "Static","Static"
48
  "Stock","Stock"
 
49
  "Strip Tags","Strip Tags"
50
  "Fill in a valid Channable Connector code and set a product limit to your Feed whenever you want this, use 0 to export all your products into the Channable Feed. You can also enable or disable the Feed generation on certain Store Views.","Fill in a valid Channable Connector code and set a product limit to your Feed whenever you want this, use 0 to export all your products into the Channable Feed. You can also enable or disable the Feed generation on certain Store Views."
51
  "Text","Text"
52
- "Add all your attributes into the Channable Feed to create a high quality data feed. We recommend that you use as many attributes to make your feed even more valuable. Enter the shipping price in the fields below the extra fields.","Add all your attributes into the Channable Feed to create a high quality data feed. We recommend that you use as many attributes to make your feed even more valuable. Enter the shipping price in the fields below the extra fields."
53
- "This section lists all the standard attributes for the Channable Feed. The more attributes you use the better you can use the data in Channable. To avoid errors in Channable feed please make sure that you provide most available attributes.","This section lists all the standard attributes for the Channable Feed. The more attributes you use the better you can use the data in Channable. To avoid errors in Channable feed please make sure that you provide most available attributes."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  "Title","Title"
55
  "Type","Type"
56
- "Overwrite server settings","Overwrite server settings"
57
- "Use Attribute","Use Attribute"
58
- "Use Simple Product Data","Use Simple Product Data"
59
- "Use Parent Data as fallback","Use Parent Data as fallback"
60
- "This overwrites the maximum amount of memory in bytes that a script is allowed to allocate eg 1024M.","This overwrites the maximum amount of memory in bytes that a script is allowed to allocate eg 1024M."
61
- "The Max Execution Time","Maximale uitvoertijd"
2
  "-- none","-- none"
3
  "Each store view will have their own Channable feed. Use the auto connect button to connect the Feed with your Channable account.","Each store view will have their own Channable feed. Use the auto connect button to connect the Feed with your Channable account."
4
  "Add Attribute","Add Attribute"
 
5
  "Always Use Parent Data","Always Use Parent Data"
6
+ "Add Option","Add Option"
7
+ "The Additional Fields","The Additional Fields"
8
  "Attribute","Attribute"
9
  "Brand","Brand"
10
+ "Based on product price","Based on product price"
11
+ "Based on product weight","Based on product weight"
12
  "Channable Connect","Channable Connect"
13
  "Color","Color"
14
+ "Country","Country"
15
+ "Category","Category"
16
+ "Configurable Switch Urls","Configurable Switch Urls"
17
+ "Name","Name"
18
  "Connector Code","Connector Code"
19
+ "Configurable & Grouped data linkage","Configurable & Grouped data linkage"
20
+ "cost","cost"
21
+ "Click to auto connect with Channable","Click to auto connect with Channable"
22
+ "Create a specific url for the simple products inside the configurable products to make sure the prices and information is correct.","Create a specific url for the simple products inside the configurable products to make sure the prices and information is correct."
23
  "Data Selection","Data Selection"
24
  "Delivery Time","Delivery Time"
25
+ "Delivery Time for In Stock","Delivery Time for In Stock"
26
+ "Delivery Time for Out of Stock","Delivery Time for Out of Stock"
27
+ "Delivery Time for The Netherlands","Delivery Time for The Netherlands"
28
+ "Delivery Time for Belgium","Delivery Time for Belgium"
29
  "Description","Description"
30
  "EAN-code","EAN-code"
31
+ "Exclude Products by Stock level","Exclude Products by Stock level"
32
  "Enabled","Enabled"
33
+ "Grouped Price","Grouped Price"
34
  "Enabled Feed","Enabled Feed"
35
+ "Exclude the out of stock products","Exclude the out of stock products"
36
+ "Exclude Products on Stock level","Exclude Products on Stock level"
37
  "Extra Fields","Extra Fields"
38
  "Feeds - Available","Feeds - Available"
39
+ "Filter based on Category","Filter based on Category"
40
+ "Force the Tax Usage","Force the Tax Usage"
41
  "Gender","Gender"
42
  "General - Settings","General - Settings"
43
+ "The General Fields","The General Fields"
44
+ "Limits the amount of product Channable will import per run. This setting wil not limit the total products sent to Channable!","Limits the amount of product Channable will import per run. This setting wil not limit the total products sent to Channable!"
45
  "Licence","Licence"
46
  "License Key","License Key"
47
  "Magento Attribute","Magento Attribute"
48
  "Magmodules","Magmodules"
49
+ "Manually Add the Tax","Manually Add the Tax"
50
  "Material","Material"
51
  "Products - Configurable Products","Products - Configurable Products"
52
+ "Price from","Price from"
53
+ "Price to","Price to"
54
+ "Products per page","Products per page"
55
  "Products - Data","Products - Data"
56
  "Products - Data Extra fields & Shipping","Products - Data Extra fields & Shipping"
57
+ "Products per feed",""Products per feed"
58
+ "Price Customization","Price Customization"
59
  "SKU","SKU"
60
  "Set the configurable products to your needs with the option to always use the parent data from the product inside the configurable product, only when the data is not available (as a fallback) or to use the simple product data anytime.","Set the configurable products to your needs with the option to always use the parent data from the product inside the configurable product, only when the data is not available (as a fallback) or to use the simple product data anytime."
61
  "Send Status","Send Status"
62
  "Send Stock Level","Send Stock Level"
63
  "Server Name","Server Name"
64
+ "Shipping Calculation method","Shipping Calculation method"
65
+ "The Shipping Price","The Shipping Price"
66
  "Settings","Settings"
67
  "Shipping Price","Shipping Price"
68
  "Size","Size"
69
  "Static","Static"
70
  "Stock","Stock"
71
+ "Default Image","Default Image"
72
  "Strip Tags","Strip Tags"
73
  "Fill in a valid Channable Connector code and set a product limit to your Feed whenever you want this, use 0 to export all your products into the Channable Feed. You can also enable or disable the Feed generation on certain Store Views.","Fill in a valid Channable Connector code and set a product limit to your Feed whenever you want this, use 0 to export all your products into the Channable Feed. You can also enable or disable the Feed generation on certain Store Views."
74
  "Text","Text"
75
+ "Use default price","Use default price"
76
+ "Use minimum price","Use minimum price"
77
+ "Use maximum price","Use maximum price"
78
+ "Use total price","Use total price"
79
+ "Use Attribute","Use Attribute"
80
+ "Include the Weight Field","Include the Weight Field"
81
+ "Include by category","Include by category"
82
+ "Use the Parent Data for Simple","Use the Parent Data for Simple"
83
+ "Use the parent data","Use the parent data"
84
+ "Overwrite the server settings","Overwrite the server settings"
85
+ "The Memory Limit","The Memory Limit"
86
+ "Type of the filter","Type of the filter"
87
+ "This overwrites the maximum amount of memory in bytes that a script is allowed to allocate, eg 1024M.","This overwrites the maximum amount of memory in bytes that a script is allowed to allocate, eg 1024M."
88
+ "Max Execution Time","Max Execution Time"
89
+ "This overwrites the maximum time in seconds a script is allowed to run before it is terminated by the parser, eg: 300 (for 5 minutes).","This overwrites the maximum time in seconds a script is allowed to run before it is terminated by the parser, eg: 300 (for 5 minutes)."
90
+ "Only use this option if it's necessary to overwrite this setting because of your server memory limit or execution time.","Only use this option if it's necessary to overwrite this setting because of your server memory limit or execution time."
91
+ "The Weight Units","The Weight Units"
92
+ "We recommend adding as many attributes as possible to the Channable feed as this will greatly improve the quality of your data. Enter the Shipping Price by using the designated extra field.","We recommend adding as many attributes as possible to the Channable feed as this will greatly improve the quality of your data. Enter the Shipping Price by using the designated extra field."
93
+ "In this section you will see listed all of the standard attributes needed for the Channable Connect. In order to prevent some errors please fill in as many attributes as you can, this will also improve the usability of your data on the Channable platform.","In this section you will see listed all of the standard attributes needed for the Channable Connect. In order to prevent some errors please fill in as many attributes as you can, this will also improve the usability of your data on the Channable platform."
94
  "Title","Title"
95
  "Type","Type"
96
+ "The Max Execution Time","The Max Execution Time"
97
+ "This option allows you to include/exclude product from the Channable feed. <br>","This option allows you to include/exclude product from the Channable feed. <br>"
 
 
 
 
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Magmodules_Channable</name>
4
- <version>1.3.7</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.magmodules.eu/license-agreement/">Single Server License</license>
7
  <channel>community</channel>
@@ -9,10 +9,10 @@
9
  <summary>Magmodules_Channable</summary>
10
  <description>Magmodules_Channable</description>
11
  <notes>Channable Connect</notes>
12
- <authors><author><name>Magmodules</name><user>auto-converted</user><email>info@magmodules.nl</email></author></authors>
13
- <date>2016-03-29</date>
14
- <time>09:50:11</time>
15
- <contents><target name="magecommunity"><dir name="Magmodules"><dir name="Channable"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Extra.php" hash="73e9ccaafacba4153962b37a8038c1ad"/><file name="Shipping.php" hash="7f15ea3b4fed5dcb20b37a78dd84cf5d"/></dir><dir name="Renderer"><file name="Select.php" hash="90a71e109a5f96bca26209c922a74961"/></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Feeds.php" hash="e1127c67a55f163e0c17ae54111b4538"/><file name="Heading.php" hash="cf8597dec6375bbf35014e1a491605d6"/><file name="Note.php" hash="6d7c8056bf0418ab6008dd86ed1d93ca"/><file name="Token.php" hash="d6f89e494288e7d90525d8067a7bb1de"/><file name="Version.php" hash="7be709c731b412258539184c3c4e01dd"/></dir></dir></dir></dir><dir name="Widget"><dir name="Info"><file name="Info.php" hash="17c31e6f59f5a77cdc5f3e7d4b20aaa3"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="e785c3cac671175e139a78cbb8d39cf3"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Design"><file name="Extra.php" hash="6f888d0db7ed195c93a84748dd0a0c94"/><file name="Shipping.php" hash="6bea82000c4341ff2c5a9b05c992406c"/></dir></dir><dir name="Source"><file name="Action.php" hash="d655c22564992e02daccd9aac650358a"/><file name="Attribute.php" hash="5ac290ddee216c0e823aa3543d902054"/><file name="Category.php" hash="bad1adc7e7890cfa5b83de0cd7a16835"/><file name="Categorytype.php" hash="7284943e01d7fe3346da7233ea827086"/><file name="Configurable.php" hash="08f157df27a2424e1a91d81bc1a572a7"/><file name="Countries.php" hash="5d382aeec5a685381026571ff2201593"/><file name="Images.php" hash="d1c8294e6434fa3b0c03635b45964cc0"/><file name="Mainimage.php" hash="c85a8c05df234c188a0aff45a93a6b5c"/><file name="Name.php" hash="86af909704dc4f9320f2154d7c38ff4b"/><file name="Pricemodel.php" hash="359aeff8e7dc6099f55c493abed92a75"/><file name="Selectattribute.php" hash="5579305934bb5b51a443cc9525215975"/><file name="Shipping.php" hash="7f6f98ed747d4c396dd1d1cd7ab205f8"/><file name="Tax.php" hash="1b50c014c9e204e60cbbfcb883c76a9b"/><file name="Textattribute.php" hash="ea0a682c8a1aa0b51ee3e529c60fcbe8"/><file name="Type.php" hash="ffe6276231f501ac35943d3a83c77447"/><file name="Visibility.php" hash="c2e80831d9d8b5fc6cd642a590812a56"/><file name="Weight.php" hash="ba1e3c862ea2779c275d3d267b819435"/></dir></dir></dir></dir><file name="Channable.php" hash="3deff03e109f6e565635882ee02b141f"/><file name="Common.php" hash="35f99fa819869c67f930eb6ef34882bb"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ChannableController.php" hash="e6110aeea10eca08da781c70206f6ed9"/></dir><file name="FeedController.php" hash="e2b205016ebdc274835165111b1ed7f9"/></dir><dir name="etc"><file name="adminhtml.xml" hash="f6d3e3176f08cd111e0655837c3365dd"/><file name="config.xml" hash="30ffdf144357201ad79cfc631112c339"/><file name="system.xml" hash="e3c476523126346c9d3c1aee47964a9b"/></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Magmodules_Channable.csv" hash="6a30f9869021b3f87b52b0cc208e51a8"/></dir><dir name="nl_NL"><file name="Magmodules_Channable.csv" hash="30a461177468e5333da3ee2aff99594d"/></dir></target><target name="mageetc"><dir name="modules"><file name="Magmodules_Channable.xml" hash="061032d718f1ddd64de211fc7133685c"/></dir></target></contents>
16
  <compatible/>
17
- <dependencies/>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Magmodules_Channable</name>
4
+ <version>1.3.9</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.magmodules.eu/license-agreement/">Single Server License</license>
7
  <channel>community</channel>
9
  <summary>Magmodules_Channable</summary>
10
  <description>Magmodules_Channable</description>
11
  <notes>Channable Connect</notes>
12
+ <authors><author><name>Magmodules</name><user>magmodules</user><email>info@magmodules.nl</email></author></authors>
13
+ <date>2016-06-07</date>
14
+ <time>13:25:29</time>
15
+ <contents><target name="magecommunity"><dir name="Magmodules"><dir name="Channable"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Extra.php" hash="73e9ccaafacba4153962b37a8038c1ad"/><file name="Filter.php" hash="b64842b1a7bbe5b879468c034ade22bd"/><file name="Shipping.php" hash="7f15ea3b4fed5dcb20b37a78dd84cf5d"/></dir><dir name="Renderer"><file name="Select.php" hash="90a71e109a5f96bca26209c922a74961"/></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Feeds.php" hash="e1127c67a55f163e0c17ae54111b4538"/><file name="Heading.php" hash="cf8597dec6375bbf35014e1a491605d6"/><file name="Note.php" hash="6d7c8056bf0418ab6008dd86ed1d93ca"/><file name="Token.php" hash="d6f89e494288e7d90525d8067a7bb1de"/><file name="Version.php" hash="7be709c731b412258539184c3c4e01dd"/></dir></dir></dir></dir><dir name="Widget"><dir name="Info"><file name="Info.php" hash="4abe7d91ead4b6b3ca4bd4959c1dc160"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="acad62b82064676211f7ae058cd3c6d1"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Design"><file name="Extra.php" hash="6f888d0db7ed195c93a84748dd0a0c94"/><file name="Filter.php" hash="4e1e20017d8f55c4bea0b0130425350f"/><file name="Shipping.php" hash="6bea82000c4341ff2c5a9b05c992406c"/></dir></dir><dir name="Source"><file name="Action.php" hash="d655c22564992e02daccd9aac650358a"/><file name="Attribute.php" hash="7665ed3b4facecda30eb88812b559acc"/><file name="Category.php" hash="bad1adc7e7890cfa5b83de0cd7a16835"/><file name="Categorytype.php" hash="7284943e01d7fe3346da7233ea827086"/><file name="Conditions.php" hash="aeb42d43282065fda73860f6a6d9da46"/><file name="Configurable.php" hash="08f157df27a2424e1a91d81bc1a572a7"/><file name="Countries.php" hash="ca6b39297950c9800059c34f7307d627"/><file name="Images.php" hash="d1c8294e6434fa3b0c03635b45964cc0"/><file name="Mainimage.php" hash="c85a8c05df234c188a0aff45a93a6b5c"/><file name="Name.php" hash="86af909704dc4f9320f2154d7c38ff4b"/><file name="Pricemodel.php" hash="359aeff8e7dc6099f55c493abed92a75"/><file name="Selectattribute.php" hash="5579305934bb5b51a443cc9525215975"/><file name="Shipping.php" hash="da2a147c1b6cf21a9f6f47e0456524dd"/><file name="Tax.php" hash="1b50c014c9e204e60cbbfcb883c76a9b"/><file name="Textattribute.php" hash="ea0a682c8a1aa0b51ee3e529c60fcbe8"/><file name="Type.php" hash="ffe6276231f501ac35943d3a83c77447"/><file name="Visibility.php" hash="c2e80831d9d8b5fc6cd642a590812a56"/><file name="Weight.php" hash="ba1e3c862ea2779c275d3d267b819435"/></dir></dir></dir></dir><file name="Channable.php" hash="66930e21c1df5603907dc34438d858e8"/><file name="Common.php" hash="2b0d9b6e5e49369437bb2febd00c5631"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ChannableController.php" hash="e6110aeea10eca08da781c70206f6ed9"/></dir><file name="FeedController.php" hash="e2b205016ebdc274835165111b1ed7f9"/></dir><dir name="etc"><file name="adminhtml.xml" hash="f6d3e3176f08cd111e0655837c3365dd"/><file name="config.xml" hash="1111708bd16ae095d77a0ebd2993c039"/><file name="system.xml" hash="a899289abe17ad825fcac279374743c1"/></dir></dir></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="Magmodules_Channable.csv" hash="b7f6f15de57f502ccf1c98e71006a823"/></dir><dir name="nl_NL"><file name="Magmodules_Channable.csv" hash="30a461177468e5333da3ee2aff99594d"/></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Magmodules_Channable.xml" hash="061032d718f1ddd64de211fc7133685c"/></dir></target></contents>
16
  <compatible/>
17
+ <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>