Coupons4U - Version 1.0.0.1

Version Notes

User Coupons

Download this release

Release Info

Developer e-Infochips
Extension Coupons4U
Version 1.0.0.1
Comparing to
See all releases


Version 1.0.0.1

Files changed (39) hide show
  1. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u.php +38 -0
  2. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit.php +53 -0
  3. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit/Form.php +43 -0
  4. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit/Tab/Form.php +37 -0
  5. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit/Tab/Meta.php +51 -0
  6. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit/Tab/Stores.php +48 -0
  7. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit/Tab/Viewassigncoupons.php +56 -0
  8. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit/Tabs.php +52 -0
  9. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Grid.php +184 -0
  10. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Hello.php +93 -0
  11. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/View.php +53 -0
  12. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/View/Form.php +0 -0
  13. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/View/Tabs.php +64 -0
  14. app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Widget/Chooser.php +156 -0
  15. app/code/community/Einfochips/Coupons4U/Block/Einfochipscoupons4u/List.php +63 -0
  16. app/code/community/Einfochips/Coupons4U/Block/Einfochipscoupons4u/View.php +34 -0
  17. app/code/community/Einfochips/Coupons4U/Block/Einfochipscoupons4u/Widget/Link.php +26 -0
  18. app/code/community/Einfochips/Coupons4U/Block/Einfochipscoupons4u/Widget/View.php +46 -0
  19. app/code/community/Einfochips/Coupons4U/Controller/Adminhtml/Coupons4U.php +60 -0
  20. app/code/community/Einfochips/Coupons4U/Controller/Router.php +76 -0
  21. app/code/community/Einfochips/Coupons4U/Helper/Data.php +34 -0
  22. app/code/community/Einfochips/Coupons4U/Helper/Einfochipscoupons4u.php +34 -0
  23. app/code/community/Einfochips/Coupons4U/Model/Einfochipscoupons4u.php +99 -0
  24. app/code/community/Einfochips/Coupons4U/Model/Email/Template.php +657 -0
  25. app/code/community/Einfochips/Coupons4U/Model/Resource/Einfochipscoupons4u.php +221 -0
  26. app/code/community/Einfochips/Coupons4U/Model/Resource/Einfochipscoupons4u/Collection.php +116 -0
  27. app/code/community/Einfochips/Coupons4U/Model/Resource/Setup.php +26 -0
  28. app/code/community/Einfochips/Coupons4U/Model/email.php +26 -0
  29. app/code/community/Einfochips/Coupons4U/controllers/Adminhtml/Coupons4U/Einfochipscoupons4uController.php +511 -0
  30. app/code/community/Einfochips/Coupons4U/controllers/Einfochipscoupons4uController.php +63 -0
  31. app/code/community/Einfochips/Coupons4U/controllers/IndexController.php +20 -0
  32. app/code/community/Einfochips/Coupons4U/etc/adminhtml.xml +63 -0
  33. app/code/community/Einfochips/Coupons4U/etc/config.xml +145 -0
  34. app/code/community/Einfochips/Coupons4U/etc/system.xml +99 -0
  35. app/code/community/Einfochips/Coupons4U/etc/widget.xml +64 -0
  36. app/code/community/Einfochips/Coupons4U/sql/einfochips_coupons4u_setup/install-0.0.1.php +86 -0
  37. app/design/adminhtml/default/default/layout/einfochips_coupons4u.xml +62 -0
  38. app/etc/modules/Einfochips_Coupons4U.xml +29 -0
  39. package.xml +18 -0
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U admin block
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u extends Mage_Adminhtml_Block_Widget_Grid_Container{
25
+ /**
26
+ * constructor
27
+ * @access public
28
+ * @return void
29
+ * @author e-Infochips
30
+ */
31
+ public function __construct(){
32
+ $this->_controller = 'adminhtml_einfochipscoupons4u';
33
+ $this->_blockGroup = 'coupons4u';
34
+ $this->_headerText = Mage::helper('coupons4u')->__('EinfochipsCoupons4U');
35
+ $this->_addButtonLabel = Mage::helper('coupons4u')->__('View Assign Coupons');
36
+ parent::__construct();
37
+ }
38
+ }
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U admin edit block
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Edit extends Mage_Adminhtml_Block_Widget_Form_Container{
25
+ /**
26
+ * constuctor
27
+ * @access public
28
+ * @return void
29
+ * @author e-Infochips
30
+ */
31
+ public function __construct(){
32
+ parent::__construct();
33
+ $this->_blockGroup = 'coupons4u';
34
+ $this->_controller = 'adminhtml_einfochipscoupons4u';
35
+ $this->_removeButton('save');
36
+ $this->_removeButton('reset');
37
+
38
+ }
39
+ /**
40
+ * get the edit form header
41
+ * @access public
42
+ * @return string
43
+ * @author e-Infochips
44
+ */
45
+ public function getHeaderText(){
46
+ if( Mage::registry('einfochipscoupons4u_data') && Mage::registry('einfochipscoupons4u_data')->getId() ) {
47
+ return Mage::helper('coupons4u')->__("Edit EinfochipsCoupons4U '%s'", $this->htmlEscape(Mage::registry('einfochipscoupons4u_data')->getCouponId()));
48
+ }
49
+ else {
50
+ return Mage::helper('coupons4u')->__('Assign Coupons');
51
+ }
52
+ }
53
+ }
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit/Form.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U edit form
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Edit_Form extends Mage_Adminhtml_Block_Widget_Form{
25
+ /**
26
+ * prepare form
27
+ * @access protected
28
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Edit_Form
29
+ * @author e-Infochips
30
+ */
31
+ protected function _prepareForm(){
32
+ $form = new Varien_Data_Form(array(
33
+ 'id' => 'edit_form',
34
+ 'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
35
+ 'method' => 'post',
36
+ 'enctype' => 'multipart/form-data'
37
+ )
38
+ );
39
+ $form->setUseContainer(true);
40
+ $this->setForm($form);
41
+ return parent::_prepareForm();
42
+ }
43
+ }
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit/Tab/Form.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U edit form tab
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Edit_Tab_Form extends Mage_Adminhtml_Block_Template{
25
+ /**
26
+ * prepare the form
27
+ * @access protected
28
+ * @return Coupons4U_Einfochipscoupons4u_Block_Adminhtml_Einfochipscoupons4u_Edit_Tab_Form
29
+ * @author e-Infochips
30
+ */
31
+
32
+ protected function _construct()
33
+ {
34
+ parent::_construct();
35
+ $this->setTemplate('einfochipscoupons4u/edit/tab/viewassigncoupons.phtml');
36
+ }
37
+ }
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit/Tab/Meta.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * meta information tab
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Edit_Tab_Meta extends Mage_Adminhtml_Block_Widget_Form{
25
+ /**
26
+ * prepare the form
27
+ * @access protected
28
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Edit_Tab_Meta
29
+ * @author e-Infochips
30
+ */
31
+ protected function _prepareForm(){
32
+ $form = new Varien_Data_Form();
33
+ $form->setFieldNameSuffix('einfochipscoupons4u');
34
+ $this->setForm($form);
35
+ $fieldset = $form->addFieldset('einfochipscoupons4u_meta_form', array('legend'=>Mage::helper('coupons4u')->__('Meta information')));
36
+ $fieldset->addField('meta_title', 'text', array(
37
+ 'label' => Mage::helper('coupons4u')->__('Meta-title'),
38
+ 'name' => 'meta_title',
39
+ ));
40
+ $fieldset->addField('meta_description', 'textarea', array(
41
+ 'name' => 'meta_description',
42
+ 'label' => Mage::helper('coupons4u')->__('Meta-description'),
43
+ ));
44
+ $fieldset->addField('meta_keywords', 'textarea', array(
45
+ 'name' => 'meta_keywords',
46
+ 'label' => Mage::helper('coupons4u')->__('Meta-keywords'),
47
+ ));
48
+ $form->addValues(Mage::registry('current_einfochipscoupons4u')->getData());
49
+ return parent::_prepareForm();
50
+ }
51
+ }
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit/Tab/Stores.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * store selection tab
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Edit_Tab_Stores extends Mage_Adminhtml_Block_Widget_Form{
25
+ /**
26
+ * prepare the form
27
+ * @access protected
28
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Edit_Tab_Stores
29
+ * @author e-Infochips
30
+ */
31
+ protected function _prepareForm(){
32
+ $form = new Varien_Data_Form();
33
+ $form->setFieldNameSuffix('einfochipscoupons4u');
34
+ $this->setForm($form);
35
+ $fieldset = $form->addFieldset('einfochipscoupons4u_stores_form', array('legend'=>Mage::helper('coupons4u')->__('Store views')));
36
+ $field = $fieldset->addField('store_id', 'multiselect', array(
37
+ 'name' => 'stores[]',
38
+ 'label' => Mage::helper('coupons4u')->__('Store Views'),
39
+ 'title' => Mage::helper('coupons4u')->__('Store Views'),
40
+ 'required' => true,
41
+ 'values'=> Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true),
42
+ ));
43
+ $renderer = $this->getLayout()->createBlock('adminhtml/store_switcher_form_renderer_fieldset_element');
44
+ $field->setRenderer($renderer);
45
+ $form->addValues(Mage::registry('current_einfochipscoupons4u')->getData());
46
+ return parent::_prepareForm();
47
+ }
48
+ }
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit/Tab/Viewassigncoupons.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * meta information tab
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Edit_Tab_Viewassigncoupons extends Mage_Core_Block_Template{
25
+ /**
26
+ * prepare the form
27
+ * @access protected
28
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Edit_Tab_Viewassigncoupons
29
+ * @author e-Infochips
30
+ */
31
+
32
+ protected function _construct()
33
+ {
34
+ parent::_construct();
35
+ $collection = Mage::getModel('customer/customer')->getCollection();
36
+ $this->setCollection($collection);
37
+
38
+ }
39
+ protected function _prepareLayout()
40
+ {
41
+ parent::_prepareLayout();
42
+
43
+ $pager = $this->getLayout()->createBlock('page/html_pager', 'custom.pager');
44
+ //$pager->setAvailableLimit(array(2=>2,3=>3,5=>5,'all'=>'all'));
45
+ $pager->setCollection($this->getCollection());
46
+ $this->setChild('pager', $pager);
47
+ $this->getCollection()->load();
48
+ $this->setTemplate('einfochipscoupons4u/edit/tab/viewassigncoupons.phtml');
49
+ return $this;
50
+ }
51
+
52
+ public function getPagerHtml()
53
+ {
54
+ return $this->getChildHtml('pager');
55
+ }
56
+ }
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Edit/Tabs.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U admin edit tabs
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs{
25
+ /**
26
+ * constructor
27
+ * @access public
28
+ * @return void
29
+ * @author e-Infochips
30
+ */
31
+ public function __construct(){
32
+ parent::__construct();
33
+ $this->setId('einfochipscoupons4u_tabs');
34
+ $this->setDestElementId('edit_form');
35
+
36
+ $this->setTitle(Mage::helper('coupons4u')->__('EinfochipsCoupons4U'));
37
+ }
38
+ /**
39
+ * before render html
40
+ * @access protected
41
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Edit_Tabs
42
+ * @author e-Infochips
43
+ */
44
+ protected function _beforeToHtml(){
45
+ $this->addTab('form_einfochipscoupons4u', array(
46
+ 'label' => Mage::helper('coupons4u')->__('View Details'),
47
+ 'title' => Mage::helper('coupons4u')->__('View Details'),
48
+ 'content' => $this->getLayout()->createBlock('coupons4u/adminhtml_einfochipscoupons4u_edit_tab_viewassigncoupons')->toHtml(),
49
+ ));
50
+ return parent::_beforeToHtml();
51
+ }
52
+ }
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Grid.php ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U admin grid block
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Grid extends Mage_Adminhtml_Block_Widget_Grid{
25
+ /**
26
+ * constructor
27
+ * @access public
28
+ * @return void
29
+ * @author e-Infochips
30
+ */
31
+ public function __construct(){
32
+ parent::__construct();
33
+ $this->setId('einfochipscoupons4uGrid');
34
+ $this->setDefaultSort('entity_id');
35
+ $this->setDefaultDir('ASC');
36
+ $this->setSaveParametersInSession(true);
37
+ $this->setUseAjax(true);
38
+ }
39
+ /**
40
+ * prepare collection
41
+ * @access protected
42
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Grid
43
+ * @author e-Infochips
44
+ */
45
+ protected function _prepareCollection(){
46
+ /* Get the usage coupon limit */
47
+ $couponIds = array();
48
+ $couponAssign = array();
49
+ $usageLimit = array();
50
+ $coupons_array = array();
51
+
52
+ $resource = Mage::getSingleton('core/resource');
53
+ $readConnection = $resource->getConnection('core_read');
54
+
55
+
56
+ $query = "select e.coupon_id,b.usage_limit from salesrule_coupon e JOIN salesrule_coupon b
57
+ ON e.times_used <= b.usage_limit AND e.coupon_id = b.coupon_id";
58
+
59
+ $results = $readConnection->fetchall($query);
60
+
61
+ foreach($results as $k=>$v) {
62
+ $couponIds[] = $v['coupon_id'];
63
+ $usageLimit[] = $v['usage_limit'];
64
+ }
65
+
66
+ $coupons = implode(",",$couponIds);
67
+ if($coupons=="") {
68
+ Mage::getSingleton('adminhtml/session')->addSuccess('Coupons Not Present. Please create shopping cart rule and generate couponcode');
69
+ }
70
+ else {
71
+ $query2="select coupon_id,count(coupon_id) as used
72
+ from coupons4u_einfochipscoupons4u Where coupon_id IN (".$coupons.") GROUP BY coupon_id";
73
+
74
+ $results2 = $readConnection->fetchall($query2);
75
+
76
+ foreach($results2 as $k=>$v) {
77
+ $keyVal = array_search($v['coupon_id'],$couponIds);
78
+ if($v['used']==$usageLimit[$keyVal]) {
79
+ $couponAssign[] = $couponIds[$keyVal];
80
+ }
81
+ }
82
+ }
83
+ $filter = $this->getParam($this->getVarNameFilter(), null);
84
+
85
+ $couponsCollection = Mage::getResourceModel('salesrule/coupon_collection')
86
+ ->addGeneratedCouponsFilter()
87
+ ->addFieldToFilter('coupon_id',array('in'=>array_diff($couponIds,$couponAssign)));
88
+ if (is_null($filter)) {
89
+ $filter = $this->_defaultFilter;
90
+ }
91
+ $this->setCollection($couponsCollection);
92
+ return parent::_prepareCollection();
93
+ }
94
+ /**
95
+ * prepare grid collection
96
+ * @access protected
97
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Grid
98
+ * @author e-Infochips
99
+ */
100
+ protected function _prepareColumns(){
101
+ /* Drop Down for Rules */
102
+ $ruleCollection = Mage::getResourceModel('salesrule/rule_collection');
103
+ $ruleArray = array();
104
+ foreach($ruleCollection as $releData){
105
+ $ruleArray[$releData->getData('rule_id')] = $releData->getData('name');
106
+ }
107
+
108
+ $this->addColumn('code', array(
109
+ 'header' => Mage::helper('salesrule')->__('Coupon Code'),
110
+ 'index' => 'code'
111
+ ));
112
+
113
+ $this->addColumn("rule_id", array(
114
+ 'header' => Mage::helper('salesrule')->__('Rule'),
115
+ 'type' => 'options',
116
+ 'index' => 'rule_id',
117
+ 'options'=> $ruleArray
118
+ ));
119
+ return parent::_prepareColumns();
120
+ }
121
+ /**
122
+ * prepare mass action
123
+ * @access protected
124
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Grid
125
+ * @author e-Infochips
126
+ */
127
+ protected function _prepareMassaction(){
128
+ $this->setMassactionIdField('coupon_id');
129
+ $this->getMassactionBlock()->setFormFieldName('ids');
130
+ $this->getMassactionBlock()->setUseAjax(false);
131
+ $this->getMassactionBlock()->setHideFormElement(true);
132
+
133
+ $this->getMassactionBlock()->addItem('delete', array(
134
+ 'label'=> Mage::helper('adminhtml')->__('Assign'),
135
+ 'url' => $this->getUrl('*/*/assign', array('_current' => true)),
136
+ 'complete' => 'refreshCouponCodesGrid'
137
+ ));
138
+ return $this;
139
+ }
140
+ /**
141
+ * get the row url
142
+ * @access public
143
+ * @param Einfochips_Coupons4U_Model_Einfochipscoupons4u
144
+ * @return string
145
+ * @author e-Infochips
146
+ */
147
+ public function getRowUrl($row){
148
+ return $this->getUrl('*/*/edit', array('id' => $row->getId()));
149
+ }
150
+ /**
151
+ * get the grid url
152
+ * @access public
153
+ * @return string
154
+ * @author e-Infochips
155
+ */
156
+ public function getGridUrl(){
157
+ return $this->getUrl('*/*/grid', array('_current'=>true));
158
+ }
159
+ /**
160
+ * after collection load
161
+ * @access protected
162
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Grid
163
+ * @author e-Infochips
164
+ */
165
+ protected function _afterLoadCollection(){
166
+ $this->getCollection()->walk('afterLoad');
167
+ parent::_afterLoadCollection();
168
+ }
169
+ /**
170
+ * filter store column
171
+ * @access protected
172
+ * @param Einfochips_Coupons4U_Model_Resource_Einfochipscoupons4u_Collection $collection
173
+ * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
174
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Grid
175
+ * @author e-Infochips
176
+ */
177
+ protected function _filterStoreCondition($collection, $column){
178
+ if (!$value = $column->getFilter()->getValue()) {
179
+ return;
180
+ }
181
+ $collection->addStoreFilter($value);
182
+ return $this;
183
+ }
184
+ }
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Hello.php ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Hello extends Mage_Adminhtml_Block_Widget_Grid
3
+ {
4
+ public function __construct()
5
+ {
6
+ parent::__construct();
7
+ $this->setId('customerGrid');
8
+ $this->setUseAjax(false);
9
+ $this->setDefaultSort('entity_id');
10
+ $this->setSaveParametersInSession(true);
11
+ }
12
+
13
+ protected function _prepareCollection()
14
+ {
15
+ $collection = Mage::getResourceModel('customer/customer_collection')
16
+ ->addNameToSelect()
17
+ ->addAttributeToSelect('email')
18
+ ->addAttributeToSelect('created_at')
19
+ ->addAttributeToSelect('group_id')
20
+ ->joinAttribute('billing_postcode', 'customer_address/postcode', 'default_billing', null, 'left')
21
+ ->joinAttribute('billing_city', 'customer_address/city', 'default_billing', null, 'left')
22
+ ->joinAttribute('billing_telephone', 'customer_address/telephone', 'default_billing', null, 'left')
23
+ ->joinAttribute('billing_region', 'customer_address/region', 'default_billing', null, 'left')
24
+ ->joinAttribute('billing_country_id', 'customer_address/country_id', 'default_billing', null, 'left');
25
+
26
+ $this->setCollection($collection);
27
+
28
+ return parent::_prepareCollection();
29
+ }
30
+
31
+ protected function _prepareColumns()
32
+ {
33
+ $this->addColumn('entity_id', array(
34
+ 'header' => Mage::helper('customer')->__('ID'),
35
+ 'width' => '50px',
36
+ 'index' => 'entity_id',
37
+ 'type' => 'number',
38
+ ));
39
+
40
+ $this->addColumn('name', array(
41
+ 'header' => Mage::helper('customer')->__('Name'),
42
+ 'index' => 'name'
43
+ ));
44
+ $this->addColumn('email', array(
45
+ 'header' => Mage::helper('customer')->__('Email'),
46
+ 'width' => '150',
47
+ 'index' => 'email'
48
+ ));
49
+
50
+ $groups = Mage::getResourceModel('customer/group_collection')
51
+ ->addFieldToFilter('customer_group_id', array('gt'=> 0))
52
+ ->load()
53
+ ->toOptionHash();
54
+
55
+
56
+ if (!Mage::app()->isSingleStoreMode()) {
57
+ $this->addColumn('website_id', array(
58
+ 'header' => Mage::helper('customer')->__('Website'),
59
+ 'align' => 'center',
60
+ 'width' => '80px',
61
+ 'type' => 'options',
62
+ 'options' => Mage::getSingleton('adminhtml/system_store')->getWebsiteOptionHash(true),
63
+ 'index' => 'website_id',
64
+ ));
65
+ }
66
+
67
+ return parent::_prepareColumns();
68
+ }
69
+
70
+ protected function _prepareMassaction()
71
+ {
72
+ $this->setMassactionIdField('entity_id');
73
+ $this->getMassactionBlock()->setFormFieldName('customer');
74
+
75
+ $this->getMassactionBlock()->addItem('delete', array(
76
+ 'label' => Mage::helper('customer')->__('AssignCoupons'),
77
+ 'url' => $this->getUrl('*/*/assignCoupons'),
78
+ 'confirm' => Mage::helper('customer')->__('Are you sure?')
79
+ ));
80
+
81
+ return $this;
82
+ }
83
+
84
+ public function getGridUrl()
85
+ {
86
+ return $this->getUrl('*/*/grid', array('_current'=> true));
87
+ }
88
+
89
+ public function getRowUrl($row)
90
+ {
91
+ return $this->getUrl('*/*/edit', array('id'=>$row->getId()));
92
+ }
93
+ }
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/View.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U admin edit block
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_View extends Mage_Adminhtml_Block_Widget_Form_Container{
25
+ /**
26
+ * constuctor
27
+ * @access public
28
+ * @return void
29
+ * @author e-Infochips
30
+ */
31
+ public function __construct(){
32
+ parent::__construct();
33
+ $this->_blockGroup = 'coupons4u';
34
+ $this->_controller = 'adminhtml_einfochipscoupons4u';
35
+ $this->_removeButton('save');
36
+ $this->_removeButton('reset');
37
+
38
+ }
39
+ /**
40
+ * get the edit form header
41
+ * @access public
42
+ * @return string
43
+ * @author e-Infochips
44
+ */
45
+ public function getHeaderText(){
46
+ if( Mage::registry('einfochipscoupons4u_data') && Mage::registry('einfochipscoupons4u_data')->getId() ) {
47
+ return Mage::helper('coupons4u')->__("Edit EinfochipsCoupons4U '%s'", $this->htmlEscape(Mage::registry('einfochipscoupons4u_data')->getCouponId()));
48
+ }
49
+ else {
50
+ return Mage::helper('coupons4u')->__('Assign Coupons');
51
+ }
52
+ }
53
+ }
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/View/Form.php ADDED
File without changes
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/View/Tabs.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U admin edit tabs
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_View_Tabs extends Mage_Adminhtml_Block_Widget_Tabs{
25
+ /**
26
+ * constructor
27
+ * @access public
28
+ * @return void
29
+ * @author e-Infochips
30
+ */
31
+ public function __construct(){
32
+ parent::__construct();
33
+ $this->setId('einfochipscoupons4u_tabs');
34
+ //$this->setDestElementId('edit_form');
35
+
36
+ $this->setTitle(Mage::helper('coupons4u')->__('EinfochipsCoupons4U'));
37
+ }
38
+ /**
39
+ * before render html
40
+ * @access protected
41
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Edit_Tabs
42
+ * @author e-Infochips
43
+ */
44
+ protected function _beforeToHtml(){
45
+ $this->addTab('form_einfochipscoupons4u', array(
46
+ 'label' => Mage::helper('coupons4u')->__('View Details'),
47
+ 'title' => Mage::helper('coupons4u')->__('View Details'),
48
+ 'content' => $this->getLayout()->createBlock('coupons4u/adminhtml_einfochipscoupons4u_view_tab_viewassigncoupons')->toHtml(),
49
+ ));
50
+ /*$this->addTab('form_meta_einfochipscoupons4u', array(
51
+ 'label' => Mage::helper('coupons4u')->__('Meta'),
52
+ 'title' => Mage::helper('coupons4u')->__('Meta'),
53
+ 'content' => $this->getLayout()->createBlock('coupons4u/adminhtml_einfochipscoupons4u_edit_tab_meta')->toHtml(),
54
+ ));
55
+ if (!Mage::app()->isSingleStoreMode()){
56
+ $this->addTab('form_store_einfochipscoupons4u', array(
57
+ 'label' => Mage::helper('coupons4u')->__('Store views'),
58
+ 'title' => Mage::helper('coupons4u')->__('Store views'),
59
+ 'content' => $this->getLayout()->createBlock('coupons4u/adminhtml_einfochipscoupons4u_edit_tab_stores')->toHtml(),
60
+ ));
61
+ }*/
62
+ return parent::_beforeToHtml();
63
+ }
64
+ }
app/code/community/Einfochips/Coupons4U/Block/Adminhtml/Einfochipscoupons4u/Widget/Chooser.php ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U admin widget chooser
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Widget_Chooser extends Mage_Adminhtml_Block_Widget_Grid{
25
+ /**
26
+ * Block construction, prepare grid params
27
+ * @access public
28
+ * @param array $arguments Object data
29
+ * @return void
30
+ * @author e-Infochips
31
+ */
32
+ public function __construct($arguments=array()){
33
+ parent::__construct($arguments);
34
+ $this->setDefaultSort('entity_id');
35
+ $this->setDefaultDir('ASC');
36
+ $this->setUseAjax(true);
37
+ $this->setDefaultFilter(array('chooser_status' => '1'));
38
+ }
39
+ /**
40
+ * Prepare chooser element HTML
41
+ * @access public
42
+ * @param Varien_Data_Form_Element_Abstract $element Form Element
43
+ * @return Varien_Data_Form_Element_Abstract
44
+ * @author e-Infochips
45
+ */
46
+ public function prepareElementHtml(Varien_Data_Form_Element_Abstract $element){
47
+ $uniqId = Mage::helper('core')->uniqHash($element->getId());
48
+ $sourceUrl = $this->getUrl('coupons4u/adminhtml_coupons4u_einfochipscoupons4u_widget/chooser', array('uniq_id' => $uniqId));
49
+ $chooser = $this->getLayout()->createBlock('widget/adminhtml_widget_chooser')
50
+ ->setElement($element)
51
+ ->setTranslationHelper($this->getTranslationHelper())
52
+ ->setConfig($this->getConfig())
53
+ ->setFieldsetId($this->getFieldsetId())
54
+ ->setSourceUrl($sourceUrl)
55
+ ->setUniqId($uniqId);
56
+ if ($element->getValue()) {
57
+ $einfochipscoupons4u = Mage::getModel('coupons4u/einfochipscoupons4u')->load($element->getValue());
58
+ if ($einfochipscoupons4u->getId()) {
59
+ $chooser->setLabel($einfochipscoupons4u->getCouponId());
60
+ }
61
+ }
62
+ $element->setData('after_element_html', $chooser->toHtml());
63
+ return $element;
64
+ }
65
+ /**
66
+ * Grid Row JS Callback
67
+ * @access public
68
+ * @return string
69
+ * @author e-Infochips
70
+ */
71
+ public function getRowClickCallback(){
72
+ $chooserJsObject = $this->getId();
73
+ $js = '
74
+ function (grid, event) {
75
+ var trElement = Event.findElement(event, "tr");
76
+ var einfochipscoupons4uId = trElement.down("td").innerHTML.replace(/^\s+|\s+$/g,"");
77
+ var einfochipscoupons4uTitle = trElement.down("td").next().innerHTML;
78
+ '.$chooserJsObject.'.setElementValue(einfochipscoupons4uId);
79
+ '.$chooserJsObject.'.setElementLabel(einfochipscoupons4uTitle);
80
+ '.$chooserJsObject.'.close();
81
+ }
82
+ ';
83
+ return $js;
84
+ }
85
+ /**
86
+ * Prepare a static blocks collection
87
+ * @access protected
88
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Widget_Chooser
89
+ * @author e-Infochips
90
+ */
91
+ protected function _prepareCollection(){
92
+ $collection = Mage::getModel('coupons4u/einfochipscoupons4u')->getCollection();
93
+ $this->setCollection($collection);
94
+ return parent::_prepareCollection();
95
+ }
96
+ /**
97
+ * Prepare columns for the a grid
98
+ * @access protected
99
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Widget_Chooser
100
+ * @author e-Infochips
101
+ */
102
+ protected function _prepareColumns(){
103
+ $this->addColumn('chooser_id', array(
104
+ 'header' => Mage::helper('coupons4u')->__('Id'),
105
+ 'align' => 'right',
106
+ 'index' => 'entity_id',
107
+ 'type' => 'number',
108
+ 'width' => 50
109
+ ));
110
+
111
+ $this->addColumn('chooser_coupon_id', array(
112
+ 'header'=> Mage::helper('coupons4u')->__('CouponId'),
113
+ 'align' => 'left',
114
+ 'index' => 'coupon_id',
115
+ ));
116
+ if (!Mage::app()->isSingleStoreMode()) {
117
+ $this->addColumn('store_id', array(
118
+ 'header'=> Mage::helper('coupons4u')->__('Store Views'),
119
+ 'index' => 'store_id',
120
+ 'type' => 'store',
121
+ 'store_all' => true,
122
+ 'store_view'=> true,
123
+ 'sortable' => false,
124
+ ));
125
+ }
126
+ $this->addColumn('chooser_status', array(
127
+ 'header'=> Mage::helper('coupons4u')->__('Status'),
128
+ 'index' => 'status',
129
+ 'type' => 'options',
130
+ 'options' => array(
131
+ 0 => Mage::helper('coupons4u')->__('Disabled'),
132
+ 1 => Mage::helper('coupons4u')->__('Enabled')
133
+ ),
134
+ ));
135
+ return parent::_prepareColumns();
136
+ }
137
+ /**
138
+ * get url for grid
139
+ * @access public
140
+ * @return string
141
+ * @author e-Infochips
142
+ */
143
+ public function getGridUrl(){
144
+ return $this->getUrl('adminhtml/coupons4u_einfochipscoupons4u_widget/chooser', array('_current' => true));
145
+ }
146
+ /**
147
+ * after collection load
148
+ * @access protected
149
+ * @return Einfochips_Coupons4U_Block_Adminhtml_Einfochipscoupons4u_Widget_Chooser
150
+ * @author e-Infochips
151
+ */
152
+ protected function _afterLoadCollection(){
153
+ $this->getCollection()->walk('afterLoad');
154
+ parent::_afterLoadCollection();
155
+ }
156
+ }
app/code/community/Einfochips/Coupons4U/Block/Einfochipscoupons4u/List.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U list block
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Einfochipscoupons4u_List extends Mage_Core_Block_Template{
25
+ /**
26
+ * initialize
27
+ * @access public
28
+ * @return void
29
+ * @author e-Infochips
30
+ */
31
+ public function __construct(){
32
+ parent::__construct();
33
+ $einfochipscoupons4us = Mage::getResourceModel('coupons4u/einfochipscoupons4u_collection')
34
+ ->addStoreFilter(Mage::app()->getStore())
35
+ ->addFilter('status', 1)
36
+ ;
37
+ $einfochipscoupons4us->setOrder('coupon_id', 'asc');
38
+ $this->setEinfochipscoupons4us($einfochipscoupons4us);
39
+ }
40
+ /**
41
+ * prepare the layout
42
+ * @access protected
43
+ * @return Einfochips_Coupons4U_Block_Einfochipscoupons4u_List
44
+ * @author e-Infochips
45
+ */
46
+ protected function _prepareLayout(){
47
+ parent::_prepareLayout();
48
+ $pager = $this->getLayout()->createBlock('page/html_pager', 'coupons4u.einfochipscoupons4u.html.pager')
49
+ ->setCollection($this->getEinfochipscoupons4us());
50
+ $this->setChild('pager', $pager);
51
+ $this->getEinfochipscoupons4us()->load();
52
+ return $this;
53
+ }
54
+ /**
55
+ * get the pager html
56
+ * @access public
57
+ * @return string
58
+ * @author e-Infochips
59
+ */
60
+ public function getPagerHtml(){
61
+ return $this->getChildHtml('pager');
62
+ }
63
+ }
app/code/community/Einfochips/Coupons4U/Block/Einfochipscoupons4u/View.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U view block
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Einfochipscoupons4u_View extends Mage_Core_Block_Template{
25
+ /**
26
+ * get the current einfochipscoupons4u
27
+ * @access public
28
+ * @return mixed (Einfochips_Coupons4U_Model_Einfochipscoupons4u|null)
29
+ * @author e-Infochips
30
+ */
31
+ public function getCurrentEinfochipscoupons4u(){
32
+ return Mage::registry('current_coupons4u_einfochipscoupons4u');
33
+ }
34
+ }
app/code/community/Einfochips/Coupons4U/Block/Einfochipscoupons4u/Widget/Link.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U link widget block
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author Ultimate Module Creator
23
+ */
24
+ class Einfochips_Coupons4U_Block_Einfochipscoupons4u_Widget_Link extends Einfochips_Coupons4U_Block_Einfochipscoupons4u_Widget_View{
25
+ protected $_htmlTemplate = 'einfochips_coupons4u/einfochipscoupons4u/widget/link.phtml';
26
+ }
app/code/community/Einfochips/Coupons4U/Block/Einfochipscoupons4u/Widget/View.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U widget block
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Block_Einfochipscoupons4u_Widget_View extends Mage_Core_Block_Template implements Mage_Widget_Block_Interface{
25
+ protected $_htmlTemplate = 'einfochips_coupons4u/einfochipscoupons4u/widget/view.phtml';
26
+ /**
27
+ * Prepare a for widget
28
+ * @access protected
29
+ * @return Einfochips_Coupons4U_Block_Einfochipscoupons4u_Widget_View
30
+ * @author e-Infochips
31
+ */
32
+ protected function _beforeToHtml() {
33
+ parent::_beforeToHtml();
34
+ $einfochipscoupons4uId = $this->getData('einfochipscoupons4u_id');
35
+ if ($einfochipscoupons4uId) {
36
+ $einfochipscoupons4u = Mage::getModel('coupons4u/einfochipscoupons4u')
37
+ ->setStoreId(Mage::app()->getStore()->getId())
38
+ ->load($einfochipscoupons4uId);
39
+ if ($einfochipscoupons4u->getStatus()) {
40
+ $this->setCurrentEinfochipscoupons4u($einfochipscoupons4u);
41
+ $this->setTemplate($this->_htmlTemplate);
42
+ }
43
+ }
44
+ return $this;
45
+ }
46
+ }
app/code/community/Einfochips/Coupons4U/Controller/Adminhtml/Coupons4U.php ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * module base admin controller
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Controller_Adminhtml_Coupons4U extends Mage_Adminhtml_Controller_Action{
25
+ /**
26
+ * upload file and get the uploaded name
27
+ * @access public
28
+ * @param string $input
29
+ * @param string $destinationFolder
30
+ * @param array $data
31
+ * @return string
32
+ * @author e-Infochips
33
+ */
34
+ protected function _uploadAndGetName($input, $destinationFolder, $data){
35
+ try{
36
+ if (isset($data[$input]['delete'])){
37
+ return '';
38
+ }
39
+ else{
40
+ $uploader = new Varien_File_Uploader($input);
41
+ $uploader->setAllowRenameFiles(true);
42
+ $uploader->setFilesDispersion(true);
43
+ $uploader->setAllowCreateFolders(true);
44
+ $result = $uploader->save($destinationFolder);
45
+ return $result['file'];
46
+ }
47
+ }
48
+ catch (Exception $e){
49
+ if ($e->getCode() != Varien_File_Uploader::TMP_NAME_EMPTY){
50
+ throw $e;
51
+ }
52
+ else{
53
+ if (isset($data[$input]['value'])){
54
+ return $data[$input]['value'];
55
+ }
56
+ }
57
+ }
58
+ return '';
59
+ }
60
+ }
app/code/community/Einfochips/Coupons4U/Controller/Router.php ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * Router
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Controller_Router extends Mage_Core_Controller_Varien_Router_Abstract{
25
+ /**
26
+ * init routes
27
+ * @access public
28
+ * @param Varien_Event_Observer $observer
29
+ * @return Einfochips_Coupons4U_Controller_Router
30
+ * @author e-Infochips
31
+ */
32
+ public function initControllerRouters($observer){
33
+ $front = $observer->getEvent()->getFront();
34
+ $front->addRouter('coupons4u', $this);
35
+ return $this;
36
+ }
37
+ /**
38
+ * Validate and match entities and modify request
39
+ * @access public
40
+ * @param Zend_Controller_Request_Http $request
41
+ * @return bool
42
+ * @author e-Infochips
43
+ */
44
+ public function match(Zend_Controller_Request_Http $request){
45
+ if (!Mage::isInstalled()) {
46
+ Mage::app()->getFrontController()->getResponse()
47
+ ->setRedirect(Mage::getUrl('install'))
48
+ ->sendResponse();
49
+ exit;
50
+ }
51
+ $urlKey = trim($request->getPathInfo(), '/');
52
+ $check = array();
53
+ $check['einfochipscoupons4u'] = new Varien_Object(array(
54
+ 'model' =>'coupons4u/einfochipscoupons4u',
55
+ 'controller' => 'einfochipscoupons4u',
56
+ 'action' => 'view',
57
+ 'param' => 'id',
58
+ ));
59
+ foreach ($check as $key=>$settings){
60
+ $model = Mage::getModel($settings->getModel());
61
+ $id = $model->checkUrlKey($urlKey, Mage::app()->getStore()->getId());
62
+ if ($id){
63
+ $request->setModuleName('coupons4u')
64
+ ->setControllerName($settings->getController())
65
+ ->setActionName($settings->getAction())
66
+ ->setParam($settings->getParam(), $id);
67
+ $request->setAlias(
68
+ Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS,
69
+ $urlKey
70
+ );
71
+ return true;
72
+ }
73
+ }
74
+ return false;
75
+ }
76
+ }
app/code/community/Einfochips/Coupons4U/Helper/Data.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * Coupons4U default helper
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Helper_Data extends Mage_Core_Helper_Abstract{
25
+ /**
26
+ * get the url to the einfochipscoupons4u list page
27
+ * @access public
28
+ * @return string
29
+ * @author e-Infochips
30
+ */
31
+ /*public function getEinfochipscoupons4usUrl(){
32
+ return Mage::getUrl('coupons4u/einfochipscoupons4u/index');
33
+ }*/
34
+ }
app/code/community/Einfochips/Coupons4U/Helper/Einfochipscoupons4u.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U helper
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Helper_Einfochipscoupons4u extends Mage_Core_Helper_Abstract{
25
+ /**
26
+ * check if breadcrumbs can be used
27
+ * @access public
28
+ * @return bool
29
+ * @author e-Infochips
30
+ */
31
+ public function getUseBreadcrumbs(){
32
+ return Mage::getStoreConfigFlag('coupons4u/einfochipscoupons4u/breadcrumbs');
33
+ }
34
+ }
app/code/community/Einfochips/Coupons4U/Model/Einfochipscoupons4u.php ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U model
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Model_Einfochipscoupons4u extends Mage_Core_Model_Abstract{
25
+ /**
26
+ * Entity code.
27
+ * Can be used as part of method name for entity processing
28
+ */
29
+ const ENTITY= 'coupons4u_einfochipscoupons4u';
30
+ const CACHE_TAG = 'coupons4u_einfochipscoupons4u';
31
+ /**
32
+ * Prefix of model events names
33
+ * @var string
34
+ */
35
+ protected $_eventPrefix = 'coupons4u_einfochipscoupons4u';
36
+
37
+ /**
38
+ * Parameter name in event
39
+ * @var string
40
+ */
41
+ protected $_eventObject = 'einfochipscoupons4u';
42
+ /**
43
+ * constructor
44
+ * @access public
45
+ * @return void
46
+ * @author e-Infochips
47
+ */
48
+ public function _construct(){
49
+ parent::_construct();
50
+ $this->_init('coupons4u/einfochipscoupons4u');
51
+ }
52
+ /**
53
+ * before save einfochipscoupons4u
54
+ * @access protected
55
+ * @return Einfochips_Coupons4U_Model_Einfochipscoupons4u
56
+ * @author e-Infochips
57
+ */
58
+ protected function _beforeSave(){
59
+ parent::_beforeSave();
60
+ $now = Mage::getSingleton('core/date')->gmtDate();
61
+ if ($this->isObjectNew()){
62
+ $this->setCreatedAt($now);
63
+ }
64
+ $this->setUpdatedAt($now);
65
+ return $this;
66
+ }
67
+ /**
68
+ * get the url to the einfochipscoupons4u details page
69
+ * @access public
70
+ * @return string
71
+ * @author e-Infochips
72
+ */
73
+ public function getEinfochipscoupons4uUrl(){
74
+ if ($this->getUrlKey()){
75
+ return Mage::getUrl('', array('_direct'=>$this->getUrlKey()));
76
+ }
77
+ return Mage::getUrl('coupons4u/einfochipscoupons4u/view', array('id'=>$this->getId()));
78
+ }
79
+ /**
80
+ * check URL key
81
+ * @access public
82
+ * @param string $urlKey
83
+ * @param bool $active
84
+ * @return mixed
85
+ * @author e-Infochips
86
+ */
87
+ public function checkUrlKey($urlKey, $active = true){
88
+ return $this->_getResource()->checkUrlKey($urlKey, $active);
89
+ }
90
+ /**
91
+ * save einfochipscoupons4u relation
92
+ * @access public
93
+ * @return Einfochips_Coupons4U_Model_Einfochipscoupons4u
94
+ * @author e-Infochips
95
+ */
96
+ protected function _afterSave() {
97
+ return parent::_afterSave();
98
+ }
99
+ }
app/code/community/Einfochips/Coupons4U/Model/Email/Template.php ADDED
@@ -0,0 +1,657 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Core
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Template model
29
+ *
30
+ * Example:
31
+ *
32
+ * // Loading of template
33
+ * $emailTemplate = Mage::getModel('core/email_template')
34
+ * ->load(Mage::getStoreConfig('path_to_email_template_id_config'));
35
+ * $variables = array(
36
+ * 'someObject' => Mage::getSingleton('some_model')
37
+ * 'someString' => 'Some string value'
38
+ * );
39
+ * $emailTemplate->send('some@domain.com', 'Name Of User', $variables);
40
+ *
41
+ * @method Mage_Core_Model_Resource_Email_Template _getResource()
42
+ * @method Mage_Core_Model_Resource_Email_Template getResource()
43
+ * @method string getTemplateCode()
44
+ * @method Mage_Core_Model_Email_Template setTemplateCode(string $value)
45
+ * @method string getTemplateText()
46
+ * @method Mage_Core_Model_Email_Template setTemplateText(string $value)
47
+ * @method string getTemplateStyles()
48
+ * @method Mage_Core_Model_Email_Template setTemplateStyles(string $value)
49
+ * @method int getTemplateType()
50
+ * @method Mage_Core_Model_Email_Template setTemplateType(int $value)
51
+ * @method string getTemplateSubject()
52
+ * @method Mage_Core_Model_Email_Template setTemplateSubject(string $value)
53
+ * @method string getTemplateSenderName()
54
+ * @method Mage_Core_Model_Email_Template setTemplateSenderName(string $value)
55
+ * @method string getTemplateSenderEmail()
56
+ * @method Mage_Core_Model_Email_Template setTemplateSenderEmail(string $value)
57
+ * @method string getAddedAt()
58
+ * @method Mage_Core_Model_Email_Template setAddedAt(string $value)
59
+ * @method string getModifiedAt()
60
+ * @method Mage_Core_Model_Email_Template setModifiedAt(string $value)
61
+ * @method string getOrigTemplateCode()
62
+ * @method Mage_Core_Model_Email_Template setOrigTemplateCode(string $value)
63
+ * @method string getOrigTemplateVariables()
64
+ * @method Mage_Core_Model_Email_Template setOrigTemplateVariables(string $value)
65
+ *
66
+ * @category Mage
67
+ * @package Mage_Core
68
+ * @author Magento Core Team <core@magentocommerce.com>
69
+ */
70
+ class Einfochips_Coupons4U_Model_Email_Template extends Mage_Core_Model_Template
71
+ {
72
+ /**
73
+ * Configuration path for default email templates
74
+ */
75
+ const XML_PATH_TEMPLATE_EMAIL = 'global/template/email';
76
+ const XML_PATH_SENDING_SET_RETURN_PATH = 'system/smtp/set_return_path';
77
+ const XML_PATH_SENDING_RETURN_PATH_EMAIL = 'system/smtp/return_path_email';
78
+ const XML_PATH_DESIGN_EMAIL_LOGO = 'design/email/logo';
79
+ const XML_PATH_DESIGN_EMAIL_LOGO_ALT = 'design/email/logo_alt';
80
+
81
+ protected $_templateFilter;
82
+ protected $_preprocessFlag = false;
83
+ protected $_mail;
84
+
85
+ static protected $_defaultTemplates;
86
+
87
+ /**
88
+ * Initialize email template model
89
+ *
90
+ */
91
+ protected function _construct()
92
+ {
93
+ $this->_init('core/email_template');
94
+ }
95
+
96
+ /**
97
+ * Return logo URL for emails
98
+ * Take logo from skin if custom logo is undefined
99
+ *
100
+ * @param Mage_Core_Model_Store|int|string $store
101
+ * @return string
102
+ */
103
+ protected function _getLogoUrl($store)
104
+ {
105
+ $store = Mage::app()->getStore($store);
106
+ $fileName = $store->getConfig(self::XML_PATH_DESIGN_EMAIL_LOGO);
107
+ if ($fileName) {
108
+ $uploadDir = Mage_Adminhtml_Model_System_Config_Backend_Email_Logo::UPLOAD_DIR;
109
+ $fullFileName = Mage::getBaseDir('media') . DS . $uploadDir . DS . $fileName;
110
+ if (file_exists($fullFileName)) {
111
+ return Mage::getBaseUrl('media') . $uploadDir . '/' . $fileName;
112
+ }
113
+ }
114
+ return Mage::getDesign()->getSkinUrl('images/logo_email.gif');
115
+ }
116
+
117
+ /**
118
+ * Return logo alt for emails
119
+ *
120
+ * @param Mage_Core_Model_Store|int|string $store
121
+ * @return string
122
+ */
123
+ protected function _getLogoAlt($store)
124
+ {
125
+ $store = Mage::app()->getStore($store);
126
+ $alt = $store->getConfig(self::XML_PATH_DESIGN_EMAIL_LOGO_ALT);
127
+ if ($alt) {
128
+ return $alt;
129
+ }
130
+ return $store->getFrontendName();
131
+ }
132
+
133
+ /**
134
+ * Retrieve mail object instance
135
+ *
136
+ * @return Zend_Mail
137
+ */
138
+ public function getMail()
139
+ {
140
+ /*if (is_null($this->_mail)) {
141
+ $this->_mail = new Zend_Mail('utf-8');
142
+ }
143
+ return $this->_mail;*/
144
+
145
+
146
+ if (is_null($this->_mail)) {
147
+ /* changes begin */
148
+ $my_smtp_host = Mage::getStoreConfig('system/smtp/host');
149
+ $my_smtp_port = Mage::getStoreConfig('system/smtp/port');
150
+ $my_smtp_usname = Mage::getStoreConfig('coupons4u/einfochipscoupons4u/smtp_username',Mage::app()->getStore());
151
+ $my_smtp_uspass = Mage::getStoreConfig('coupons4u/einfochipscoupons4u/smtp_password',Mage::app()->getStore());
152
+
153
+ $config = array(
154
+ 'port' => $my_smtp_port,
155
+ 'auth' => 'login',
156
+ 'username' => "$my_smtp_usname",
157
+ 'password' => "$my_smtp_uspass"
158
+ );
159
+ $transport = new Zend_Mail_Transport_Smtp($my_smtp_host, $config);
160
+ Zend_Mail::setDefaultTransport($transport);
161
+ /* Changes End */
162
+ $this->_mail = new Zend_Mail('utf-8');
163
+ }
164
+ return $this->_mail;
165
+
166
+
167
+ }
168
+
169
+ /**
170
+ * Declare template processing filter
171
+ *
172
+ * @param Varien_Filter_Template $filter
173
+ * @return Mage_Core_Model_Email_Template
174
+ */
175
+ public function setTemplateFilter(Varien_Filter_Template $filter)
176
+ {
177
+ $this->_templateFilter = $filter;
178
+ return $this;
179
+ }
180
+
181
+ /**
182
+ * Get filter object for template processing logi
183
+ *
184
+ * @return Mage_Core_Model_Email_Template_Filter
185
+ */
186
+ public function getTemplateFilter()
187
+ {
188
+ if (empty($this->_templateFilter)) {
189
+ $this->_templateFilter = Mage::getModel('core/email_template_filter');
190
+ $this->_templateFilter->setUseAbsoluteLinks($this->getUseAbsoluteLinks())
191
+ ->setStoreId($this->getDesignConfig()->getStore());
192
+ }
193
+ return $this->_templateFilter;
194
+ }
195
+
196
+ /**
197
+ * Load template by code
198
+ *
199
+ * @param string $templateCode
200
+ * @return Mage_Core_Model_Email_Template
201
+ */
202
+ public function loadByCode($templateCode)
203
+ {
204
+ $this->addData($this->getResource()->loadByCode($templateCode));
205
+ return $this;
206
+ }
207
+
208
+ /**
209
+ * Load default email template from locale translate
210
+ *
211
+ * @param string $templateId
212
+ * @param string $locale
213
+ */
214
+ public function loadDefault($templateId, $locale=null)
215
+ {
216
+ $defaultTemplates = self::getDefaultTemplates();
217
+ if (!isset($defaultTemplates[$templateId])) {
218
+ return $this;
219
+ }
220
+
221
+ $data = &$defaultTemplates[$templateId];
222
+ $this->setTemplateType($data['type']=='html' ? self::TYPE_HTML : self::TYPE_TEXT);
223
+
224
+ $templateText = Mage::app()->getTranslator()->getTemplateFile(
225
+ $data['file'], 'email', $locale
226
+ );
227
+
228
+ if (preg_match('/<!--@subject\s*(.*?)\s*@-->/u', $templateText, $matches)) {
229
+ $this->setTemplateSubject($matches[1]);
230
+ $templateText = str_replace($matches[0], '', $templateText);
231
+ }
232
+
233
+ if (preg_match('/<!--@vars\s*((?:.)*?)\s*@-->/us', $templateText, $matches)) {
234
+ $this->setData('orig_template_variables', str_replace("\n", '', $matches[1]));
235
+ $templateText = str_replace($matches[0], '', $templateText);
236
+ }
237
+
238
+ if (preg_match('/<!--@styles\s*(.*?)\s*@-->/s', $templateText, $matches)) {
239
+ $this->setTemplateStyles($matches[1]);
240
+ $templateText = str_replace($matches[0], '', $templateText);
241
+ }
242
+
243
+ /**
244
+ * Remove comment lines
245
+ */
246
+ $templateText = preg_replace('#\{\*.*\*\}#suU', '', $templateText);
247
+
248
+ $this->setTemplateText($templateText);
249
+ $this->setId($templateId);
250
+
251
+ return $this;
252
+ }
253
+
254
+ /**
255
+ * Retrive default templates from config
256
+ *
257
+ * @return array
258
+ */
259
+ static public function getDefaultTemplates()
260
+ {
261
+ if(is_null(self::$_defaultTemplates)) {
262
+ self::$_defaultTemplates = Mage::getConfig()->getNode(self::XML_PATH_TEMPLATE_EMAIL)->asArray();
263
+ }
264
+
265
+ return self::$_defaultTemplates;
266
+ }
267
+
268
+ /**
269
+ * Retrive default templates as options array
270
+ *
271
+ * @return array
272
+ */
273
+ static public function getDefaultTemplatesAsOptionsArray()
274
+ {
275
+ $options = array(
276
+ array('value'=>'', 'label'=> '')
277
+ );
278
+
279
+ $idLabel = array();
280
+ foreach (self::getDefaultTemplates() as $templateId => $row) {
281
+ if (isset($row['@']) && isset($row['@']['module'])) {
282
+ $module = $row['@']['module'];
283
+ } else {
284
+ $module = 'adminhtml';
285
+ }
286
+ $idLabel[$templateId] = Mage::helper($module)->__($row['label']);
287
+ }
288
+ asort($idLabel);
289
+ foreach ($idLabel as $templateId => $label) {
290
+ $options[] = array('value' => $templateId, 'label' => $label);
291
+ }
292
+
293
+ return $options;
294
+ }
295
+
296
+ /**
297
+ * Return template id
298
+ * return int|null
299
+ */
300
+ public function getId()
301
+ {
302
+ return $this->getTemplateId();
303
+ }
304
+
305
+ /**
306
+ * Set id of template
307
+ * @param int $value
308
+ */
309
+ public function setId($value)
310
+ {
311
+ return $this->setTemplateId($value);
312
+ }
313
+
314
+ /**
315
+ * Return true if this template can be used for sending queue as main template
316
+ *
317
+ * @return boolean
318
+ */
319
+ public function isValidForSend()
320
+ {
321
+ return !Mage::getStoreConfigFlag('system/smtp/disable')
322
+ && $this->getSenderName()
323
+ && $this->getSenderEmail()
324
+ && $this->getTemplateSubject();
325
+ }
326
+
327
+ /**
328
+ * Getter for template type
329
+ *
330
+ * @return int|string
331
+ */
332
+ public function getType(){
333
+ return $this->getTemplateType();
334
+ }
335
+
336
+ /**
337
+ * Process email template code
338
+ *
339
+ * @param array $variables
340
+ * @return string
341
+ */
342
+ public function getProcessedTemplate(array $variables = array())
343
+ {
344
+ $processor = $this->getTemplateFilter();
345
+ $processor->setUseSessionInUrl(false)
346
+ ->setPlainTemplateMode($this->isPlain());
347
+
348
+ if (!$this->_preprocessFlag) {
349
+ $variables['this'] = $this;
350
+ }
351
+
352
+ if (isset($variables['subscriber']) && ($variables['subscriber'] instanceof Mage_Newsletter_Model_Subscriber)) {
353
+ $processor->setStoreId($variables['subscriber']->getStoreId());
354
+ }
355
+
356
+ if (!isset($variables['logo_url'])) {
357
+ $variables['logo_url'] = $this->_getLogoUrl($processor->getStoreId());
358
+ }
359
+ if (!isset($variables['logo_alt'])) {
360
+ $variables['logo_alt'] = $this->_getLogoAlt($processor->getStoreId());
361
+ }
362
+
363
+ $processor->setIncludeProcessor(array($this, 'getInclude'))
364
+ ->setVariables($variables);
365
+
366
+ $this->_applyDesignConfig();
367
+ try {
368
+ $processedResult = $processor->filter($this->getPreparedTemplateText());
369
+ }
370
+ catch (Exception $e) {
371
+ $this->_cancelDesignConfig();
372
+ throw $e;
373
+ }
374
+ $this->_cancelDesignConfig();
375
+ return $processedResult;
376
+ }
377
+
378
+ /**
379
+ * Makes additional text preparations for HTML templates
380
+ *
381
+ * @return string
382
+ */
383
+ public function getPreparedTemplateText()
384
+ {
385
+ if ($this->isPlain() || !$this->getTemplateStyles()) {
386
+ return $this->getTemplateText();
387
+ }
388
+ // wrap styles into style tag
389
+ $html = "<style type=\"text/css\">\n%s\n</style>\n%s";
390
+ return sprintf($html, $this->getTemplateStyles(), $this->getTemplateText());
391
+ }
392
+
393
+ /**
394
+ * Get template code for include directive
395
+ *
396
+ * @param string $template
397
+ * @param array $variables
398
+ * @return string
399
+ */
400
+ public function getInclude($template, array $variables)
401
+ {
402
+ $thisClass = __CLASS__;
403
+ $includeTemplate = new $thisClass();
404
+
405
+ $includeTemplate->loadByCode($template);
406
+
407
+ return $includeTemplate->getProcessedTemplate($variables);
408
+ }
409
+
410
+ /**
411
+ * Send mail to recipient
412
+ *
413
+ * @param array|string $email E-mail(s)
414
+ * @param array|string|null $name receiver name(s)
415
+ * @param array $variables template variables
416
+ * @return boolean
417
+ **/
418
+ public function send($email, $name = null, array $variables = array())
419
+ {
420
+ if (!$this->isValidForSend()) {
421
+ Mage::logException(new Exception('This letter cannot be sent.')); // translation is intentionally omitted
422
+ return false;
423
+ }
424
+
425
+ $emails = array_values((array)$email);
426
+ $names = is_array($name) ? $name : (array)$name;
427
+ $names = array_values($names);
428
+ foreach ($emails as $key => $email) {
429
+ if (!isset($names[$key])) {
430
+ $names[$key] = substr($email, 0, strpos($email, '@'));
431
+ }
432
+ }
433
+
434
+ $variables['email'] = reset($emails);
435
+ $variables['name'] = reset($names);
436
+
437
+ ini_set('SMTP', Mage::getStoreConfig('system/smtp/host'));
438
+ ini_set('smtp_port', Mage::getStoreConfig('system/smtp/port'));
439
+
440
+ $mail = $this->getMail();
441
+
442
+ $setReturnPath = Mage::getStoreConfig(self::XML_PATH_SENDING_SET_RETURN_PATH);
443
+ switch ($setReturnPath) {
444
+ case 1:
445
+ $returnPathEmail = $this->getSenderEmail();
446
+ break;
447
+ case 2:
448
+ $returnPathEmail = Mage::getStoreConfig(self::XML_PATH_SENDING_RETURN_PATH_EMAIL);
449
+ break;
450
+ default:
451
+ $returnPathEmail = null;
452
+ break;
453
+ }
454
+
455
+ if ($returnPathEmail !== null) {
456
+ $mailTransport = new Zend_Mail_Transport_Sendmail("-f".$returnPathEmail);
457
+ Zend_Mail::setDefaultTransport($mailTransport);
458
+ }
459
+
460
+ foreach ($emails as $key => $email) {
461
+ $mail->addTo($email, '=?utf-8?B?' . base64_encode($names[$key]) . '?=');
462
+ }
463
+
464
+ $this->setUseAbsoluteLinks(true);
465
+ $text = $this->getProcessedTemplate($variables, true);
466
+
467
+ if($this->isPlain()) {
468
+ $mail->setBodyText($text);
469
+ } else {
470
+ $mail->setBodyHTML($text);
471
+ }
472
+
473
+ $mail->setSubject('=?utf-8?B?' . base64_encode($this->getProcessedTemplateSubject($variables)) . '?=');
474
+ $mail->setFrom($this->getSenderEmail(), $this->getSenderName());
475
+
476
+ try {
477
+ $mail->send();
478
+ $this->_mail = null;
479
+ }
480
+ catch (Exception $e) {
481
+ $this->_mail = null;
482
+ Mage::logException($e);
483
+ return false;
484
+ }
485
+
486
+ return true;
487
+ }
488
+
489
+ /**
490
+ * Send transactional email to recipient
491
+ *
492
+ * @param int $templateId
493
+ * @param string|array $sender sneder informatio, can be declared as part of config path
494
+ * @param string $email recipient email
495
+ * @param string $name recipient name
496
+ * @param array $vars varianles which can be used in template
497
+ * @param int|null $storeId
498
+ * @return Mage_Core_Model_Email_Template
499
+ */
500
+ public function sendTransactional($templateId, $sender, $email, $name, $vars=array(), $storeId=null)
501
+ {
502
+ $this->setSentSuccess(false);
503
+ if (($storeId === null) && $this->getDesignConfig()->getStore()) {
504
+ $storeId = $this->getDesignConfig()->getStore();
505
+ }
506
+
507
+ if (is_numeric($templateId)) {
508
+ $this->load($templateId);
509
+ } else {
510
+ $localeCode = Mage::getStoreConfig('general/locale/code', $storeId);
511
+ $this->loadDefault($templateId, $localeCode);
512
+ }
513
+
514
+ if (!$this->getId()) {
515
+ throw Mage::exception('Mage_Core', Mage::helper('core')->__('Invalid transactional email code: %s', $templateId));
516
+ }
517
+
518
+ if (!is_array($sender)) {
519
+ $this->setSenderName(Mage::getStoreConfig('trans_email/ident_' . $sender . '/name', $storeId));
520
+ $this->setSenderEmail(Mage::getStoreConfig('trans_email/ident_' . $sender . '/email', $storeId));
521
+ } else {
522
+ $this->setSenderName($sender['name']);
523
+ $this->setSenderEmail($sender['email']);
524
+ }
525
+
526
+ if (!isset($vars['store'])) {
527
+ $vars['store'] = Mage::app()->getStore($storeId);
528
+ }
529
+ $this->setSentSuccess($this->send($email, $name, $vars));
530
+ return $this;
531
+ }
532
+
533
+ /**
534
+ * Process email subject
535
+ *
536
+ * @param array $variables
537
+ * @return string
538
+ */
539
+ public function getProcessedTemplateSubject(array $variables)
540
+ {
541
+ $processor = $this->getTemplateFilter();
542
+
543
+ if(!$this->_preprocessFlag) {
544
+ $variables['this'] = $this;
545
+ }
546
+
547
+ $processor->setVariables($variables);
548
+
549
+ $this->_applyDesignConfig();
550
+ try{
551
+ $processedResult = $processor->filter($this->getTemplateSubject());
552
+ }
553
+ catch (Exception $e) {
554
+ $this->_cancelDesignConfig();
555
+ throw $e;
556
+ }
557
+ $this->_cancelDesignConfig();
558
+ return $processedResult;
559
+ }
560
+
561
+ public function addBcc($bcc)
562
+ {
563
+ if (is_array($bcc)) {
564
+ foreach ($bcc as $email) {
565
+ $this->getMail()->addBcc($email);
566
+ }
567
+ }
568
+ elseif ($bcc) {
569
+ $this->getMail()->addBcc($bcc);
570
+ }
571
+ return $this;
572
+ }
573
+
574
+ /**
575
+ * Set Return Path
576
+ *
577
+ * @param string $email
578
+ * @return Mage_Core_Model_Email_Template
579
+ */
580
+ public function setReturnPath($email)
581
+ {
582
+ $this->getMail()->setReturnPath($email);
583
+ return $this;
584
+ }
585
+
586
+ /**
587
+ * Add Reply-To header
588
+ *
589
+ * @param string $email
590
+ * @return Mage_Core_Model_Email_Template
591
+ */
592
+ public function setReplyTo($email)
593
+ {
594
+ $this->getMail()->setReplyTo($email);
595
+ return $this;
596
+ }
597
+
598
+ /**
599
+ * Parse variables string into array of variables
600
+ *
601
+ * @param string $variablesString
602
+ * @return array
603
+ */
604
+ protected function _parseVariablesString($variablesString)
605
+ {
606
+ $variables = array();
607
+ if ($variablesString && is_string($variablesString)) {
608
+ $variablesString = str_replace("\n", '', $variablesString);
609
+ $variables = Zend_Json::decode($variablesString);
610
+ }
611
+ return $variables;
612
+ }
613
+
614
+ /**
615
+ * Retrieve option array of variables
616
+ *
617
+ * @param boolean $withGroup if true wrap variable options in group
618
+ * @return array
619
+ */
620
+ public function getVariablesOptionArray($withGroup = false)
621
+ {
622
+ $optionArray = array();
623
+ $variables = $this->_parseVariablesString($this->getData('orig_template_variables'));
624
+ if ($variables) {
625
+ foreach ($variables as $value => $label) {
626
+ $optionArray[] = array(
627
+ 'value' => '{{' . $value . '}}',
628
+ 'label' => Mage::helper('core')->__('%s', $label)
629
+ );
630
+ }
631
+ if ($withGroup) {
632
+ $optionArray = array(
633
+ 'label' => Mage::helper('core')->__('Template Variables'),
634
+ 'value' => $optionArray
635
+ );
636
+ }
637
+ }
638
+ return $optionArray;
639
+ }
640
+
641
+ /**
642
+ * Validate email template code
643
+ *
644
+ * @return Mage_Core_Model_Email_Template
645
+ */
646
+ protected function _beforeSave()
647
+ {
648
+ $code = $this->getTemplateCode();
649
+ if (empty($code)) {
650
+ Mage::throwException(Mage::helper('core')->__('The template Name must not be empty.'));
651
+ }
652
+ if($this->_getResource()->checkCodeUsage($this)) {
653
+ Mage::throwException(Mage::helper('core')->__('Duplicate Of Template Name'));
654
+ }
655
+ return parent::_beforeSave();
656
+ }
657
+ }
app/code/community/Einfochips/Coupons4U/Model/Resource/Einfochipscoupons4u.php ADDED
@@ -0,0 +1,221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U resource model
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Model_Resource_Einfochipscoupons4u extends Mage_Core_Model_Resource_Db_Abstract{
25
+ /**
26
+ * constructor
27
+ * @access public
28
+ * @return void
29
+ * @author e-Infochips
30
+ */
31
+ public function _construct(){
32
+ $this->_init('coupons4u/einfochipscoupons4u', 'entity_id');
33
+ }
34
+
35
+ /**
36
+ * Get store ids to which specified item is assigned
37
+ * @access public
38
+ * @param int $einfochipscoupons4uId
39
+ * @return array
40
+ * @author e-Infochips
41
+ */
42
+ public function lookupStoreIds($einfochipscoupons4uId){
43
+ $adapter = $this->_getReadAdapter();
44
+ $select = $adapter->select()
45
+ ->from($this->getTable('coupons4u/einfochipscoupons4u_store'), 'store_id')
46
+ ->where('einfochipscoupons4u_id = ?',(int)$einfochipscoupons4uId);
47
+ return $adapter->fetchCol($select);
48
+ }
49
+ /**
50
+ * Perform operations after object load
51
+ * @access public
52
+ * @param Mage_Core_Model_Abstract $object
53
+ * @return Einfochips_Coupons4U_Model_Resource_Einfochipscoupons4u
54
+ * @author e-Infochips
55
+ */
56
+ protected function _afterLoad(Mage_Core_Model_Abstract $object){
57
+ if ($object->getId()) {
58
+ $stores = $this->lookupStoreIds($object->getId());
59
+ $object->setData('store_id', $stores);
60
+ }
61
+ return parent::_afterLoad($object);
62
+ }
63
+
64
+ /**
65
+ * Retrieve select object for load object data
66
+ *
67
+ * @param string $field
68
+ * @param mixed $value
69
+ * @param Einfochips_Coupons4U_Model_Einfochipscoupons4u $object
70
+ * @return Zend_Db_Select
71
+ */
72
+ protected function _getLoadSelect($field, $value, $object){
73
+ $select = parent::_getLoadSelect($field, $value, $object);
74
+ if ($object->getStoreId()) {
75
+ $storeIds = array(Mage_Core_Model_App::ADMIN_STORE_ID, (int)$object->getStoreId());
76
+ $select->join(
77
+ array('coupons4u_einfochipscoupons4u_store' => $this->getTable('coupons4u/einfochipscoupons4u_store')),
78
+ $this->getMainTable() . '.entity_id = coupons4u_einfochipscoupons4u_store.einfochipscoupons4u_id',
79
+ array()
80
+ )
81
+ ->where('coupons4u_einfochipscoupons4u_store.store_id IN (?)', $storeIds)
82
+ ->order('coupons4u_einfochipscoupons4u_store.store_id DESC')
83
+ ->limit(1);
84
+ }
85
+ return $select;
86
+ }
87
+ /**
88
+ * Assign einfochipscoupons4u to store views
89
+ * @access protected
90
+ * @param Mage_Core_Model_Abstract $object
91
+ * @return Einfochips_Coupons4U_Model_Resource_Einfochipscoupons4u
92
+ * @author e-Infochips
93
+ */
94
+ protected function _afterSave(Mage_Core_Model_Abstract $object){
95
+ $oldStores = $this->lookupStoreIds($object->getId());
96
+ $newStores = (array)$object->getStores();
97
+ if (empty($newStores)) {
98
+ $newStores = (array)$object->getStoreId();
99
+ }
100
+ $table = $this->getTable('coupons4u/einfochipscoupons4u_store');
101
+ $insert = array_diff($newStores, $oldStores);
102
+ $delete = array_diff($oldStores, $newStores);
103
+ if ($delete) {
104
+ $where = array(
105
+ 'einfochipscoupons4u_id = ?' => (int) $object->getId(),
106
+ 'store_id IN (?)' => $delete
107
+ );
108
+ $this->_getWriteAdapter()->delete($table, $where);
109
+ }
110
+ if ($insert) {
111
+ $data = array();
112
+ foreach ($insert as $storeId) {
113
+ $data[] = array(
114
+ 'einfochipscoupons4u_id' => (int) $object->getId(),
115
+ 'store_id' => (int) $storeId
116
+ );
117
+ }
118
+ $this->_getWriteAdapter()->insertMultiple($table, $data);
119
+ }
120
+ return parent::_afterSave($object);
121
+ } /**
122
+ * check url key
123
+ * @access public
124
+ * @param string $urlKey
125
+ * @param bool $active
126
+ * @return mixed
127
+ * @author e-Infochips
128
+ */
129
+ public function checkUrlKey($urlKey, $storeId, $active = true){
130
+ $stores = array(Mage_Core_Model_App::ADMIN_STORE_ID, $storeId);
131
+ $select = $this->_initCheckUrlKeySelect($urlKey, $stores);
132
+ if (!is_null($active)) {
133
+ $select->where('e.status = ?', $active);
134
+ }
135
+ $select->reset(Zend_Db_Select::COLUMNS)
136
+ ->columns('e.entity_id')
137
+ ->limit(1);
138
+
139
+ return $this->_getReadAdapter()->fetchOne($select);
140
+ }
141
+ /**
142
+ * init the check select
143
+ * @access protected
144
+ * @param string $urlKey
145
+ * @param array $store
146
+ * @return Zend_Db_Select
147
+ * @author e-Infochips
148
+ */
149
+ protected function _initCheckUrlKeySelect($urlKey, $store){
150
+ $select = $this->_getReadAdapter()->select()
151
+ ->from(array('e' => $this->getMainTable()))
152
+ ->join(
153
+ array('es' => $this->getTable('coupons4u/einfochipscoupons4u_store')),
154
+ 'e.entity_id = es.einfochipscoupons4u_id',
155
+ array())
156
+ ->where('e.url_key = ?', $urlKey)
157
+ ->where('es.store_id IN (?)', $store);
158
+ return $select;
159
+ }
160
+ /**
161
+ * Check for unique URL key
162
+ * @access public
163
+ * @param Mage_Core_Model_Abstract $object
164
+ * @return bool
165
+ * @author e-Infochips
166
+ */
167
+ public function getIsUniqueUrlKey(Mage_Core_Model_Abstract $object){
168
+ if (Mage::app()->isSingleStoreMode() || !$object->hasStores()) {
169
+ $stores = array(Mage_Core_Model_App::ADMIN_STORE_ID);
170
+ }
171
+ else {
172
+ $stores = (array)$object->getData('stores');
173
+ }
174
+ $select = $this->_initCheckUrlKeySelect($object->getData('url_key'), $stores);
175
+ if ($object->getId()) {
176
+ $select->where('e.entity_id <> ?', $object->getId());
177
+ }
178
+ if ($this->_getWriteAdapter()->fetchRow($select)) {
179
+ return false;
180
+ }
181
+ return true;
182
+ }
183
+ /**
184
+ * Check if the URL key is numeric
185
+ * @access public
186
+ * @param Mage_Core_Model_Abstract $object
187
+ * @return bool
188
+ * @author e-Infochips
189
+ */
190
+ protected function isNumericUrlKey(Mage_Core_Model_Abstract $object){
191
+ return preg_match('/^[0-9]+$/', $object->getData('url_key'));
192
+ }
193
+ /**
194
+ * Checkif the URL key is valid
195
+ * @access public
196
+ * @param Mage_Core_Model_Abstract $object
197
+ * @return bool
198
+ * @author e-Infochips
199
+ */
200
+ protected function isValidUrlKey(Mage_Core_Model_Abstract $object){
201
+ return preg_match('/^[a-z0-9][a-z0-9_\/-]+(\.[a-z0-9_-]+)?$/', $object->getData('url_key'));
202
+ }
203
+ /**
204
+ * validate before saving
205
+ * @access protected
206
+ * @param $object
207
+ * @return Einfochips_Coupons4U_Model_Resource_Einfochipscoupons4u
208
+ * @author e-Infochips
209
+ */
210
+ protected function _beforeSave(Mage_Core_Model_Abstract $object){
211
+ /*if (!$this->getIsUniqueUrlKey($object)) {
212
+ Mage::throwException(Mage::helper('coupons4u')->__('URL key already exists.'));
213
+ }
214
+ if (!$this->isValidUrlKey($object)) {
215
+ Mage::throwException(Mage::helper('coupons4u')->__('The URL key contains capital letters or disallowed symbols.'));
216
+ }
217
+ if ($this->isNumericUrlKey($object)) {
218
+ Mage::throwException(Mage::helper('coupons4u')->__('The URL key cannot consist only of numbers.'));
219
+ }*/
220
+ return parent::_beforeSave($object);
221
+ }}
app/code/community/Einfochips/Coupons4U/Model/Resource/Einfochipscoupons4u/Collection.php ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U collection resource model
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Model_Resource_Einfochipscoupons4u_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract{
25
+ protected $_joinedFields = array();
26
+ /**
27
+ * constructor
28
+ * @access public
29
+ * @return void
30
+ * @author e-Infochips
31
+ */
32
+ public function _construct(){
33
+ parent::_construct();
34
+ $this->_init('coupons4u/einfochipscoupons4u');
35
+ $this->_map['fields']['store'] = 'store_table.store_id';
36
+ }
37
+ /**
38
+ * get einfochipscoupons4us as array
39
+ * @access protected
40
+ * @param string $valueField
41
+ * @param string $labelField
42
+ * @param array $additional
43
+ * @return array
44
+ * @author e-Infochips
45
+ */
46
+ protected function _toOptionArray($valueField='entity_id', $labelField='coupon_id', $additional=array()){
47
+ return parent::_toOptionArray($valueField, $labelField, $additional);
48
+ }
49
+ /**
50
+ * get options hash
51
+ * @access protected
52
+ * @param string $valueField
53
+ * @param string $labelField
54
+ * @return array
55
+ * @author e-Infochips
56
+ */
57
+ protected function _toOptionHash($valueField='entity_id', $labelField='coupon_id'){
58
+ return parent::_toOptionHash($valueField, $labelField);
59
+ }
60
+ /**
61
+ * Add filter by store
62
+ * @access public
63
+ * @param int|Mage_Core_Model_Store $store
64
+ * @param bool $withAdmin
65
+ * @return Einfochips_Coupons4U_Model_Resource_Einfochipscoupons4u_Collection
66
+ * @author e-Infochips
67
+ */
68
+ public function addStoreFilter($store, $withAdmin = true){
69
+ if (!isset($this->_joinedFields['store'])){
70
+ if ($store instanceof Mage_Core_Model_Store) {
71
+ $store = array($store->getId());
72
+ }
73
+ if (!is_array($store)) {
74
+ $store = array($store);
75
+ }
76
+ if ($withAdmin) {
77
+ $store[] = Mage_Core_Model_App::ADMIN_STORE_ID;
78
+ }
79
+ $this->addFilter('store', array('in' => $store), 'public');
80
+ $this->_joinedFields['store'] = true;
81
+ }
82
+ return $this;
83
+ }
84
+ /**
85
+ * Join store relation table if there is store filter
86
+ * @access protected
87
+ * @return Einfochips_Coupons4U_Model_Resource_Einfochipscoupons4u_Collection
88
+ * @author e-Infochips
89
+ */
90
+ protected function _renderFiltersBefore(){
91
+ if ($this->getFilter('store')) {
92
+ $this->getSelect()->join(
93
+ array('store_table' => $this->getTable('coupons4u/einfochipscoupons4u_store')),
94
+ 'main_table.entity_id = store_table.einfochipscoupons4u_id',
95
+ array()
96
+ )->group('main_table.entity_id');
97
+ /*
98
+ * Allow analytic functions usage because of one field grouping
99
+ */
100
+ $this->_useAnalyticFunction = true;
101
+ }
102
+ return parent::_renderFiltersBefore();
103
+ }
104
+ /**
105
+ * Get SQL for get record count.
106
+ * Extra GROUP BY strip added.
107
+ * @access public
108
+ * @return Varien_Db_Select
109
+ * @author e-Infochips
110
+ */
111
+ public function getSelectCountSql(){
112
+ $countSelect = parent::getSelectCountSql();
113
+ $countSelect->reset(Zend_Db_Select::GROUP);
114
+ return $countSelect;
115
+ }
116
+ }
app/code/community/Einfochips/Coupons4U/Model/Resource/Setup.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * Coupons4U setup
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup{
25
+
26
+ }
app/code/community/Einfochips/Coupons4U/Model/email.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Einfochips_Coupons4U_Model_Email extends Einfochips_Coupons4U_Model_Email_Template
3
+ {
4
+ /**
5
+ * Send email to recipient
6
+ *
7
+ * @param string $templateId template identifier (see config.xml to know it)
8
+ * @param array $sender sender name with email ex. array('name' => 'John D.', 'email' => 'email@ex.com')
9
+ * @param string $email recipient email address
10
+ * @param string $name recipient name
11
+ * @param string $subject email subject
12
+ * @param array $params data array that will be passed into template
13
+ */
14
+ public function sendEmail($templateId, $sender, $email, $name, $subject, $params = array())
15
+ {
16
+ $this->setDesignConfig(array('area' => 'frontend', 'store' => $this->getDesignConfig()->getStore()))
17
+ ->setTemplateSubject($subject)
18
+ ->sendTransactional(
19
+ $templateId,
20
+ $sender,
21
+ $email,
22
+ $name,
23
+ $params
24
+ );
25
+ }
26
+ }
app/code/community/Einfochips/Coupons4U/controllers/Adminhtml/Coupons4U/Einfochipscoupons4uController.php ADDED
@@ -0,0 +1,511 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U admin controller
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Adminhtml_Coupons4U_Einfochipscoupons4uController extends Einfochips_Coupons4U_Controller_Adminhtml_Coupons4U{
25
+ /**
26
+ * init the einfochipscoupons4u
27
+ * @access protected
28
+ * @return Einfochips_Coupons4U_Model_Einfochipscoupons4u
29
+ */
30
+ protected $_publicActions = array('view');
31
+ protected function _initEinfochipscoupons4u(){
32
+ $einfochipscoupons4uId = (int) $this->getRequest()->getParam('id');
33
+ $einfochipscoupons4u = Mage::getModel('coupons4u/einfochipscoupons4u');
34
+ if ($einfochipscoupons4uId) {
35
+ $einfochipscoupons4u->load($einfochipscoupons4uId);
36
+ }
37
+ Mage::register('current_einfochipscoupons4u', $einfochipscoupons4u);
38
+ return $einfochipscoupons4u;
39
+ }
40
+ /**
41
+ * default action
42
+ * @access public
43
+ * @return void
44
+ * @author e-Infochips
45
+ */
46
+
47
+ public function viewAction() {
48
+ $this->loadLayout();
49
+ $this->_title(Mage::helper('coupons4u')->__('Coupons4U'))
50
+ ->_title(Mage::helper('coupons4u')->__('EinfochipsCoupons4U'));
51
+ $this->renderLayout();
52
+ }
53
+ public function indexAction() {
54
+ $this->loadLayout();
55
+ $this->_title(Mage::helper('coupons4u')->__('Coupons4U'))
56
+ ->_title(Mage::helper('coupons4u')->__('EinfochipsCoupons4U'));
57
+ $this->renderLayout();
58
+ }
59
+ /**
60
+ * grid action
61
+ * @access public
62
+ * @return void
63
+ * @author e-Infochips
64
+ */
65
+ public function gridAction() {
66
+ $this->loadLayout()->renderLayout();
67
+ }
68
+ /**
69
+ * edit einfochipscoupons4u - action
70
+ * @access public
71
+ * @return void
72
+ * @author e-Infochips
73
+ */
74
+ public function editAction() {
75
+ $einfochipscoupons4uId = $this->getRequest()->getParam('id');
76
+ $einfochipscoupons4u = $this->_initEinfochipscoupons4u();
77
+ if ($einfochipscoupons4uId && !$einfochipscoupons4u->getId()) {
78
+ $this->_getSession()->addError(Mage::helper('coupons4u')->__('This einfochipscoupons4u no longer exists.'));
79
+ $this->_redirect('*/*/');
80
+ return;
81
+ }
82
+ $data = Mage::getSingleton('adminhtml/session')->getFormData(true);
83
+ if (!empty($data)) {
84
+ $einfochipscoupons4u->setData($data);
85
+ }
86
+ Mage::register('einfochipscoupons4u_data', $einfochipscoupons4u);
87
+ $this->loadLayout();
88
+ $this->_title(Mage::helper('coupons4u')->__('Coupons4U'))
89
+ ->_title(Mage::helper('coupons4u')->__('EinfochipsCoupons4U'));
90
+ if ($einfochipscoupons4u->getId()){
91
+ $this->_title($einfochipscoupons4u->getCouponId());
92
+ }
93
+ else{
94
+ //$this->_title(Mage::helper('coupons4u')->__('Add einfochipscoupons4u'));
95
+ }
96
+ if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) {
97
+ $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
98
+ }
99
+ $this->renderLayout();
100
+ }
101
+ /**
102
+ * new einfochipscoupons4u action
103
+ * @access public
104
+ * @return void
105
+ * @author e-Infochips
106
+ */
107
+ public function newAction() {
108
+ $this->_forward('edit');
109
+ }
110
+
111
+ /**
112
+ * Coupons mass assign action
113
+ */
114
+ public function assignAction()
115
+ {
116
+
117
+ $this->loadLayout();
118
+ $coupons_array = array();
119
+
120
+ $codesIds = $this->getRequest()->getParam('ids');
121
+ if (is_array($codesIds)) {
122
+
123
+ $couponsCollection = Mage::getResourceModel('salesrule/coupon_collection')
124
+ ->addFieldToFilter('coupon_id', array('in' => $codesIds));
125
+
126
+ foreach ($couponsCollection as $coupon) {
127
+ $coupons_array[0][$coupon->getId()] = $coupon->getCode();
128
+ $coupons_array[1] = $coupon->getRuleId();
129
+ $coupons_array[2] = $coupon->getUsageLimit();
130
+ $coupons_array[3] = $coupon->getUsagePerCustomer();
131
+ $coupons_array[4][$coupon->getId()] = $coupon->getTimesUsed();
132
+ }
133
+ }
134
+
135
+ Mage::getModel('core/session')->setData('couponsArray',$coupons_array);
136
+ $this->_addContent($this->getLayout()->createBlock('coupons4u/adminhtml_Einfochipscoupons4u_hello','UserCouponsAssign'));
137
+ $this->renderLayout();
138
+ }
139
+
140
+ /*
141
+ Assign to selected customre
142
+ */
143
+
144
+ public function assignCouponsAction() {
145
+
146
+ $xcoupon = Mage::getModel('core/session')->getData('couponsArray');
147
+ $customersIds = $this->getRequest()->getParam('customer');
148
+
149
+ $resource = Mage::getSingleton('core/resource');
150
+ $readConnection = $resource->getConnection('core_read');
151
+
152
+ $query = 'select customer_id from '.$resource->getTableName('salesrule_customer').' where rule_id = '.$xcoupon[1].' AND times_used = '.$xcoupon[3];
153
+
154
+ $results = $readConnection->fetchCol($query);
155
+
156
+ if(count($results)!=0) {
157
+ $customersIds = array_diff($customersIds,$results);
158
+ }
159
+
160
+ $from_email = Mage::getStoreConfig('trans_email/ident_general/email'); //fetch sender email Admin
161
+ $from_name = Mage::getStoreConfig('trans_email/ident_general/name'); //fetch sender name Admin
162
+
163
+ $no_coupons = count($xcoupon[0]);
164
+ $no_customer = count($customersIds);
165
+ $couponIds = array_keys($xcoupon[0]);
166
+ $couponCodes = array_values($xcoupon[0]);
167
+ $usercouponsModel = Mage::getModel('coupons4u/einfochipscoupons4u');
168
+
169
+ $custData = array();
170
+ $customreCollection = Mage::getModel('customer/customer')->getCollection()
171
+ ->addAttributeToSelect('entity_id')
172
+ ->addAttributeToSelect('firstname')
173
+ ->addAttributeToSelect('lastname')
174
+ ->addAttributeToSelect('email')
175
+ ->addFieldToFilter('entity_id',array('IN'=>$customersIds));
176
+
177
+ foreach($customreCollection as $customer) {
178
+ $custData[$customer->getEntityId()][0] = $customer->getEmail();
179
+ $custData[$customer->getEntityId()][1] = $customer->getFirstname();
180
+ }
181
+
182
+ if($no_customer==0 || $no_customer=="" ) {
183
+ Mage::getSingleton('adminhtml/session')->addSuccess(
184
+ Mage::helper('coupons4u/einfochipscoupons4u')->__('No Customer.')
185
+ );
186
+ }
187
+ else {
188
+ if($no_coupons > $no_customer){
189
+ //loop through customer and assign individual coupon to customer
190
+
191
+ for($i=0;$i<$no_customer;$i++){
192
+ $usercouponsModel->setRuleId($xcoupon[1]);
193
+ $usercouponsModel->setCustomerId($customersIds[$i]);
194
+ $usercouponsModel->setCouponId($couponIds[$i]);
195
+ $usercouponsModel->setCode($couponCodes[$i]);
196
+ $usercouponsModel->save();
197
+
198
+ Mage::getModel('coupons4u/email')->sendEmail(
199
+ 'coupons4u_email_template',
200
+ array('name' => "$from_name", 'email' =>"$from_email"),
201
+ $custData[$customersIds[$i]][0],
202
+ $custData[$customersIds[$i]][1],
203
+ 'UserCoupon Email',
204
+ array('CouponCode' => $couponCodes[$i])
205
+ );
206
+ $usercouponsModel->unsetData();
207
+ }
208
+ }
209
+ else{
210
+ // Coupons are less than number of customers
211
+ if($no_coupons==1){
212
+ // loop through the customer and assign single coupon to all the customer
213
+ $noLoop=0;
214
+ $nsplLoop = 0;
215
+ if($xcoupon[2]==1){
216
+ $noLoop = $xcoupon[2];
217
+ }
218
+ if($xcoupon[2] > $no_customer && $xcoupon[2] >1 ) {
219
+ $noLoop = $no_customer;
220
+ }
221
+ if($xcoupon[2] == $no_customer && $xcoupon[2] >1 ) {
222
+ $noLoop = $xcoupon[2];
223
+ }
224
+ if($xcoupon[2] < $no_customer && $xcoupon[2] >1) {
225
+ $noLoop = $xcoupon[2];
226
+ }
227
+
228
+ if($xcoupon[2]==0){
229
+ $nsplLoop = $no_customer;
230
+ }
231
+
232
+ for($i=0;$i<$nsplLoop;$i++) {
233
+ $usercouponsModel->setRuleId($xcoupon[1]);
234
+ $usercouponsModel->setCustomerId($customersIds[$i]);
235
+ $usercouponsModel->setCouponId($couponIds[0]);
236
+ $usercouponsModel->setCode($couponCodes[0]);
237
+
238
+ Mage::getModel('coupons4u/email')->sendEmail(
239
+ 'coupons4u_email_template',
240
+ array('name' => "$from_name", 'email' =>"$from_email"),
241
+ $custData[$customersIds[$i]][0],
242
+ $custData[$customersIds[$i]][1],
243
+ 'UserCoupon Email',
244
+ array('CouponCode' => $couponCodes[0])
245
+ );
246
+ $usercouponsModel->save();
247
+ $usercouponsModel->unsetData();
248
+ }
249
+
250
+ $couponusage =0;
251
+ for($j=0;$j<$noLoop;$j++) {
252
+ $usercouponsModel->setRuleId($xcoupon[1]);
253
+ $usercouponsModel->setCustomerId($customersIds[$j]);
254
+
255
+ if($couponusage<$xcoupon[2]) {
256
+ $usercouponsModel->setCouponId($couponIds[0]);
257
+ $usercouponsModel->setCode($couponCodes[0]);
258
+ $couponusage++;
259
+ Mage::getModel('coupons4u/email')->sendEmail(
260
+ 'coupons4u_email_template',
261
+ array('name' => "$from_name", 'email' =>"$from_email"),
262
+ $custData[$customersIds[$j]][0],
263
+ $custData[$customersIds[$j]][1],
264
+ 'UserCoupon Email',
265
+ array('CouponCode' => $couponCodes[0])
266
+ );
267
+
268
+ }
269
+ else {
270
+ $couponusage =0;
271
+ }
272
+ $usercouponsModel->save();
273
+ $usercouponsModel->unsetData();
274
+ }
275
+ }
276
+
277
+ if($no_coupons>1)
278
+ {
279
+ if($xcoupon[2]==1){
280
+ $noLoop = $xcoupon[2];
281
+ }
282
+ if($xcoupon[2] > $no_customer && $xcoupon[2] >1 ) {
283
+ $noLoop = $no_customer;
284
+ }
285
+ if($xcoupon[2] == $no_customer && $xcoupon[2] >1 ) {
286
+ $noLoop = $xcoupon[2];
287
+ }
288
+ if($xcoupon[2] < $no_customer && $xcoupon[2] >1) {
289
+ $noLoop = $xcoupon[2];
290
+ }
291
+
292
+ if($xcoupon[2]==0){
293
+ $nsplLoop = $no_customer;
294
+ }
295
+
296
+ for($i=0;$i<$nsplLoop;$i++) {
297
+ $usercouponsModel->setRuleId($xcoupon[1]);
298
+ $usercouponsModel->setCustomerId($customersIds[$i]);
299
+ $usercouponsModel->setCouponId($couponIds[0]);
300
+ $usercouponsModel->setCode($couponCodes[0]);
301
+
302
+ Mage::getModel('coupons4u/email')->sendEmail(
303
+ 'coupons4u_email_template',
304
+ array('name' => "$from_name", 'email' =>"$from_email"),
305
+ $custData[$customersIds[$i]][0],
306
+ $custData[$customersIds[$i]][1],
307
+ 'UserCoupon Email',
308
+ array('CouponCode' => $couponCodes[0])
309
+ );
310
+ $usercouponsModel->save();
311
+ $usercouponsModel->unsetData();
312
+ }
313
+
314
+
315
+ $k=0;
316
+ for($j=0;$j<$no_customer;$j++)
317
+ {
318
+ $usercouponsModel->setRuleId($xcoupon[1]);
319
+ $usercouponsModel->setCustomerId($customersIds[$j]);
320
+
321
+ if(count($couponIds)>$k)
322
+ {
323
+ $usercouponsModel->setCouponId($couponIds[$k]);
324
+ $usercouponsModel->setCode($couponCodes[$k]);
325
+ $k++;
326
+
327
+ Mage::getModel('coupons4u/email')->sendEmail(
328
+ 'coupons4u_email_template',
329
+ array('name' => "$from_name", 'email' =>"$from_email"),
330
+ $custData[$customersIds[$k]][0],
331
+ $custData[$customersIds[$k]][1],
332
+ 'UserCoupon Email',
333
+ array('CouponCode' => $couponCodes[$k])
334
+ );
335
+ $usercouponsModel->save();
336
+ $usercouponsModel->unsetData();
337
+ }
338
+ else {
339
+ $k=0;
340
+ }
341
+ }
342
+ }
343
+ }
344
+ }
345
+ $this->_redirect('*/coupons4u_einfochipscoupons4u/index');
346
+ Mage::getSingleton('adminhtml/session')->addSuccess('Coupons Assigned to Customer.');
347
+ }
348
+
349
+
350
+
351
+ /**
352
+ * save einfochipscoupons4u - action
353
+ * @access public
354
+ * @return void
355
+ * @author e-Infochips
356
+ */
357
+ public function saveAction() {
358
+ if ($data = $this->getRequest()->getPost('einfochipscoupons4u')) {
359
+ try {
360
+ $einfochipscoupons4u = $this->_initEinfochipscoupons4u();
361
+ $einfochipscoupons4u->addData($data);
362
+ $einfochipscoupons4u->save();
363
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('coupons4u')->__('EinfochipsCoupons4U was successfully saved'));
364
+ Mage::getSingleton('adminhtml/session')->setFormData(false);
365
+ if ($this->getRequest()->getParam('back')) {
366
+ $this->_redirect('*/*/edit', array('id' => $einfochipscoupons4u->getId()));
367
+ return;
368
+ }
369
+ $this->_redirect('*/*/');
370
+ return;
371
+ }
372
+ catch (Mage_Core_Exception $e){
373
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
374
+ Mage::getSingleton('adminhtml/session')->setFormData($data);
375
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
376
+ return;
377
+ }
378
+ catch (Exception $e) {
379
+ Mage::logException($e);
380
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('coupons4u')->__('There was a problem saving the einfochipscoupons4u.'));
381
+ Mage::getSingleton('adminhtml/session')->setFormData($data);
382
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
383
+ return;
384
+ }
385
+ }
386
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('coupons4u')->__('Unable to find einfochipscoupons4u to save.'));
387
+ $this->_redirect('*/*/');
388
+ }
389
+ /**
390
+ * delete einfochipscoupons4u - action
391
+ * @access public
392
+ * @return void
393
+ * @author e-Infochips
394
+ */
395
+ public function deleteAction() {
396
+ if( $this->getRequest()->getParam('id') > 0) {
397
+ try {
398
+ $einfochipscoupons4u = Mage::getModel('coupons4u/einfochipscoupons4u');
399
+ $einfochipscoupons4u->setId($this->getRequest()->getParam('id'))->delete();
400
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('coupons4u')->__('EinfochipsCoupons4U was successfully deleted.'));
401
+ $this->_redirect('*/*/');
402
+ return;
403
+ }
404
+ catch (Mage_Core_Exception $e){
405
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
406
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
407
+ }
408
+ catch (Exception $e) {
409
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('coupons4u')->__('There was an error deleteing einfochipscoupons4u.'));
410
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
411
+ Mage::logException($e);
412
+ return;
413
+ }
414
+ }
415
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('coupons4u')->__('Could not find einfochipscoupons4u to delete.'));
416
+ $this->_redirect('*/*/');
417
+ }
418
+ /**
419
+ * mass delete einfochipscoupons4u - action
420
+ * @access public
421
+ * @return void
422
+ * @author e-Infochips
423
+ */
424
+ public function massDeleteAction() {
425
+ $einfochipscoupons4uIds = $this->getRequest()->getParam('einfochipscoupons4u');
426
+ if(!is_array($einfochipscoupons4uIds)) {
427
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('coupons4u')->__('Please select einfochipscoupons4u to delete.'));
428
+ }
429
+ else {
430
+ try {
431
+ foreach ($einfochipscoupons4uIds as $einfochipscoupons4uId) {
432
+ $einfochipscoupons4u = Mage::getModel('coupons4u/einfochipscoupons4u');
433
+ $einfochipscoupons4u->setId($einfochipscoupons4uId)->delete();
434
+ }
435
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('coupons4u')->__('Total of %d einfochipscoupons4u were successfully deleted.', count($einfochipscoupons4uIds)));
436
+ }
437
+ catch (Mage_Core_Exception $e){
438
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
439
+ }
440
+ catch (Exception $e) {
441
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('coupons4u')->__('There was an error deleteing einfochipscoupons4u.'));
442
+ Mage::logException($e);
443
+ }
444
+ }
445
+ $this->_redirect('*/*/index');
446
+ }
447
+ /**
448
+ * mass status change - action
449
+ * @access public
450
+ * @return void
451
+ * @author e-Infochips
452
+ */
453
+ public function massStatusAction(){
454
+ $einfochipscoupons4uIds = $this->getRequest()->getParam('einfochipscoupons4u');
455
+ if(!is_array($einfochipscoupons4uIds)) {
456
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('coupons4u')->__('Please select einfochipscoupons4u.'));
457
+ }
458
+ else {
459
+ try {
460
+ foreach ($einfochipscoupons4uIds as $einfochipscoupons4uId) {
461
+ $einfochipscoupons4u = Mage::getSingleton('coupons4u/einfochipscoupons4u')->load($einfochipscoupons4uId)
462
+ ->setStatus($this->getRequest()->getParam('status'))
463
+ ->setIsMassupdate(true)
464
+ ->save();
465
+ }
466
+ $this->_getSession()->addSuccess($this->__('Total of %d einfochipscoupons4u were successfully updated.', count($einfochipscoupons4uIds)));
467
+ }
468
+ catch (Mage_Core_Exception $e){
469
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
470
+ }
471
+ catch (Exception $e) {
472
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('coupons4u')->__('There was an error updating einfochipscoupons4u.'));
473
+ Mage::logException($e);
474
+ }
475
+ }
476
+ $this->_redirect('*/*/index');
477
+ }
478
+ /**
479
+ * export as csv - action
480
+ * @access public
481
+ * @return void
482
+ * @author e-Infochips
483
+ */
484
+ public function exportCsvAction(){
485
+ $fileName = 'einfochipscoupons4u.csv';
486
+ $content = $this->getLayout()->createBlock('coupons4u/adminhtml_einfochipscoupons4u_grid')->getCsv();
487
+ $this->_prepareDownloadResponse($fileName, $content);
488
+ }
489
+ /**
490
+ * export as MsExcel - action
491
+ * @access public
492
+ * @return void
493
+ * @author e-Infochips
494
+ */
495
+ public function exportExcelAction(){
496
+ $fileName = 'einfochipscoupons4u.xls';
497
+ $content = $this->getLayout()->createBlock('coupons4u/adminhtml_einfochipscoupons4u_grid')->getExcelFile();
498
+ $this->_prepareDownloadResponse($fileName, $content);
499
+ }
500
+ /**
501
+ * export as xml - action
502
+ * @access public
503
+ * @return void
504
+ * @author e-Infochips
505
+ */
506
+ public function exportXmlAction(){
507
+ $fileName = 'einfochipscoupons4u.xml';
508
+ $content = $this->getLayout()->createBlock('coupons4u/adminhtml_einfochipscoupons4u_grid')->getXml();
509
+ $this->_prepareDownloadResponse($fileName, $content);
510
+ }
511
+ }
app/code/community/Einfochips/Coupons4U/controllers/Einfochipscoupons4uController.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * EinfochipsCoupons4U front contrller
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ class Einfochips_Coupons4U_Einfochipscoupons4uController extends Mage_Core_Controller_Front_Action{
25
+ /**
26
+ * default action
27
+ * @access public
28
+ * @return void
29
+ * @author e-Infochips
30
+ */
31
+ public function indexAction(){
32
+ $this->loadLayout();
33
+ if (Mage::helper('coupons4u/einfochipscoupons4u')->getUseBreadcrumbs()){
34
+ if ($breadcrumbBlock = $this->getLayout()->getBlock('breadcrumbs')){
35
+ $breadcrumbBlock->addCrumb('home', array(
36
+ 'label' => Mage::helper('coupons4u')->__('Home'),
37
+ 'link' => Mage::getUrl(),
38
+ )
39
+ );
40
+ $breadcrumbBlock->addCrumb('einfochipscoupons4us', array(
41
+ 'label' => Mage::helper('coupons4u')->__('EinfochipsCoupons4U'),
42
+ 'link' => '',
43
+ )
44
+ );
45
+ }
46
+ }
47
+ $headBlock = $this->getLayout()->getBlock('head');
48
+ if ($headBlock) {
49
+ $headBlock->setTitle(Mage::getStoreConfig('coupons4u/einfochipscoupons4u/meta_title'));
50
+ $headBlock->setKeywords(Mage::getStoreConfig('coupons4u/einfochipscoupons4u/meta_keywords'));
51
+ $headBlock->setDescription(Mage::getStoreConfig('coupons4u/einfochipscoupons4u/meta_description'));
52
+ }
53
+ $this->renderLayout();
54
+ }
55
+ /**
56
+ * view einfochipscoupons4u action
57
+ * @access public
58
+ * @return void
59
+ * @author e-Infochips
60
+ */
61
+ public function viewAction(){
62
+ }
63
+ }
app/code/community/Einfochips/Coupons4U/controllers/IndexController.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Einfochips_Coupons4U_IndexController extends Mage_Core_Controller_Front_Action {
4
+ public function indexAction()
5
+ {
6
+ //var_dump(__METHOD__);
7
+ $this->loadLayout();
8
+ $this->renderLayout();
9
+ }
10
+ public function preDispatch()
11
+ {
12
+ parent::preDispatch();
13
+ $action = $this->getRequest()->getActionName();
14
+ $loginUrl = Mage::helper('customer')->getLoginUrl();
15
+
16
+ if (!Mage::getSingleton('customer/session')->authenticate($this, $loginUrl)) {
17
+ $this->setFlag('', self::FLAG_NO_DISPATCH, true);
18
+ }
19
+ }
20
+ }
app/code/community/Einfochips/Coupons4U/etc/adminhtml.xml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Einfochips_Coupons4U extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the MIT License
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/mit-license.php
12
+ *
13
+ * @category Einfochips
14
+ * @package Einfochips_Coupons4U
15
+ * @copyright Copyright (c) 2014
16
+ * @license http://opensource.org/licenses/mit-license.php MIT License
17
+ */
18
+ -->
19
+ <config>
20
+ <acl>
21
+ <resources>
22
+ <admin>
23
+ <children>
24
+ <system>
25
+ <children>
26
+ <config>
27
+ <children>
28
+ <coupons4u translate="title" module="coupons4u">
29
+ <title>Coupons4U</title>
30
+ </coupons4u>
31
+ </children>
32
+ </config>
33
+ </children>
34
+ </system>
35
+ <coupons4u translate="title" module="coupons4u">
36
+ <title>Coupons4U</title>
37
+ <children>
38
+ <einfochipscoupons4u translate="title" module="coupons4u">
39
+ <title>EinfochipsCoupons4U</title>
40
+ </einfochipscoupons4u>
41
+ </children>
42
+ </coupons4u>
43
+ </children>
44
+ </admin>
45
+ </resources>
46
+ </acl>
47
+ <menu>
48
+ <coupons4u translate="title" module="coupons4u">
49
+ <title>Coupons4U</title>
50
+ <sort_order>2</sort_order>
51
+ <depends>
52
+ <module>Einfochips_Coupons4U</module>
53
+ </depends>
54
+ <children>
55
+ <einfochipscoupons4u translate="title" module="coupons4u">
56
+ <title>EinfochipsCoupons4U</title>
57
+ <action>adminhtml/coupons4u_einfochipscoupons4u</action>
58
+ <sort_order>0</sort_order>
59
+ </einfochipscoupons4u>
60
+ </children>
61
+ </coupons4u>
62
+ </menu>
63
+ </config>
app/code/community/Einfochips/Coupons4U/etc/config.xml ADDED
@@ -0,0 +1,145 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Einfochips_Coupons4U extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the MIT License
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/mit-license.php
12
+ *
13
+ * @category Einfochips
14
+ * @package Einfochips_Coupons4U
15
+ * @copyright Copyright (c) 2014
16
+ * @license http://opensource.org/licenses/mit-license.php MIT License
17
+ */
18
+ -->
19
+ <config>
20
+ <modules>
21
+ <Einfochips_Coupons4U>
22
+ <version>0.0.1</version>
23
+ </Einfochips_Coupons4U>
24
+ </modules>
25
+ <global>
26
+ <resources>
27
+ <einfochips_coupons4u_setup>
28
+ <setup>
29
+ <module>Einfochips_Coupons4U</module>
30
+ <class>Einfochips_Coupons4U_Model_Resource_Setup</class>
31
+ </setup>
32
+ </einfochips_coupons4u_setup>
33
+ </resources>
34
+ <blocks>
35
+ <coupons4u>
36
+ <class>Einfochips_Coupons4U_Block</class>
37
+ </coupons4u>
38
+ </blocks>
39
+ <helpers>
40
+ <coupons4u>
41
+ <class>Einfochips_Coupons4U_Helper</class>
42
+ </coupons4u>
43
+ </helpers>
44
+ <models>
45
+ <coupons4u>
46
+ <class>Einfochips_Coupons4U_Model</class>
47
+ <resourceModel>coupons4u_resource</resourceModel>
48
+ </coupons4u>
49
+ <coupons4u_resource>
50
+ <class>Einfochips_Coupons4U_Model_Resource</class>
51
+ <entities>
52
+ <einfochipscoupons4u>
53
+ <table>coupons4u_einfochipscoupons4u</table>
54
+ </einfochipscoupons4u>
55
+ <einfochipscoupons4u_store>
56
+ <table>coupons4u_einfochipscoupons4u_store</table>
57
+ </einfochipscoupons4u_store>
58
+ </entities>
59
+ </coupons4u_resource>
60
+ </models>
61
+ <events>
62
+ <controller_front_init_routers>
63
+ <observers>
64
+ <einfochips_coupons4u>
65
+ <class>Einfochips_Coupons4U_Controller_Router</class>
66
+ <method>initControllerRouters</method>
67
+ </einfochips_coupons4u>
68
+ </observers>
69
+ </controller_front_init_routers>
70
+ </events>
71
+ <template>
72
+ <email>
73
+ <coupons4u_email_template translate="label" module="coupons4u">
74
+ <label>UserCoupons Email</label>
75
+ <file>usercoupons_email_template.html</file>
76
+ <type>html</type>
77
+ </coupons4u_email_template>
78
+ </email>
79
+ </template>
80
+ </global>
81
+ <adminhtml>
82
+ <layout>
83
+ <updates>
84
+ <einfochips_coupons4u>
85
+ <file>einfochips_coupons4u.xml</file>
86
+ </einfochips_coupons4u>
87
+ </updates>
88
+ </layout>
89
+ <translate>
90
+ <modules>
91
+ <Einfochips_Coupons4U>
92
+ <files>
93
+ <default>Einfochips_Coupons4U.csv</default>
94
+ </files>
95
+ </Einfochips_Coupons4U>
96
+ </modules>
97
+ </translate>
98
+ </adminhtml>
99
+ <admin>
100
+ <routers>
101
+ <adminhtml>
102
+ <args>
103
+ <modules>
104
+ <Einfochips_Coupons4U before="Mage_Adminhtml">Einfochips_Coupons4U_Adminhtml</Einfochips_Coupons4U>
105
+ </modules>
106
+ </args>
107
+ </adminhtml>
108
+ </routers>
109
+ </admin>
110
+ <frontend>
111
+ <routers>
112
+ <coupons4u>
113
+ <use>standard</use>
114
+ <args>
115
+ <module>Einfochips_Coupons4U</module>
116
+ <frontName>coupons4u</frontName>
117
+ </args>
118
+ </coupons4u>
119
+ </routers>
120
+ <layout>
121
+ <updates>
122
+ <einfochips_coupons4u>
123
+ <file>einfochips_coupons4u.xml</file>
124
+ </einfochips_coupons4u>
125
+ </updates>
126
+ </layout>
127
+ <translate>
128
+ <modules>
129
+ <Einfochips_Coupons4U>
130
+ <files>
131
+ <default>Einfochips_Coupons4U.csv</default>
132
+ </files>
133
+ </Einfochips_Coupons4U>
134
+ </modules>
135
+ </translate>
136
+ </frontend>
137
+ <default>
138
+ <coupons4u>
139
+ <einfochipscoupons4u>
140
+ <breadcrumbs>1</breadcrumbs>
141
+ <meta_title>EinfochipsCoupons4U</meta_title>
142
+ </einfochipscoupons4u>
143
+ </coupons4u>
144
+ </default>
145
+ </config>
app/code/community/Einfochips/Coupons4U/etc/system.xml ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Einfochips_Coupons4U extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the MIT License
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/mit-license.php
12
+ *
13
+ * @category Einfochips
14
+ * @package Einfochips_Coupons4U
15
+ * @copyright Copyright (c) 2014
16
+ * @license http://opensource.org/licenses/mit-license.php MIT License
17
+ */
18
+ -->
19
+ <config>
20
+ <tabs>
21
+ <einfochips translate="label" module="coupons4u">
22
+ <label>Einfochips</label>
23
+ <sort_order>2000</sort_order>
24
+ </einfochips>
25
+ </tabs>
26
+ <sections>
27
+ <coupons4u translate="label" module="coupons4u">
28
+ <class>separator-top</class>
29
+ <label>Coupons4U</label>
30
+ <tab>einfochips</tab>
31
+ <frontend_type>text</frontend_type>
32
+ <sort_order>100</sort_order>
33
+ <show_in_default>1</show_in_default>
34
+ <show_in_website>1</show_in_website>
35
+ <show_in_store>1</show_in_store>
36
+ <groups>
37
+ <einfochipscoupons4u translate="label" module="coupons4u">
38
+ <label>EinfochipsCoupons4U</label>
39
+ <frontend_type>text</frontend_type>
40
+ <sort_order>10</sort_order>
41
+ <show_in_default>1</show_in_default>
42
+ <show_in_website>1</show_in_website>
43
+ <show_in_store>1</show_in_store>
44
+ <fields>
45
+ <breadcrumbs translate="label" module="coupons4u">
46
+ <label>Use Breadcrumbs For EinfochipsCoupons4U Pages</label>
47
+ <frontend_type>select</frontend_type>
48
+ <source_model>adminhtml/system_config_source_yesno</source_model>
49
+ <sort_order>10</sort_order>
50
+ <show_in_default>1</show_in_default>
51
+ <show_in_website>1</show_in_website>
52
+ <show_in_store>1</show_in_store>
53
+ </breadcrumbs>
54
+ <smtp_username translate="label" module="coupons4u">
55
+ <label>SMTP Username</label>
56
+ <frontend_type>text</frontend_type>
57
+ <sort_order>20</sort_order>
58
+ <show_in_default>1</show_in_default>
59
+ <show_in_website>1</show_in_website>
60
+ <show_in_store>1</show_in_store>
61
+ </smtp_username>
62
+ <smtp_password translate="label" module="coupons4u">
63
+ <label>SMTP Password</label>
64
+ <frontend_type>password</frontend_type>
65
+ <sort_order>30</sort_order>
66
+ <show_in_default>1</show_in_default>
67
+ <show_in_website>1</show_in_website>
68
+ <show_in_store>1</show_in_store>
69
+ </smtp_password>
70
+ <meta_title translate="label" module="coupons4u">
71
+ <label>Meta title for einfochipscoupons4u list page</label>
72
+ <frontend_type>text</frontend_type>
73
+ <sort_order>40</sort_order>
74
+ <show_in_default>1</show_in_default>
75
+ <show_in_website>1</show_in_website>
76
+ <show_in_store>1</show_in_store>
77
+ </meta_title>
78
+ <meta_description translate="label" module="coupons4u">
79
+ <label>Meta description for einfochipscoupons4u list page</label>
80
+ <frontend_type>textarea</frontend_type>
81
+ <sort_order>50</sort_order>
82
+ <show_in_default>1</show_in_default>
83
+ <show_in_website>1</show_in_website>
84
+ <show_in_store>1</show_in_store>
85
+ </meta_description>
86
+ <meta_keywords translate="label" module="coupons4u">
87
+ <label>Meta keywords for einfochipscoupons4u list page</label>
88
+ <frontend_type>textarea</frontend_type>
89
+ <sort_order>60</sort_order>
90
+ <show_in_default>1</show_in_default>
91
+ <show_in_website>1</show_in_website>
92
+ <show_in_store>1</show_in_store>
93
+ </meta_keywords>
94
+ </fields>
95
+ </einfochipscoupons4u>
96
+ </groups>
97
+ </coupons4u>
98
+ </sections>
99
+ </config>
app/code/community/Einfochips/Coupons4U/etc/widget.xml ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Einfochips_Coupons4U extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the MIT License
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/mit-license.php
12
+ *
13
+ * @category Einfochips
14
+ * @package Einfochips_Coupons4U
15
+ * @copyright Copyright (c) 2014
16
+ * @license http://opensource.org/licenses/mit-license.php MIT License
17
+ */
18
+ -->
19
+ <widgets>
20
+ <coupons4u_einfochipscoupons4u_view type="coupons4u/einfochipscoupons4u_widget_view" translate="name description" module="coupons4u">
21
+ <name>EinfochipsCoupons4U view</name>
22
+ <description>EinfochipsCoupons4U view widget</description>
23
+ <is_email_compatible>0</is_email_compatible>
24
+ <parameters>
25
+ <einfochipscoupons4u_id type="complex" translate="label">
26
+ <visible>1</visible>
27
+ <required>1</required>
28
+ <label>EinfochipsCoupons4U</label>
29
+ <type>label</type>
30
+ <helper_block>
31
+ <type>coupons4u/adminhtml_einfochipscoupons4u_widget_chooser</type>
32
+ <data>
33
+ <button translate="open">
34
+ <open>Select EinfochipsCoupons4U</open>
35
+ </button>
36
+ </data>
37
+ </helper_block>
38
+ <sort_order>120</sort_order>
39
+ </einfochipscoupons4u_id>
40
+ </parameters>
41
+ </coupons4u_einfochipscoupons4u_view>
42
+ <coupons4u_einfochipscoupons4u_link type="coupons4u/einfochipscoupons4u_widget_link" translate="name description" module="coupons4u">
43
+ <name>EinfochipsCoupons4U link</name>
44
+ <description>EinfochipsCoupons4U link widget</description>
45
+ <is_email_compatible>0</is_email_compatible>
46
+ <parameters>
47
+ <einfochipscoupons4u_id type="complex" translate="label">
48
+ <visible>1</visible>
49
+ <required>1</required>
50
+ <label>EinfochipsCoupons4U</label>
51
+ <type>label</type>
52
+ <helper_block>
53
+ <type>coupons4u/adminhtml_einfochipscoupons4u_widget_chooser</type>
54
+ <data>
55
+ <button translate="open">
56
+ <open>Select EinfochipsCoupons4U</open>
57
+ </button>
58
+ </data>
59
+ </helper_block>
60
+ <sort_order>130</sort_order>
61
+ </einfochipscoupons4u_id>
62
+ </parameters>
63
+ </coupons4u_einfochipscoupons4u_link>
64
+ </widgets>
app/code/community/Einfochips/Coupons4U/sql/einfochips_coupons4u_setup/install-0.0.1.php ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Einfochips_Coupons4U extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category Einfochips
13
+ * @package Einfochips_Coupons4U
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * Coupons4U module install script
19
+ *
20
+ * @category Einfochips
21
+ * @package Einfochips_Coupons4U
22
+ * @author e-Infochips
23
+ */
24
+ $this->startSetup();
25
+ $table = $this->getConnection()
26
+ ->newTable($this->getTable('coupons4u/einfochipscoupons4u'))
27
+ ->addColumn('entity_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
28
+ 'identity' => true,
29
+ 'nullable' => false,
30
+ 'primary' => true,
31
+ ), 'EinfochipsCoupons4U ID')
32
+ ->addColumn('rule_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
33
+ 'unsigned' => true,
34
+ ), 'RuleId')
35
+
36
+ ->addColumn('customer_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
37
+ 'unsigned' => true,
38
+ ), 'CustomerId')
39
+
40
+ ->addColumn('coupon_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
41
+ 'nullable' => false,
42
+ 'unsigned' => true,
43
+ ), 'CouponId')
44
+
45
+ ->addColumn('code', Varien_Db_Ddl_Table::TYPE_TEXT, 255, array(
46
+ ), 'CouponCode')
47
+
48
+ ->addColumn('url_key', Varien_Db_Ddl_Table::TYPE_TEXT, 255, array(
49
+ ), 'URL key')
50
+
51
+ ->addColumn('status', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
52
+ ), 'Status')
53
+
54
+ ->addColumn('meta_title', Varien_Db_Ddl_Table::TYPE_TEXT, 255, array(
55
+ ), 'Meta title')
56
+
57
+ ->addColumn('meta_keywords', Varien_Db_Ddl_Table::TYPE_TEXT, '64k', array(
58
+ ), 'Meta keywords')
59
+
60
+ ->addColumn('meta_description', Varien_Db_Ddl_Table::TYPE_TEXT, '64k', array(
61
+ ), 'Meta description')
62
+
63
+ ->addColumn('created_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
64
+ ), 'EinfochipsCoupons4U Creation Time')
65
+ ->addColumn('updated_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
66
+ ), 'EinfochipsCoupons4U Modification Time')
67
+ ->setComment('EinfochipsCoupons4U Table');
68
+ $this->getConnection()->createTable($table);
69
+
70
+ $table = $this->getConnection()
71
+ ->newTable($this->getTable('coupons4u/einfochipscoupons4u_store'))
72
+ ->addColumn('einfochipscoupons4u_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array(
73
+ 'nullable' => false,
74
+ 'primary' => true,
75
+ ), 'EinfochipsCoupons4U ID')
76
+ ->addColumn('store_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array(
77
+ 'unsigned' => true,
78
+ 'nullable' => false,
79
+ 'primary' => true,
80
+ ), 'Store ID')
81
+ ->addIndex($this->getIdxName('coupons4u/einfochipscoupons4u_store', array('store_id')), array('store_id'))
82
+ ->addForeignKey($this->getFkName('coupons4u/einfochipscoupons4u_store', 'einfochipscoupons4u_id', 'coupons4u/einfochipscoupons4u', 'entity_id'), 'einfochipscoupons4u_id', $this->getTable('coupons4u/einfochipscoupons4u'), 'entity_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE)
83
+ ->addForeignKey($this->getFkName('coupons4u/einfochipscoupons4u_store', 'store_id', 'core/store', 'store_id'), 'store_id', $this->getTable('core/store'), 'store_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE)
84
+ ->setComment('EinfochipsCoupons4U To Store Linkage Table');
85
+ $this->getConnection()->createTable($table);
86
+ $this->endSetup();
app/design/adminhtml/default/default/layout/einfochips_coupons4u.xml ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Einfochips_Coupons4U extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the MIT License
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/mit-license.php
12
+ *
13
+ * @category Einfochips
14
+ * @package Einfochips_Coupons4U
15
+ * @copyright Copyright (c) 2014
16
+ * @license http://opensource.org/licenses/mit-license.php MIT License
17
+ */
18
+ -->
19
+ <layout>
20
+ <!-- EinfochipsCoupons4U grid action -->
21
+ <adminhtml_coupons4u_einfochipscoupons4u_index>
22
+ <reference name="menu">
23
+ <action method="setActive">
24
+ <menupath>coupons4u/einfochipscoupons4u</menupath>
25
+ </action>
26
+ </reference>
27
+ <reference name="content">
28
+ <block type="coupons4u/adminhtml_einfochipscoupons4u" name="einfochipscoupons4u" />
29
+ </reference>
30
+ </adminhtml_coupons4u_einfochipscoupons4u_index>
31
+ <adminhtml_coupons4u_einfochipscoupons4u_grid>
32
+ <block type="core/text_list" name="root" output="toHtml">
33
+ <block type="coupons4u/adminhtml_einfochipscoupons4u_grid" name="einfochipscoupons4u_grid"/>
34
+ </block>
35
+ </adminhtml_coupons4u_einfochipscoupons4u_grid>
36
+ <!-- Einfochipscoupons4u add/edit action -->
37
+ <adminhtml_coupons4u_einfochipscoupons4u_edit>
38
+ <update handle="editor"/>
39
+ <reference name="menu">
40
+ <action method="setActive">
41
+ <menupath>coupons4u/einfochipscoupons4u</menupath>
42
+ </action>
43
+ </reference>
44
+ <reference name="content">
45
+ <block type="coupons4u/adminhtml_einfochipscoupons4u_edit" name="einfochipscoupons4u_edit"></block>
46
+ </reference>
47
+ <reference name="left">
48
+ <block type="coupons4u/adminhtml_einfochipscoupons4u_edit_tabs" name="einfochipscoupons4u_tabs"></block>
49
+ </reference>
50
+ </adminhtml_coupons4u_einfochipscoupons4u_edit>
51
+
52
+ <adminhtml_coupons4u_einfochipscoupons4u_view>
53
+ <reference name="content">
54
+ <block type="coupons4u/adminhtml_einfochipscoupons4u_view" name="coupons4u.einfochipscoupons4u.view"></block>
55
+ </reference>
56
+ <reference name="left">
57
+ <block type="coupons4u/adminhtml_einfochipscoupons4u_view_tabs" name="coupons4u.einfochipscoupons4u.tabs"></block>
58
+ </reference>
59
+ </adminhtml_coupons4u_einfochipscoupons4u_view>
60
+
61
+
62
+ </layout>
app/etc/modules/Einfochips_Coupons4U.xml ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Einfochips_Coupons4U extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the MIT License
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/mit-license.php
12
+ *
13
+ * @category Einfochips
14
+ * @package Einfochips_Coupons4U
15
+ * @copyright Copyright (c) 2014
16
+ * @license http://opensource.org/licenses/mit-license.php MIT License
17
+ */
18
+ -->
19
+ <config>
20
+ <modules>
21
+ <Einfochips_Coupons4U>
22
+ <active>true</active>
23
+ <codePool>community</codePool>
24
+ <depends>
25
+ <Mage_Core />
26
+ </depends>
27
+ </Einfochips_Coupons4U>
28
+ </modules>
29
+ </config>
package.xml ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Coupons4U</name>
4
+ <version>1.0.0.1</version>
5
+ <stability>stable</stability>
6
+ <license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Coupouns for u</summary>
10
+ <description>Coupons</description>
11
+ <notes>User Coupons</notes>
12
+ <authors><author><name>e-Infochips</name><user>Kishor</user><email>kishor.koshti@einfochips.com</email></author></authors>
13
+ <date>2014-07-23</date>
14
+ <time>09:02:53</time>
15
+ <contents><target name="magecommunity"><dir name="Einfochips"><dir name="Coupons4U"><dir name="Block"><dir name="Adminhtml"><dir name="Einfochipscoupons4u"><dir name="Edit"><file name="Form.php" hash="d6f0b09035174e0bbce05713061fea56"/><dir name="Tab"><file name="Form.php" hash="ad2fa91925457c82be183ef93124c20b"/><file name="Meta.php" hash="7812933378b2446bebf81372e41eee5b"/><file name="Stores.php" hash="ba556282a094b0a6207e8259e10e2b76"/><file name="Viewassigncoupons.php" hash="6f8f042d56518b3035e93e6649014d53"/></dir><file name="Tabs.php" hash="9dfa46caa0851b8313d4040698d3581a"/></dir><file name="Edit.php" hash="f46560de3fe9ec6ab1bfabec68b9caa1"/><file name="Grid.php" hash="50d442488d7225e717991c1e55331603"/><file name="Hello.php" hash="b039a300f7ff520fbffe953d84a33ea4"/><dir name="View"><file name="Form.php" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="Tabs.php" hash="c68f6315a9fe7eebe545d00955ca18c8"/></dir><file name="View.php" hash="d09acb353e15870ef459e65c0659c855"/><dir name="Widget"><file name="Chooser.php" hash="11ff838d1952f65347f5ab626258e92b"/></dir></dir><file name="Einfochipscoupons4u.php" hash="ee436d3ccab94b3e65786ce7fe6ab791"/></dir><dir name="Einfochipscoupons4u"><file name="List.php" hash="a5a691902d7fdec49374b7c609d0b6b2"/><file name="View.php" hash="ed370a8483e5c760198280ccbca89437"/><dir name="Widget"><file name="Link.php" hash="57cd3a6979a8c5071960f96727e993e4"/><file name="View.php" hash="7005aa118f539052850dc09c1b7bd52e"/></dir></dir></dir><dir name="Controller"><dir name="Adminhtml"><file name="Coupons4U.php" hash="1ee3188bfb91863024239cbae46da76c"/></dir><file name="Router.php" hash="521e73c2bd0888760a341aa8114a9096"/></dir><dir name="Helper"><file name="Data.php" hash="8b3b3cf8c9076d489a17d98b59845bf1"/><file name="Einfochipscoupons4u.php" hash="bf4268644b89e2297f64708b509329dd"/></dir><dir name="Model"><file name="Einfochipscoupons4u.php" hash="06203bfeb8d9071081d39f6c69d87836"/><dir name="Email"><file name="Template.php" hash="0f6aa76ecf18ced9b0e904950f2de0dc"/></dir><dir name="Resource"><dir name="Einfochipscoupons4u"><file name="Collection.php" hash="9d2117b69fcb845fce1e3b78ff9482d1"/></dir><file name="Einfochipscoupons4u.php" hash="2eeb48c8ff223fa9b1ce321f4d950deb"/><file name="Setup.php" hash="ea449a2308a7095e3660f52b32ab244b"/></dir><file name="email.php" hash="b83ac6e6462cc81c6e62894cf13dfb68"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Coupons4U"><file name="Einfochipscoupons4uController.php" hash="d304813b1cb07cb84a47bcedebde8408"/></dir></dir><file name="Einfochipscoupons4uController.php" hash="3ae0770082bd4c07d066cf7beb2f70c0"/><file name="IndexController.php" hash="1b18617141b5df486513c40a7d0b976c"/></dir><dir name="etc"><file name="adminhtml.xml" hash="95c04b290525bef98cdf5e95132e9e4f"/><file name="config.xml" hash="65dd07ec31f0123fa49e1ef1601ad884"/><file name="system.xml" hash="c411d5a4c74590ddfd3af67e6a0e0949"/><file name="widget.xml" hash="7b2f29f8fa3667ac550c5e2832da9b2f"/></dir><dir name="sql"><dir name="einfochips_coupons4u_setup"><file name="install-0.0.1.php" hash="61c95c69474fcb673abfcd6e78c2e723"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Einfochips_Coupons4U.xml" hash="1afc74331dded241724c6f4f3a34c241"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="einfochips_coupons4u.xml" hash="26837f4d9027a18a6492a4c05287f05e"/></dir></dir></dir></dir></target><target name="magelocal"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="einfochips_coupons4u.xml" hash=""/></dir></dir></dir></dir><dir/></target></contents>
16
+ <compatible/>
17
+ <dependencies><required><php><min>5.3.0</min><max>5.5.12</max></php></required></dependencies>
18
+ </package>