Autocart_Extension - Version 1.0.0

Version Notes

First Release

Download this release

Release Info

Developer Unicode Systems
Extension Autocart_Extension
Version 1.0.0
Comparing to
See all releases


Version 1.0.0

Files changed (23) hide show
  1. app/code/community/Uni/Autocart/Block/Adminhtml/Autocart.php +20 -0
  2. app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit.php +43 -0
  3. app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit/Form.php +29 -0
  4. app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit/Tab/Form.php +42 -0
  5. app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit/Tab/Form2.php +71 -0
  6. app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit/Tab/Form3.php +24 -0
  7. app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit/Tab/Product.php +113 -0
  8. app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit/Tabs.php +44 -0
  9. app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Grid.php +112 -0
  10. app/code/community/Uni/Autocart/Block/Autocart.php +26 -0
  11. app/code/community/Uni/Autocart/Helper/Data.php +12 -0
  12. app/code/community/Uni/Autocart/Model/Autocart.php +18 -0
  13. app/code/community/Uni/Autocart/Model/Mysql4/Autocart.php +18 -0
  14. app/code/community/Uni/Autocart/Model/Mysql4/Autocart/Collection.php +19 -0
  15. app/code/community/Uni/Autocart/Model/Observer.php +45 -0
  16. app/code/community/Uni/Autocart/controllers/Adminhtml/AutocartController.php +167 -0
  17. app/code/community/Uni/Autocart/controllers/IndexController.php +19 -0
  18. app/code/community/Uni/Autocart/etc/adminhtml.xml +45 -0
  19. app/code/community/Uni/Autocart/etc/config.xml +95 -0
  20. app/code/community/Uni/Autocart/sql/autocart_setup/mysql4-install-1.0.0.php +31 -0
  21. app/design/adminhtml/default/default/layout/autocart.xml +40 -0
  22. app/etc/modules/Uni_Autocart.xml +19 -0
  23. package.xml +18 -0
app/code/community/Uni/Autocart/Block/Adminhtml/Autocart.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Block_Adminhtml_Autocart extends Mage_Adminhtml_Block_Widget_Grid_Container {
11
+
12
+ public function __construct() {
13
+ $this->_controller = 'adminhtml_autocart';
14
+ $this->_blockGroup = 'autocart';
15
+ $this->_headerText = Mage::helper('autocart')->__('Manage Auto Add To Cart Rules');
16
+ $this->_addButtonLabel = Mage::helper('autocart')->__('Add New Rule');
17
+ parent::__construct();
18
+ }
19
+
20
+ }
app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Block_Adminhtml_Autocart_Edit extends Mage_Adminhtml_Block_Widget_Form_Container {
11
+
12
+ public function __construct() {
13
+ parent::__construct();
14
+
15
+ $this->_objectId = 'id';
16
+ $this->_blockGroup = 'autocart';
17
+ $this->_controller = 'adminhtml_autocart';
18
+ $this->_mode = 'edit';
19
+ $this->_updateButton('save', 'label', Mage::helper('autocart')->__('Save Rule'));
20
+ $this->_updateButton('delete', 'label', Mage::helper('autocart')->__('Delete Rule'));
21
+ $this->_addButton("saveandcontinue", array(
22
+ "label" => Mage::helper("autocart")->__("Save And Continue Edit"),
23
+ "onclick" => "saveAndContinueEdit()",
24
+ "class" => "save",
25
+ ), -100);
26
+ $this->_formScripts[] = "
27
+ function saveAndContinueEdit(){
28
+ editForm.submit($('edit_form').action+'back/edit/');
29
+ }
30
+ ";
31
+ $model = Mage::getModel('autocart/autocart')->load($this->getRequest()->getParam($this->_objectId));
32
+ Mage::register('autocart', $model);
33
+ }
34
+
35
+ public function getHeaderText() {
36
+ if (Mage::registry('autocart') && Mage::registry('autocart')->getId()) {
37
+ return Mage::helper('autocart')->__('Edit Rule');
38
+ } else {
39
+ return Mage::helper('autocart')->__('Add Rule');
40
+ }
41
+ }
42
+
43
+ }
app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit/Form.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+
11
+ class Uni_Autocart_Block_Adminhtml_Autocart_Edit_Form extends Mage_Adminhtml_Block_Widget_Form {
12
+
13
+ protected function _prepareForm() {
14
+ $form = new Varien_Data_Form(array(
15
+ "id" => "edit_form",
16
+ "action" => $this->getUrl("*/*/save", array("id" => $this->getRequest()->getParam("id"))),
17
+ "method" => "post",
18
+ "enctype" => "multipart/form-data",
19
+ )
20
+ );
21
+ if (Mage::registry('autocart')) {
22
+ $form->setValues(Mage::registry('autocart')->getData());
23
+ }
24
+ $form->setUseContainer(true);
25
+ $this->setForm($form);
26
+ return parent::_prepareForm();
27
+ }
28
+
29
+ }
app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit/Tab/Form.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Block_Adminhtml_Autocart_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form {
11
+
12
+ protected function _prepareForm() {
13
+ $form = new Varien_Data_Form();
14
+ $this->setForm($form);
15
+ $fieldset = $form->addFieldset("autocart_form", array("legend" => Mage::helper("autocart")->__("Rule information")));
16
+
17
+ $fieldset->addField("rule_name", "text", array(
18
+ "label" => Mage::helper("autocart")->__("Rule Name"),
19
+ "class" => "required-entry",
20
+ "required" => true,
21
+ "name" => "rule_name",
22
+ ));
23
+
24
+ $fieldset->addField("description", "textarea", array(
25
+ "label" => Mage::helper("autocart")->__("Description"),
26
+ "class" => "required-entry",
27
+ "required" => true,
28
+ "name" => "description",
29
+ ));
30
+ $fieldset->addField("is_active", "select", array(
31
+ "label" => Mage::helper("autocart")->__("Is Active"),
32
+ "class" => "required-entry",
33
+ "required" => true,
34
+ "values" => Mage::getModel('adminhtml/system_config_source_yesno')->toOptionArray(),
35
+ "name" => "is_active",
36
+ ));
37
+ if (Mage::registry('autocart')) {
38
+ $form->setValues(Mage::registry('autocart')->getData());
39
+ }
40
+ }
41
+
42
+ }
app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit/Tab/Form2.php ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Block_Adminhtml_Autocart_Edit_Tab_Form2 extends Mage_Adminhtml_Block_Widget_Form {
11
+
12
+ protected function _prepareForm() {
13
+ $form = new Varien_Data_Form();
14
+ $afterElementHtml = '<p class="note"><span><b>' . ' If user add a product of this category then selected products from the next tab will add automatically.' . '</b></span></p>';
15
+ $this->setForm($form);
16
+ $fieldset = $form->addFieldset("autocart_form", array("legend" => Mage::helper("autocart")->__("Condition")));
17
+ $fieldset->addField('category_ids', 'multiselect', array(
18
+ 'label' => 'Category',
19
+ 'class' => 'required-entry',
20
+ 'required' => true,
21
+ 'name' => 'category_ids',
22
+ 'values' => $this->get_categories(),
23
+ 'disabled' => false,
24
+ 'readonly' => false,
25
+ 'tabindex' => 5,
26
+ 'after_element_html' => $afterElementHtml
27
+ ));
28
+ $allCatIds='';
29
+ $_ruleId=Mage::registry('autocart')->getId();
30
+ $_currIds = Mage::registry('autocart')->getCategoryIds();
31
+ $collection= Mage::getModel('autocart/autocart')->getCollection()
32
+ ->addFieldToSelect('category_ids')
33
+ ->addFieldToFilter('id',array('neq' => $_ruleId));
34
+ foreach($collection as $col):
35
+ $allCatIds.= $col->getCategoryIds();
36
+ $allCatIds.= ',';
37
+ endforeach;
38
+ $arr_allCatIds= explode(',', $allCatIds);
39
+ $arr_currIds= explode(',', $_currIds);
40
+ $result = array_intersect($arr_allCatIds, $arr_currIds);
41
+ if(count($result)>0 && $collection->getSize()>0):
42
+ $fieldset->addField('note', 'note', array(
43
+ 'text' => '<b style="color:red">Note: Some Categories in this rule are also used in another autocart rules.</b>'
44
+ ));
45
+ endif;
46
+ if (Mage::registry('autocart')) {
47
+ $form->setValues(Mage::registry('autocart')->getData());
48
+ }
49
+ }
50
+
51
+ protected function get_categories() {
52
+
53
+ $category = Mage::getModel('catalog/category');
54
+ $tree = $category->getTreeModel();
55
+ $tree->load();
56
+ $ids = $tree->getCollection()->getAllIds();
57
+ $arr = array();
58
+ if ($ids) {
59
+ foreach ($ids as $k => $id) {
60
+ $cat = Mage::getModel('catalog/category');
61
+ $cat->load($id);
62
+ if ($cat->getId() > 3):
63
+ $arr[$k]['value'] = $cat->getId();
64
+ $arr[$k]['label'] = $cat->getName();
65
+ endif;
66
+ }
67
+ }
68
+ return $arr;
69
+ }
70
+
71
+ }
app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit/Tab/Form3.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Block_Adminhtml_Autocart_Edit_Tab_Form3 extends Mage_Adminhtml_Block_Widget_Form {
11
+
12
+ protected function _prepareForm() {
13
+ $form = new Varien_Data_Form();
14
+ $this->setForm($form);
15
+ $fieldset = $form->addFieldset("autocart_form", array("legend" => Mage::helper("autocart")->__("Condition")));
16
+ $_saveUrl = Mage::helper("adminhtml")->getUrl("adminhtml/promo_quote/new");
17
+ $addRule = "editForm.submit($('edit_form').action+'back/edit/');window.setLocation('$_saveUrl')";
18
+ $fieldset->addField('some_field', 'hidden', array(
19
+ 'after_element_html' => '<button type="button" onclick="' . $addRule . '">Save & Create Shopping Cart Price Rule</button>',
20
+ 'popup' => true
21
+ ));
22
+ }
23
+
24
+ }
app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit/Tab/Product.php ADDED
@@ -0,0 +1,113 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Block_Adminhtml_Autocart_Edit_Tab_Product extends Mage_Adminhtml_Block_Widget_Grid {
11
+
12
+ public function __construct() {
13
+ parent::__construct();
14
+ $this->setId('productGrid');
15
+ $this->setDefaultSort('entity_id');
16
+ $this->setDefaultDir('DESC');
17
+ $this->setSaveParametersInSession(true);
18
+ $this->setUseAjax(true);
19
+ $this->setVarNameFilter('product_filter');
20
+ }
21
+
22
+ protected function _addColumnFilterToCollection($column) {
23
+ if ($column->getId() == 'in_category') {
24
+ $productIds = $this->_getSelectedProducts();
25
+ if (empty($productIds)) {
26
+ $productIds = 0;
27
+ }
28
+ if ($column->getFilter()->getValue()) {
29
+ $this->getCollection()->addFieldToFilter('entity_id', array('in' => $productIds));
30
+ } elseif (!empty($productIds)) {
31
+ $this->getCollection()->addFieldToFilter('entity_id', array('nin' => $productIds));
32
+ }
33
+ } else {
34
+ parent::_addColumnFilterToCollection($column);
35
+ }
36
+ return $this;
37
+ }
38
+
39
+ protected function _prepareCollection() {
40
+
41
+ $collection = Mage::getModel('catalog/product')->getCollection()
42
+ ->addAttributeToSelect('sku')
43
+ ->addAttributeToSelect('name')
44
+ ->addAttributeToSelect('attribute_set_id')
45
+ ->addAttributeToSelect('type_id')
46
+ ->addAttributeToFilter('type_id', 'simple')
47
+ ->addAttributeToFilter('status', 1);
48
+ Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($collection);
49
+ $this->setCollection($collection);
50
+
51
+ parent::_prepareCollection();
52
+ return $this;
53
+ }
54
+
55
+ protected function _prepareColumns() {
56
+ $paramId = $this->getRequest()->getParam('id');
57
+ $autocartCollection = Mage::getModel('autocart/autocart')->getCollection()
58
+ ->addFieldToFilter('id', $paramId);
59
+ $data = $autocartCollection->getData();
60
+ $idArray = explode(',', $data[0]['product_ids']);
61
+ $this->addColumn('in_category', array(
62
+ 'header_css_class' => 'a-center',
63
+ 'type' => 'checkbox',
64
+ 'values' => $idArray,
65
+ 'align' => 'center',
66
+ 'index' => 'entity_id',
67
+ 'name' => 'in_category',
68
+ 'field_name' => 'product_ids[]'
69
+ ));
70
+
71
+ $this->addColumn('entity_id', array(
72
+ 'header' => Mage::helper('catalog')->__('ID'),
73
+ 'width' => '50px',
74
+ 'type' => 'number',
75
+ 'index' => 'entity_id',
76
+ ));
77
+ $this->addColumn('name', array(
78
+ 'header' => Mage::helper('catalog')->__('Name'),
79
+ 'index' => 'name',
80
+ ));
81
+ $this->addColumn('type', array(
82
+ 'header' => Mage::helper('catalog')->__('Type'),
83
+ 'width' => '60px',
84
+ 'index' => 'type_id',
85
+ 'type' => 'options',
86
+ 'options' => Mage::getSingleton('catalog/product_type')->getOptionArray(),
87
+ ));
88
+ $this->addColumn('sku', array(
89
+ 'header' => Mage::helper('catalog')->__('SKU'),
90
+ 'width' => '80px',
91
+ 'index' => 'sku',
92
+ ));
93
+
94
+ if (Mage::helper('catalog')->isModuleEnabled('Mage_Rss')) {
95
+ $this->addRssList('rss/catalog/notifystock', Mage::helper('catalog')->__('Notify Low Stock RSS'));
96
+ }
97
+
98
+ return parent::_prepareColumns();
99
+ }
100
+
101
+ public function getGridUrl() {
102
+ return $this->_getData('grid_url') ? $this->_getData('grid_url') : $this->getUrl('*/*/productgrid', array('_current' => true));
103
+ }
104
+
105
+ protected function _getProductIds() {
106
+ $products = $this->getRequest()->getPost('product_ids');
107
+ if (is_null($products)) {
108
+ return array_keys($products);
109
+ }
110
+ return $products;
111
+ }
112
+
113
+ }
app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Edit/Tabs.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Block_Adminhtml_Autocart_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs {
11
+
12
+ public function __construct() {
13
+ parent::__construct();
14
+ $this->setId("autocart_tabs");
15
+ $this->setDestElementId("edit_form");
16
+ $this->setTitle(Mage::helper("autocart")->__("Autocart Rule Information"));
17
+ }
18
+
19
+ protected function _beforeToHtml() {
20
+ $this->addTab("form_section", array(
21
+ "label" => Mage::helper("autocart")->__("Rule Information"),
22
+ "title" => Mage::helper("autocart")->__("Rule Information"),
23
+ "content" => $this->getLayout()->createBlock("autocart/adminhtml_autocart_edit_tab_form")->toHtml(),
24
+ ));
25
+ $this->addTab("form_section2", array(
26
+ "label" => Mage::helper("autocart")->__("Conditions"),
27
+ "title" => Mage::helper("autocart")->__("Conditions"),
28
+ "content" => $this->getLayout()->createBlock("autocart/adminhtml_autocart_edit_tab_form2")->toHtml(),
29
+ ));
30
+ $this->addTab('form_section4', array(
31
+ 'label' => Mage::helper('autocart')->__('Products'),
32
+ 'title' => Mage::helper('autocart')->__('Products'),
33
+ 'url' => $this->getUrl('*/*/product', array('_current' => true)),
34
+ 'class' => 'ajax',
35
+ ));
36
+ $this->addTab("form_section3", array(
37
+ "label" => Mage::helper("autocart")->__("Actions"),
38
+ "title" => Mage::helper("autocart")->__("Actions"),
39
+ "content" => $this->getLayout()->createBlock("autocart/adminhtml_autocart_edit_tab_form3")->toHtml(),
40
+ ));
41
+ return parent::_beforeToHtml();
42
+ }
43
+
44
+ }
app/code/community/Uni/Autocart/Block/Adminhtml/Autocart/Grid.php ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Block_Adminhtml_Autocart_Grid extends Mage_Adminhtml_Block_Widget_Grid {
11
+
12
+ public function __construct() {
13
+ parent::__construct();
14
+ $this->setId('autocartGrid');
15
+ $this->setDefaultSort('id');
16
+ $this->setDefaultDir('ASC');
17
+ $this->setSaveParametersInSession(true);
18
+ }
19
+
20
+ protected function _prepareCollection() {
21
+ $this->setCollection(Mage::getModel('autocart/autocart')->getCollection());
22
+
23
+ return parent::_prepareCollection();
24
+ }
25
+ /**
26
+ *
27
+ * @return type
28
+ */
29
+ protected function _prepareColumns() {
30
+
31
+ $this->addColumn('id', array(
32
+ 'header' => Mage::helper('autocart')->__('Id'),
33
+ 'align' => 'left',
34
+ 'index' => 'id',
35
+ ));
36
+
37
+ $this->addColumn('rule_name', array(
38
+ 'header' => Mage::helper('autocart')->__('Rule Name'),
39
+ 'align' => 'left',
40
+ 'index' => 'rule_name',
41
+ ));
42
+ $this->addColumn('is_active', array(
43
+ 'header' => Mage::helper('autocart')->__('Status'),
44
+ 'align' => 'left',
45
+ 'type' => 'options',
46
+ 'options' => array(
47
+ 0 => 'Inactive',
48
+ 1 => 'Active',
49
+ ),
50
+ 'index' => 'is_active',
51
+ ));
52
+ $this->addColumn('update_time', array(
53
+ 'header' => Mage::helper('autocart')->__('Last Updated'),
54
+ 'align' => 'left',
55
+ 'index' => 'update_time',
56
+ ));
57
+
58
+ $this->addColumn('action', array(
59
+ 'header' => Mage::helper('autocart')->__('Action'),
60
+ 'width' => '100',
61
+ 'type' => 'action',
62
+ 'getter' => 'getId',
63
+ 'actions' => array(
64
+ array(
65
+ 'caption' => Mage::helper('autocart')->__('Edit'),
66
+ 'url' => array('base' => '*/*/edit'),
67
+ 'field' => 'id'
68
+ ),
69
+ ),
70
+ 'filter' => false,
71
+ 'sortable' => false,
72
+ 'index' => 'stores',
73
+ 'is_system' => true,
74
+ ));
75
+ return parent::_prepareColumns();
76
+ }
77
+
78
+ public function getRowUrl($row) {
79
+ return $this->getUrl('*/*/edit', array('id' => $row->getId()));
80
+ }
81
+ protected function _prepareMassaction()
82
+ {
83
+ $this->setMassactionIdField('id');
84
+ $this->getMassactionBlock()->setFormFieldName('id');
85
+
86
+ $this->getMassactionBlock()->addItem('delete', array(
87
+ 'label' => Mage::helper('autocart')->__('Delete'),
88
+ 'url' => $this->getUrl('*/*/massDelete'),
89
+ 'confirm' => Mage::helper('autocart')->__('Are you sure?')
90
+ ));
91
+
92
+ $statuses = array(
93
+ 0 => 'Inactive',
94
+ 1 => 'Active'
95
+ );
96
+
97
+ $this->getMassactionBlock()->addItem('status', array(
98
+ 'label'=> Mage::helper('autocart')->__('Change status'),
99
+ 'url' => $this->getUrl('*/*/massStatus', array('_current'=>true)),
100
+ 'additional' => array(
101
+ 'visibility' => array(
102
+ 'name' => 'is_active',
103
+ 'type' => 'select',
104
+ 'class' => 'required-entry',
105
+ 'label' => Mage::helper('autocart')->__('Status'),
106
+ 'values' => $statuses
107
+ )
108
+ )
109
+ ));
110
+ return $this;
111
+ }
112
+ }
app/code/community/Uni/Autocart/Block/Autocart.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Block_Autocart extends Mage_Core_Block_Template {
11
+
12
+ protected function _beforeToHtml() {
13
+ $this->_prepareCollection();
14
+ return parent::_beforeToHtml();
15
+ }
16
+
17
+ protected function _prepareCollection() {
18
+ $collection = Mage::getModel("autocart/autocart")->getCollection();
19
+
20
+ $collection->setOrder('id', 'ASC')
21
+ ->load();
22
+ $this->setAutocartRules($collection);
23
+ return $this;
24
+ }
25
+
26
+ }
app/code/community/Uni/Autocart/Helper/Data.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Helper_Data extends Mage_Core_Helper_Abstract {
11
+
12
+ }
app/code/community/Uni/Autocart/Model/Autocart.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Model_Autocart extends Mage_Core_Model_Abstract
11
+ {
12
+ public function _construct()
13
+ {
14
+ parent::_construct();
15
+ $this->_init('autocart/autocart');
16
+ }
17
+
18
+ }
app/code/community/Uni/Autocart/Model/Mysql4/Autocart.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Model_Mysql4_Autocart extends Mage_Core_Model_Mysql4_Abstract
11
+ {
12
+
13
+ public function _construct()
14
+ {
15
+ $this->_init('autocart/autocart', 'id');
16
+ }
17
+
18
+ }
app/code/community/Uni/Autocart/Model/Mysql4/Autocart/Collection.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Model_Mysql4_Autocart_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
11
+ {
12
+
13
+ public function _construct()
14
+ {
15
+ parent::_construct();
16
+ $this->_init('autocart/autocart');
17
+ }
18
+
19
+ }
app/code/community/Uni/Autocart/Model/Observer.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_Model_Observer {
11
+
12
+ public function checkAutocart($observer) {
13
+ $event = $observer->getEvent();
14
+ $quote_item = $event->getQuoteItem();
15
+ $_a = Mage::getSingleton('core/session')->getAutoFree();
16
+ $cartModel = Mage::getModel('checkout/cart');
17
+ $quote = Mage::getSingleton('checkout/session')->getQuote();
18
+ $_catCollection = $quote_item->getProduct()->getCategoryCollection();
19
+ $_autoCartRuleCollection = Mage::getModel('autocart/autocart')->getCollection();
20
+
21
+ foreach ($_catCollection as $_category):
22
+ foreach ($_autoCartRuleCollection as $_autocartCol):
23
+ if ($_autocartCol->getIsActive()) {
24
+ $_autoCat = explode(',', $_autocartCol->getCategoryIds());
25
+ if (in_array($_category->getId(), $_autoCat)) {
26
+ $_autoProducts = explode(',', $_autocartCol->getProductIds());
27
+ for ($i = 0; $i < count($_autoProducts); $i++):
28
+ if (is_numeric($_autoProducts[$i])) {
29
+ $_product = Mage::getModel('catalog/product')->load($_autoProducts[$i]);
30
+ $cartModel->init();
31
+ $stockItem = $_product->getStockItem();
32
+ if ($stockItem->getIsInStock()) {
33
+ if (!$quote->hasProductId($_autoProducts[$i])) {
34
+ $cartModel->addProduct($_product, array('qty' => 1));
35
+ }
36
+ }
37
+ }
38
+ endfor;
39
+ }
40
+ }
41
+ endforeach;
42
+ endforeach;
43
+ }
44
+
45
+ }
app/code/community/Uni/Autocart/controllers/Adminhtml/AutocartController.php ADDED
@@ -0,0 +1,167 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Unicode Systems
5
+ * @category Uni
6
+ * @package Uni_Autocart
7
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
8
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
9
+ */
10
+
11
+ class Uni_Autocart_Adminhtml_AutocartController extends Mage_Adminhtml_Controller_Action {
12
+
13
+ protected function _initAction() {
14
+ $this->loadLayout();
15
+ $this->_setActiveMenu('autocart');
16
+ $this->_addBreadcrumb(Mage::helper('autocart')->__('Autocarts'), Mage::helper('autocart')->__('Autocarts'));
17
+ }
18
+
19
+ public function indexAction() {
20
+ $this->_initAction();
21
+ $this->renderLayout();
22
+ }
23
+
24
+ /**
25
+ * View edit form action
26
+ */
27
+ public function editAction() {
28
+ $this->_initAction();
29
+ $this->_addContent($this->getLayout()->createBlock('autocart/adminhtml_autocart_edit'))->_addLeft($this->getLayout()->createBlock("autocart/adminhtml_autocart_edit_tabs"));
30
+ $this->renderLayout();
31
+ }
32
+
33
+ /**
34
+ * View new form action
35
+ */
36
+ public function newAction() {
37
+ $this->_forward('edit');
38
+ }
39
+
40
+ /**
41
+ * Save form action
42
+ */
43
+ public function saveAction() {
44
+ if ($this->getRequest()->getPost()) {
45
+
46
+ try {
47
+
48
+ $data = $this->getRequest()->getPost();
49
+ $model = Mage::getModel('autocart/autocart');
50
+ $products = $this->getRequest()->getPost('products', -1);
51
+ if ($products != -1) {
52
+ $model->setProductIds(Mage::helper('adminhtml/js')->decodeGridSerializedInput($products));
53
+ }
54
+
55
+ $model->setData($data);
56
+ $model->setWebsiteIds(implode(",", $data['website_ids']));
57
+ $model->setCategoryIds(implode(",", $data['category_ids']));
58
+ $model->setCustomerGroupIds(implode(",", $data['customer_group_ids']));
59
+ $model->setProductIds(implode(",", $data['product_ids']));
60
+ $model->setId($this->getRequest()->getParam('id'))->save();
61
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('autocart')->__('Autocart rule was successfully saved'));
62
+ } catch (Exception $e) {
63
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
64
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
65
+ return;
66
+ }
67
+ }
68
+ if ($this->getRequest()->getParam('back')) {
69
+ $this->_redirect(
70
+ '*/*/edit', array(
71
+ 'id' => $model->getId(),
72
+ )
73
+ );
74
+ return;
75
+ }
76
+ $this->_redirect('*/*/');
77
+ }
78
+
79
+ /**
80
+ * Delete action
81
+ */
82
+ public function deleteAction() {
83
+ if ($this->getRequest()->getParam('id') > 0) {
84
+ try {
85
+ $model = Mage::getModel('autocart/autocart');
86
+ $model->setId($this->getRequest()->getParam('id'))
87
+ ->delete();
88
+ if (isset($x)):
89
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('autocart')->__('Autocart rule was successfully deleted'));
90
+ endif;
91
+ $this->_redirect('*/*/');
92
+ } catch (Exception $e) {
93
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
94
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
95
+ }
96
+ }
97
+
98
+ $this->_redirect('*/*/');
99
+ }
100
+
101
+ public function massDeleteAction() {
102
+ $entryIds = $this->getRequest()->getParam('id');
103
+ if (!is_array($entryIds)) {
104
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('autocart')->__('Please select entries.'));
105
+ } else {
106
+ try {
107
+ $myModel = Mage::getModel('autocart/autocart');
108
+ foreach ($entryIds as $entryId) {
109
+ $myModel->load($entryId)->delete();
110
+ }
111
+ Mage::getSingleton('adminhtml/session')->addSuccess(
112
+ Mage::helper('autocart')->__(
113
+ 'Total of %d record(s) were deleted.', count($entryIds)
114
+ )
115
+ );
116
+ } catch (Exception $e) {
117
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
118
+ }
119
+ }
120
+ $this->_redirect('*/*/index');
121
+ }
122
+
123
+ public function massStatusAction() {
124
+ $entryIds = $this->getRequest()->getParam('id');
125
+ $isActive = $this->getRequest()->getParam('is_active');
126
+ if (!is_array($entryIds)) {
127
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('autocart')->__('Please select entries.'));
128
+ } else {
129
+ try {
130
+ $myModel = Mage::getModel('autocart/autocart');
131
+ foreach ($entryIds as $entryId) {
132
+ $myModel->load($entryId)->setIsActive($isActive);
133
+ $myModel->save();
134
+ }
135
+ Mage::getSingleton('adminhtml/session')->addSuccess(
136
+ Mage::helper('autocart')->__(
137
+ 'Total of %d rules(s) were Updated.', count($entryIds)
138
+ )
139
+ );
140
+ } catch (Exception $e) {
141
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
142
+ }
143
+ }
144
+ $this->_redirect('*/*/index');
145
+ }
146
+
147
+ protected function _isAllowed() {
148
+ return Mage::getSingleton('admin/session')->isAllowed('autocart');
149
+ }
150
+
151
+ public function productAction() {
152
+
153
+ $this->loadLayout();
154
+ $this->getLayout()->getBlock('product.grid')
155
+ ->setProducts($this->getRequest()->getPost('products', null));
156
+ $this->renderLayout();
157
+ }
158
+
159
+ public function productGridAction() {
160
+
161
+ $this->loadLayout();
162
+ $this->getLayout()->getBlock('product.grid')
163
+ ->setProducts($this->getRequest()->getPost('products', null));
164
+ $this->renderLayout();
165
+ }
166
+
167
+ }
app/code/community/Uni/Autocart/controllers/IndexController.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unicode Systems
4
+ * @category Uni
5
+ * @package Uni_Autocart
6
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
8
+ */
9
+
10
+ class Uni_Autocart_IndexController extends Mage_Core_Controller_Front_Action
11
+ {
12
+ public function indexAction()
13
+ {
14
+ $this->loadLayout();
15
+ $this->renderLayout();
16
+ }
17
+
18
+
19
+ }
app/code/community/Uni/Autocart/etc/adminhtml.xml ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /**
4
+ * Unicode Systems
5
+ * @category Uni
6
+ * @package Uni_Autocart
7
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
8
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
9
+ */
10
+ -->
11
+ <config>
12
+ <menu>
13
+ <promo>
14
+ <children>
15
+ <autocart module="autocart">
16
+ <title>Auto Add To Cart Rules</title>
17
+ <sort_order>151</sort_order>
18
+ <action>adminhtml/autocart</action>
19
+ </autocart>
20
+ </children>
21
+ </promo>
22
+ </menu>
23
+ <acl>
24
+ <resources>
25
+ <all>
26
+ <title>Allow Everything</title>
27
+ </all>
28
+ <admin>
29
+ <children>
30
+ <system>
31
+ <children>
32
+ <config>
33
+ <children>
34
+ <addfree>
35
+ <title>AddFree</title>
36
+ </addfree>
37
+ </children>
38
+ </config>
39
+ </children>
40
+ </system>
41
+ </children>
42
+ </admin>
43
+ </resources>
44
+ </acl>
45
+ </config>
app/code/community/Uni/Autocart/etc/config.xml ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Unicode Systems
5
+ * @category Uni
6
+ * @package Uni_Autocart
7
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
8
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
9
+ */
10
+ -->
11
+
12
+ <config>
13
+ <modules>
14
+ <Uni_Autocart>
15
+ <version>1.0.0</version>
16
+ </Uni_Autocart>
17
+ </modules>
18
+ <adminhtml>
19
+ <layout>
20
+ <updates>
21
+ <autocart>
22
+ <file>autocart.xml</file>
23
+ </autocart>
24
+ </updates>
25
+ </layout>
26
+ </adminhtml>
27
+ <admin>
28
+ <routers>
29
+ <adminhtml>
30
+ <args>
31
+ <modules>
32
+ <autocart before="Mage_Adminhtml">Uni_Autocart_Adminhtml</autocart>
33
+ </modules>
34
+ </args>
35
+ </adminhtml>
36
+ </routers>
37
+ </admin>
38
+ <global>
39
+ <blocks>
40
+ <autocart>
41
+ <class>Uni_Autocart_Block</class>
42
+ </autocart>
43
+ </blocks>
44
+ <models>
45
+ <autocart>
46
+ <class>Uni_Autocart_Model</class>
47
+ <resourceModel>autocart_mysql4</resourceModel>
48
+ </autocart>
49
+ <autocart_mysql4>
50
+ <class>Uni_Autocart_Model_Mysql4</class>
51
+ <entities>
52
+ <autocart>
53
+ <table>uni_autocart</table>
54
+ </autocart>
55
+ </entities>
56
+ </autocart_mysql4>
57
+ </models>
58
+ <helpers>
59
+ <autocart>
60
+ <class>Uni_Autocart_Helper</class>
61
+ </autocart>
62
+ </helpers>
63
+ <resources>
64
+ <autocart_setup>
65
+ <setup>
66
+ <module>Uni_Autocart</module>
67
+ </setup>
68
+ <connection>
69
+ <use>core_setup</use>
70
+ </connection>
71
+ </autocart_setup>
72
+ <autocart_write>
73
+ <connection>
74
+ <use>core_write</use>
75
+ </connection>
76
+ </autocart_write>
77
+ <autocart_read>
78
+ <connection>
79
+ <use>core_read</use>
80
+ </connection>
81
+ </autocart_read>
82
+ </resources>
83
+ <events>
84
+ <sales_quote_add_item>
85
+ <observers>
86
+ <uni_autocart>
87
+ <type>singleton</type>
88
+ <class>Uni_Autocart_Model_Observer</class>
89
+ <method>checkAutocart</method>
90
+ </uni_autocart>
91
+ </observers>
92
+ </sales_quote_add_item>
93
+ </events>
94
+ </global>
95
+ </config>
app/code/community/Uni/Autocart/sql/autocart_setup/mysql4-install-1.0.0.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <?php
3
+
4
+ /**
5
+ * Unicode Systems
6
+ * @category Uni
7
+ * @package Uni_Autocart
8
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
10
+ */
11
+
12
+ $installer = $this;
13
+
14
+ $installer->startSetup();
15
+
16
+ $installer->run("
17
+
18
+ DROP TABLE IF EXISTS {$this->getTable('uni_autocart')};
19
+
20
+ CREATE TABLE {$this->getTable('uni_autocart')} (
21
+ `id` bigint(20) NOT NULL primary key auto_increment,
22
+ `rule_name` VARCHAR( 255 ) NOT NULL,
23
+ `description` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
24
+ `is_active` tinyint(4) NOT NULL default '2',
25
+ `category_ids` VARCHAR( 255 ) NOT NULL,
26
+ `product_ids` VARCHAR( 2555 ) NOT NULL,
27
+ `update_time` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
28
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
29
+ ");
30
+
31
+ $installer->endSetup();
app/design/adminhtml/default/default/layout/autocart.xml ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Unicode Systems
5
+ * @category Uni
6
+ * @package Uni_Autocart
7
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
8
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
9
+ */
10
+ -->
11
+ <layout version="0.1.0">
12
+ <adminhtml_autocart_index>
13
+ <reference name="content">
14
+ <block type="autocart/adminhtml_autocart" name="autocart" />
15
+ </reference>
16
+ </adminhtml_autocart_index>
17
+ <adminhtml_autocart_product>
18
+ <block type="core/text_list" name="root" output="toHtml">
19
+ <block type="autocart/adminhtml_autocart_edit_tab_product" name="product.grid"/>
20
+ <block type="adminhtml/widget_grid_serializer" name="grid_serializer">
21
+ <reference name="grid_serializer">
22
+ <action method="initSerializerBlock">
23
+ <grid_block_name>product.grid</grid_block_name>
24
+ <data_callback>getSelectedProducts</data_callback>
25
+ <hidden_input_name>links[products]</hidden_input_name>
26
+ <reload_param_name>products</reload_param_name>
27
+ </action>
28
+ <action method="addColumnInputName">
29
+ <input_name>position</input_name>
30
+ </action>
31
+ </reference>
32
+ </block>
33
+ </block>
34
+ </adminhtml_autocart_product>
35
+ <adminhtml_autocart_productgrid>
36
+ <block type="core/text_list" name="root" output="toHtml">
37
+ <block type="autocart/adminhtml_autocart_edit_tab_product" name="product.grid"/>
38
+ </block>
39
+ </adminhtml_autocart_productgrid>
40
+ </layout>
app/etc/modules/Uni_Autocart.xml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Unicode Systems
5
+ * @category Uni
6
+ * @package Uni_Autocart
7
+ * @copyright Copyright (c) 2010-2011 Unicode Systems. (http://www.unicodesystems.in)
8
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL)
9
+ */
10
+ -->
11
+
12
+ <config>
13
+ <modules>
14
+ <Uni_Autocart>
15
+ <active>true</active>
16
+ <codePool>community</codePool>
17
+ </Uni_Autocart>
18
+ </modules>
19
+ </config>
package.xml ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Autocart_Extension</name>
4
+ <version>1.0.0</version>
5
+ <stability>stable</stability>
6
+ <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>This extension add products to cart automatically based on other products already in cart by set of rules.</summary>
10
+ <description>This extension add products to cart automatically based on other products already in cart by set of rules. This is good for advertising etc.</description>
11
+ <notes>First Release</notes>
12
+ <authors><author><name>Unicode Systems</name><user>Unicode_Systems</user><email>magento@unicodesystems.in</email></author></authors>
13
+ <date>2014-11-14</date>
14
+ <time>05:03:20</time>
15
+ <contents><target name="magecommunity"><dir name="Uni"><dir name="Autocart"><dir name="Block"><dir name="Adminhtml"><dir name="Autocart"><dir name="Edit"><file name="Form.php" hash="62ef5a53e74b1b20f9d4ef461a3322fa"/><dir name="Tab"><file name="Form.php" hash="9ca9305b45d8189d9446498078fded03"/><file name="Form2.php" hash="d2dbaeacfbb94c4592e1a0dd0fb7d371"/><file name="Form3.php" hash="ca21646b9b3514c8b32e54d1526712d2"/><file name="Product.php" hash="3c3525135488a0d5a73256a77647ef65"/></dir><file name="Tabs.php" hash="b0d2314a88fb907638cf8f788686f193"/></dir><file name="Edit.php" hash="ef472bde54fadff7c05e087a989cb63f"/><file name="Grid.php" hash="2a77545a66086022489bff021b93d83d"/></dir><file name="Autocart.php" hash="a7255b9dd4b3ddfe59414e712e346285"/></dir><file name="Autocart.php" hash="263c83ceb6c7c48600bd049fc8c33592"/></dir><dir name="Helper"><file name="Data.php" hash="00f2d90f52b13b3e28b35ab41a265d44"/></dir><dir name="Model"><file name="Autocart.php" hash="e62d7e6a4d110a9e465a2cca7888cd8e"/><dir name="Mysql4"><dir name="Autocart"><file name="Collection.php" hash="ef8fa8288a7e787ed5d936d84a181e85"/></dir><file name="Autocart.php" hash="e8f7173d6f886f59a4b92781fe0b0c80"/></dir><file name="Observer.php" hash="6505eec8a3daecf37354b4138f3fd018"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="AutocartController.php" hash="d9b4cf4b90df31f81231f0690b39702c"/></dir><file name="IndexController.php" hash="c51125f04554046d3bad2d1db8cc140a"/></dir><dir name="etc"><file name="adminhtml.xml" hash="3632dd8a383240eb785dbe435442a4d3"/><file name="config.xml" hash="9896ce482483034205e2116fb0c55e36"/></dir><dir name="sql"><dir name="autocart_setup"><file name="mysql4-install-1.0.0.php" hash="5706c1dc029cc83516e7f171a641fc1b"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Uni_Autocart.xml" hash="cb5d93e4c8c2efe78e20b6a09f93616c"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="autocart.xml" hash="339ca60b5f7c1cbbddab27607e84ab6e"/></dir></dir></dir></dir></target></contents>
16
+ <compatible/>
17
+ <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><package><name>Mage_Core_Modules</name><channel>community</channel><min>1.6.0.0</min><max>1.8.1.0</max></package><extension><name>gd</name><min>2.0.28</min><max>3.0</max></extension></required></dependencies>
18
+ </package>