Version Notes
First release of module:
1. Managing banners and banner categories
2. Prepared widget for banners rotation
Download this release
Release Info
Developer | Lanot |
Extension | Lanot_EasyBanner |
Version | 1.0.0.0 |
Comparing to | |
See all releases |
Version 1.0.0.0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner.php +52 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner/Edit.php +81 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner/Edit/Form.php +47 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner/Edit/Tab/Categories.php +113 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner/Edit/Tab/Main.php +199 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner/Edit/Tabs.php +69 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner/Grid.php +41 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category.php +51 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category/Edit.php +83 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category/Edit/Form.php +47 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category/Edit/Tab/Banners.php +113 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category/Edit/Tab/Main.php +122 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category/Edit/Tabs.php +69 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category/Grid.php +41 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Grid/Abstract.php +311 -0
- app/code/community/Lanot/EasyBanner/Block/Adminhtml/Renderer/Banner.php +84 -0
- app/code/community/Lanot/EasyBanner/Block/Banner/Renderer/Abstract.php +100 -0
- app/code/community/Lanot/EasyBanner/Block/Banner/Renderer/Flash.php +54 -0
- app/code/community/Lanot/EasyBanner/Block/Banner/Renderer/Image.php +46 -0
- app/code/community/Lanot/EasyBanner/Block/Widget/Banners.php +90 -0
- app/code/community/Lanot/EasyBanner/Controller/Adminhtml/AbstractController.php +315 -0
- app/code/community/Lanot/EasyBanner/Helper/Admin.php +34 -0
- app/code/community/Lanot/EasyBanner/Helper/Data.php +103 -0
- app/code/community/Lanot/EasyBanner/Model/Banner.php +277 -0
- app/code/community/Lanot/EasyBanner/Model/Category.php +141 -0
- app/code/community/Lanot/EasyBanner/Model/Mysql4/Banner.php +129 -0
- app/code/community/Lanot/EasyBanner/Model/Mysql4/Banner/Collection.php +83 -0
- app/code/community/Lanot/EasyBanner/Model/Mysql4/Category.php +130 -0
- app/code/community/Lanot/EasyBanner/Model/Mysql4/Category/Collection.php +38 -0
- app/code/community/Lanot/EasyBanner/controllers/Adminhtml/BannerController.php +73 -0
- app/code/community/Lanot/EasyBanner/controllers/Adminhtml/CategoryController.php +73 -0
- app/code/community/Lanot/EasyBanner/etc/adminhtml.xml +98 -0
- app/code/community/Lanot/EasyBanner/etc/config.xml +110 -0
- app/code/community/Lanot/EasyBanner/etc/system.xml +77 -0
- app/code/community/Lanot/EasyBanner/etc/widget.xml +38 -0
- app/code/community/Lanot/EasyBanner/sql/lanot_easybanner_setup/mysql4-install-1.0.0.0.php +79 -0
- app/design/adminhtml/default/default/layout/lanot_easybanner.xml +111 -0
- app/design/frontend/base/default/template/lanot/easybanner/banners.phtml +23 -0
- app/etc/modules/Lanot_EasyBanner.xml +9 -0
- package.xml +24 -0
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner.php
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Banners List admin grid container
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Banner
|
27 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Container
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* Block constructor
|
31 |
+
*/
|
32 |
+
public function __construct()
|
33 |
+
{
|
34 |
+
$this->_blockGroup = 'lanot_easybanner';
|
35 |
+
$this->_controller = 'adminhtml_banner';
|
36 |
+
$this->_headerText = $this->_getHelper()->__('Manage Banners');
|
37 |
+
|
38 |
+
parent::__construct();
|
39 |
+
|
40 |
+
if (Mage::helper('lanot_easybanner/admin')->isActionAllowed('manage_banner/save')) {
|
41 |
+
$this->_updateButton('add', 'label', $this->_getHelper()->__('Add New Banner'));
|
42 |
+
} else {
|
43 |
+
$this->_removeButton('add');
|
44 |
+
}
|
45 |
+
}
|
46 |
+
|
47 |
+
protected function _getHelper()
|
48 |
+
{
|
49 |
+
return Mage::helper('lanot_easybanner');
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner/Edit.php
ADDED
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Banner Banner admin edit form container
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Banner_Edit
|
27 |
+
extends Mage_Adminhtml_Block_Widget_Form_Container
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* Initialize edit form container
|
31 |
+
*
|
32 |
+
*/
|
33 |
+
public function __construct()
|
34 |
+
{
|
35 |
+
$this->_objectId = 'id';
|
36 |
+
$this->_blockGroup = 'lanot_easybanner';
|
37 |
+
$this->_controller = 'adminhtml_banner';
|
38 |
+
|
39 |
+
parent::__construct();
|
40 |
+
|
41 |
+
//check permissions
|
42 |
+
if (Mage::helper('lanot_easybanner/admin')->isActionAllowed('manage_banner/save')) {
|
43 |
+
$this->_updateButton('save', 'label', $this->_getHelper()->__('Save Banner Item'));
|
44 |
+
$this->_addButton('saveandcontinue', array(
|
45 |
+
'label' => Mage::helper('adminhtml')->__('Save and Continue Edit'),
|
46 |
+
'onclick' => 'saveAndContinueEdit()',
|
47 |
+
'class' => 'save',
|
48 |
+
), -100);
|
49 |
+
|
50 |
+
$this->_formScripts[] = "
|
51 |
+
function saveAndContinueEdit(){
|
52 |
+
editForm.submit($('edit_form').action+'back/edit/');
|
53 |
+
}";
|
54 |
+
} else {
|
55 |
+
$this->_removeButton('save');
|
56 |
+
}
|
57 |
+
|
58 |
+
if (Mage::helper('lanot_easybanner/admin')->isActionAllowed('manage_banner/delete')) {
|
59 |
+
$this->_updateButton('delete', 'label', $this->_getHelper()->__('Delete Banner Item'));
|
60 |
+
} else {
|
61 |
+
$this->_removeButton('delete');
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
public function getHeaderText()
|
66 |
+
{
|
67 |
+
$header = $this->_getHelper()->__('New Banner Item');
|
68 |
+
$model = $this->_getHelper()->getBannerItemInstance();
|
69 |
+
|
70 |
+
if ($model->getId()) {
|
71 |
+
$title = $this->escapeHtml($model->getTitle());
|
72 |
+
$header = $this->_getHelper()->__("Edit Banner Item '%s'", $title);
|
73 |
+
}
|
74 |
+
return $header;
|
75 |
+
}
|
76 |
+
|
77 |
+
protected function _getHelper()
|
78 |
+
{
|
79 |
+
return Mage::helper('lanot_easybanner');
|
80 |
+
}
|
81 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner/Edit/Form.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Banner admin edit form block
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Banner_Edit_Form
|
27 |
+
extends Mage_Adminhtml_Block_Widget_Form
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* Prepare FORM action
|
31 |
+
*
|
32 |
+
* @return Lanot_EasyBanner_Block_Adminhtml_Banner_Edit
|
33 |
+
*/
|
34 |
+
protected function _prepareForm()
|
35 |
+
{
|
36 |
+
$form = new Varien_Data_Form(array(
|
37 |
+
'id' => 'edit_form',
|
38 |
+
'action' => $this->getUrl('*/*/save'),
|
39 |
+
'method' => 'post',
|
40 |
+
'enctype' => 'multipart/form-data'
|
41 |
+
));
|
42 |
+
|
43 |
+
$form->setUseContainer(true);
|
44 |
+
$this->setForm($form);
|
45 |
+
return parent::_prepareForm();
|
46 |
+
}
|
47 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner/Edit/Tab/Categories.php
ADDED
@@ -0,0 +1,113 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Category admin edit form main tab block
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Banner_Edit_Tab_Categories
|
27 |
+
extends Lanot_EasyBanner_Block_Adminhtml_Category_Grid
|
28 |
+
{
|
29 |
+
protected $_aclSection = 'manage_banner';
|
30 |
+
protected $_isTabGrid = true;
|
31 |
+
protected $_columnPrefix = 'categories_';
|
32 |
+
protected $_checkboxFieldName = 'categories_in_selected';
|
33 |
+
protected $_bannerItemParam = 'banner_id';
|
34 |
+
|
35 |
+
/** @var Lanot_EasyBanner_Model_Banner */
|
36 |
+
protected $_bannerItem = null;
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Init Grid default properties
|
40 |
+
*
|
41 |
+
*/
|
42 |
+
public function __construct()
|
43 |
+
{
|
44 |
+
parent::__construct();
|
45 |
+
|
46 |
+
if ($this->_getBannerItem()->getId()) {
|
47 |
+
$this->setDefaultFilter(array('in_selected' => 1));
|
48 |
+
}
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Checks when this block is readonly
|
53 |
+
*
|
54 |
+
* @return boolean
|
55 |
+
*/
|
56 |
+
public function isReadonly()
|
57 |
+
{
|
58 |
+
return !$this->_getAclHelper()->isActionAllowed($this->_aclSection . '/save');
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Checks when this block is not available
|
63 |
+
*
|
64 |
+
* @return boolean
|
65 |
+
*/
|
66 |
+
public function isMassActionAllowed()
|
67 |
+
{
|
68 |
+
return false;
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @return string
|
73 |
+
*/
|
74 |
+
public function getGridUrl()
|
75 |
+
{
|
76 |
+
return $this->getUrl('*/*/ajaxcategoriesgridonly', array('_current' => true));
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* Retrieve selected categories
|
81 |
+
*
|
82 |
+
* @return array
|
83 |
+
*/
|
84 |
+
public function getSelectedLinks()
|
85 |
+
{
|
86 |
+
return $this->_getBannerItem()->getSelectedCategories();
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* @return Lanot_EasyBanner_Model_Banner|null
|
91 |
+
*/
|
92 |
+
protected function _getBannerItem()
|
93 |
+
{
|
94 |
+
if ($this->_bannerItem !== null) {
|
95 |
+
return $this->_bannerItem;
|
96 |
+
}
|
97 |
+
|
98 |
+
$itemId = $this->getRequest()->getParam($this->_bannerItemParam);
|
99 |
+
$this->_bannerItem = $this->_getBannerItemModel();
|
100 |
+
if ($itemId) {
|
101 |
+
$this->_bannerItem->load($itemId);
|
102 |
+
}
|
103 |
+
return $this->_bannerItem;
|
104 |
+
}
|
105 |
+
|
106 |
+
/**
|
107 |
+
* @return Lanot_EasyBanner_Model_Banner
|
108 |
+
*/
|
109 |
+
protected function _getBannerItemModel()
|
110 |
+
{
|
111 |
+
return Mage::getSingleton('lanot_easybanner/banner');
|
112 |
+
}
|
113 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner/Edit/Tab/Main.php
ADDED
@@ -0,0 +1,199 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Banner admin edit form main tab block
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Banner_Edit_Tab_Main
|
27 |
+
extends Mage_Adminhtml_Block_Widget_Form
|
28 |
+
implements Mage_Adminhtml_Block_Widget_Tab_Interface
|
29 |
+
{
|
30 |
+
protected $_idPrefix = 'banner_main_';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @return Lanot_EasyBanner_Model_Banner
|
34 |
+
*/
|
35 |
+
protected function _getItemModel()
|
36 |
+
{
|
37 |
+
return $this->_getHelper()->getBannerItemInstance();
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Prepare form elements for tab
|
42 |
+
*
|
43 |
+
* @return Mage_Adminhtml_Block_Widget_Form
|
44 |
+
*/
|
45 |
+
protected function _prepareForm()
|
46 |
+
{
|
47 |
+
$model = $this->_getItemModel();
|
48 |
+
$extensions = $model->getAllowedExtensions();
|
49 |
+
$bannerHtml = '';
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Checking if user have permissions to save information
|
53 |
+
*/
|
54 |
+
if ($this->_getAclHelper()->isActionAllowed($this->_aclSection . '/save')) {
|
55 |
+
$isElementDisabled = false;
|
56 |
+
} else {
|
57 |
+
$isElementDisabled = true;
|
58 |
+
}
|
59 |
+
|
60 |
+
$form = new Varien_Data_Form();
|
61 |
+
$form->setHtmlIdPrefix('banner_main_');
|
62 |
+
|
63 |
+
$fieldset = $form->addFieldset('base_fieldset', array(
|
64 |
+
'legend' => $this->_getHelper()->__('Banner Item Info')
|
65 |
+
));
|
66 |
+
//apply additional renderers
|
67 |
+
$this->_addElementTypes($fieldset);
|
68 |
+
|
69 |
+
if ($model->getId()) {
|
70 |
+
$fieldset->addField('banner_id', 'hidden', array(
|
71 |
+
'name' => 'id',
|
72 |
+
));
|
73 |
+
}
|
74 |
+
|
75 |
+
if ($model->getType()) {
|
76 |
+
$bannerHtml = $this->_getHelper()
|
77 |
+
->getBannerRenderer($model->getType())
|
78 |
+
->disableClick()
|
79 |
+
->setBanner($model)
|
80 |
+
->render();
|
81 |
+
if (!empty($bannerHtml)) {
|
82 |
+
$style = 'width: 100%; overflow: hidden; margin: 15px 0px 0px 0px;';
|
83 |
+
$bannerHtml = "<div style='{$style}'>{$bannerHtml}</div>";
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
$fieldset->addField('is_active', 'select', array(
|
88 |
+
'name' => 'is_active',
|
89 |
+
'label' => $this->_getHelper()->__('Is Active'),
|
90 |
+
'required' => true,
|
91 |
+
'options' => $model->getAvailableStatuses(),
|
92 |
+
'style' => 'width: 150px',
|
93 |
+
'disabled' => $isElementDisabled,
|
94 |
+
));
|
95 |
+
|
96 |
+
$fieldset->addField('title', 'text', array(
|
97 |
+
'name' => 'title',
|
98 |
+
'label' => $this->_getHelper()->__('Title'),
|
99 |
+
'required' => true,
|
100 |
+
'disabled' => $isElementDisabled,
|
101 |
+
));
|
102 |
+
|
103 |
+
$fieldset->addField('description', 'textarea', array(
|
104 |
+
'name' => 'description',
|
105 |
+
'label' => $this->_getHelper()->__('Description'),
|
106 |
+
'title' => $this->_getHelper()->__('Description'),
|
107 |
+
'required' => false,
|
108 |
+
'disabled' => $isElementDisabled,
|
109 |
+
));
|
110 |
+
|
111 |
+
$fieldset->addField('url', 'text', array(
|
112 |
+
'name' => 'url',
|
113 |
+
'label' => $this->_getHelper()->__('Url'),
|
114 |
+
'disabled' => $isElementDisabled,
|
115 |
+
));
|
116 |
+
|
117 |
+
$fieldset->addField('width', 'text', array(
|
118 |
+
'name' => 'width',
|
119 |
+
'label' => $this->_getHelper()->__('Banner Width (px)'),
|
120 |
+
'disabled' => $isElementDisabled,
|
121 |
+
'style' => 'width: 50px',
|
122 |
+
'required' => true,
|
123 |
+
));
|
124 |
+
|
125 |
+
$fieldset->addField('height', 'text', array(
|
126 |
+
'name' => 'height',
|
127 |
+
'label' => $this->_getHelper()->__('Banner Height (px)'),
|
128 |
+
'disabled' => $isElementDisabled,
|
129 |
+
'style' => 'width: 50px',
|
130 |
+
'required' => true,
|
131 |
+
));
|
132 |
+
|
133 |
+
$fieldset->addField('path', 'banner', array(
|
134 |
+
'name' => 'banner_file',
|
135 |
+
'label' => $this->_getHelper()->__('File'),
|
136 |
+
'comment' => $this->_getHelper()->__('Allowed extensions: %s', implode(',', $extensions)),
|
137 |
+
'required' => true,
|
138 |
+
'disabled' => $isElementDisabled,
|
139 |
+
'style' => 'width: 200px;',
|
140 |
+
))->setBannerHtml($bannerHtml);
|
141 |
+
|
142 |
+
Mage::dispatchEvent('adminhtml_easybanner_banner_edit_tab_main_prepare_form', array('form' => $form));
|
143 |
+
|
144 |
+
$form->setValues($model->getData());
|
145 |
+
//$form->setUseContainer(true);
|
146 |
+
$this->setForm($form);
|
147 |
+
|
148 |
+
|
149 |
+
return parent::_prepareForm();
|
150 |
+
}
|
151 |
+
|
152 |
+
public function getTabLabel()
|
153 |
+
{
|
154 |
+
return $this->_getHelper()->__('Banner Info');
|
155 |
+
}
|
156 |
+
|
157 |
+
public function getTabTitle()
|
158 |
+
{
|
159 |
+
return $this->_getHelper()->__('Banner Info');
|
160 |
+
}
|
161 |
+
|
162 |
+
public function canShowTab()
|
163 |
+
{
|
164 |
+
return true;
|
165 |
+
}
|
166 |
+
|
167 |
+
public function isHidden()
|
168 |
+
{
|
169 |
+
return false;
|
170 |
+
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Retrieve predefined additional element types
|
174 |
+
*
|
175 |
+
* @return array
|
176 |
+
*/
|
177 |
+
protected function _getAdditionalElementTypes()
|
178 |
+
{
|
179 |
+
return array(
|
180 |
+
'banner' => Mage::getConfig()->getBlockClassName('lanot_easybanner/adminhtml_renderer_banner')
|
181 |
+
);
|
182 |
+
}
|
183 |
+
|
184 |
+
/**
|
185 |
+
* @return Lanot_EasyBanner_Helper_Data
|
186 |
+
*/
|
187 |
+
protected function _getHelper()
|
188 |
+
{
|
189 |
+
return Mage::helper('lanot_easybanner');
|
190 |
+
}
|
191 |
+
|
192 |
+
/**
|
193 |
+
* @return Lanot_EasyBanner_Helper_Admin
|
194 |
+
*/
|
195 |
+
protected function _getAclHelper()
|
196 |
+
{
|
197 |
+
return Mage::helper('lanot_easybanner/admin');
|
198 |
+
}
|
199 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner/Edit/Tabs.php
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Banner admin edit tabs block
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Banner_Edit_Tabs
|
27 |
+
extends Mage_Adminhtml_Block_Widget_Tabs
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* Initialize tabs and define tabs block settings
|
31 |
+
*
|
32 |
+
*/
|
33 |
+
public function __construct()
|
34 |
+
{
|
35 |
+
parent::__construct();
|
36 |
+
|
37 |
+
$this->setId('page_tabs');
|
38 |
+
$this->setDestElementId('edit_form');
|
39 |
+
$this->setTitle($this->_getHelper()->__('Banner Info'));
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* @return Lanot_EasyBanner_Helper_Data
|
44 |
+
*/
|
45 |
+
protected function _getHelper()
|
46 |
+
{
|
47 |
+
return Mage::helper('lanot_easybanner');
|
48 |
+
}
|
49 |
+
|
50 |
+
protected function _prepareLayout()
|
51 |
+
{
|
52 |
+
$this->addTab('main', array(
|
53 |
+
'label' => $this->_getHelper()->__('Banner info'),
|
54 |
+
'content' => $this->getLayout()->createBlock('lanot_easybanner/adminhtml_banner_edit_tab_main')->toHtml(),
|
55 |
+
));
|
56 |
+
|
57 |
+
$params = array(
|
58 |
+
'_current' => true,
|
59 |
+
'banner_id' => (int) $this->_getHelper()->getBannerItemInstance()->getId(),
|
60 |
+
);
|
61 |
+
$this->addTab('categories', array(
|
62 |
+
'label' => $this->_getHelper()->__('Categories'),
|
63 |
+
'url' => $this->getUrl('*/*/ajaxcategoriesgrid', $params),
|
64 |
+
'class' => 'ajax',
|
65 |
+
));
|
66 |
+
|
67 |
+
return parent::_prepareLayout();
|
68 |
+
}
|
69 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Banner/Grid.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Banners list admin grid
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Banner_Grid
|
27 |
+
extends Lanot_EasyBanner_Block_Adminhtml_Grid_Abstract
|
28 |
+
{
|
29 |
+
protected $_gridId = 'easybanner_banners_list_grid';
|
30 |
+
protected $_entityIdField = 'banner_id';
|
31 |
+
protected $_itemParam = 'banner_id';
|
32 |
+
protected $_formFieldName = 'banner';
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @return Lanot_EasyBanner_Model_Banner
|
36 |
+
*/
|
37 |
+
protected function _getItemModel()
|
38 |
+
{
|
39 |
+
return Mage::getSingleton('lanot_easybanner/banner');
|
40 |
+
}
|
41 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Categories List admin grid container
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Category
|
27 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Container
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* Block constructor
|
31 |
+
*/
|
32 |
+
public function __construct()
|
33 |
+
{
|
34 |
+
$this->_blockGroup = 'lanot_easybanner';
|
35 |
+
$this->_controller = 'adminhtml_category';
|
36 |
+
$this->_headerText = Mage::helper('lanot_easybanner')->__('Manage Categories');
|
37 |
+
|
38 |
+
parent::__construct();
|
39 |
+
|
40 |
+
if (Mage::helper('lanot_easybanner/admin')->isActionAllowed('manage_category/save')) {
|
41 |
+
$this->_updateButton('add', 'label', $this->_getHelper()->__('Add New Category'));
|
42 |
+
} else {
|
43 |
+
$this->_removeButton('add');
|
44 |
+
}
|
45 |
+
}
|
46 |
+
|
47 |
+
protected function _getHelper()
|
48 |
+
{
|
49 |
+
return Mage::helper('lanot_easybanner');
|
50 |
+
}
|
51 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category/Edit.php
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Banner Category admin edit form container
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Category_Edit
|
27 |
+
extends Mage_Adminhtml_Block_Widget_Form_Container
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* Initialize edit form container
|
31 |
+
*
|
32 |
+
*/
|
33 |
+
public function __construct()
|
34 |
+
{
|
35 |
+
$this->_objectId = 'id';
|
36 |
+
$this->_blockGroup = 'lanot_easybanner';
|
37 |
+
$this->_controller = 'adminhtml_category';
|
38 |
+
|
39 |
+
parent::__construct();
|
40 |
+
|
41 |
+
//check permissions
|
42 |
+
if (Mage::helper('lanot_easybanner/admin')->isActionAllowed('manage_category/save')) {
|
43 |
+
$this->_updateButton('save', 'label', $this->_getHelper()->__('Save Category Item'));
|
44 |
+
$this->_addButton('saveandcontinue', array(
|
45 |
+
'label' => Mage::helper('adminhtml')->__('Save and Continue Edit'),
|
46 |
+
'onclick' => 'saveAndContinueEdit()',
|
47 |
+
'class' => 'save',
|
48 |
+
), -100);
|
49 |
+
|
50 |
+
|
51 |
+
$this->_formScripts[] = "
|
52 |
+
function saveAndContinueEdit(){
|
53 |
+
editForm.submit($('edit_form').action+'back/edit/');
|
54 |
+
}
|
55 |
+
";
|
56 |
+
} else {
|
57 |
+
$this->_removeButton('save');
|
58 |
+
}
|
59 |
+
|
60 |
+
if (Mage::helper('lanot_easybanner/admin')->isActionAllowed('manage_category/delete')) {
|
61 |
+
$this->_updateButton('delete', 'label', $this->_getHelper()->__('Delete Category Item'));
|
62 |
+
} else {
|
63 |
+
$this->_removeButton('delete');
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
public function getHeaderText()
|
68 |
+
{
|
69 |
+
$header = $this->_getHelper()->__('New Category Item');
|
70 |
+
$model = $this->_getHelper()->getCategoryItemInstance();
|
71 |
+
|
72 |
+
if ($model->getId()) {
|
73 |
+
$title = $this->escapeHtml($model->getTitle());
|
74 |
+
$header = $this->_getHelper()->__("Edit Category Item '%s'", $title);
|
75 |
+
}
|
76 |
+
return $header;
|
77 |
+
}
|
78 |
+
|
79 |
+
protected function _getHelper()
|
80 |
+
{
|
81 |
+
return Mage::helper('lanot_easybanner');
|
82 |
+
}
|
83 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category/Edit/Form.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Category admin edit form block
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Category_Edit_Form
|
27 |
+
extends Mage_Adminhtml_Block_Widget_Form
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* Prepare FORM action
|
31 |
+
*
|
32 |
+
* @return Lanot_EasyBanner_Block_Adminhtml_Category_Edit
|
33 |
+
*/
|
34 |
+
protected function _prepareForm()
|
35 |
+
{
|
36 |
+
$form = new Varien_Data_Form(array(
|
37 |
+
'id' => 'edit_form',
|
38 |
+
'action' => $this->getUrl('*/*/save'),
|
39 |
+
'method' => 'post',
|
40 |
+
'enctype' => 'multipart/form-data'
|
41 |
+
));
|
42 |
+
|
43 |
+
$form->setUseContainer(true);
|
44 |
+
$this->setForm($form);
|
45 |
+
return parent::_prepareForm();
|
46 |
+
}
|
47 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category/Edit/Tab/Banners.php
ADDED
@@ -0,0 +1,113 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Category admin edit form main tab block
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Category_Edit_Tab_Banners
|
27 |
+
extends Lanot_EasyBanner_Block_Adminhtml_Banner_Grid
|
28 |
+
{
|
29 |
+
protected $_aclSection = 'manage_category';
|
30 |
+
protected $_isTabGrid = true;
|
31 |
+
protected $_columnPrefix = 'banners_';
|
32 |
+
protected $_checkboxFieldName = 'banners_in_selected';
|
33 |
+
protected $_categoryItemParam = 'category_id';
|
34 |
+
|
35 |
+
/** @var Lanot_EasyBanner_Model_Category */
|
36 |
+
protected $_categoryItem = null;
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Init Grid default properties
|
40 |
+
*
|
41 |
+
*/
|
42 |
+
public function __construct()
|
43 |
+
{
|
44 |
+
parent::__construct();
|
45 |
+
|
46 |
+
if ($this->_getCategoryItem()->getId()) {
|
47 |
+
$this->setDefaultFilter(array('in_selected' => 1));
|
48 |
+
}
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Checks when this block is readonly
|
53 |
+
*
|
54 |
+
* @return boolean
|
55 |
+
*/
|
56 |
+
public function isReadonly()
|
57 |
+
{
|
58 |
+
return !$this->_getAclHelper()->isActionAllowed($this->_aclSection . '/save');
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Checks when this block is not available
|
63 |
+
*
|
64 |
+
* @return boolean
|
65 |
+
*/
|
66 |
+
public function isMassActionAllowed()
|
67 |
+
{
|
68 |
+
return false;
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @return string
|
73 |
+
*/
|
74 |
+
public function getGridUrl()
|
75 |
+
{
|
76 |
+
return $this->getUrl('*/*/ajaxbannersgridonly', array('_current' => true));
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* Retrieve selected banners
|
81 |
+
*
|
82 |
+
* @return array
|
83 |
+
*/
|
84 |
+
public function getSelectedLinks()
|
85 |
+
{
|
86 |
+
return $this->_getCategoryItem()->getSelectedBanners();
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* @return Lanot_EasyBanner_Model_Banner|null
|
91 |
+
*/
|
92 |
+
protected function _getCategoryItem()
|
93 |
+
{
|
94 |
+
if ($this->_categoryItem !== null) {
|
95 |
+
return $this->_categoryItem;
|
96 |
+
}
|
97 |
+
|
98 |
+
$itemId = $this->getRequest()->getParam($this->_categoryItemParam);
|
99 |
+
$this->_categoryItem = $this->_getCategoryItemModel();
|
100 |
+
if ($itemId) {
|
101 |
+
$this->_categoryItem->load($itemId);
|
102 |
+
}
|
103 |
+
return $this->_categoryItem;
|
104 |
+
}
|
105 |
+
|
106 |
+
/**
|
107 |
+
* @return Lanot_EasyBanner_Model_Category
|
108 |
+
*/
|
109 |
+
protected function _getCategoryItemModel()
|
110 |
+
{
|
111 |
+
return Mage::getSingleton('lanot_easybanner/category');
|
112 |
+
}
|
113 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category/Edit/Tab/Main.php
ADDED
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Category admin edit form main tab block
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Category_Edit_Tab_Main
|
27 |
+
extends Mage_Adminhtml_Block_Widget_Form
|
28 |
+
implements Mage_Adminhtml_Block_Widget_Tab_Interface
|
29 |
+
{
|
30 |
+
/**
|
31 |
+
* Prepare form elements for tab
|
32 |
+
*
|
33 |
+
* @return Mage_Adminhtml_Block_Widget_Form
|
34 |
+
*/
|
35 |
+
protected function _prepareForm()
|
36 |
+
{
|
37 |
+
/* @var $model Lanot_EasyBanner_Model_Category */
|
38 |
+
$model = $this->_getHelper()->getCategoryItemInstance();
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Checking if user have permissions to save information
|
42 |
+
*/
|
43 |
+
if (Mage::helper('lanot_easybanner/admin')->isActionAllowed('manage_category/save')) {
|
44 |
+
$isElementDisabled = false;
|
45 |
+
} else {
|
46 |
+
$isElementDisabled = true;
|
47 |
+
}
|
48 |
+
|
49 |
+
$form = new Varien_Data_Form();
|
50 |
+
|
51 |
+
$form->setHtmlIdPrefix('category_main_');
|
52 |
+
|
53 |
+
$fieldset = $form->addFieldset('base_fieldset', array(
|
54 |
+
'legend' => $this->_getHelper()->__('Category Item Info')
|
55 |
+
));
|
56 |
+
|
57 |
+
if ($model->getId()) {
|
58 |
+
$fieldset->addField('category_id', 'hidden', array(
|
59 |
+
'name' => 'id',
|
60 |
+
));
|
61 |
+
}
|
62 |
+
|
63 |
+
$fieldset->addField('title', 'text', array(
|
64 |
+
'name' => 'title',
|
65 |
+
'label' => $this->_getHelper()->__('Title'),
|
66 |
+
'title' => $this->_getHelper()->__('Title'),
|
67 |
+
'required' => true,
|
68 |
+
'disabled' => $isElementDisabled
|
69 |
+
));
|
70 |
+
|
71 |
+
$fieldset->addField('description', 'textarea', array(
|
72 |
+
'name' => 'description',
|
73 |
+
'label' => $this->_getHelper()->__('Description'),
|
74 |
+
'title' => $this->_getHelper()->__('Description'),
|
75 |
+
'required' => false,
|
76 |
+
'disabled' => $isElementDisabled,
|
77 |
+
'style' => 'height: 100px',
|
78 |
+
));
|
79 |
+
|
80 |
+
$fieldset->addField('is_active', 'select', array(
|
81 |
+
'name' => 'is_active',
|
82 |
+
'label' => $this->_getHelper()->__('Is Active'),
|
83 |
+
'title' => $this->_getHelper()->__('Is Active'),
|
84 |
+
'required' => true,
|
85 |
+
'disabled' => $isElementDisabled,
|
86 |
+
'options' => $model->getAvailableStatuses(),
|
87 |
+
));
|
88 |
+
|
89 |
+
$form->setValues($model->getData());
|
90 |
+
|
91 |
+
Mage::dispatchEvent('adminhtml_easybanner_category_edit_tab_main_prepare_form', array('form' => $form));
|
92 |
+
|
93 |
+
$this->setForm($form);
|
94 |
+
|
95 |
+
return parent::_prepareForm();
|
96 |
+
}
|
97 |
+
|
98 |
+
public function getTabLabel()
|
99 |
+
{
|
100 |
+
return $this->_getHelper()->__('Category Info');
|
101 |
+
}
|
102 |
+
|
103 |
+
public function getTabTitle()
|
104 |
+
{
|
105 |
+
return $this->_getHelper()->__('Category Info');
|
106 |
+
}
|
107 |
+
|
108 |
+
public function canShowTab()
|
109 |
+
{
|
110 |
+
return true;
|
111 |
+
}
|
112 |
+
|
113 |
+
public function isHidden()
|
114 |
+
{
|
115 |
+
return false;
|
116 |
+
}
|
117 |
+
|
118 |
+
protected function _getHelper()
|
119 |
+
{
|
120 |
+
return Mage::helper('lanot_easybanner');
|
121 |
+
}
|
122 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category/Edit/Tabs.php
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Category admin edit tabs block
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Category_Edit_Tabs
|
27 |
+
extends Mage_Adminhtml_Block_Widget_Tabs
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* Initialize tabs and define tabs block settings
|
31 |
+
*
|
32 |
+
*/
|
33 |
+
public function __construct()
|
34 |
+
{
|
35 |
+
parent::__construct();
|
36 |
+
|
37 |
+
$this->setId('page_tabs');
|
38 |
+
$this->setDestElementId('edit_form');
|
39 |
+
$this->setTitle($this->_getHelper()->__('Category Info'));
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* @return Lanot_EasyBanner_Helper_Data
|
44 |
+
*/
|
45 |
+
protected function _getHelper()
|
46 |
+
{
|
47 |
+
return Mage::helper('lanot_easybanner');
|
48 |
+
}
|
49 |
+
|
50 |
+
protected function _prepareLayout()
|
51 |
+
{
|
52 |
+
$this->addTab('main', array(
|
53 |
+
'label' => $this->_getHelper()->__('Category info'),
|
54 |
+
'content' => $this->getLayout()->createBlock('lanot_easybanner/adminhtml_category_edit_tab_main')->toHtml(),
|
55 |
+
));
|
56 |
+
|
57 |
+
$params = array(
|
58 |
+
'_current' => true,
|
59 |
+
'category_id' => (int) $this->_getHelper()->getCategoryItemInstance()->getId(),
|
60 |
+
);
|
61 |
+
$this->addTab('banners', array(
|
62 |
+
'label' => $this->_getHelper()->__('Banners'),
|
63 |
+
'url' => $this->getUrl('*/*/ajaxbannersgrid', $params),
|
64 |
+
'class' => 'ajax',
|
65 |
+
));
|
66 |
+
|
67 |
+
return parent::_prepareLayout();
|
68 |
+
}
|
69 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Category/Grid.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Categories list admin grid
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Category_Grid
|
27 |
+
extends Lanot_EasyBanner_Block_Adminhtml_Grid_Abstract
|
28 |
+
{
|
29 |
+
protected $_gridId = 'easybanner_categories_list_grid';
|
30 |
+
protected $_entityIdField = 'category_id';
|
31 |
+
protected $_itemParam = 'category_id';
|
32 |
+
protected $_formFieldName = 'category';
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @return Lanot_EasyBanner_Model_Category
|
36 |
+
*/
|
37 |
+
protected function _getItemModel()
|
38 |
+
{
|
39 |
+
return Mage::getSingleton('lanot_easybanner/category');
|
40 |
+
}
|
41 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Grid/Abstract.php
ADDED
@@ -0,0 +1,311 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Banners list admin grid
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Grid_Abstract
|
27 |
+
extends Mage_Adminhtml_Block_Widget_Grid
|
28 |
+
{
|
29 |
+
protected $_gridId = 'easybanner_list_grid';
|
30 |
+
protected $_entityIdField = 'entity_id';
|
31 |
+
protected $_itemParam = 'entity_id';
|
32 |
+
protected $_formFieldName = 'entity';
|
33 |
+
protected $_columnPrefix = '';
|
34 |
+
protected $_checkboxFieldName = 'in_selected';
|
35 |
+
protected $_isTabGrid = false;
|
36 |
+
|
37 |
+
/** @var Mage_Core_Model_Abstract */
|
38 |
+
protected $_item = null;
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Init Grid default properties
|
42 |
+
*
|
43 |
+
*/
|
44 |
+
public function __construct()
|
45 |
+
{
|
46 |
+
parent::__construct();
|
47 |
+
|
48 |
+
$this->setId($this->_gridId);
|
49 |
+
$this->setDefaultSort('sort_order');
|
50 |
+
$this->setDefaultDir('ASC');
|
51 |
+
$this->setSaveParametersInSession(true);
|
52 |
+
$this->setUseAjax(true);
|
53 |
+
|
54 |
+
if ($this->isReadonly()) {
|
55 |
+
$this->setFilterVisibility(false);
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @return this
|
61 |
+
*/
|
62 |
+
protected function _prepareCollection()
|
63 |
+
{
|
64 |
+
$collection = $this->_getItemModel()->getCollection();
|
65 |
+
|
66 |
+
//filter colelction if it show in tab
|
67 |
+
if ($this->_isTabGrid && $this->isReadonly()) {
|
68 |
+
$valueIds = $this->getSelectedLinks();
|
69 |
+
if (empty($valueIds)) {
|
70 |
+
$valueIds = array(0);
|
71 |
+
}
|
72 |
+
$collection->addFieldToFilter($this->_entityIdField, array('in' => $valueIds));
|
73 |
+
}
|
74 |
+
|
75 |
+
$this->setCollection($collection);
|
76 |
+
|
77 |
+
return parent::_prepareCollection();
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* @param $row
|
82 |
+
* @return string
|
83 |
+
*/
|
84 |
+
public function getRowUrl($row)
|
85 |
+
{
|
86 |
+
return (!$this->_isTabGrid) ? $this->getUrl('*/*/edit', array('id' => $row->getId())) : '#';
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* @return string
|
91 |
+
*/
|
92 |
+
public function getGridUrl()
|
93 |
+
{
|
94 |
+
return (!$this->_isTabGrid) ?
|
95 |
+
$this->getUrl('*/*/grid', array('_current' => true)) :
|
96 |
+
$this->getUrl('*/*/ajaxgridonly', array('_current' => true));
|
97 |
+
}
|
98 |
+
|
99 |
+
/**
|
100 |
+
* Prepare Grid columns
|
101 |
+
*
|
102 |
+
* @return Lanot_EasyBanner_Block_Adminhtml_Banner_Grid
|
103 |
+
*/
|
104 |
+
protected function _prepareColumns()
|
105 |
+
{
|
106 |
+
if ($this->_isTabGrid) {
|
107 |
+
$this->addColumn('in_selected', array(
|
108 |
+
'header_css_class' => 'a-center',
|
109 |
+
'type' => 'checkbox',
|
110 |
+
'name' => 'in_selected',
|
111 |
+
'values' => $this->getSelectedLinks(),
|
112 |
+
'align' => 'center',
|
113 |
+
'index' => $this->_entityIdField,
|
114 |
+
));
|
115 |
+
}
|
116 |
+
|
117 |
+
$this->addColumn($this->_entityIdField, array(
|
118 |
+
'header' => $this->_getHelper()->__('ID'),
|
119 |
+
'index' => $this->_entityIdField,
|
120 |
+
'type' => 'number',
|
121 |
+
'width' => '50px',
|
122 |
+
));
|
123 |
+
|
124 |
+
$this->addColumn('title', array(
|
125 |
+
'header' => $this->_getHelper()->__('Title'),
|
126 |
+
'index' => 'title',
|
127 |
+
));
|
128 |
+
|
129 |
+
$this->addColumn('is_active', array(
|
130 |
+
'header' => $this->_getHelper()->__('Active'),
|
131 |
+
'index' => 'is_active',
|
132 |
+
'type' => 'options',
|
133 |
+
'options' => $this->_getItemModel()->getAvailableStatuses(),
|
134 |
+
'width' => '100px',
|
135 |
+
));
|
136 |
+
|
137 |
+
$this->addColumn('updated_at', array(
|
138 |
+
'header' => $this->_getHelper()->__('Updated'),
|
139 |
+
'index' => 'updated_at',
|
140 |
+
'width' => '150px',
|
141 |
+
));
|
142 |
+
|
143 |
+
if (!$this->_isTabGrid) {
|
144 |
+
$this->addColumn('action',
|
145 |
+
array(
|
146 |
+
'header' => $this->_getHelper()->__('Action'),
|
147 |
+
'width' => '70px',
|
148 |
+
'align' => 'center',
|
149 |
+
'type' => 'action',
|
150 |
+
'getter' => 'getId',
|
151 |
+
'actions' => array(
|
152 |
+
array(
|
153 |
+
'caption' => $this->_getHelper()->__('Edit'),
|
154 |
+
'url' => array('base' => '*/*/edit'),
|
155 |
+
'field' => 'id'
|
156 |
+
)
|
157 |
+
),
|
158 |
+
'filter' => false,
|
159 |
+
'sortable' => false,
|
160 |
+
'index' => 'banner',
|
161 |
+
));
|
162 |
+
}
|
163 |
+
|
164 |
+
return parent::_prepareColumns();
|
165 |
+
}
|
166 |
+
|
167 |
+
|
168 |
+
/**
|
169 |
+
* @return Lanot_EasyBanner_Block_Adminhtml_Grid_Abstract
|
170 |
+
*/
|
171 |
+
protected function _prepareMassaction()
|
172 |
+
{
|
173 |
+
if (!$this->isMassActionAllowed()) {
|
174 |
+
return $this;
|
175 |
+
}
|
176 |
+
|
177 |
+
$this->setMassactionIdField($this->_entityIdField);
|
178 |
+
$this->getMassactionBlock()->setFormFieldName($this->_formFieldName);
|
179 |
+
|
180 |
+
$this->getMassactionBlock()->addItem('delete', array(
|
181 |
+
'label' => $this->_getHelper()->__('Delete'),
|
182 |
+
'confirm' => $this->_getHelper()->__('Are you sure?'),
|
183 |
+
'url' => $this->getUrl('*/*/mass', array('type' => 'delete')),
|
184 |
+
));
|
185 |
+
|
186 |
+
$this->getMassactionBlock()->addItem('active_enable', array(
|
187 |
+
'label' => $this->_getHelper()->__('Enable'),
|
188 |
+
'url' => $this->getUrl('*/*/mass', array('type' => 'enable'))
|
189 |
+
));
|
190 |
+
|
191 |
+
$this->getMassactionBlock()->addItem('active_disable', array(
|
192 |
+
'label' => $this->_getHelper()->__('Disable'),
|
193 |
+
'url' => $this->getUrl('*/*/mass', array('type' => 'disable'))
|
194 |
+
));
|
195 |
+
|
196 |
+
return $this;
|
197 |
+
}
|
198 |
+
|
199 |
+
/**
|
200 |
+
* @return Lanot_EasyBanner_Helper_Data
|
201 |
+
*/
|
202 |
+
protected function _getHelper()
|
203 |
+
{
|
204 |
+
return Mage::helper('lanot_easybanner');
|
205 |
+
}
|
206 |
+
|
207 |
+
/**
|
208 |
+
* @return Lanot_EasyBanner_Helper_Admin
|
209 |
+
*/
|
210 |
+
protected function _getAclHelper()
|
211 |
+
{
|
212 |
+
return Mage::helper('lanot_easybanner/admin');
|
213 |
+
}
|
214 |
+
|
215 |
+
/**
|
216 |
+
* Retrieve selected categories
|
217 |
+
*
|
218 |
+
* @return array
|
219 |
+
*/
|
220 |
+
public function getSelectedLinks()
|
221 |
+
{
|
222 |
+
return $this->_getItem()->getSelectedLinks();
|
223 |
+
}
|
224 |
+
|
225 |
+
/**
|
226 |
+
* Add column to grid
|
227 |
+
*
|
228 |
+
* @param string $columnId
|
229 |
+
* @param array || Varien_Object $column
|
230 |
+
* @return Mage_Adminhtml_Block_Widget_Grid
|
231 |
+
*/
|
232 |
+
public function addColumn($columnId, $column)
|
233 |
+
{
|
234 |
+
return parent::addColumn($this->_columnPrefix . $columnId, $column);
|
235 |
+
}
|
236 |
+
|
237 |
+
/**
|
238 |
+
* @return Lanot_EasyBanner_Model_Banner|null
|
239 |
+
*/
|
240 |
+
protected function _getItem()
|
241 |
+
{
|
242 |
+
if ($this->_item !== null) {
|
243 |
+
return $this->_item;
|
244 |
+
}
|
245 |
+
|
246 |
+
$itemId = $this->getRequest()->getParam($this->_itemParam);
|
247 |
+
$this->_item = $this->_getItemModel();
|
248 |
+
if ($itemId) {
|
249 |
+
$this->_item->load($itemId);
|
250 |
+
}
|
251 |
+
return $this->_item;
|
252 |
+
}
|
253 |
+
|
254 |
+
/**
|
255 |
+
* @param $column
|
256 |
+
* @return Lanot_EasyBanner_Block_Adminhtml_Grid_Abstract
|
257 |
+
*/
|
258 |
+
protected function _addColumnFilterToCollection($column)
|
259 |
+
{
|
260 |
+
if (!$this->_isTabGrid) {
|
261 |
+
return $this;
|
262 |
+
}
|
263 |
+
|
264 |
+
// Set custom filter by selected values
|
265 |
+
if ($column->getId() == $this->_checkboxFieldName) {
|
266 |
+
$valueIds = $this->getSelectedLinks();
|
267 |
+
if (empty($valueIds)) {
|
268 |
+
$valueIds = 0;
|
269 |
+
}
|
270 |
+
|
271 |
+
if ($column->getFilter()->getValue()) {
|
272 |
+
$this->getCollection()->addFieldToFilter($this->_entityIdField, array('in' => $valueIds));
|
273 |
+
} else {
|
274 |
+
if($valueIds) {
|
275 |
+
$this->getCollection()->addFieldToFilter($this->_entityIdField, array('nin' => $valueIds));
|
276 |
+
}
|
277 |
+
}
|
278 |
+
} else {
|
279 |
+
parent::_addColumnFilterToCollection($column);
|
280 |
+
}
|
281 |
+
return $this;
|
282 |
+
}
|
283 |
+
|
284 |
+
/**
|
285 |
+
* Checks when this block is readonly
|
286 |
+
*
|
287 |
+
* @return boolean
|
288 |
+
*/
|
289 |
+
public function isReadonly()
|
290 |
+
{
|
291 |
+
return false;
|
292 |
+
}
|
293 |
+
|
294 |
+
/**
|
295 |
+
* Checks when this block is not available
|
296 |
+
*
|
297 |
+
* @return boolean
|
298 |
+
*/
|
299 |
+
public function isMassActionAllowed()
|
300 |
+
{
|
301 |
+
return true;
|
302 |
+
}
|
303 |
+
|
304 |
+
/**
|
305 |
+
* @return Mage_Core_Model_Abstract
|
306 |
+
*/
|
307 |
+
protected function _getItemModel()
|
308 |
+
{
|
309 |
+
return null;
|
310 |
+
}
|
311 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Adminhtml/Renderer/Banner.php
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Image Renderer
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Block_Adminhtml_Renderer_Banner extends Varien_Data_Form_Element_Image
|
27 |
+
{
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Enter description here...
|
31 |
+
*
|
32 |
+
* @return string
|
33 |
+
*/
|
34 |
+
public function getElementHtml()
|
35 |
+
{
|
36 |
+
$html = '';
|
37 |
+
if ($this->getComment()) {
|
38 |
+
$html .= sprintf('<div>%s</div>', $this->getComment());
|
39 |
+
}
|
40 |
+
|
41 |
+
$url = '';
|
42 |
+
if ($this->getValue()) {
|
43 |
+
$url = $this->_getUrl();
|
44 |
+
|
45 |
+
if( !preg_match("/^http\:\/\/|https\:\/\//", $url) ) {
|
46 |
+
$url = Mage::getBaseUrl('media') . $url;
|
47 |
+
}
|
48 |
+
}
|
49 |
+
$this->setClass('input-file');
|
50 |
+
$html.= Varien_Data_Form_Element_Abstract::getElementHtml();
|
51 |
+
$html.= $this->_getDeleteCheckbox();
|
52 |
+
$html.= $this->getBannerHtml();
|
53 |
+
|
54 |
+
return $html;
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Enter description here...
|
59 |
+
*
|
60 |
+
* @return string
|
61 |
+
*/
|
62 |
+
protected function _getDeleteCheckbox()
|
63 |
+
{
|
64 |
+
$html = '';
|
65 |
+
if ($this->getValue()) {
|
66 |
+
$label = $this->_getHelper()->__('Delete File');
|
67 |
+
$html .= '<span style="display:block;">';
|
68 |
+
$html .= '<input type="checkbox" name="'.parent::getName().'[delete]" value="1" class="checkbox" id="'.$this->getHtmlId().'_delete"'.($this->getDisabled() ? ' disabled="disabled"': '').'/>';
|
69 |
+
$html .= '<label for="'.$this->getHtmlId().'_delete"'.($this->getDisabled() ? ' class="disabled"' : '').'> '.$label.'</label>';
|
70 |
+
$html .= $this->_getHiddenInput();
|
71 |
+
$html .= '</span>';
|
72 |
+
}
|
73 |
+
|
74 |
+
return $html;
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* @return Lanot_EasyBanner_Helper_Data
|
79 |
+
*/
|
80 |
+
protected function _getHelper()
|
81 |
+
{
|
82 |
+
return Mage::helper('lanot_easybanner');
|
83 |
+
}
|
84 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Banner/Renderer/Abstract.php
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
class Lanot_EasyBanner_Block_Banner_Renderer_Abstract
|
22 |
+
{
|
23 |
+
/** @var Lanot_EasyBanner_Model_Banner */
|
24 |
+
protected $_banner = null;
|
25 |
+
|
26 |
+
/** @var bool */
|
27 |
+
protected $_disabledClick = false;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @param Lanot_EasyBanner_Model_Banner $banner
|
31 |
+
* @return Lanot_EasyBanner_Block_Banner_Renderer_Abstract
|
32 |
+
*/
|
33 |
+
public function setBanner(Lanot_EasyBanner_Model_Banner $banner)
|
34 |
+
{
|
35 |
+
$this->_banner = $banner;
|
36 |
+
return $this;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* @return string
|
41 |
+
*/
|
42 |
+
public function render()
|
43 |
+
{
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @return Lanot_EasyBanner_Helper_Data
|
48 |
+
*/
|
49 |
+
protected function _getHelper()
|
50 |
+
{
|
51 |
+
return Mage::helper('lanot_easybanner');
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* @param $data
|
56 |
+
* @param null $allowedTags
|
57 |
+
* @return mixed
|
58 |
+
*/
|
59 |
+
protected function htmlEscape($data, $allowedTags = null)
|
60 |
+
{
|
61 |
+
return Mage::helper('core')->escapeHtml($data, $allowedTags);
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* @param $html
|
66 |
+
* @return string
|
67 |
+
*/
|
68 |
+
protected function _wrapHtml($html)
|
69 |
+
{
|
70 |
+
if ($this->_banner->getUrl() && !$this->_disabledClick) {
|
71 |
+
$html = sprintf('<a href="%s" %s>%s</a>', $this->_banner->getUrl(), $this->_getLinkAttributes(), $html);
|
72 |
+
}
|
73 |
+
return $html;
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* @return string
|
78 |
+
*/
|
79 |
+
protected function _getLinkAttributes()
|
80 |
+
{
|
81 |
+
$attrs = array();
|
82 |
+
if ($this->_getHelper()->canShowNewWindow()) {
|
83 |
+
$attrs[] = 'target="_blank"';
|
84 |
+
}
|
85 |
+
|
86 |
+
if ($this->_banner->getTitle()) {
|
87 |
+
$attrs[] = 'title="' . $this->htmlEscape($this->_banner->getTitle()) . '"';
|
88 |
+
}
|
89 |
+
return implode(' ', $attrs);
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* @return Lanot_EasyBanner_Block_Banner_Renderer_Abstract
|
94 |
+
*/
|
95 |
+
public function disableClick()
|
96 |
+
{
|
97 |
+
$this->_disabledClick = true;
|
98 |
+
return $this;
|
99 |
+
}
|
100 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Banner/Renderer/Flash.php
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
class Lanot_EasyBanner_Block_Banner_Renderer_Flash
|
22 |
+
extends Lanot_EasyBanner_Block_Banner_Renderer_Abstract
|
23 |
+
{
|
24 |
+
public function render()
|
25 |
+
{
|
26 |
+
$attributes = array();
|
27 |
+
if ($this->_banner->getWidth()) {
|
28 |
+
$attributes[] = 'width="' . $this->_banner->getWidth() . '"';
|
29 |
+
}
|
30 |
+
|
31 |
+
if ($this->_banner->getHeight()) {
|
32 |
+
$attributes[] = 'height="' . $this->_banner->getHeight() . '"';
|
33 |
+
}
|
34 |
+
|
35 |
+
$code = ''.
|
36 |
+
'<object type="application/x-shockwave-flash"
|
37 |
+
data="' . $this->_banner->getPathUrl() . '"
|
38 |
+
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
|
39 |
+
codebase="http://active.macromedia.com/flash4/cabs/swflash.cab#version=4,0,0,0"
|
40 |
+
' . implode(' ', $attributes) . '>
|
41 |
+
<param name="movie" value="' . $this->_banner->getPathUrl() . '">
|
42 |
+
<param name="wmode" value="opaque">
|
43 |
+
<param name="quality" value="high">
|
44 |
+
<embed src="' . $this->_banner->getPathUrl() . '" ' . implode(' ', $attributes) . '
|
45 |
+
wmode="opaque"
|
46 |
+
quality="high"
|
47 |
+
type="application/x-shockwave-flash"
|
48 |
+
pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
|
49 |
+
/>
|
50 |
+
</object>';
|
51 |
+
|
52 |
+
return $this->_wrapHtml($code);
|
53 |
+
}
|
54 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Banner/Renderer/Image.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
class Lanot_EasyBanner_Block_Banner_Renderer_Image
|
22 |
+
extends Lanot_EasyBanner_Block_Banner_Renderer_Abstract
|
23 |
+
{
|
24 |
+
public function render()
|
25 |
+
{
|
26 |
+
$attributes = array();
|
27 |
+
$attributes[] = 'src="' . $this->_banner->getPathUrl() . '"';
|
28 |
+
|
29 |
+
if ($this->_banner->getWidth()) {
|
30 |
+
$attributes[] = 'width="' . $this->_banner->getWidth() . '"';
|
31 |
+
}
|
32 |
+
|
33 |
+
if ($this->_banner->getHeight()) {
|
34 |
+
$attributes[] = 'height="' . $this->_banner->getHeight() . '"';
|
35 |
+
}
|
36 |
+
|
37 |
+
if ($this->_banner->getClass()) {
|
38 |
+
$attributes[] = 'class="' . $this->_banner->getClass() . '"';
|
39 |
+
}
|
40 |
+
|
41 |
+
if ($this->_banner->getTitle()) {
|
42 |
+
$attributes[] = 'alt="' . $this->htmlEscape($this->_banner->getTitle()) . '"';
|
43 |
+
}
|
44 |
+
return $this->_wrapHtml('<img ' . implode(' ', $attributes). '/>');
|
45 |
+
}
|
46 |
+
}
|
app/code/community/Lanot/EasyBanner/Block/Widget/Banners.php
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
class Lanot_EasyBanner_Block_Widget_Banners
|
22 |
+
extends Mage_Core_Block_Template
|
23 |
+
implements Mage_Widget_Block_Interface
|
24 |
+
{
|
25 |
+
/** @var Lanot_EasyBanner_Model_Mysql4_Banner_Collection */
|
26 |
+
protected $_collection = null;
|
27 |
+
|
28 |
+
protected function _construct()
|
29 |
+
{
|
30 |
+
parent::_construct();
|
31 |
+
$this->setTemplate('lanot/easybanner/banners.phtml');
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @return Lanot_EasyBanner_Model_Mysql4_Banner_Collection
|
36 |
+
*/
|
37 |
+
public function getItems()
|
38 |
+
{
|
39 |
+
if ($this->_collection !== null) {
|
40 |
+
return $this->_collection;
|
41 |
+
}
|
42 |
+
|
43 |
+
$this->_collection = $this->_getModel()->getCollection()
|
44 |
+
->useActive();///load only active banners
|
45 |
+
|
46 |
+
//set filter by category id
|
47 |
+
if ($this->getCategoryId()) {
|
48 |
+
$this->_collection->useCategory((int)$this->getCategoryId());
|
49 |
+
}
|
50 |
+
//check use random
|
51 |
+
if ($this->getRandom()) {
|
52 |
+
$this->_collection->useRandom();
|
53 |
+
} else {
|
54 |
+
$this->_collection->useLast();
|
55 |
+
}
|
56 |
+
//set limit
|
57 |
+
if ($this->getLimit()) {
|
58 |
+
$this->_collection->setPageSize((int)$this->getLimit());
|
59 |
+
}
|
60 |
+
return $this->_collection->load();
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* @param Lanot_EasyBanner_Model_Banner
|
65 |
+
* @return string
|
66 |
+
*/
|
67 |
+
public function render($item)
|
68 |
+
{
|
69 |
+
return $this->_getHelper()
|
70 |
+
->getBannerRenderer($item->getType())
|
71 |
+
->setBanner($item)
|
72 |
+
->render();
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* @return Lanot_EasyBanner_Model_Banner
|
77 |
+
*/
|
78 |
+
protected function _getModel()
|
79 |
+
{
|
80 |
+
return Mage::getModel('lanot_easybanner/banner');
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* @return Lanot_EasyBanner_Helpe_Data
|
85 |
+
*/
|
86 |
+
protected function _getHelper()
|
87 |
+
{
|
88 |
+
return Mage::helper('lanot_easybanner');
|
89 |
+
}
|
90 |
+
}
|
app/code/community/Lanot/EasyBanner/Controller/Adminhtml/AbstractController.php
ADDED
@@ -0,0 +1,315 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
class Lanot_EasyBanner_Controller_Adminhtml_AbstractController
|
22 |
+
extends Mage_Adminhtml_Controller_Action
|
23 |
+
{
|
24 |
+
protected $_msgTitle = 'Items';
|
25 |
+
protected $_msgHeader = 'Items';
|
26 |
+
protected $_msgItemDoesNotExist = 'Item does not exist.';
|
27 |
+
protected $_msgItemNotFound = 'Unable to find an item. #%s';
|
28 |
+
protected $_msgItemEdit = 'Edit Item';
|
29 |
+
protected $_msgItemNew = 'New Item';
|
30 |
+
protected $_msgItemSaved = 'The item has been saved.';
|
31 |
+
protected $_msgItemDeleted = 'The item has been deleted.';
|
32 |
+
protected $_msgError = 'An error occurred while edit the item. %s';
|
33 |
+
protected $_msgErrorItems = 'An error occurred while edit the items. %s';
|
34 |
+
protected $_msgItems = 'The items %s has been';
|
35 |
+
|
36 |
+
protected $_aclSection = null;
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Check the permission to run it
|
40 |
+
*
|
41 |
+
* @return boolean
|
42 |
+
*/
|
43 |
+
protected function _isAllowed()
|
44 |
+
{
|
45 |
+
switch ($this->getRequest()->getActionName()) {
|
46 |
+
case 'new':
|
47 |
+
case 'edit':
|
48 |
+
case 'save':
|
49 |
+
case 'mass':
|
50 |
+
return $this->_getAclHelper()->isActionAllowed($this->_aclSection . '/save');
|
51 |
+
break;
|
52 |
+
case 'delete':
|
53 |
+
return $this->_getAclHelper()->isActionAllowed($this->_aclSection . '/delete');
|
54 |
+
break;
|
55 |
+
default:
|
56 |
+
return $this->_getAclHelper()->isActionAllowed($this->_aclSection);
|
57 |
+
break;
|
58 |
+
}
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Init actions
|
63 |
+
*
|
64 |
+
* @return Lanot_EasyBanner_Controller_Adminhtml_AbstractController
|
65 |
+
*/
|
66 |
+
protected function _initAction()
|
67 |
+
{
|
68 |
+
// load layout, set active menu and breadcrumbs
|
69 |
+
$this->loadLayout()
|
70 |
+
->_setActiveMenu('lanot/lanot_easybanner')
|
71 |
+
->_addBreadcrumb(
|
72 |
+
$this->_getHelper()->__($this->_msgTitle),
|
73 |
+
$this->_getHelper()->__($this->_msgTitle)
|
74 |
+
)
|
75 |
+
->_addBreadcrumb(
|
76 |
+
$this->_getHelper()->__($this->_msgHeader),
|
77 |
+
$this->_getHelper()->__($this->_msgHeader)
|
78 |
+
);
|
79 |
+
|
80 |
+
return $this;
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Index action
|
85 |
+
*/
|
86 |
+
public function indexAction()
|
87 |
+
{
|
88 |
+
$this->_title($this->__($this->_msgTitle))
|
89 |
+
->_title($this->__($this->_msgHeader))
|
90 |
+
->_initAction()
|
91 |
+
->renderLayout();
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Grid action
|
96 |
+
*/
|
97 |
+
public function gridAction()
|
98 |
+
{
|
99 |
+
$this->loadLayout();
|
100 |
+
$this->renderLayout();
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Create new Item
|
105 |
+
*/
|
106 |
+
public function newAction()
|
107 |
+
{
|
108 |
+
$this->_forward('edit');
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Edit item
|
113 |
+
*/
|
114 |
+
public function editAction()
|
115 |
+
{
|
116 |
+
$this->_title($this->__($this->_msgTitle))
|
117 |
+
->_title($this->__($this->_msgHeader));
|
118 |
+
|
119 |
+
// 1. instance model
|
120 |
+
$model = $this->_getItemModel();
|
121 |
+
|
122 |
+
// 2. if exists id, check it and load data
|
123 |
+
$itemId = $this->getRequest()->getParam('id');
|
124 |
+
if ($itemId) {
|
125 |
+
$model->load($itemId);
|
126 |
+
if (!$model->getId()) {
|
127 |
+
$this->_getSession()->addError($this->_getHelper()->__($this->_msgItemNotFound, $itemId));
|
128 |
+
return $this->_redirect('*/*/');
|
129 |
+
}
|
130 |
+
// prepare title
|
131 |
+
$this->_title($model->getTitle());
|
132 |
+
$breadCrumb = $this->_getHelper()->__($this->_msgItemEdit);
|
133 |
+
} else {
|
134 |
+
$this->_title($this->_getHelper()->__($this->_msgItemNew));
|
135 |
+
$breadCrumb = $this->_getHelper()->__($this->_msgItemNew);
|
136 |
+
}
|
137 |
+
// 3. Set entered data if was error when we do save
|
138 |
+
$data = $this->_getSession()->getFormData(true);
|
139 |
+
if (!empty($data)) {
|
140 |
+
$model->addData($data);
|
141 |
+
}
|
142 |
+
// 4. Register model to use later in blocks
|
143 |
+
$this->_registerItem($model);
|
144 |
+
|
145 |
+
// Init breadcrumbs
|
146 |
+
$this->_initAction()->_addBreadcrumb($breadCrumb, $breadCrumb);
|
147 |
+
|
148 |
+
// 5. render layout
|
149 |
+
$this->renderLayout();
|
150 |
+
}
|
151 |
+
|
152 |
+
/**
|
153 |
+
* Save action
|
154 |
+
*/
|
155 |
+
public function saveAction()
|
156 |
+
{
|
157 |
+
$redirectPath = '*/*';
|
158 |
+
$redirectParams = array();
|
159 |
+
$hasError = false;
|
160 |
+
// check if data sent
|
161 |
+
$data = $this->getRequest()->getPost();
|
162 |
+
if ($data) {
|
163 |
+
//1. instance model
|
164 |
+
$model = $this->_getItemModel();
|
165 |
+
//2. if exists id, try to load data
|
166 |
+
$itemId = $this->getRequest()->getParam('id');
|
167 |
+
if ($itemId) {
|
168 |
+
$model->load($itemId);
|
169 |
+
}
|
170 |
+
$model->addData($data);
|
171 |
+
|
172 |
+
try {
|
173 |
+
//3. save the data
|
174 |
+
$model->save();
|
175 |
+
//4. display success message
|
176 |
+
$msg = $this->_getHelper()->__($this->_msgItemSaved);
|
177 |
+
$this->_getSession()->addSuccess($msg);
|
178 |
+
//5. check if 'Save and Continue'
|
179 |
+
if ($this->getRequest()->getParam('back')) {
|
180 |
+
$redirectPath = '*/*/edit';
|
181 |
+
$redirectParams = array('id' => $model->getId());
|
182 |
+
}
|
183 |
+
} catch (Mage_Core_Exception $e) {
|
184 |
+
$this->_getSession()->addError($e->getMessage());
|
185 |
+
} catch (Exception $e) {
|
186 |
+
$msg = $this->_getHelper()->__($this->_msgError);
|
187 |
+
$this->_getSession()->addException($e, $msg);
|
188 |
+
}
|
189 |
+
//6. check if errors happened
|
190 |
+
if ($hasError) {
|
191 |
+
$this->_getSession()->setFormData($data);
|
192 |
+
$redirectPath = '*/*/edit';
|
193 |
+
$redirectParams = array('id' => $this->getRequest()->getParam('id'));
|
194 |
+
}
|
195 |
+
}
|
196 |
+
//7. go to grid or edit form
|
197 |
+
$this->_redirect($redirectPath, $redirectParams);
|
198 |
+
}
|
199 |
+
|
200 |
+
/**
|
201 |
+
* Delete action
|
202 |
+
*/
|
203 |
+
public function deleteAction()
|
204 |
+
{
|
205 |
+
$itemId = $this->getRequest()->getParam('id');
|
206 |
+
if ($itemId) {
|
207 |
+
try {
|
208 |
+
// 1. instance model
|
209 |
+
$model = $this->_getItemModel();
|
210 |
+
// 2. if exists id, load data
|
211 |
+
$model->load($itemId);
|
212 |
+
// 3. check if elements exists
|
213 |
+
if (!$model->getId()) {
|
214 |
+
$msg = $this->_getHelper()->__($this->_msgItemDoesNotExist);
|
215 |
+
Mage::throwException($msg);
|
216 |
+
}
|
217 |
+
// 4. delete banner
|
218 |
+
$model->delete();
|
219 |
+
// display success message
|
220 |
+
$msg = $this->_getHelper()->__($this->_msgItemDeleted);
|
221 |
+
$this->_getSession()->addSuccess($msg);
|
222 |
+
} catch (Mage_Core_Exception $e) {
|
223 |
+
$this->_getSession()->addError($e->getMessage());
|
224 |
+
} catch (Exception $e) {
|
225 |
+
$msg = $this->_getHelper()->__($this->_msgError, $e->getMessage());
|
226 |
+
$this->_getSession()->addException($e, $msg);
|
227 |
+
}
|
228 |
+
}
|
229 |
+
// 5. go to grid
|
230 |
+
$this->_redirect('*/*/');
|
231 |
+
}
|
232 |
+
|
233 |
+
/**
|
234 |
+
*
|
235 |
+
*/
|
236 |
+
public function massAction()
|
237 |
+
{
|
238 |
+
$msg = '';
|
239 |
+
$key = $this->getRequest()->getParam('massaction_prepare_key');
|
240 |
+
$itemIds = $this->getRequest()->getParam($key);
|
241 |
+
$type = $this->getRequest()->getParam('type');
|
242 |
+
$active = $this->_getItemModel()->getStatusDisabled();
|
243 |
+
|
244 |
+
if (is_array($itemIds) && count($itemIds)) {
|
245 |
+
try {
|
246 |
+
foreach($itemIds as $itemId) {
|
247 |
+
// 1. instance banner model
|
248 |
+
$model = $this->_getItemModel();
|
249 |
+
// 2. if exists id, load data
|
250 |
+
$model->load($itemId);
|
251 |
+
// 3. check if elements exists
|
252 |
+
if (!$model->getId()) {
|
253 |
+
Mage::throwException($this->_getHelper()->__($this->_msgItemNotFound));
|
254 |
+
}
|
255 |
+
// 4. main logic
|
256 |
+
switch ($type) {
|
257 |
+
case 'enable':
|
258 |
+
$active = $this->_getItemModel()->getStatusEnabled();
|
259 |
+
case 'disable':
|
260 |
+
$model->setIsActive($active);
|
261 |
+
$model->save();
|
262 |
+
$msg = $this->_msgItems .
|
263 |
+
(($active == $this->_getItemModel()->getStatusDisabled()) ? ' enabled' : ' disabled') . '.';
|
264 |
+
break;
|
265 |
+
case 'delete':
|
266 |
+
$model->delete();
|
267 |
+
$msg = $this->_msgItems . ' deleted.';
|
268 |
+
break;
|
269 |
+
}
|
270 |
+
}
|
271 |
+
// display success message
|
272 |
+
$this->_getSession()->addSuccess($this->_getHelper()->__($msg, implode(', ', $itemIds)));
|
273 |
+
} catch (Mage_Core_Exception $e) {
|
274 |
+
$this->_getSession()->addError($e->getMessage());
|
275 |
+
} catch (Exception $e) {
|
276 |
+
$this->_getSession()->addException($e, $this->_getHelper()->__($this->_msgErrorItems,$e->getMessage()));
|
277 |
+
}
|
278 |
+
}
|
279 |
+
// 5. go to grid
|
280 |
+
$this->_redirect('*/*/');
|
281 |
+
}
|
282 |
+
|
283 |
+
/**
|
284 |
+
* @return Lanot_EasyBanner_Helper_Data
|
285 |
+
*/
|
286 |
+
protected function _getHelper()
|
287 |
+
{
|
288 |
+
return Mage::helper('lanot_easybanner');
|
289 |
+
}
|
290 |
+
|
291 |
+
/**
|
292 |
+
* @return Lanot_EasyBanner_Helper_Admin
|
293 |
+
*/
|
294 |
+
protected function _getAclHelper()
|
295 |
+
{
|
296 |
+
return Mage::helper('lanot_easybanner/admin');
|
297 |
+
}
|
298 |
+
|
299 |
+
/**
|
300 |
+
* @return Mage_Core_Model_Abstract
|
301 |
+
*/
|
302 |
+
protected function _getItemModel()
|
303 |
+
{
|
304 |
+
return null;
|
305 |
+
}
|
306 |
+
|
307 |
+
/**
|
308 |
+
* @param Mage_Core_Model_Abstract $model
|
309 |
+
* @return Lanot_EasyBanner_Controller_Adminhtml_AbstractController
|
310 |
+
*/
|
311 |
+
protected function _registerItem(Mage_Core_Model_Abstract $model)
|
312 |
+
{
|
313 |
+
return $this;
|
314 |
+
}
|
315 |
+
}
|
app/code/community/Lanot/EasyBanner/Helper/Admin.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
class Lanot_EasyBanner_Helper_Admin
|
22 |
+
extends Mage_Core_Helper_Abstract
|
23 |
+
{
|
24 |
+
/**
|
25 |
+
* Check permission for passed action
|
26 |
+
*
|
27 |
+
* @param string $action
|
28 |
+
* @return bool
|
29 |
+
*/
|
30 |
+
public function isActionAllowed($action)
|
31 |
+
{
|
32 |
+
return Mage::getSingleton('admin/session')->isAllowed('lanot/lanot_easybanner/' . $action);
|
33 |
+
}
|
34 |
+
}
|
app/code/community/Lanot/EasyBanner/Helper/Data.php
ADDED
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
class Lanot_EasyBanner_Helper_Data
|
22 |
+
extends Mage_Core_Helper_Abstract
|
23 |
+
{
|
24 |
+
const XML_NODE_RENDERERS = 'lanot_easybanner/renderers/%s';
|
25 |
+
const XML_NODE_CONFIG = 'lanot_easybanner/view/%s';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @return Lanot_EasyBanner_Model_Category
|
29 |
+
*/
|
30 |
+
public function getCategoryItemInstance()
|
31 |
+
{
|
32 |
+
return Mage::registry('easy.banner.category.item');
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @return Lanot_EasyBanner_Model_Banner
|
37 |
+
*/
|
38 |
+
public function getBannerItemInstance()
|
39 |
+
{
|
40 |
+
return Mage::registry('easy.banner.banner.item');
|
41 |
+
}
|
42 |
+
|
43 |
+
/**
|
44 |
+
* @return bool
|
45 |
+
*/
|
46 |
+
public function isEnabled() {
|
47 |
+
return (bool)Mage::getStoreConfig(sprintf(self::XML_NODE_CONFIG, 'enabled'), Mage::app()->getStore()->getId());
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @return bool
|
52 |
+
*/
|
53 |
+
public function canShowNewWindow()
|
54 |
+
{
|
55 |
+
return (bool)Mage::getStoreConfig(sprintf(self::XML_NODE_CONFIG, 'new_window'), Mage::app()->getStore()->getId());
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @return string
|
60 |
+
*/
|
61 |
+
public function getBlockCssClass()
|
62 |
+
{
|
63 |
+
return (string)Mage::getStoreConfig(sprintf(self::XML_NODE_CONFIG, 'block_css_class'), Mage::app()->getStore()->getId());
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @return string
|
68 |
+
*/
|
69 |
+
public function getItemCssClass()
|
70 |
+
{
|
71 |
+
return (string)Mage::getStoreConfig(sprintf(self::XML_NODE_CONFIG, 'item_css_class'), Mage::app()->getStore()->getId());
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* @return string
|
76 |
+
*/
|
77 |
+
public function getTitleCssClass()
|
78 |
+
{
|
79 |
+
return (string)Mage::getStoreConfig(sprintf(self::XML_NODE_CONFIG, 'title_css_class'), Mage::app()->getStore()->getId());
|
80 |
+
}
|
81 |
+
|
82 |
+
/**
|
83 |
+
* @return Lanot_EasyBanner_Block_Banner_Renderer_Abstract
|
84 |
+
*/
|
85 |
+
public function getBannerRenderer($type)
|
86 |
+
{
|
87 |
+
$path = sprintf(self::XML_NODE_RENDERERS, $type);
|
88 |
+
$type = (string) Mage::getConfig()->getNode($path);
|
89 |
+
if (!$type) {
|
90 |
+
Mage::throwException($this->__('Could not retrieve xml node %s', $path));
|
91 |
+
}
|
92 |
+
return $this->_getBlock($type);
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* @param $type
|
97 |
+
* @return object
|
98 |
+
*/
|
99 |
+
protected function _getBlock($type)
|
100 |
+
{
|
101 |
+
return Mage::getBlockSingleton($type);
|
102 |
+
}
|
103 |
+
}
|
app/code/community/Lanot/EasyBanner/Model/Banner.php
ADDED
@@ -0,0 +1,277 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
class Lanot_EasyBanner_Model_Banner
|
22 |
+
extends Mage_Core_Model_Abstract
|
23 |
+
{
|
24 |
+
const STATUS_ENABLED = 1;
|
25 |
+
const STATUS_DISABLED = 0;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @var array
|
29 |
+
*/
|
30 |
+
protected $_extensions = null;
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @var string
|
34 |
+
*/
|
35 |
+
protected $_selectedCategories = null;
|
36 |
+
|
37 |
+
protected function _construct()
|
38 |
+
{
|
39 |
+
$this->_init('lanot_easybanner/banner');
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* @return Lanot_EasyBanner_Helper_Data
|
44 |
+
*/
|
45 |
+
protected function _getHelper()
|
46 |
+
{
|
47 |
+
return Mage::helper('lanot_easybanner');
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @return array
|
52 |
+
*/
|
53 |
+
public function getAvailableStatuses()
|
54 |
+
{
|
55 |
+
return array(
|
56 |
+
self::STATUS_ENABLED => $this->_getHelper()->__('Enabled'),
|
57 |
+
self::STATUS_DISABLED => $this->_getHelper()->__('Disabled'),
|
58 |
+
);
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* @return int
|
63 |
+
*/
|
64 |
+
public function getStatusDisabled()
|
65 |
+
{
|
66 |
+
return self::STATUS_DISABLED;
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* @return int
|
71 |
+
*/
|
72 |
+
public function getStatusEnabled()
|
73 |
+
{
|
74 |
+
return self::STATUS_ENABLED;
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* @return array
|
79 |
+
*/
|
80 |
+
public function getAllowedExtensionsAndTypes()
|
81 |
+
{
|
82 |
+
$this->prepareExtensions();
|
83 |
+
return $this->_extensions;
|
84 |
+
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* @return array
|
89 |
+
*/
|
90 |
+
public function getAllowedExtensions()
|
91 |
+
{
|
92 |
+
$this->prepareExtensions();
|
93 |
+
return array_keys($this->_extensions);
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* @return array
|
98 |
+
*/
|
99 |
+
public function prepareExtensions()
|
100 |
+
{
|
101 |
+
if ($this->_extensions !== null) {
|
102 |
+
return $this->_extensions;
|
103 |
+
}
|
104 |
+
|
105 |
+
$this->_extensions = array();
|
106 |
+
$node = Mage::getConfig()->getNode('default/lanot_easybanner/extensions/allowed');
|
107 |
+
if ($node) {
|
108 |
+
foreach($node->asCanonicalArray() as $type => $exts) {
|
109 |
+
foreach($exts as $ext => $val) {
|
110 |
+
$this->_extensions[$ext] = $type;
|
111 |
+
}
|
112 |
+
}
|
113 |
+
}
|
114 |
+
return $this->_extensions;
|
115 |
+
}
|
116 |
+
|
117 |
+
/**
|
118 |
+
* Filesystem directory path of banners
|
119 |
+
* relatively to media folder
|
120 |
+
*
|
121 |
+
* @return string
|
122 |
+
*/
|
123 |
+
public function getMediaPath()
|
124 |
+
{
|
125 |
+
return 'lanot/easybanner';
|
126 |
+
}
|
127 |
+
|
128 |
+
/**
|
129 |
+
* Filesystem full directory path of banners
|
130 |
+
* relatively to media folder
|
131 |
+
*
|
132 |
+
* @return string
|
133 |
+
*/
|
134 |
+
public function getFullMediaPath()
|
135 |
+
{
|
136 |
+
return Mage::getBaseDir('media') . '/' . $this->getMediaPath();
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* @return string
|
141 |
+
*/
|
142 |
+
public function getPathUrl()
|
143 |
+
{
|
144 |
+
return Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) .
|
145 |
+
$this->getMediaPath() .
|
146 |
+
$this->getPath();
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* @return array
|
151 |
+
*/
|
152 |
+
public function getSelectedCategories()
|
153 |
+
{
|
154 |
+
if (null === $this->_selectedCategories) {
|
155 |
+
$this->_selectedCategories = $this->getResource()->getSelectedCategories($this);
|
156 |
+
|
157 |
+
}
|
158 |
+
return $this->_selectedCategories;
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* @return Lanot_EasyBanner_Model_Banner
|
163 |
+
*/
|
164 |
+
protected function _beforeSave()
|
165 |
+
{
|
166 |
+
parent::_beforeSave();
|
167 |
+
|
168 |
+
if ($this->isObjectNew()) {
|
169 |
+
$this->setData('created_at', Varien_Date::now());
|
170 |
+
}
|
171 |
+
$this->setData('updated_at', Varien_Date::now());
|
172 |
+
|
173 |
+
$this->_prepareFileInfo();
|
174 |
+
$this->_prepareCategories();
|
175 |
+
|
176 |
+
return $this;
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* @param $key
|
181 |
+
* @return null
|
182 |
+
*/
|
183 |
+
protected function _uploadFile($key)
|
184 |
+
{
|
185 |
+
$file = null;
|
186 |
+
if(empty($_FILES[$key]['name'])) {
|
187 |
+
return null;
|
188 |
+
}
|
189 |
+
try {
|
190 |
+
//prepare uploader to upload
|
191 |
+
$uploader = new Varien_File_Uploader($key);
|
192 |
+
$uploader->setAllowedExtensions($this->getAllowedExtensions());
|
193 |
+
$uploader->setAllowCreateFolders(true);
|
194 |
+
$uploader->setAllowRenameFiles(true);
|
195 |
+
$uploader->setFilesDispersion(true);
|
196 |
+
// save the image to path
|
197 |
+
$result = $uploader->save($this->getFullMediaPath());
|
198 |
+
if (isset($result['file'])) {
|
199 |
+
$file = $result['file'];
|
200 |
+
}
|
201 |
+
} catch (Exception $e) {
|
202 |
+
Mage::logException($e);
|
203 |
+
Mage::throwException($e);
|
204 |
+
}
|
205 |
+
return $file;
|
206 |
+
}
|
207 |
+
|
208 |
+
/**
|
209 |
+
* @param $file
|
210 |
+
* @return bool
|
211 |
+
*/
|
212 |
+
protected function _deleteFile($file)
|
213 |
+
{
|
214 |
+
$filename = $this->getFullMediaPath() . $file;
|
215 |
+
$io = new Varien_Io_File();
|
216 |
+
if ($io->fileExists($filename)) {
|
217 |
+
return $io->rm($filename);
|
218 |
+
}
|
219 |
+
return false;
|
220 |
+
}
|
221 |
+
|
222 |
+
/**
|
223 |
+
* @param $path
|
224 |
+
* @return mixed
|
225 |
+
*/
|
226 |
+
protected function _getExtension($path)
|
227 |
+
{
|
228 |
+
return pathinfo($path, PATHINFO_EXTENSION);
|
229 |
+
}
|
230 |
+
|
231 |
+
/**
|
232 |
+
* @return Lanot_EasyBanner_Model_Banner
|
233 |
+
*/
|
234 |
+
protected function _prepareFileInfo()
|
235 |
+
{
|
236 |
+
//upload file
|
237 |
+
$fileData = $this->getBannerFile();
|
238 |
+
$isPathDeleted = (is_array($fileData) && !empty($fileData['delete']));
|
239 |
+
if ($isPathDeleted) {
|
240 |
+
$this->_deleteFile($this->getPath());
|
241 |
+
$this->setPath(null);
|
242 |
+
$this->setType(null);
|
243 |
+
} elseif (!empty($_FILES['banner_file']['name'])){
|
244 |
+
$oldPath = $this->getPath();
|
245 |
+
|
246 |
+
$path = $this->_uploadFile('banner_file');
|
247 |
+
$this->setPath($path);
|
248 |
+
|
249 |
+
$ext = $this->_getExtension($path);
|
250 |
+
$extByType = $this->getAllowedExtensionsAndTypes();
|
251 |
+
$type = null;
|
252 |
+
if ($ext && !empty($extByType[$ext])) {
|
253 |
+
$type = $extByType[$ext];
|
254 |
+
}
|
255 |
+
$this->setType($type);
|
256 |
+
|
257 |
+
if (null !== $oldPath) {
|
258 |
+
$this->_deleteFile($oldPath);
|
259 |
+
}
|
260 |
+
}
|
261 |
+
return $this;
|
262 |
+
}
|
263 |
+
|
264 |
+
/**
|
265 |
+
* @return Lanot_EasyBanner_Model_Banner
|
266 |
+
*/
|
267 |
+
protected function _prepareCategories()
|
268 |
+
{
|
269 |
+
$categories = $this->getCategories();
|
270 |
+
if (is_string($categories) && !empty($categories)) {
|
271 |
+
$this->setCategories(Mage::helper('adminhtml/js')->decodeGridSerializedInput($categories));
|
272 |
+
} elseif (null !== $categories) {
|
273 |
+
$this->setCategories(array());
|
274 |
+
}
|
275 |
+
return $this;
|
276 |
+
}
|
277 |
+
}
|
app/code/community/Lanot/EasyBanner/Model/Category.php
ADDED
@@ -0,0 +1,141 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
class Lanot_EasyBanner_Model_Category extends Mage_Core_Model_Abstract
|
22 |
+
{
|
23 |
+
const STATUS_ENABLED = 1;
|
24 |
+
const STATUS_DISABLED = 0;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* @var string
|
28 |
+
*/
|
29 |
+
protected $_selectedBanners = null;
|
30 |
+
|
31 |
+
/**
|
32 |
+
*
|
33 |
+
*/
|
34 |
+
protected function _construct()
|
35 |
+
{
|
36 |
+
$this->_init('lanot_easybanner/category');
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* @return Lanot_EasyBanner_Helper_Data
|
41 |
+
*/
|
42 |
+
protected function _getHelper()
|
43 |
+
{
|
44 |
+
return Mage::helper('lanot_easybanner');
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* @return array
|
49 |
+
*/
|
50 |
+
public function getAvailableStatuses()
|
51 |
+
{
|
52 |
+
return array(
|
53 |
+
self::STATUS_ENABLED => $this->_getHelper()->__('Enabled'),
|
54 |
+
self::STATUS_DISABLED => $this->_getHelper()->__('Disabled'),
|
55 |
+
);
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @return int
|
60 |
+
*/
|
61 |
+
public function getStatusDisabled()
|
62 |
+
{
|
63 |
+
return self::STATUS_DISABLED;
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @return int
|
68 |
+
*/
|
69 |
+
public function getStatusEnabled()
|
70 |
+
{
|
71 |
+
return self::STATUS_ENABLED;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* @param bool $addEmpty
|
76 |
+
* @return array
|
77 |
+
*/
|
78 |
+
public function toOptionArray($addEmpty = true)
|
79 |
+
{
|
80 |
+
/** @var $collection Lanot_EasyBanner_Model_Mysql4_Category_Collection */
|
81 |
+
$collection = $this->getCollection();
|
82 |
+
$options = array();
|
83 |
+
if ($addEmpty) {
|
84 |
+
$options[] = array(
|
85 |
+
'label' => $this->_getHelper()->__('-- Please Select a Category --'),
|
86 |
+
'value' => ''
|
87 |
+
);
|
88 |
+
}
|
89 |
+
foreach ($collection as $category) {
|
90 |
+
$options[] = array(
|
91 |
+
'label' => $category->getTitle(),
|
92 |
+
'value' => $category->getId()
|
93 |
+
);
|
94 |
+
}
|
95 |
+
|
96 |
+
return $options;
|
97 |
+
}
|
98 |
+
|
99 |
+
/**
|
100 |
+
* @return Lanot_EasyBanner_Model_Category
|
101 |
+
*/
|
102 |
+
protected function _beforeSave()
|
103 |
+
{
|
104 |
+
parent::_beforeSave();
|
105 |
+
|
106 |
+
if ($this->isObjectNew()) {
|
107 |
+
$this->setData('created_at', Varien_Date::now());
|
108 |
+
}
|
109 |
+
$this->setData('updated_at', Varien_Date::now());
|
110 |
+
$this->_prepareBanners();
|
111 |
+
|
112 |
+
return $this;
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* @return array
|
117 |
+
*/
|
118 |
+
public function getSelectedBanners()
|
119 |
+
{
|
120 |
+
if (null === $this->_selectedBanners) {
|
121 |
+
$this->_selectedBanners = $this->getResource()->getSelectedBanners($this);
|
122 |
+
|
123 |
+
}
|
124 |
+
return $this->_selectedBanners;
|
125 |
+
}
|
126 |
+
|
127 |
+
/**
|
128 |
+
* @return Lanot_EasyBanner_Model_Category
|
129 |
+
*/
|
130 |
+
protected function _prepareBanners()
|
131 |
+
{
|
132 |
+
$banners = $this->getBanners();
|
133 |
+
if (is_string($banners) && !empty($banners)) {
|
134 |
+
$this->setBanners(Mage::helper('adminhtml/js')->decodeGridSerializedInput($banners));
|
135 |
+
} elseif (null !== $banners) {
|
136 |
+
$this->setBanners(array());
|
137 |
+
}
|
138 |
+
return $this;
|
139 |
+
}
|
140 |
+
}
|
141 |
+
|
app/code/community/Lanot/EasyBanner/Model/Mysql4/Banner.php
ADDED
@@ -0,0 +1,129 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Banner item resource model
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Model_Mysql4_Banner
|
27 |
+
extends Mage_Core_Model_Mysql4_Abstract
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* Initialize connection and define main table and primary key
|
31 |
+
*/
|
32 |
+
protected function _construct()
|
33 |
+
{
|
34 |
+
$this->_init('lanot_easybanner/banner', 'banner_id');
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* @param Mage_Core_Model_Abstract $object
|
39 |
+
* @return Mage_Core_Model_Resource_Db_Abstract
|
40 |
+
*/
|
41 |
+
protected function _afterSave(Mage_Core_Model_Abstract $object)
|
42 |
+
{
|
43 |
+
$this->_saveCategories($object);
|
44 |
+
|
45 |
+
return $this;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* @return string
|
50 |
+
*/
|
51 |
+
protected function _getLinkTable()
|
52 |
+
{
|
53 |
+
return $this->getTable('lanot_easybanner/banner_category');
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* @param Mage_Core_Model_Abstract $object
|
58 |
+
* @return array
|
59 |
+
*/
|
60 |
+
public function getSelectedCategories(Mage_Core_Model_Abstract $object)
|
61 |
+
{
|
62 |
+
$select = $this->getReadConnection()
|
63 |
+
->select()
|
64 |
+
->from($this->_getLinkTable(), array('category_id'))
|
65 |
+
->where('banner_id=?', $object->getId());
|
66 |
+
|
67 |
+
return $this->getReadConnection()->fetchCol($select);
|
68 |
+
}
|
69 |
+
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @param Mage_Core_Model_Abstract $object
|
73 |
+
* @return Lanot_EasyBanner_Model_Mysql4_Banner
|
74 |
+
*/
|
75 |
+
protected function _saveCategories(Mage_Core_Model_Abstract $object)
|
76 |
+
{
|
77 |
+
//there is no any changes
|
78 |
+
if (null === $object->getCategories()) {
|
79 |
+
return $this;
|
80 |
+
}
|
81 |
+
|
82 |
+
$oldCategories = $object->getSelectedCategories($object);
|
83 |
+
$newCategories = $object->getCategories();
|
84 |
+
|
85 |
+
$insertCategories = array_diff($newCategories, $oldCategories);
|
86 |
+
$deleteCategories = array_diff($oldCategories, $newCategories);
|
87 |
+
|
88 |
+
if (!empty($insertCategories)) {
|
89 |
+
$this->_insertCategories($object, $insertCategories);
|
90 |
+
}
|
91 |
+
if (!empty($deleteCategories)) {
|
92 |
+
$this->_deleteCategories($object, $deleteCategories);
|
93 |
+
}
|
94 |
+
|
95 |
+
return $this;
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* @param Mage_Core_Model_Abstract $object
|
100 |
+
* @param array $categoryIds
|
101 |
+
* @return Lanot_EasyBanner_Model_Mysql4_Banner
|
102 |
+
*/
|
103 |
+
protected function _insertCategories(Mage_Core_Model_Abstract $object, array $categoryIds)
|
104 |
+
{
|
105 |
+
$data = array();
|
106 |
+
foreach($categoryIds as $categoryId) {
|
107 |
+
$data[] = array('banner_id' => $object->getId(), 'category_id' => $categoryId);
|
108 |
+
}
|
109 |
+
|
110 |
+
$this->_getWriteAdapter()->insertArray($this->_getLinkTable(), array('banner_id', 'category_id'), $data);
|
111 |
+
|
112 |
+
return $this;
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* @param Mage_Core_Model_Abstract $object
|
117 |
+
* @param array $categoryIds
|
118 |
+
* @return Lanot_EasyBanner_Model_Mysql4_Banner
|
119 |
+
*/
|
120 |
+
protected function _deleteCategories(Mage_Core_Model_Abstract $object, array $categoryIds)
|
121 |
+
{
|
122 |
+
$where = $this->_getWriteAdapter()->quoteInto('banner_id = ?', $object->getId());
|
123 |
+
$where.= $this->_getWriteAdapter()->quoteInto(' AND category_id IN (?)', $categoryIds);
|
124 |
+
$this->_getWriteAdapter()->delete($this->_getLinkTable(), $where);
|
125 |
+
|
126 |
+
return $this;
|
127 |
+
}
|
128 |
+
}
|
129 |
+
|
app/code/community/Lanot/EasyBanner/Model/Mysql4/Banner/Collection.php
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Banners collection
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Model_Mysql4_Banner_Collection
|
27 |
+
extends Mage_Core_Model_Mysql4_Collection_Abstract
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* Define collection model
|
31 |
+
*/
|
32 |
+
protected function _construct()
|
33 |
+
{
|
34 |
+
$this->_init('lanot_easybanner/banner');
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* @return Lanot_EasyBanner_Model_Mysql4_Banner_Collection
|
39 |
+
*/
|
40 |
+
public function useCategory($categoryId)
|
41 |
+
{
|
42 |
+
$this->join(array('bc' => 'lanot_easybanner/banner_category'),
|
43 |
+
'main_table.banner_id=bc.banner_id AND bc.category_id = ' . (int) $categoryId, array());
|
44 |
+
|
45 |
+
$this->join(array('c' => 'lanot_easybanner/category'),
|
46 |
+
'c.category_id = bc.category_id AND c.is_active = ' .
|
47 |
+
(int) Lanot_EasyBanner_Model_Category::STATUS_ENABLED, array());
|
48 |
+
|
49 |
+
return $this;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* @return Lanot_EasyBanner_Model_Mysql4_Banner_Collection
|
54 |
+
*/
|
55 |
+
public function useRandom()
|
56 |
+
{
|
57 |
+
$this->getSelect()->order(new Zend_Db_Expr('RAND()'));
|
58 |
+
|
59 |
+
return $this;
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* @return Lanot_EasyBanner_Model_Mysql4_Banner_Collection
|
64 |
+
*/
|
65 |
+
public function useLast()
|
66 |
+
{
|
67 |
+
$this->setOrder('main_table.banner_id','DESC');
|
68 |
+
|
69 |
+
return $this;
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* @return Lanot_EasyBanner_Model_Mysql4_Banner_Collection
|
74 |
+
*/
|
75 |
+
public function useActive()
|
76 |
+
{
|
77 |
+
$this->addFilter('main_table.is_active',
|
78 |
+
Lanot_EasyBanner_Model_Banner::STATUS_ENABLED);
|
79 |
+
|
80 |
+
return $this;
|
81 |
+
}
|
82 |
+
}
|
83 |
+
|
app/code/community/Lanot/EasyBanner/Model/Mysql4/Category.php
ADDED
@@ -0,0 +1,130 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Banner Category item resource model
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Model_Mysql4_Category
|
27 |
+
//extends Mage_Core_Model_Resource_Db_Abstract
|
28 |
+
extends Mage_Core_Model_Mysql4_Abstract
|
29 |
+
{
|
30 |
+
/**
|
31 |
+
* Initialize connection and define main table and primary key
|
32 |
+
*/
|
33 |
+
protected function _construct()
|
34 |
+
{
|
35 |
+
$this->_init('lanot_easybanner/category', 'category_id');
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @param Mage_Core_Model_Abstract $object
|
40 |
+
* @return Mage_Core_Model_Resource_Db_Abstract
|
41 |
+
*/
|
42 |
+
protected function _afterSave(Mage_Core_Model_Abstract $object)
|
43 |
+
{
|
44 |
+
$this->_saveBanners($object);
|
45 |
+
|
46 |
+
return $this;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* @return string
|
51 |
+
*/
|
52 |
+
protected function _getLinkTable()
|
53 |
+
{
|
54 |
+
return $this->getTable('lanot_easybanner/banner_category');
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @param Mage_Core_Model_Abstract $object
|
59 |
+
* @return array
|
60 |
+
*/
|
61 |
+
public function getSelectedBanners(Mage_Core_Model_Abstract $object)
|
62 |
+
{
|
63 |
+
$select = $this->getReadConnection()
|
64 |
+
->select()
|
65 |
+
->from($this->_getLinkTable(), array('banner_id'))
|
66 |
+
->where('category_id=?', $object->getId());
|
67 |
+
|
68 |
+
return $this->getReadConnection()->fetchCol($select);
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @param Mage_Core_Model_Abstract $object
|
73 |
+
* @return Lanot_EasyBanner_Model_Mysql4_Banner
|
74 |
+
*/
|
75 |
+
protected function _saveBanners(Mage_Core_Model_Abstract $object)
|
76 |
+
{
|
77 |
+
//there is no any changes
|
78 |
+
if (null === $object->getBanners()) {
|
79 |
+
return $this;
|
80 |
+
}
|
81 |
+
|
82 |
+
$oldBanners = $object->getSelectedBanners($object);
|
83 |
+
$newBanners = $object->getBanners();
|
84 |
+
|
85 |
+
$insertBanners = array_diff($newBanners, $oldBanners);
|
86 |
+
$deleteBanners = array_diff($oldBanners, $newBanners);
|
87 |
+
|
88 |
+
if (!empty($insertBanners)) {
|
89 |
+
$this->_insertBanners($object, $insertBanners);
|
90 |
+
}
|
91 |
+
if (!empty($deleteBanners)) {
|
92 |
+
$this->_deleteBanners($object, $deleteBanners);
|
93 |
+
}
|
94 |
+
|
95 |
+
return $this;
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* @param Mage_Core_Model_Abstract $object
|
100 |
+
* @param array $bannerIds
|
101 |
+
* @return Lanot_EasyBanner_Model_Mysql4_Banner
|
102 |
+
*/
|
103 |
+
protected function _insertBanners(Mage_Core_Model_Abstract $object, array $bannerIds)
|
104 |
+
{
|
105 |
+
$data = array();
|
106 |
+
foreach($bannerIds as $bannerId) {
|
107 |
+
$data[] = array('banner_id' => $bannerId, 'category_id' => $object->getId());
|
108 |
+
}
|
109 |
+
|
110 |
+
$this->_getWriteAdapter()->insertArray($this->_getLinkTable(), array('banner_id', 'category_id'), $data);
|
111 |
+
|
112 |
+
return $this;
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* @param Mage_Core_Model_Abstract $object
|
117 |
+
* @param array $bannerIds
|
118 |
+
* @return Lanot_EasyBanner_Model_Mysql4_Banner
|
119 |
+
*/
|
120 |
+
protected function _deleteBanners(Mage_Core_Model_Abstract $object, array $bannerIds)
|
121 |
+
{
|
122 |
+
$where = $this->_getWriteAdapter()->quoteInto('category_id = ?', $object->getId());
|
123 |
+
$where.= $this->_getWriteAdapter()->quoteInto(' AND banner_id IN (?)', $bannerIds);
|
124 |
+
$this->_getWriteAdapter()->delete($this->_getLinkTable(), $where);
|
125 |
+
|
126 |
+
return $this;
|
127 |
+
}
|
128 |
+
|
129 |
+
}
|
130 |
+
|
app/code/community/Lanot/EasyBanner/Model/Mysql4/Category/Collection.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Banners collection
|
23 |
+
*
|
24 |
+
* @author Lanot
|
25 |
+
*/
|
26 |
+
class Lanot_EasyBanner_Model_Mysql4_Category_Collection
|
27 |
+
extends Mage_Core_Model_Mysql4_Collection_Abstract
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* Define collection model
|
31 |
+
*/
|
32 |
+
protected function _construct()
|
33 |
+
{
|
34 |
+
$this->_init('lanot_easybanner/category');
|
35 |
+
}
|
36 |
+
}
|
37 |
+
|
38 |
+
|
app/code/community/Lanot/EasyBanner/controllers/Adminhtml/BannerController.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
class Lanot_EasyBanner_Adminhtml_BannerController
|
22 |
+
extends Lanot_EasyBanner_Controller_Adminhtml_AbstractController
|
23 |
+
{
|
24 |
+
protected $_msgTitle = 'Banners';
|
25 |
+
protected $_msgHeader = 'Manage Banners';
|
26 |
+
protected $_msgItemDoesNotExist = 'The Banner item does not exist.';
|
27 |
+
protected $_msgItemNotFound = 'Unable to find the category item. #%s';
|
28 |
+
protected $_msgItemEdit = 'Edit Banner Item';
|
29 |
+
protected $_msgItemNew = 'New Banner Item';
|
30 |
+
protected $_msgItemSaved = 'The Banner item has been saved.';
|
31 |
+
protected $_msgItemDeleted = 'The Banner item has been deleted';
|
32 |
+
protected $_msgError = 'An error occurred while edit the Banner item. %s';
|
33 |
+
protected $_msgErrorItems = 'An error occurred while edit the Banner items. %s';
|
34 |
+
protected $_msgItems = 'The Banner items %s has been';
|
35 |
+
|
36 |
+
protected $_aclSection = 'manage_banner';
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @return Mage_Core_Model_Abstract
|
40 |
+
*/
|
41 |
+
protected function _getItemModel()
|
42 |
+
{
|
43 |
+
return Mage::getModel('lanot_easybanner/banner');
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param Mage_Core_Model_Abstract $model
|
48 |
+
* @return Lanot_EasyBanner_Controller_Adminhtml_AbstractController
|
49 |
+
*/
|
50 |
+
protected function _registerItem(Mage_Core_Model_Abstract $model)
|
51 |
+
{
|
52 |
+
Mage::register('easy.banner.banner.item', $model);
|
53 |
+
return $this;
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Grid ajax action
|
58 |
+
*/
|
59 |
+
public function ajaxcategoriesgridAction()
|
60 |
+
{
|
61 |
+
$this->loadLayout();
|
62 |
+
$this->renderLayout();
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Grid ajax action
|
67 |
+
*/
|
68 |
+
public function ajaxcategoriesgridonlyAction()
|
69 |
+
{
|
70 |
+
$this->loadLayout();
|
71 |
+
$this->renderLayout();
|
72 |
+
}
|
73 |
+
}
|
app/code/community/Lanot/EasyBanner/controllers/Adminhtml/CategoryController.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
class Lanot_EasyBanner_Adminhtml_CategoryController
|
22 |
+
extends Lanot_EasyBanner_Controller_Adminhtml_AbstractController
|
23 |
+
{
|
24 |
+
protected $_msgTitle = 'Banners';
|
25 |
+
protected $_msgHeader = 'Manage Categories';
|
26 |
+
protected $_msgItemDoesNotExist = 'The Category item does not exist.';
|
27 |
+
protected $_msgItemNotFound = 'Unable to find the category item. #%s';
|
28 |
+
protected $_msgItemEdit = 'Edit Category Item';
|
29 |
+
protected $_msgItemNew = 'New Category Item';
|
30 |
+
protected $_msgItemSaved = 'The Category item has been saved.';
|
31 |
+
protected $_msgItemDeleted = 'The Category item has been deleted';
|
32 |
+
protected $_msgError = 'An error occurred while edit the Category item. %s';
|
33 |
+
protected $_msgErrorItems = 'An error occurred while edit the Category items. %s';
|
34 |
+
protected $_msgItems = 'The Category items %s has been';
|
35 |
+
|
36 |
+
protected $_aclSection = 'manage_category';
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @return Mage_Core_Model_Abstract
|
40 |
+
*/
|
41 |
+
protected function _getItemModel()
|
42 |
+
{
|
43 |
+
return Mage::getModel('lanot_easybanner/category');
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param Mage_Core_Model_Abstract $model
|
48 |
+
* @return Lanot_EasyBanner_Controller_Adminhtml_AbstractController
|
49 |
+
*/
|
50 |
+
protected function _registerItem(Mage_Core_Model_Abstract $model)
|
51 |
+
{
|
52 |
+
Mage::register('easy.banner.category.item', $model);
|
53 |
+
return $this;
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Grid ajax action
|
58 |
+
*/
|
59 |
+
public function ajaxbannersgridAction()
|
60 |
+
{
|
61 |
+
$this->loadLayout();
|
62 |
+
$this->renderLayout();
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Grid ajax action
|
67 |
+
*/
|
68 |
+
public function ajaxbannersgridonlyAction()
|
69 |
+
{
|
70 |
+
$this->loadLayout();
|
71 |
+
$this->renderLayout();
|
72 |
+
}
|
73 |
+
}
|
app/code/community/Lanot/EasyBanner/etc/adminhtml.xml
ADDED
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Magento admin config
|
5 |
+
*
|
6 |
+
* @author Lanot
|
7 |
+
*/
|
8 |
+
-->
|
9 |
+
<config>
|
10 |
+
|
11 |
+
<menu>
|
12 |
+
<lanot translate="title">
|
13 |
+
<title>Lanot</title>
|
14 |
+
<sort_order>65</sort_order>
|
15 |
+
<children>
|
16 |
+
<lanot_easybanner translate="title">
|
17 |
+
<title>Banners</title>
|
18 |
+
<sort_order>50</sort_order>
|
19 |
+
<children>
|
20 |
+
<manage_banner translate="title" module="lanot_easybanner">
|
21 |
+
<title>Manage Banners</title>
|
22 |
+
<action>lanot_easybanner/adminhtml_banner</action>
|
23 |
+
<sort_order>10</sort_order>
|
24 |
+
</manage_banner>
|
25 |
+
<manage_category translate="title" module="lanot_easybanner">
|
26 |
+
<title>Manage Categories</title>
|
27 |
+
<action>lanot_easybanner/adminhtml_category</action>
|
28 |
+
<sort_order>20</sort_order>
|
29 |
+
</manage_category>
|
30 |
+
</children>
|
31 |
+
</lanot_easybanner>
|
32 |
+
</children>
|
33 |
+
</lanot>
|
34 |
+
</menu>
|
35 |
+
|
36 |
+
<acl>
|
37 |
+
<resources>
|
38 |
+
<admin>
|
39 |
+
<children>
|
40 |
+
<lanot>
|
41 |
+
<title>Lanot</title>
|
42 |
+
<sort_order>65</sort_order>
|
43 |
+
<children>
|
44 |
+
<lanot_easybanner translate="title" module="lanot_easybanner">
|
45 |
+
<title>Lanot Banners</title>
|
46 |
+
<sort_order>65</sort_order>
|
47 |
+
<children>
|
48 |
+
<manage_banner translate="title">
|
49 |
+
<title>Manage Banners</title>
|
50 |
+
<sort_order>0</sort_order>
|
51 |
+
<children>
|
52 |
+
<save translate="title">
|
53 |
+
<title>Save Banners</title>
|
54 |
+
<sort_order>0</sort_order>
|
55 |
+
</save>
|
56 |
+
<delete translate="title">
|
57 |
+
<title>Delete Banners</title>
|
58 |
+
<sort_order>10</sort_order>
|
59 |
+
</delete>
|
60 |
+
</children>
|
61 |
+
</manage_banner>
|
62 |
+
<manage_category translate="title">
|
63 |
+
<title>Manage Categories</title>
|
64 |
+
<sort_order>0</sort_order>
|
65 |
+
<children>
|
66 |
+
<save translate="title">
|
67 |
+
<title>Save Categories</title>
|
68 |
+
<sort_order>0</sort_order>
|
69 |
+
</save>
|
70 |
+
<delete translate="title">
|
71 |
+
<title>Delete Categories</title>
|
72 |
+
<sort_order>10</sort_order>
|
73 |
+
</delete>
|
74 |
+
</children>
|
75 |
+
</manage_category>
|
76 |
+
</children>
|
77 |
+
</lanot_easybanner>
|
78 |
+
</children>
|
79 |
+
</lanot>
|
80 |
+
|
81 |
+
<system>
|
82 |
+
<children>
|
83 |
+
<config>
|
84 |
+
<children>
|
85 |
+
<lanot_easybanner translate="title" module="lanot_easybanner">
|
86 |
+
<title>Lanot EasyBanner Configuration</title>
|
87 |
+
</lanot_easybanner>
|
88 |
+
</children>
|
89 |
+
</config>
|
90 |
+
</children>
|
91 |
+
</system>
|
92 |
+
|
93 |
+
</children>
|
94 |
+
</admin>
|
95 |
+
</resources>
|
96 |
+
</acl>
|
97 |
+
|
98 |
+
</config>
|
app/code/community/Lanot/EasyBanner/etc/config.xml
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<config>
|
3 |
+
|
4 |
+
<modules>
|
5 |
+
<Lanot_EasyBanner>
|
6 |
+
<version>1.0.0.0</version>
|
7 |
+
</Lanot_EasyBanner>
|
8 |
+
</modules>
|
9 |
+
|
10 |
+
<global>
|
11 |
+
|
12 |
+
<helpers>
|
13 |
+
<lanot_easybanner>
|
14 |
+
<class>Lanot_EasyBanner_Helper</class>
|
15 |
+
</lanot_easybanner>
|
16 |
+
</helpers>
|
17 |
+
|
18 |
+
<blocks>
|
19 |
+
<lanot_easybanner>
|
20 |
+
<class>Lanot_EasyBanner_Block</class>
|
21 |
+
</lanot_easybanner>
|
22 |
+
</blocks>
|
23 |
+
|
24 |
+
<models>
|
25 |
+
<lanot_easybanner>
|
26 |
+
<class>Lanot_EasyBanner_Model</class>
|
27 |
+
<resourceModel>lanot_easybanner_resource</resourceModel>
|
28 |
+
</lanot_easybanner>
|
29 |
+
|
30 |
+
<lanot_easybanner_resource>
|
31 |
+
<class>Lanot_EasyBanner_Model_Mysql4</class>
|
32 |
+
<entities>
|
33 |
+
<banner>
|
34 |
+
<table>lanot_easybanner_banner</table>
|
35 |
+
</banner>
|
36 |
+
<category>
|
37 |
+
<table>lanot_easybanner_category</table>
|
38 |
+
</category>
|
39 |
+
<banner_category>
|
40 |
+
<table>lanot_easybanner_banner_category</table>
|
41 |
+
</banner_category>
|
42 |
+
</entities>
|
43 |
+
</lanot_easybanner_resource>
|
44 |
+
</models>
|
45 |
+
|
46 |
+
<!-- MySQL INSTALL SCRIPTS -->
|
47 |
+
<resources>
|
48 |
+
<lanot_easybanner_setup>
|
49 |
+
<setup>
|
50 |
+
<module>Lanot_EasyBanner</module>
|
51 |
+
</setup>
|
52 |
+
</lanot_easybanner_setup>
|
53 |
+
</resources>
|
54 |
+
<!-- /MySQL INSTALL SCRIPTS -->
|
55 |
+
</global>
|
56 |
+
|
57 |
+
<adminhtml>
|
58 |
+
<layout>
|
59 |
+
<updates>
|
60 |
+
<lanot_easybanner>
|
61 |
+
<file>lanot_easybanner.xml</file>
|
62 |
+
</lanot_easybanner>
|
63 |
+
</updates>
|
64 |
+
</layout>
|
65 |
+
</adminhtml>
|
66 |
+
|
67 |
+
<admin>
|
68 |
+
<routers>
|
69 |
+
<lanot_easybanner>
|
70 |
+
<use>admin</use>
|
71 |
+
<args>
|
72 |
+
<module>Lanot_EasyBanner</module>
|
73 |
+
<frontName>lanot_easybanner</frontName>
|
74 |
+
</args>
|
75 |
+
</lanot_easybanner>
|
76 |
+
</routers>
|
77 |
+
</admin>
|
78 |
+
|
79 |
+
<lanot_easybanner>
|
80 |
+
<renderers>
|
81 |
+
<image>lanot_easybanner/banner_renderer_image</image>
|
82 |
+
<flash>lanot_easybanner/banner_renderer_flash</flash>
|
83 |
+
</renderers>
|
84 |
+
</lanot_easybanner>
|
85 |
+
|
86 |
+
<default>
|
87 |
+
<lanot_easybanner>
|
88 |
+
<extensions>
|
89 |
+
<allowed>
|
90 |
+
<image>
|
91 |
+
<jpg>1</jpg>
|
92 |
+
<jpeg>1</jpeg>
|
93 |
+
<png>1</png>
|
94 |
+
<gif>1</gif>
|
95 |
+
</image>
|
96 |
+
<flash>
|
97 |
+
<swf>1</swf>
|
98 |
+
</flash>
|
99 |
+
</allowed>
|
100 |
+
</extensions>
|
101 |
+
<view>
|
102 |
+
<enabled>1</enabled>
|
103 |
+
<new_window>1</new_window>
|
104 |
+
<block_css_class>block-banner</block_css_class>
|
105 |
+
<item_css_class>block-content</item_css_class>
|
106 |
+
<!-- <title_css_class>page-title</title_css_class> -->
|
107 |
+
</view>
|
108 |
+
</lanot_easybanner>
|
109 |
+
</default>
|
110 |
+
</config>
|
app/code/community/Lanot/EasyBanner/etc/system.xml
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<tabs>
|
4 |
+
<lanot translate="label">
|
5 |
+
<label>Lanot Extensions</label>
|
6 |
+
<sort_order>200</sort_order>
|
7 |
+
</lanot>
|
8 |
+
</tabs>
|
9 |
+
<sections>
|
10 |
+
<lanot_easybanner>
|
11 |
+
<class>separator-top</class>
|
12 |
+
<label>Easy Banner</label>
|
13 |
+
<tab>lanot</tab>
|
14 |
+
<frontend_type>text</frontend_type>
|
15 |
+
<sort_order>500</sort_order>
|
16 |
+
<show_in_default>1</show_in_default>
|
17 |
+
<show_in_website>1</show_in_website>
|
18 |
+
<show_in_store>1</show_in_store>
|
19 |
+
<groups>
|
20 |
+
<view translate="label">
|
21 |
+
<label>Banner Settings</label>
|
22 |
+
<frontend_type>text</frontend_type>
|
23 |
+
<sort_order>10</sort_order>
|
24 |
+
<show_in_default>1</show_in_default>
|
25 |
+
<show_in_website>1</show_in_website>
|
26 |
+
<show_in_store>1</show_in_store>
|
27 |
+
<fields>
|
28 |
+
<enabled translate="label">
|
29 |
+
<label>Enable Banners On Frontend</label>
|
30 |
+
<frontend_type>select</frontend_type>
|
31 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
32 |
+
<sort_order>10</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 |
+
</enabled>
|
37 |
+
<new_window translate="label">
|
38 |
+
<label>Open new page by click in new window </label>
|
39 |
+
<frontend_type>select</frontend_type>
|
40 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
41 |
+
<sort_order>30</sort_order>
|
42 |
+
<show_in_default>1</show_in_default>
|
43 |
+
<show_in_website>1</show_in_website>
|
44 |
+
<show_in_store>1</show_in_store>
|
45 |
+
</new_window>
|
46 |
+
<block_css_class translate="label">
|
47 |
+
<label>Banners block CSS class</label>
|
48 |
+
<frontend_type>text</frontend_type>
|
49 |
+
<sort_order>40</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 |
+
</block_css_class>
|
54 |
+
<item_css_class translate="label">
|
55 |
+
<label>Banners item CSS class</label>
|
56 |
+
<frontend_type>text</frontend_type>
|
57 |
+
<sort_order>40</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 |
+
</item_css_class>
|
62 |
+
<!--
|
63 |
+
<title_css_class translate="label">
|
64 |
+
<label>Banners Widget Title CSS class</label>
|
65 |
+
<frontend_type>text</frontend_type>
|
66 |
+
<sort_order>40</sort_order>
|
67 |
+
<show_in_default>1</show_in_default>
|
68 |
+
<show_in_website>1</show_in_website>
|
69 |
+
<show_in_store>1</show_in_store>
|
70 |
+
</title_css_class>
|
71 |
+
-->
|
72 |
+
</fields>
|
73 |
+
</view>
|
74 |
+
</groups>
|
75 |
+
</lanot_easybanner>
|
76 |
+
</sections>
|
77 |
+
</config>
|
app/code/community/Lanot/EasyBanner/etc/widget.xml
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<widgets>
|
3 |
+
<lanot_easybanner type="lanot_easybanner/widget_banners" translate="name">
|
4 |
+
<name>Lanot Banner</name>
|
5 |
+
<description>Displays Banners By Category</description>
|
6 |
+
<parameters>
|
7 |
+
<category_id translate="label">
|
8 |
+
<required>1</required>
|
9 |
+
<visible>1</visible>
|
10 |
+
<label>Banners Category</label>
|
11 |
+
<type>select</type>
|
12 |
+
<source_model>lanot_easybanner/category</source_model>
|
13 |
+
</category_id>
|
14 |
+
<limit translate="label">
|
15 |
+
<required>1</required>
|
16 |
+
<visible>1</visible>
|
17 |
+
<label>Banners Count</label>
|
18 |
+
<type>text</type>
|
19 |
+
<style>width: 50px;</style>
|
20 |
+
<value>1</value>
|
21 |
+
</limit>
|
22 |
+
<random translate="label">
|
23 |
+
<visible>1</visible>
|
24 |
+
<label>Show Random</label>
|
25 |
+
<type>select</type>
|
26 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
27 |
+
</random>
|
28 |
+
<!--
|
29 |
+
<show_title translate="label">
|
30 |
+
<visible>1</visible>
|
31 |
+
<label>Show Widget Title</label>
|
32 |
+
<type>select</type>
|
33 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
34 |
+
</show_title>
|
35 |
+
-->
|
36 |
+
</parameters>
|
37 |
+
</lanot_easybanner>
|
38 |
+
</widgets>
|
app/code/community/Lanot/EasyBanner/sql/lanot_easybanner_setup/mysql4-install-1.0.0.0.php
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* @category Lanot
|
16 |
+
* @package Lanot_EasyBanner
|
17 |
+
* @copyright Copyright (c) 2012 Lanot
|
18 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
+
*/
|
20 |
+
|
21 |
+
$installer = $this;
|
22 |
+
|
23 |
+
$installer->startSetup();
|
24 |
+
|
25 |
+
//tables definition
|
26 |
+
$bannerTable = $installer->getTable('lanot_easybanner/banner');
|
27 |
+
$categoryTable = $installer->getTable('lanot_easybanner/category');
|
28 |
+
$bannerCategoryTable = $installer->getTable('lanot_easybanner/banner_category');
|
29 |
+
|
30 |
+
//create table for banner
|
31 |
+
$installer->run("
|
32 |
+
DROP TABLE IF EXISTS `{$bannerTable}`;
|
33 |
+
CREATE TABLE `{$bannerTable}` (
|
34 |
+
`banner_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Banner ID',
|
35 |
+
`is_active` tinyint DEFAULT 0,
|
36 |
+
`title` varchar(255) NOT NULL,
|
37 |
+
`description` mediumtext DEFAULT NULL,
|
38 |
+
`path` varchar(255) DEFAULT NULL,
|
39 |
+
`url` varchar(255) DEFAULT NULL,
|
40 |
+
`type` varchar(8) DEFAULT NULL,
|
41 |
+
`width` smallint DEFAULT NULL,
|
42 |
+
`height` smallint DEFAULT NULL,
|
43 |
+
`created_at` timestamp NULL DEFAULT NULL COMMENT 'Creation Time',
|
44 |
+
`updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 'Update Time',
|
45 |
+
PRIMARY KEY (`banner_id`)
|
46 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Banners Entity Table';
|
47 |
+
");
|
48 |
+
|
49 |
+
|
50 |
+
//create table for banner category
|
51 |
+
$installer->run("
|
52 |
+
DROP TABLE IF EXISTS `{$categoryTable}`;
|
53 |
+
CREATE TABLE `{$categoryTable}` (
|
54 |
+
`category_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Category ID',
|
55 |
+
`is_active` tinyint DEFAULT 0,
|
56 |
+
`title` varchar(255) DEFAULT NULL,
|
57 |
+
`description` tinytext,
|
58 |
+
`created_at` timestamp NULL DEFAULT NULL COMMENT 'Creation Time',
|
59 |
+
`updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 'Update Time',
|
60 |
+
PRIMARY KEY (`category_id`)
|
61 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Banner Category Table';
|
62 |
+
");
|
63 |
+
|
64 |
+
|
65 |
+
//create table for banners to categories
|
66 |
+
$installer->run("
|
67 |
+
DROP TABLE IF EXISTS `{$bannerCategoryTable}`;
|
68 |
+
CREATE TABLE `{$bannerCategoryTable}` (
|
69 |
+
`banner_id` int(10) unsigned NOT NULL COMMENT 'Banner Attachment ID',
|
70 |
+
`category_id` int(10) unsigned NOT NULL COMMENT 'Banner Category ID',
|
71 |
+
PRIMARY KEY (`banner_id`, `category_id`),
|
72 |
+
KEY `IDX_EASYBANER_BANER_ID` (`banner_id`),
|
73 |
+
KEY `IDX_EASYBANER_CATEGORY_ID` (`category_id`),
|
74 |
+
CONSTRAINT `FK_EASYBANNER_CATEGORY_BANER_ID` FOREIGN KEY (`banner_id`) REFERENCES `{$bannerTable}` (`banner_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
75 |
+
CONSTRAINT `FK_EASYBANNER_CATEGORY_CATEGORY_ID` FOREIGN KEY (`category_id`) REFERENCES `{$categoryTable}` (`category_id`) ON DELETE CASCADE ON UPDATE CASCADE
|
76 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Banners To Categories Table';
|
77 |
+
");
|
78 |
+
|
79 |
+
$installer->endSetup();
|
app/design/adminhtml/default/default/layout/lanot_easybanner.xml
ADDED
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Magento backend layout
|
5 |
+
*
|
6 |
+
* @author Lanot
|
7 |
+
*/
|
8 |
+
-->
|
9 |
+
<layout>
|
10 |
+
|
11 |
+
<!-- ADMIN CATEGORIES -->
|
12 |
+
<lanot_easybanner_adminhtml_category_index>
|
13 |
+
<reference name="content">
|
14 |
+
<block type="lanot_easybanner/adminhtml_category" name="easybanner_category" />
|
15 |
+
</reference>
|
16 |
+
</lanot_easybanner_adminhtml_category_index>
|
17 |
+
|
18 |
+
<lanot_easybanner_adminhtml_category_grid>
|
19 |
+
<block type="lanot_easybanner/adminhtml_category_grid" name="root"/>
|
20 |
+
</lanot_easybanner_adminhtml_category_grid>
|
21 |
+
|
22 |
+
<lanot_easybanner_adminhtml_category_new>
|
23 |
+
<update handle="lanot_easybanner_adminhtml_category_edit" />
|
24 |
+
</lanot_easybanner_adminhtml_category_new>
|
25 |
+
|
26 |
+
<lanot_easybanner_adminhtml_category_edit>
|
27 |
+
<reference name="content">
|
28 |
+
<block type="lanot_easybanner/adminhtml_category_edit" name="easybanner_category_edit" />
|
29 |
+
</reference>
|
30 |
+
<reference name="left">
|
31 |
+
<block type="lanot_easybanner/adminhtml_category_edit_tabs" name="category_edit_tabs" />
|
32 |
+
</reference>
|
33 |
+
</lanot_easybanner_adminhtml_category_edit>
|
34 |
+
|
35 |
+
<lanot_easybanner_adminhtml_category_ajaxbannersgrid>
|
36 |
+
<block type="core/text_list" name="root" output="toHtml">
|
37 |
+
<block type="lanot_easybanner/adminhtml_category_edit_tab_banners" name="banner.edit.tab.grid"/>
|
38 |
+
<block type="adminhtml/widget_grid_serializer" name="banner_grid_serializer">
|
39 |
+
<reference name="banner_grid_serializer">
|
40 |
+
<action method="initSerializerBlock">
|
41 |
+
<grid_block_name>banner.edit.tab.grid</grid_block_name>
|
42 |
+
<data_callback>getSelectedLinks</data_callback>
|
43 |
+
<hidden_input_name>banners</hidden_input_name>
|
44 |
+
<reload_param_name>banners</reload_param_name>
|
45 |
+
</action>
|
46 |
+
</reference>
|
47 |
+
</block>
|
48 |
+
</block>
|
49 |
+
</lanot_easybanner_adminhtml_category_ajaxbannersgrid>
|
50 |
+
|
51 |
+
<lanot_easybanner_adminhtml_category_ajaxbannersgridonly>
|
52 |
+
<block type="core/text_list" name="root" output="toHtml">
|
53 |
+
<block type="lanot_easybanner/adminhtml_category_edit_tab_banners" name="banner.edit.tab.grid"/>
|
54 |
+
</block>
|
55 |
+
</lanot_easybanner_adminhtml_category_ajaxbannersgridonly>
|
56 |
+
<!-- /ADMIN CATEGORIES -->
|
57 |
+
|
58 |
+
|
59 |
+
|
60 |
+
<!-- ADMIN BANNERS -->
|
61 |
+
<lanot_easybanner_adminhtml_banner_index>
|
62 |
+
<reference name="content">
|
63 |
+
<block type="lanot_easybanner/adminhtml_banner" name="easybanner_banner" />
|
64 |
+
</reference>
|
65 |
+
</lanot_easybanner_adminhtml_banner_index>
|
66 |
+
|
67 |
+
<lanot_easybanner_adminhtml_banner_grid>
|
68 |
+
<block type="lanot_easybanner/adminhtml_banner_grid" name="root"/>
|
69 |
+
</lanot_easybanner_adminhtml_banner_grid>
|
70 |
+
|
71 |
+
<adminhtml_news_grid>
|
72 |
+
<block type="magentostudy_news/adminhtml_news_grid" name="root"/>
|
73 |
+
</adminhtml_news_grid>
|
74 |
+
|
75 |
+
<lanot_easybanner_adminhtml_banner_new>
|
76 |
+
<update handle="lanot_easybanner_adminhtml_banner_edit" />
|
77 |
+
</lanot_easybanner_adminhtml_banner_new>
|
78 |
+
|
79 |
+
<lanot_easybanner_adminhtml_banner_edit>
|
80 |
+
<reference name="content">
|
81 |
+
<block type="lanot_easybanner/adminhtml_banner_edit" name="easybanner_banner_edit" />
|
82 |
+
</reference>
|
83 |
+
<reference name="left">
|
84 |
+
<block type="lanot_easybanner/adminhtml_banner_edit_tabs" name="banner_edit_tabs" />
|
85 |
+
</reference>
|
86 |
+
</lanot_easybanner_adminhtml_banner_edit>
|
87 |
+
|
88 |
+
<lanot_easybanner_adminhtml_banner_ajaxcategoriesgrid>
|
89 |
+
<block type="core/text_list" name="root" output="toHtml">
|
90 |
+
<block type="lanot_easybanner/adminhtml_banner_edit_tab_categories" name="category.edit.tab.grid"/>
|
91 |
+
<block type="adminhtml/widget_grid_serializer" name="category_grid_serializer">
|
92 |
+
<reference name="category_grid_serializer">
|
93 |
+
<action method="initSerializerBlock">
|
94 |
+
<grid_block_name>category.edit.tab.grid</grid_block_name>
|
95 |
+
<data_callback>getSelectedLinks</data_callback>
|
96 |
+
<hidden_input_name>categories</hidden_input_name>
|
97 |
+
<reload_param_name>categories</reload_param_name>
|
98 |
+
</action>
|
99 |
+
</reference>
|
100 |
+
</block>
|
101 |
+
</block>
|
102 |
+
</lanot_easybanner_adminhtml_banner_ajaxcategoriesgrid>
|
103 |
+
|
104 |
+
<lanot_easybanner_adminhtml_banner_ajaxcategoriesgridonly>
|
105 |
+
<block type="core/text_list" name="root" output="toHtml">
|
106 |
+
<block type="lanot_easybanner/adminhtml_banner_edit_tab_categories" name="category.edit.tab.grid"/>
|
107 |
+
</block>
|
108 |
+
</lanot_easybanner_adminhtml_banner_ajaxcategoriesgridonly>
|
109 |
+
<!-- /ADMIN BANNERS -->
|
110 |
+
|
111 |
+
</layout>
|
app/design/frontend/base/default/template/lanot/easybanner/banners.phtml
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/** @var $this Lanot_EasyBanner_Block_Widget_Category */
|
3 |
+
/** @var $helper Lanot_EasyBanner_Data_Helper */
|
4 |
+
$helper = Mage::helper('lanot_easybanner');
|
5 |
+
$bclass = $helper->getBlockCssClass();
|
6 |
+
$iclass = $helper->getItemCssClass();
|
7 |
+
$tclass = $helper->getTitleCssClass();
|
8 |
+
|
9 |
+
if ($this->getItems()):
|
10 |
+
?>
|
11 |
+
<div <?php if($bclass):?>class="<?php echo $bclass?>"<?php endif;?>>
|
12 |
+
<?php if ($this->getShowTitle() && $this->getTitle()):?>
|
13 |
+
<div <?php if($tclass):?>class="<?php echo $tclass?>"<?php endif;?>>
|
14 |
+
<?php echo $this->getTitle() ;?>
|
15 |
+
</div>
|
16 |
+
<?php endif; ?>
|
17 |
+
<?php foreach($this->getItems() as $item): ?>
|
18 |
+
<div <?php if($iclass):?>class="<?php echo $iclass?>"<?php endif;?>>
|
19 |
+
<?php echo $this->render($item)?>
|
20 |
+
</div>
|
21 |
+
<?php endforeach; ?>
|
22 |
+
</div>
|
23 |
+
<?php endif;?>
|
app/etc/modules/Lanot_EasyBanner.xml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Lanot_EasyBanner>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
</Lanot_EasyBanner>
|
8 |
+
</modules>
|
9 |
+
</config>
|
package.xml
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>Lanot_EasyBanner</name>
|
4 |
+
<version>1.0.0.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license>OSL</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>First release of module:
|
10 |
+
1. Managing banners and banner categories
|
11 |
+
2. Prepared widget for banners rotation</summary>
|
12 |
+
<description>First release of module:
|
13 |
+
1. Managing banners and banner categories
|
14 |
+
2. Prepared widget for banners rotation</description>
|
15 |
+
<notes>First release of module:
|
16 |
+
1. Managing banners and banner categories
|
17 |
+
2. Prepared widget for banners rotation</notes>
|
18 |
+
<authors><author><name>Lanot</name><user>Lanot</user><email>lanot.biz@gmail.com</email></author></authors>
|
19 |
+
<date>2012-12-23</date>
|
20 |
+
<time>13:32:59</time>
|
21 |
+
<contents><target name="mageetc"><dir name="modules"><file name="Lanot_EasyBanner.xml" hash="bedb067b409b6169246f17e241bc2ccc"/></dir></target><target name="magecommunity"><dir name="Lanot"><dir name="EasyBanner"><dir name="Block"><dir name="Adminhtml"><dir name="Banner"><dir name="Edit"><file name="Form.php" hash="d1ffee79ed0a8998202f66b603f15848"/><dir name="Tab"><file name="Categories.php" hash="2e377f10ba95f087fb6ddb4ac7996f98"/><file name="Main.php" hash="2cfcb70f05589c7225b04de1d9e17675"/></dir><file name="Tabs.php" hash="8bd0bab44fb0101ffcf1ebf72cfcf3c7"/></dir><file name="Edit.php" hash="5c2748ef1c300ae7253530dca4ced37e"/><file name="Grid.php" hash="650d020ca39686e4482b906ad4d9e1f6"/></dir><file name="Banner.php" hash="6ebc22c420e00713f99c70a3a1e18d95"/><dir name="Category"><dir name="Edit"><file name="Form.php" hash="02e2b86061f49d8d2721073dd8392317"/><dir name="Tab"><file name="Banners.php" hash="feb17b4df56e2f0478492222136b4efa"/><file name="Main.php" hash="6d46ee0dfa6d5ade0f647bef6e843672"/></dir><file name="Tabs.php" hash="0ac505d8ea7b8b7140534b66693d1a12"/></dir><file name="Edit.php" hash="792776dbe9e859e113fde534f730fbe2"/><file name="Grid.php" hash="ad94540e1a7008f2772d1186a2c5bb5a"/></dir><file name="Category.php" hash="1406d96caefe8867f366f31be5cd836e"/><dir name="Grid"><file name="Abstract.php" hash="e22ff10e8fa414bf6bf36f09cf05dbfb"/></dir><dir name="Renderer"><file name="Banner.php" hash="3c81b92b136b9c075b8819779538ade7"/></dir></dir><dir name="Banner"><dir name="Renderer"><file name="Abstract.php" hash="95d47ea32fd0d6873c93160ab91c67c2"/><file name="Flash.php" hash="896944a0db3b4758b409b925b0c91a11"/><file name="Image.php" hash="6fd5888a20cb1db7ce43d82354913ee0"/></dir></dir><dir name="Widget"><file name="Banners.php" hash="cd82aed5e00205a51964d9072db4ad6d"/></dir></dir><dir name="Controller"><dir name="Adminhtml"><file name="AbstractController.php" hash="05b20b95eb2725828bff9cec03724aaf"/></dir></dir><dir name="Helper"><file name="Admin.php" hash="dda4102632d96825ef7e26125f57cbdd"/><file name="Data.php" hash="b277be880586aa59cd620a276d736a9a"/></dir><dir name="Model"><file name="Banner.php" hash="7731d967da91ea67aa4eef8d9935913c"/><file name="Category.php" hash="b6ccfd21372ba8e6e5b9eef7f56f532d"/><dir name="Mysql4"><dir name="Banner"><file name="Collection.php" hash="77dbb9ecd065837600726f669ce74227"/></dir><file name="Banner.php" hash="5293f98a6bbd0ddbe1a1662b42e210e2"/><dir name="Category"><file name="Collection.php" hash="eda58acef3e1cb03867eb433ff7344b0"/></dir><file name="Category.php" hash="1e1c31ba100939060fcd3771df8c7eeb"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="BannerController.php" hash="762da47a05b2f3bec7a9fa6f027a545f"/><file name="CategoryController.php" hash="5e2f05c8690db38a25574c96db73883f"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="9f6b791408dadb41c2cf609e19a60996"/><file name="config.xml" hash="bea80b6329422b177229265be94dfdf1"/><file name="system.xml" hash="d10558245bb0474a49e5e5acce7a9013"/><file name="widget.xml" hash="883b153963f8ef767a2d3f5dcf3166b6"/></dir><dir name="sql"><dir name="lanot_easybanner_setup"><file name="mysql4-install-1.0.0.0.php" hash="ba6378c2a0508f5f00d894551387c597"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="lanot_easybanner.xml" hash="1e0ff239656b2dabdc83dff8e85b7233"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="lanot"><dir name="easybanner"><file name="banners.phtml" hash="8c38ce0969c92828bb0e273da4567a46"/></dir></dir></dir></dir></dir></dir></target></contents>
|
22 |
+
<compatible/>
|
23 |
+
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
24 |
+
</package>
|