Version Notes
Updated Release, Several Fixes including compatibility with CE 1.6 and Magento Connect 2.0
Download this release
Release Info
Developer | Demac Media |
Extension | Simple_Product_Preview |
Version | 0.2.0 |
Comparing to | |
See all releases |
Code changes from version 0.1.1 to 0.2.0
- app/code/local/Demac/Adminhtml/Block/Catalog/Product/Edit.php +262 -262
- app/code/local/Demac/Adminhtml/etc/config.xml +16 -16
- app/code/local/Demac/All/Block/Notification/Window.php +0 -55
- app/code/local/Demac/All/Block/System/Config/Form/Fieldset/Demacall/Extensions.php +0 -174
- app/code/local/Demac/All/Helper/Config.php +0 -28
- app/code/local/Demac/All/Helper/Data.php +0 -24
- app/code/local/Demac/All/Model/Feed.php +0 -88
- app/code/local/Demac/All/Model/Feed/Abstract.php +0 -67
- app/code/local/Demac/All/Model/Feed/Extensions.php +0 -136
- app/code/local/Demac/All/Model/Feed/Updates.php +0 -93
- app/code/local/Demac/All/Model/Source/Updates/Type.php +0 -74
- app/code/local/Demac/All/etc/adminhtml.xml +0 -49
- app/code/local/Demac/All/etc/config.xml +0 -119
- app/code/local/Demac/All/etc/system.xml +0 -53
- app/design/adminhtml/default/default/template/demac/catalog/product/edit.phtml +0 -134
- app/design/adminhtml/default/default/template/demac_all/notification/window.phtml +0 -75
- app/design/adminhtml/default/default/template/demac_all/notification/window/first-run.phtml +0 -59
- app/etc/modules/Demac_all.xml +0 -9
- package.xml +11 -10
app/code/local/Demac/Adminhtml/Block/Catalog/Product/Edit.php
CHANGED
@@ -1,262 +1,262 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* DISCLAIMER
|
16 |
-
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
-
* versions in the future. If you wish to customize Magento for your
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
-
*
|
21 |
-
* @category Mage
|
22 |
-
* @package Mage_Adminhtml
|
23 |
-
* @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
|
24 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
-
*/
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Customer edit block
|
29 |
-
*
|
30 |
-
* @category Mage
|
31 |
-
* @package Mage_Adminhtml
|
32 |
-
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
-
*/
|
34 |
-
class Demac_Adminhtml_Block_Catalog_Product_Edit extends Mage_Adminhtml_Block_Widget
|
35 |
-
{
|
36 |
-
public function __construct()
|
37 |
-
{
|
38 |
-
parent::__construct();
|
39 |
-
$this->setTemplate('demac/catalog/product/edit.phtml');
|
40 |
-
$this->setId('product_edit');
|
41 |
-
}
|
42 |
-
|
43 |
-
/**
|
44 |
-
* Retrieve currently edited product object
|
45 |
-
*
|
46 |
-
* @return Mage_Catalog_Model_Product
|
47 |
-
*/
|
48 |
-
public function getProduct()
|
49 |
-
{
|
50 |
-
return Mage::registry('current_product');
|
51 |
-
}
|
52 |
-
|
53 |
-
protected function _prepareLayout()
|
54 |
-
{
|
55 |
-
$_product = $this->getProduct();
|
56 |
-
if (!$this->getRequest()->getParam('popup')) {
|
57 |
-
$this->setChild('back_button',
|
58 |
-
$this->getLayout()->createBlock('adminhtml/widget_button')
|
59 |
-
->setData(array(
|
60 |
-
'label' => Mage::helper('catalog')->__('Back'),
|
61 |
-
'onclick' => 'setLocation(\''.$this->getUrl('*/*/', array('store'=>$this->getRequest()->getParam('store', 0))).'\')',
|
62 |
-
'class' => 'back'
|
63 |
-
))
|
64 |
-
);
|
65 |
-
$this->setChild('preview_button',
|
66 |
-
$this->getLayout()->createBlock('adminhtml/widget_button')
|
67 |
-
->setData(array(
|
68 |
-
'label' => Mage::helper('catalog')->__('Preview'),
|
69 |
-
'onclick' => 'window.open(\''.
|
70 |
-
))
|
71 |
-
);
|
72 |
-
} else {
|
73 |
-
$this->setChild('back_button',
|
74 |
-
$this->getLayout()->createBlock('adminhtml/widget_button')
|
75 |
-
->setData(array(
|
76 |
-
'label' => Mage::helper('catalog')->__('Close Window'),
|
77 |
-
'onclick' => 'window.close()',
|
78 |
-
'class' => 'cancel'
|
79 |
-
))
|
80 |
-
);
|
81 |
-
}
|
82 |
-
|
83 |
-
if (!$this->getProduct()->isReadonly()) {
|
84 |
-
$this->setChild('reset_button',
|
85 |
-
$this->getLayout()->createBlock('adminhtml/widget_button')
|
86 |
-
->setData(array(
|
87 |
-
'label' => Mage::helper('catalog')->__('Reset'),
|
88 |
-
'onclick' => 'setLocation(\''.$this->getUrl('*/*/*', array('_current'=>true)).'\')'
|
89 |
-
))
|
90 |
-
);
|
91 |
-
|
92 |
-
$this->setChild('save_button',
|
93 |
-
$this->getLayout()->createBlock('adminhtml/widget_button')
|
94 |
-
->setData(array(
|
95 |
-
'label' => Mage::helper('catalog')->__('Save'),
|
96 |
-
'onclick' => 'productForm.submit()',
|
97 |
-
'class' => 'save'
|
98 |
-
))
|
99 |
-
);
|
100 |
-
}
|
101 |
-
|
102 |
-
if (!$this->getRequest()->getParam('popup')) {
|
103 |
-
if (!$this->getProduct()->isReadonly()) {
|
104 |
-
$this->setChild('save_and_edit_button',
|
105 |
-
$this->getLayout()->createBlock('adminhtml/widget_button')
|
106 |
-
->setData(array(
|
107 |
-
'label' => Mage::helper('catalog')->__('Save and Continue Edit'),
|
108 |
-
'onclick' => 'saveAndContinueEdit(\''.$this->getSaveAndContinueUrl().'\')',
|
109 |
-
'class' => 'save'
|
110 |
-
))
|
111 |
-
);
|
112 |
-
}
|
113 |
-
if ($this->getProduct()->isDeleteable()) {
|
114 |
-
$this->setChild('delete_button',
|
115 |
-
$this->getLayout()->createBlock('adminhtml/widget_button')
|
116 |
-
->setData(array(
|
117 |
-
'label' => Mage::helper('catalog')->__('Delete'),
|
118 |
-
'onclick' => 'confirmSetLocation(\''.Mage::helper('catalog')->__('Are you sure?').'\', \''.$this->getDeleteUrl().'\')',
|
119 |
-
'class' => 'delete'
|
120 |
-
))
|
121 |
-
);
|
122 |
-
}
|
123 |
-
|
124 |
-
if ($this->getProduct()->isDuplicable()) {
|
125 |
-
$this->setChild('duplicate_button',
|
126 |
-
$this->getLayout()->createBlock('adminhtml/widget_button')
|
127 |
-
->setData(array(
|
128 |
-
'label' => Mage::helper('catalog')->__('Duplicate'),
|
129 |
-
'onclick' => 'setLocation(\'' . $this->getDuplicateUrl() . '\')',
|
130 |
-
'class' => 'add'
|
131 |
-
))
|
132 |
-
);
|
133 |
-
}
|
134 |
-
}
|
135 |
-
|
136 |
-
return parent::_prepareLayout();
|
137 |
-
}
|
138 |
-
|
139 |
-
public function getBackButtonHtml()
|
140 |
-
{
|
141 |
-
return $this->getChildHtml('back_button');
|
142 |
-
}
|
143 |
-
|
144 |
-
public function getPreviewButtonHtml()
|
145 |
-
{
|
146 |
-
return $this->getChildHtml('preview_button');
|
147 |
-
}
|
148 |
-
|
149 |
-
public function getCancelButtonHtml()
|
150 |
-
{
|
151 |
-
return $this->getChildHtml('reset_button');
|
152 |
-
}
|
153 |
-
|
154 |
-
public function getSaveButtonHtml()
|
155 |
-
{
|
156 |
-
return $this->getChildHtml('save_button');
|
157 |
-
}
|
158 |
-
|
159 |
-
public function getSaveAndEditButtonHtml()
|
160 |
-
{
|
161 |
-
return $this->getChildHtml('save_and_edit_button');
|
162 |
-
}
|
163 |
-
|
164 |
-
public function getDeleteButtonHtml()
|
165 |
-
{
|
166 |
-
return $this->getChildHtml('delete_button');
|
167 |
-
}
|
168 |
-
|
169 |
-
public function getDuplicateButtonHtml()
|
170 |
-
{
|
171 |
-
return $this->getChildHtml('duplicate_button');
|
172 |
-
}
|
173 |
-
|
174 |
-
public function getValidationUrl()
|
175 |
-
{
|
176 |
-
return $this->getUrl('*/*/validate', array('_current'=>true));
|
177 |
-
}
|
178 |
-
|
179 |
-
public function getSaveUrl()
|
180 |
-
{
|
181 |
-
return $this->getUrl('*/*/save', array('_current'=>true, 'back'=>null));
|
182 |
-
}
|
183 |
-
|
184 |
-
public function getSaveAndContinueUrl()
|
185 |
-
{
|
186 |
-
return $this->getUrl('*/*/save', array(
|
187 |
-
'_current' => true,
|
188 |
-
'back' => 'edit',
|
189 |
-
'tab' => '{{tab_id}}',
|
190 |
-
'active_tab' => null
|
191 |
-
));
|
192 |
-
}
|
193 |
-
|
194 |
-
public function getProductId()
|
195 |
-
{
|
196 |
-
return $this->getProduct()->getId();
|
197 |
-
}
|
198 |
-
|
199 |
-
public function getProductSetId()
|
200 |
-
{
|
201 |
-
$setId = false;
|
202 |
-
if (!($setId = $this->getProduct()->getAttributeSetId()) && $this->getRequest()) {
|
203 |
-
$setId = $this->getRequest()->getParam('set', null);
|
204 |
-
}
|
205 |
-
return $setId;
|
206 |
-
}
|
207 |
-
|
208 |
-
public function getIsGrouped()
|
209 |
-
{
|
210 |
-
return $this->getProduct()->isGrouped();
|
211 |
-
}
|
212 |
-
|
213 |
-
public function getDeleteUrl()
|
214 |
-
{
|
215 |
-
return $this->getUrl('*/*/delete', array('_current'=>true));
|
216 |
-
}
|
217 |
-
|
218 |
-
public function getDuplicateUrl()
|
219 |
-
{
|
220 |
-
return $this->getUrl('*/*/duplicate', array('_current'=>true));
|
221 |
-
}
|
222 |
-
|
223 |
-
public function getHeader()
|
224 |
-
{
|
225 |
-
$header = '';
|
226 |
-
if ($this->getProduct()->getId()) {
|
227 |
-
$header = $this->htmlEscape($this->getProduct()->getName());
|
228 |
-
}
|
229 |
-
else {
|
230 |
-
$header = Mage::helper('catalog')->__('New Product');
|
231 |
-
}
|
232 |
-
if ($setName = $this->getAttributeSetName()) {
|
233 |
-
$header.= ' (' . $setName . ')';
|
234 |
-
}
|
235 |
-
return $header;
|
236 |
-
}
|
237 |
-
|
238 |
-
public function getAttributeSetName()
|
239 |
-
{
|
240 |
-
if ($setId = $this->getProduct()->getAttributeSetId()) {
|
241 |
-
$set = Mage::getModel('eav/entity_attribute_set')
|
242 |
-
->load($setId);
|
243 |
-
return $set->getAttributeSetName();
|
244 |
-
}
|
245 |
-
return '';
|
246 |
-
}
|
247 |
-
|
248 |
-
public function getIsConfigured()
|
249 |
-
{
|
250 |
-
if ($this->getProduct()->isConfigurable()
|
251 |
-
&& !($superAttributes = $this->getProduct()->getTypeInstance(true)->getUsedProductAttributeIds($this->getProduct()))) {
|
252 |
-
$superAttributes = false;
|
253 |
-
}
|
254 |
-
|
255 |
-
return !$this->getProduct()->isConfigurable() || $superAttributes !== false;
|
256 |
-
}
|
257 |
-
|
258 |
-
public function getSelectedTabId()
|
259 |
-
{
|
260 |
-
return addslashes(htmlspecialchars($this->getRequest()->getParam('tab')));
|
261 |
-
}
|
262 |
-
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Adminhtml
|
23 |
+
* @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Customer edit block
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Adminhtml
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Demac_Adminhtml_Block_Catalog_Product_Edit extends Mage_Adminhtml_Block_Widget
|
35 |
+
{
|
36 |
+
public function __construct()
|
37 |
+
{
|
38 |
+
parent::__construct();
|
39 |
+
$this->setTemplate('demac/catalog/product/edit.phtml');
|
40 |
+
$this->setId('product_edit');
|
41 |
+
}
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Retrieve currently edited product object
|
45 |
+
*
|
46 |
+
* @return Mage_Catalog_Model_Product
|
47 |
+
*/
|
48 |
+
public function getProduct()
|
49 |
+
{
|
50 |
+
return Mage::registry('current_product');
|
51 |
+
}
|
52 |
+
|
53 |
+
protected function _prepareLayout()
|
54 |
+
{
|
55 |
+
$_product = $this->getProduct();
|
56 |
+
if (!$this->getRequest()->getParam('popup')) {
|
57 |
+
$this->setChild('back_button',
|
58 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
59 |
+
->setData(array(
|
60 |
+
'label' => Mage::helper('catalog')->__('Back'),
|
61 |
+
'onclick' => 'setLocation(\''.$this->getUrl('*/*/', array('store'=>$this->getRequest()->getParam('store', 0))).'\')',
|
62 |
+
'class' => 'back'
|
63 |
+
))
|
64 |
+
);
|
65 |
+
$this->setChild('preview_button',
|
66 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
67 |
+
->setData(array(
|
68 |
+
'label' => Mage::helper('catalog')->__('Preview'),
|
69 |
+
'onclick' => 'window.open(\''. $_product->getProductUrl().'\')'
|
70 |
+
))
|
71 |
+
);
|
72 |
+
} else {
|
73 |
+
$this->setChild('back_button',
|
74 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
75 |
+
->setData(array(
|
76 |
+
'label' => Mage::helper('catalog')->__('Close Window'),
|
77 |
+
'onclick' => 'window.close()',
|
78 |
+
'class' => 'cancel'
|
79 |
+
))
|
80 |
+
);
|
81 |
+
}
|
82 |
+
|
83 |
+
if (!$this->getProduct()->isReadonly()) {
|
84 |
+
$this->setChild('reset_button',
|
85 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
86 |
+
->setData(array(
|
87 |
+
'label' => Mage::helper('catalog')->__('Reset'),
|
88 |
+
'onclick' => 'setLocation(\''.$this->getUrl('*/*/*', array('_current'=>true)).'\')'
|
89 |
+
))
|
90 |
+
);
|
91 |
+
|
92 |
+
$this->setChild('save_button',
|
93 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
94 |
+
->setData(array(
|
95 |
+
'label' => Mage::helper('catalog')->__('Save'),
|
96 |
+
'onclick' => 'productForm.submit()',
|
97 |
+
'class' => 'save'
|
98 |
+
))
|
99 |
+
);
|
100 |
+
}
|
101 |
+
|
102 |
+
if (!$this->getRequest()->getParam('popup')) {
|
103 |
+
if (!$this->getProduct()->isReadonly()) {
|
104 |
+
$this->setChild('save_and_edit_button',
|
105 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
106 |
+
->setData(array(
|
107 |
+
'label' => Mage::helper('catalog')->__('Save and Continue Edit'),
|
108 |
+
'onclick' => 'saveAndContinueEdit(\''.$this->getSaveAndContinueUrl().'\')',
|
109 |
+
'class' => 'save'
|
110 |
+
))
|
111 |
+
);
|
112 |
+
}
|
113 |
+
if ($this->getProduct()->isDeleteable()) {
|
114 |
+
$this->setChild('delete_button',
|
115 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
116 |
+
->setData(array(
|
117 |
+
'label' => Mage::helper('catalog')->__('Delete'),
|
118 |
+
'onclick' => 'confirmSetLocation(\''.Mage::helper('catalog')->__('Are you sure?').'\', \''.$this->getDeleteUrl().'\')',
|
119 |
+
'class' => 'delete'
|
120 |
+
))
|
121 |
+
);
|
122 |
+
}
|
123 |
+
|
124 |
+
if ($this->getProduct()->isDuplicable()) {
|
125 |
+
$this->setChild('duplicate_button',
|
126 |
+
$this->getLayout()->createBlock('adminhtml/widget_button')
|
127 |
+
->setData(array(
|
128 |
+
'label' => Mage::helper('catalog')->__('Duplicate'),
|
129 |
+
'onclick' => 'setLocation(\'' . $this->getDuplicateUrl() . '\')',
|
130 |
+
'class' => 'add'
|
131 |
+
))
|
132 |
+
);
|
133 |
+
}
|
134 |
+
}
|
135 |
+
|
136 |
+
return parent::_prepareLayout();
|
137 |
+
}
|
138 |
+
|
139 |
+
public function getBackButtonHtml()
|
140 |
+
{
|
141 |
+
return $this->getChildHtml('back_button');
|
142 |
+
}
|
143 |
+
|
144 |
+
public function getPreviewButtonHtml()
|
145 |
+
{
|
146 |
+
return $this->getChildHtml('preview_button');
|
147 |
+
}
|
148 |
+
|
149 |
+
public function getCancelButtonHtml()
|
150 |
+
{
|
151 |
+
return $this->getChildHtml('reset_button');
|
152 |
+
}
|
153 |
+
|
154 |
+
public function getSaveButtonHtml()
|
155 |
+
{
|
156 |
+
return $this->getChildHtml('save_button');
|
157 |
+
}
|
158 |
+
|
159 |
+
public function getSaveAndEditButtonHtml()
|
160 |
+
{
|
161 |
+
return $this->getChildHtml('save_and_edit_button');
|
162 |
+
}
|
163 |
+
|
164 |
+
public function getDeleteButtonHtml()
|
165 |
+
{
|
166 |
+
return $this->getChildHtml('delete_button');
|
167 |
+
}
|
168 |
+
|
169 |
+
public function getDuplicateButtonHtml()
|
170 |
+
{
|
171 |
+
return $this->getChildHtml('duplicate_button');
|
172 |
+
}
|
173 |
+
|
174 |
+
public function getValidationUrl()
|
175 |
+
{
|
176 |
+
return $this->getUrl('*/*/validate', array('_current'=>true));
|
177 |
+
}
|
178 |
+
|
179 |
+
public function getSaveUrl()
|
180 |
+
{
|
181 |
+
return $this->getUrl('*/*/save', array('_current'=>true, 'back'=>null));
|
182 |
+
}
|
183 |
+
|
184 |
+
public function getSaveAndContinueUrl()
|
185 |
+
{
|
186 |
+
return $this->getUrl('*/*/save', array(
|
187 |
+
'_current' => true,
|
188 |
+
'back' => 'edit',
|
189 |
+
'tab' => '{{tab_id}}',
|
190 |
+
'active_tab' => null
|
191 |
+
));
|
192 |
+
}
|
193 |
+
|
194 |
+
public function getProductId()
|
195 |
+
{
|
196 |
+
return $this->getProduct()->getId();
|
197 |
+
}
|
198 |
+
|
199 |
+
public function getProductSetId()
|
200 |
+
{
|
201 |
+
$setId = false;
|
202 |
+
if (!($setId = $this->getProduct()->getAttributeSetId()) && $this->getRequest()) {
|
203 |
+
$setId = $this->getRequest()->getParam('set', null);
|
204 |
+
}
|
205 |
+
return $setId;
|
206 |
+
}
|
207 |
+
|
208 |
+
public function getIsGrouped()
|
209 |
+
{
|
210 |
+
return $this->getProduct()->isGrouped();
|
211 |
+
}
|
212 |
+
|
213 |
+
public function getDeleteUrl()
|
214 |
+
{
|
215 |
+
return $this->getUrl('*/*/delete', array('_current'=>true));
|
216 |
+
}
|
217 |
+
|
218 |
+
public function getDuplicateUrl()
|
219 |
+
{
|
220 |
+
return $this->getUrl('*/*/duplicate', array('_current'=>true));
|
221 |
+
}
|
222 |
+
|
223 |
+
public function getHeader()
|
224 |
+
{
|
225 |
+
$header = '';
|
226 |
+
if ($this->getProduct()->getId()) {
|
227 |
+
$header = $this->htmlEscape($this->getProduct()->getName());
|
228 |
+
}
|
229 |
+
else {
|
230 |
+
$header = Mage::helper('catalog')->__('New Product');
|
231 |
+
}
|
232 |
+
if ($setName = $this->getAttributeSetName()) {
|
233 |
+
$header.= ' (' . $setName . ')';
|
234 |
+
}
|
235 |
+
return $header;
|
236 |
+
}
|
237 |
+
|
238 |
+
public function getAttributeSetName()
|
239 |
+
{
|
240 |
+
if ($setId = $this->getProduct()->getAttributeSetId()) {
|
241 |
+
$set = Mage::getModel('eav/entity_attribute_set')
|
242 |
+
->load($setId);
|
243 |
+
return $set->getAttributeSetName();
|
244 |
+
}
|
245 |
+
return '';
|
246 |
+
}
|
247 |
+
|
248 |
+
public function getIsConfigured()
|
249 |
+
{
|
250 |
+
if ($this->getProduct()->isConfigurable()
|
251 |
+
&& !($superAttributes = $this->getProduct()->getTypeInstance(true)->getUsedProductAttributeIds($this->getProduct()))) {
|
252 |
+
$superAttributes = false;
|
253 |
+
}
|
254 |
+
|
255 |
+
return !$this->getProduct()->isConfigurable() || $superAttributes !== false;
|
256 |
+
}
|
257 |
+
|
258 |
+
public function getSelectedTabId()
|
259 |
+
{
|
260 |
+
return addslashes(htmlspecialchars($this->getRequest()->getParam('tab')));
|
261 |
+
}
|
262 |
+
}
|
app/code/local/Demac/Adminhtml/etc/config.xml
CHANGED
@@ -1,17 +1,17 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<config>
|
3 |
-
<modules>
|
4 |
-
<Demac_Adminhtml>
|
5 |
-
<version>0.
|
6 |
-
</Demac_Adminhtml>
|
7 |
-
</modules>
|
8 |
-
<global>
|
9 |
-
<blocks>
|
10 |
-
<adminhtml>
|
11 |
-
<rewrite>
|
12 |
-
<catalog_product_edit>Demac_Adminhtml_Block_Catalog_Product_Edit</catalog_product_edit>
|
13 |
-
</rewrite>
|
14 |
-
</adminhtml>
|
15 |
-
</blocks>
|
16 |
-
</global>
|
17 |
</config>
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Demac_Adminhtml>
|
5 |
+
<version>0.2.0</version>
|
6 |
+
</Demac_Adminhtml>
|
7 |
+
</modules>
|
8 |
+
<global>
|
9 |
+
<blocks>
|
10 |
+
<adminhtml>
|
11 |
+
<rewrite>
|
12 |
+
<catalog_product_edit>Demac_Adminhtml_Block_Catalog_Product_Edit</catalog_product_edit>
|
13 |
+
</rewrite>
|
14 |
+
</adminhtml>
|
15 |
+
</blocks>
|
16 |
+
</global>
|
17 |
</config>
|
app/code/local/Demac/All/Block/Notification/Window.php
DELETED
@@ -1,55 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Demac Media Inc.
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the EULA
|
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://ecommerce.aheadworks.com/LICENSE-M1.txt
|
11 |
-
*
|
12 |
-
* @category Demac
|
13 |
-
* @package Demac_All
|
14 |
-
* @copyright Copyright (c) 20010-2011 aheadWorks Co. (http://www.demacmedia.com)
|
15 |
-
* @license http://www.demacmedia.com/LICENSE.txt
|
16 |
-
*/
|
17 |
-
|
18 |
-
class Demac_All_Block_Notification_Window extends Mage_Adminhtml_Block_Notification_Window{
|
19 |
-
protected function _construct(){
|
20 |
-
parent::_construct();
|
21 |
-
|
22 |
-
if(!Mage::getStoreConfig('demacall/install/run')){
|
23 |
-
$c = Mage::getModel('core/config_data');
|
24 |
-
$c
|
25 |
-
->setScope('default')
|
26 |
-
->setPath('demacall/install/run')
|
27 |
-
->setValue(time())
|
28 |
-
->save();
|
29 |
-
$this->setHeaderText($this->__("Demac Media Notifications Setup"));
|
30 |
-
$this->setIsFirstRun(1);
|
31 |
-
$this->setIsHtml(1);
|
32 |
-
|
33 |
-
}
|
34 |
-
}
|
35 |
-
|
36 |
-
protected function _toHtml(){
|
37 |
-
if($this->getIsHtml()){
|
38 |
-
$this->setTemplate('demac_all/notification/window.phtml');
|
39 |
-
}
|
40 |
-
return parent::_toHtml();
|
41 |
-
}
|
42 |
-
public function presetFirstSetup(){
|
43 |
-
|
44 |
-
}
|
45 |
-
public function getNoticeMessageText(){
|
46 |
-
if($this->getIsFirstRun()){
|
47 |
-
$child = $this->getLayout()->createBlock('core/template')->setTemplate('demac_all/notification/window/first-run.phtml')->toHtml();
|
48 |
-
return $child;
|
49 |
-
}else{
|
50 |
-
return $this->getData('notice_message_text');
|
51 |
-
}
|
52 |
-
}
|
53 |
-
|
54 |
-
|
55 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Demac/All/Block/System/Config/Form/Fieldset/Demacall/Extensions.php
DELETED
@@ -1,174 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Demac Media Inc.
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the EULA
|
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://ecommerce.aheadworks.com/LICENSE-M1.txt
|
11 |
-
*
|
12 |
-
* @category Demac
|
13 |
-
* @package Demac_All
|
14 |
-
* @copyright Copyright (c) 20010-2011 aheadWorks Co. (http://www.demacmedia.com)
|
15 |
-
* @license http://www.demacmedia.com/LICENSE.txt
|
16 |
-
*/
|
17 |
-
|
18 |
-
|
19 |
-
class Demac_All_Block_System_Config_Form_Fieldset_Demacall_Extensions extends Mage_Adminhtml_Block_System_Config_Form_Fieldset{
|
20 |
-
|
21 |
-
protected $_dummyElement;
|
22 |
-
protected $_fieldRenderer;
|
23 |
-
protected $_values;
|
24 |
-
|
25 |
-
public function render(Varien_Data_Form_Element_Abstract $element)
|
26 |
-
{
|
27 |
-
$html = $this->_getHeaderHtml($element);
|
28 |
-
$modules = array_keys((array)Mage::getConfig()->getNode('modules')->children());
|
29 |
-
sort($modules);
|
30 |
-
|
31 |
-
foreach ($modules as $moduleName) {
|
32 |
-
if (strstr($moduleName,'Demac_') === false) {
|
33 |
-
continue;
|
34 |
-
}
|
35 |
-
|
36 |
-
if($moduleName == 'Demac_Core' || $moduleName == 'Demac_All'){
|
37 |
-
continue;
|
38 |
-
}
|
39 |
-
|
40 |
-
$html.= $this->_getFieldHtml($element, $moduleName);
|
41 |
-
}
|
42 |
-
$html .= $this->_getFooterHtml($element);
|
43 |
-
|
44 |
-
return $html;
|
45 |
-
}
|
46 |
-
|
47 |
-
protected function _getDummyElement()
|
48 |
-
{
|
49 |
-
if (empty($this->_dummyElement)) {
|
50 |
-
$this->_dummyElement = new Varien_Object(array('show_in_default'=>1, 'show_in_website'=>1));
|
51 |
-
}
|
52 |
-
return $this->_dummyElement;
|
53 |
-
}
|
54 |
-
|
55 |
-
protected function _getFieldRenderer()
|
56 |
-
{
|
57 |
-
if (empty($this->_fieldRenderer)) {
|
58 |
-
$this->_fieldRenderer = Mage::getBlockSingleton('adminhtml/system_config_form_field');
|
59 |
-
}
|
60 |
-
return $this->_fieldRenderer;
|
61 |
-
}
|
62 |
-
|
63 |
-
protected function _getFieldHtml($fieldset, $moduleName)
|
64 |
-
{
|
65 |
-
$configData = $this->getConfigData();
|
66 |
-
|
67 |
-
try{
|
68 |
-
if($platform = Mage::getConfig()->getNode("modules/$moduleName/platform")){
|
69 |
-
$platform = strtolower($platform);
|
70 |
-
$ignore_platform = false;
|
71 |
-
}else{
|
72 |
-
throw new Exception();
|
73 |
-
}
|
74 |
-
}catch(Exception $e){
|
75 |
-
$platform="ce";
|
76 |
-
$ignore_platform = true;
|
77 |
-
}
|
78 |
-
|
79 |
-
|
80 |
-
$path = 'advanced/modules_disable_output/'.$moduleName; //TODO: move as property of form
|
81 |
-
$data = isset($configData[$path]) ? $configData[$path] : array();
|
82 |
-
|
83 |
-
$e = $this->_getDummyElement();
|
84 |
-
|
85 |
-
$moduleKey = substr($moduleName, strpos($moduleName,'_')+1);
|
86 |
-
$ver = (Mage::getConfig()->getModuleConfig($moduleName)->version);
|
87 |
-
$id = $moduleName;
|
88 |
-
|
89 |
-
$warning = "";
|
90 |
-
if(!$ignore_platform){
|
91 |
-
$magentoVersion = $this->_convertVersion(Mage::getVersion());
|
92 |
-
|
93 |
-
if($magentoVersion >= $this->_convertVersion(demac_all_Helper_Config::ENTERPRISE_VERSION)){
|
94 |
-
// EE
|
95 |
-
if($platform == 'ce' || $platform=='pe'){
|
96 |
-
$warning = $this->__("This extension can't be run under Magento Enterprise platform. You need Enterprise version of the extension.");
|
97 |
-
}
|
98 |
-
|
99 |
-
}elseif($magentoVersion >= $this->_convertVersion(demac_all_Helper_Config::PROFESSIONAL_EDITION)){
|
100 |
-
// PE
|
101 |
-
if($platform == 'ce' ){
|
102 |
-
$warning = $this->__("This extension can't be run under Magento Professional platform. You need Professional version of the extension.");
|
103 |
-
}
|
104 |
-
}else{
|
105 |
-
// CE
|
106 |
-
}
|
107 |
-
}
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
$hasUpdate = false;
|
113 |
-
if($displayNames = Mage::app()->loadCache('demac_all_extensions_feed')){
|
114 |
-
if($displayNames = unserialize($displayNames)){
|
115 |
-
if(isset($displayNames[$moduleName])){
|
116 |
-
$url = @$displayNames[$moduleName]['url'];
|
117 |
-
$name = @$displayNames[$moduleName]['display_name'];
|
118 |
-
$version = @$displayNames[$moduleName]['version'];
|
119 |
-
|
120 |
-
$moduleName = '<a href="'.$url.'" target="_blank" title="'.$name.'">'.$name."</a>";
|
121 |
-
|
122 |
-
if($warning){
|
123 |
-
$update = '<a target="_blank"><img src="'.$this->getSkinUrl('demac_all/images/bad.gif').'" title="'.$this->__("Wrong Extension Platform").'"/></a>';
|
124 |
-
$moduleName ="$update $moduleName";
|
125 |
-
}else{
|
126 |
-
|
127 |
-
if($this->_convertVersion($ver) < $this->_convertVersion($version)){
|
128 |
-
$update = '<a href="'.$url.'" target="_blank"><img src="'.$this->getSkinUrl('demac_all/images/update.gif').'" title="'.$this->__("Update available").'"/></a>';
|
129 |
-
$hasUpdate = 1;
|
130 |
-
$moduleName ="$update $moduleName";
|
131 |
-
}
|
132 |
-
}
|
133 |
-
}
|
134 |
-
}
|
135 |
-
}
|
136 |
-
|
137 |
-
if(!$hasUpdate && !$warning){
|
138 |
-
$update = '<a target="_blank"><img src="'.$this->getSkinUrl('demac_all/images/ok.gif').'" title="'.$this->__("Installed").'"/></a>';
|
139 |
-
$moduleName ="$update $moduleName";
|
140 |
-
}elseif($warning && (!@$displayNames || !@$name)){
|
141 |
-
$update = '<a target="_blank"><img src="'.$this->getSkinUrl('demac_all/images/bad.gif').'" title="'.$this->__("Wrong Extension Platform").'"/></a>';
|
142 |
-
$moduleName ="$update $moduleName";
|
143 |
-
}
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
if($ver){
|
148 |
-
$field = $fieldset->addField($id, 'label',
|
149 |
-
array(
|
150 |
-
'name' => 'ssssss',
|
151 |
-
'label' => $moduleName,
|
152 |
-
'value' => $warning ? $warning : $ver,
|
153 |
-
|
154 |
-
))->setRenderer($this->_getFieldRenderer());
|
155 |
-
return $field->toHtml();
|
156 |
-
}
|
157 |
-
return '';
|
158 |
-
|
159 |
-
}
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
protected function _convertVersion($v){
|
164 |
-
$digits = @explode(".", $v);
|
165 |
-
$version = 0;
|
166 |
-
if(is_array($digits)){
|
167 |
-
foreach($digits as $k=>$v){
|
168 |
-
$version += ($v * pow(10, max(0, (3-$k))));
|
169 |
-
}
|
170 |
-
|
171 |
-
}
|
172 |
-
return $version;
|
173 |
-
}
|
174 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Demac/All/Helper/Config.php
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Demac Media Inc.
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the EULA
|
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://ecommerce.aheadworks.com/LICENSE-M1.txt
|
11 |
-
*
|
12 |
-
* @category Demac
|
13 |
-
* @package Demac_All
|
14 |
-
* @copyright Copyright (c) 20010-2011 aheadWorks Co. (http://www.demacmedia.com)
|
15 |
-
* @license http://www.demacmedia.com/LICENSE.txt
|
16 |
-
*/
|
17 |
-
|
18 |
-
|
19 |
-
class Demac_All_Helper_Config extends Mage_Core_Helper_Abstract{
|
20 |
-
/** Extensions feed path */
|
21 |
-
const EXTENSIONS_FEED_URL = 'http://feeds.feedburner.com/DemacMediaMagentoExtensionsUpdates';
|
22 |
-
/** Updates Feed path */
|
23 |
-
const UPDATES_FEED_URL = 'http://feeds.feedburner.com/DemacMediaMagentoExtensionsUpdates';
|
24 |
-
|
25 |
-
const ENTERPRISE_VERSION = '1.7';
|
26 |
-
|
27 |
-
const PROFESSIONAL_EDITION = '1.6';
|
28 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Demac/All/Helper/Data.php
DELETED
@@ -1,24 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Demac Media Inc.
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the EULA
|
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://ecommerce.aheadworks.com/LICENSE-M1.txt
|
11 |
-
*
|
12 |
-
* @category Demac
|
13 |
-
* @package Demac_All
|
14 |
-
* @copyright Copyright (c) 20010-2011 aheadWorks Co. (http://www.demacmedia.com)
|
15 |
-
* @license http://www.demacmedia.com/LICENSE.txt
|
16 |
-
*/
|
17 |
-
|
18 |
-
class Demac_All_Helper_Data extends Mage_Core_Helper_Abstract{
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Demac/All/Model/Feed.php
DELETED
@@ -1,88 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* aheadWorks Co.
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the EULA
|
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://ecommerce.aheadworks.com/LICENSE-M1.txt
|
11 |
-
*
|
12 |
-
* @category AW
|
13 |
-
* @package AW_All
|
14 |
-
* @copyright Copyright (c) 2009-2010 aheadWorks Co. (http://www.aheadworks.com)
|
15 |
-
* @license http://ecommerce.aheadworks.com/LICENSE-M1.txt
|
16 |
-
*/
|
17 |
-
|
18 |
-
class Demac_All_Model_Feed extends Mage_AdminNotification_Model_Feed
|
19 |
-
{
|
20 |
-
const XML_USE_HTTPS_PATH = 'demacall/feed/use_https';
|
21 |
-
const XML_FEED_URL_PATH = 'demacall/feed/url';
|
22 |
-
const XML_FREQUENCY_PATH = 'demacall/feed/check_frequency';
|
23 |
-
const XML_FREQUENCY_ENABLE = 'demacall/feed/enabled';
|
24 |
-
const XML_LAST_UPDATE_PATH = 'demacall/feed/last_update';
|
25 |
-
|
26 |
-
|
27 |
-
public static function check(){
|
28 |
-
if(!Mage::getStoreConfig(self::XML_FREQUENCY_ENABLE)){
|
29 |
-
return;
|
30 |
-
}
|
31 |
-
return Mage::getModel('demacall/feed')->checkUpdate();
|
32 |
-
}
|
33 |
-
|
34 |
-
public function getFrequency(){
|
35 |
-
return Mage::getStoreConfig(self::XML_FREQUENCY_PATH) * 30;
|
36 |
-
}
|
37 |
-
|
38 |
-
public function getLastUpdate(){
|
39 |
-
//return 100;
|
40 |
-
return Mage::app()->loadCache('demacall_notifications_lastcheck');
|
41 |
-
}
|
42 |
-
|
43 |
-
public function setLastUpdate()
|
44 |
-
{
|
45 |
-
Mage::app()->saveCache(time(), 'demacall_notifications_lastcheck');
|
46 |
-
return $this;
|
47 |
-
}
|
48 |
-
public function getFeedUrl(){
|
49 |
-
if (is_null($this->_feedUrl)) {
|
50 |
-
$this->_feedUrl = (Mage::getStoreConfigFlag(self::XML_USE_HTTPS_PATH) ? 'https://' : 'http://')
|
51 |
-
. Mage::getStoreConfig(self::XML_FEED_URL_PATH);
|
52 |
-
}
|
53 |
-
return $this->_feedUrl;
|
54 |
-
}
|
55 |
-
|
56 |
-
public function checkUpdate(){
|
57 |
-
if (($this->getFrequency() + $this->getLastUpdate()) > time()) {
|
58 |
-
return $this;
|
59 |
-
}
|
60 |
-
|
61 |
-
$feedData = array();
|
62 |
-
|
63 |
-
$feedXml = $this->getFeedData();
|
64 |
-
Mage::log('Feed xml');
|
65 |
-
Mage::log($feedData);
|
66 |
-
if ($feedXml && $feedXml->channel && $feedXml->channel->item) {
|
67 |
-
foreach ($feedXml->channel->item as $item) {
|
68 |
-
$feedData[] = array(
|
69 |
-
'severity' => (int)$item->severity ? (int)$item->severity : 3,
|
70 |
-
'date_added' => $this->getDate((string)$item->pubDate),
|
71 |
-
'title' => (string)$item->title,
|
72 |
-
'description' => (string)$item->description,
|
73 |
-
'url' => (string)$item->link,
|
74 |
-
);
|
75 |
-
}
|
76 |
-
Mage::log('Feed Data');
|
77 |
-
Mage::log($feedData);
|
78 |
-
if ($feedData) {
|
79 |
-
Mage::getModel('adminnotification/inbox')->parse(array_reverse($feedData));
|
80 |
-
}
|
81 |
-
|
82 |
-
}
|
83 |
-
$this->setLastUpdate();
|
84 |
-
|
85 |
-
return $this;
|
86 |
-
}
|
87 |
-
|
88 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Demac/All/Model/Feed/Abstract.php
DELETED
@@ -1,67 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Demac Media Inc.
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the EULA
|
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://ecommerce.aheadworks.com/LICENSE-M1.txt
|
11 |
-
*
|
12 |
-
* @category Demac
|
13 |
-
* @package Demac_All
|
14 |
-
* @copyright Copyright (c) 20010-2011 aheadWorks Co. (http://www.demacmedia.com)
|
15 |
-
* @license http://www.demacmedia.com/LICENSE.txt
|
16 |
-
*/
|
17 |
-
|
18 |
-
|
19 |
-
class Demac_All_Model_Feed_Abstract extends Mage_Core_Model_Abstract{
|
20 |
-
|
21 |
-
/**
|
22 |
-
* Retrieve feed data as XML element
|
23 |
-
*
|
24 |
-
* @return SimpleXMLElement
|
25 |
-
*/
|
26 |
-
public function getFeedData()
|
27 |
-
{
|
28 |
-
$curl = new Varien_Http_Adapter_Curl();
|
29 |
-
$curl->setConfig(array(
|
30 |
-
'timeout' => 1
|
31 |
-
));
|
32 |
-
$curl->write(Zend_Http_Client::GET, $this->getFeedUrl(), '1.0');
|
33 |
-
$data = $curl->read();
|
34 |
-
if ($data === false) {
|
35 |
-
return false;
|
36 |
-
}
|
37 |
-
$data = preg_split('/^\r?$/m', $data, 2);
|
38 |
-
$data = trim($data[1]);
|
39 |
-
$curl->close();
|
40 |
-
|
41 |
-
try {
|
42 |
-
$xml = new SimpleXMLElement($data);
|
43 |
-
}
|
44 |
-
catch (Exception $e) {
|
45 |
-
Mage::log($e);
|
46 |
-
return false;
|
47 |
-
}
|
48 |
-
//Mage::log($this->getFeedUrl());
|
49 |
-
//Mage::log($xml);
|
50 |
-
return $xml;
|
51 |
-
}
|
52 |
-
|
53 |
-
|
54 |
-
/**
|
55 |
-
* Retrieve DB date from RSS date
|
56 |
-
*
|
57 |
-
* @param string $rssDate
|
58 |
-
* @return string YYYY-MM-DD YY:HH:SS
|
59 |
-
*/
|
60 |
-
public function getDate($rssDate)
|
61 |
-
{
|
62 |
-
return gmdate('Y-m-d H:i:s', strtotime($rssDate));
|
63 |
-
}
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Demac/All/Model/Feed/Extensions.php
DELETED
@@ -1,136 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Demac Media Inc.
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the EULA
|
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://ecommerce.aheadworks.com/LICENSE-M1.txt
|
11 |
-
*
|
12 |
-
* @category Demac
|
13 |
-
* @package Demac_All
|
14 |
-
* @copyright Copyright (c) 20010-2011 aheadWorks Co. (http://www.demacmedia.com)
|
15 |
-
* @license http://www.demacmedia.com/LICENSE.txt
|
16 |
-
*/
|
17 |
-
|
18 |
-
|
19 |
-
class Demac_All_Model_Feed_Extensions extends Demac_All_Model_Feed_Abstract{
|
20 |
-
|
21 |
-
/**
|
22 |
-
* Retrieve feed url
|
23 |
-
*
|
24 |
-
* @return string
|
25 |
-
*/
|
26 |
-
public function getFeedUrl(){
|
27 |
-
return Demac_All_Helper_Config::EXTENSIONS_FEED_URL;
|
28 |
-
}
|
29 |
-
|
30 |
-
|
31 |
-
/**
|
32 |
-
* Checks feed
|
33 |
-
* @return
|
34 |
-
*/
|
35 |
-
public function check(){
|
36 |
-
if(!(Mage::app()->loadCache('demac_all_extensions_feed')) || (time()-Mage::app()->loadCache('demac_all_extensions_feed_lastcheck')) > Mage::getStoreConfig('demacall/feed/check_frequency')){
|
37 |
-
$this->refresh();
|
38 |
-
}
|
39 |
-
}
|
40 |
-
|
41 |
-
public function refresh(){
|
42 |
-
$exts = array();
|
43 |
-
try{
|
44 |
-
$Node = $this->getFeedData();
|
45 |
-
if(!$Node) return false;
|
46 |
-
foreach($Node->children() as $ext){
|
47 |
-
$exts[(string)$ext->name] = array(
|
48 |
-
'display_name' => (string)$ext->display_name,
|
49 |
-
'version' => (string)$ext->version,
|
50 |
-
'url' => (string)$ext->url
|
51 |
-
);
|
52 |
-
}
|
53 |
-
|
54 |
-
Mage::app()->saveCache(serialize($exts), 'demac_all_extensions_feed');
|
55 |
-
Mage::app()->saveCache(time(), 'demac_all_extensions_feed_lastcheck');
|
56 |
-
return true;
|
57 |
-
}catch(Exception $E){
|
58 |
-
return false;
|
59 |
-
}
|
60 |
-
}
|
61 |
-
|
62 |
-
public function checkExtensions(){
|
63 |
-
$modules = array_keys((array)Mage::getConfig()->getNode('modules')->children());
|
64 |
-
sort($modules);
|
65 |
-
$magentoVersion = $this->_convertVersion(Mage::getVersion());
|
66 |
-
|
67 |
-
foreach ($modules as $extensionName) {
|
68 |
-
if (strstr($extensionName,'Demac_') === false) {
|
69 |
-
continue;
|
70 |
-
}
|
71 |
-
if($extensionName == 'Demac_Core' || $extensionName == 'Demac_All'){
|
72 |
-
continue;
|
73 |
-
}
|
74 |
-
// echo $extensionName; die();
|
75 |
-
|
76 |
-
if($platform = $this->getExtensionPlatform($extensionName)){
|
77 |
-
if($magentoVersion >= $this->_convertVersion(Demac_All_Helper_Config::ENTERPRISE_VERSION)){
|
78 |
-
// EE
|
79 |
-
if($platform == 'ce' || $platform=='pe'){
|
80 |
-
$this->disableExtensionOutput($extensionName);
|
81 |
-
}
|
82 |
-
|
83 |
-
}elseif($magentoVersion >= $this->_convertVersion(Demac_All_Helper_Config::PROFESSIONAL_EDITION)){
|
84 |
-
// PE
|
85 |
-
if($platform == 'ce' ){
|
86 |
-
$this->disableExtensionOutput($extensionName);
|
87 |
-
}
|
88 |
-
}
|
89 |
-
}
|
90 |
-
}
|
91 |
-
return $this;
|
92 |
-
}
|
93 |
-
|
94 |
-
public function getExtensionPlatform($extensionName){
|
95 |
-
try{
|
96 |
-
if($platform = Mage::getConfig()->getNode("modules/$extensionName/platform")){
|
97 |
-
$platform = strtolower($platform);
|
98 |
-
return $platform;
|
99 |
-
}else{
|
100 |
-
throw new Exception();
|
101 |
-
}
|
102 |
-
}catch(Exception $e){
|
103 |
-
return false;
|
104 |
-
}
|
105 |
-
}
|
106 |
-
|
107 |
-
|
108 |
-
public function disableExtensionOutput($extensionName){
|
109 |
-
$coll = Mage::getModel('core/config_data')->getCollection();
|
110 |
-
$coll->getSelect()->where("path='advanced/modules_disable_output/$extensionName'");
|
111 |
-
$i=0;
|
112 |
-
foreach($coll as $cd){
|
113 |
-
$i++;
|
114 |
-
$cd->setValue(1)->save();
|
115 |
-
}
|
116 |
-
if($i==0){
|
117 |
-
Mage::getModel('core/config_data')
|
118 |
-
->setPath("advanced/modules_disable_output/$extensionName")
|
119 |
-
->setValue(1)
|
120 |
-
->save();
|
121 |
-
}
|
122 |
-
return $this;
|
123 |
-
}
|
124 |
-
|
125 |
-
protected function _convertVersion($v){
|
126 |
-
$digits = @explode(".", $v);
|
127 |
-
$version = 0;
|
128 |
-
if(is_array($digits)){
|
129 |
-
foreach($digits as $k=>$v){
|
130 |
-
$version += ($v * pow(10, max(0, (3-$k))));
|
131 |
-
}
|
132 |
-
|
133 |
-
}
|
134 |
-
return $version;
|
135 |
-
}
|
136 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Demac/All/Model/Feed/Updates.php
DELETED
@@ -1,93 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Demac Media Inc.
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the EULA
|
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://ecommerce.aheadworks.com/LICENSE-M1.txt
|
11 |
-
*
|
12 |
-
* @category Demac
|
13 |
-
* @package Demac_All
|
14 |
-
* @copyright Copyright (c) 20010-2011 aheadWorks Co. (http://www.demacmedia.com)
|
15 |
-
* @license http://www.demacmedia.com/LICENSE.txt
|
16 |
-
*/
|
17 |
-
|
18 |
-
class Demac_All_Model_Feed_Updates extends Demac_All_Model_Feed_Abstract{
|
19 |
-
|
20 |
-
/**
|
21 |
-
* Retrieve feed url
|
22 |
-
*
|
23 |
-
* @return string
|
24 |
-
*/
|
25 |
-
public function getFeedUrl(){
|
26 |
-
return Demac_All_Helper_Config::UPDATES_FEED_URL;
|
27 |
-
}
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Checks feed
|
31 |
-
* @return
|
32 |
-
*/
|
33 |
-
public function check(){
|
34 |
-
if((time()-Mage::app()->loadCache('demac_all_updates_feed_lastcheck')) > Mage::getStoreConfig('demacall/feed/check_frequency')){
|
35 |
-
$this->refresh();
|
36 |
-
}
|
37 |
-
}
|
38 |
-
|
39 |
-
public function refresh(){
|
40 |
-
$feedData = array();
|
41 |
-
|
42 |
-
try{
|
43 |
-
|
44 |
-
//$Node = $this->getFeedData();
|
45 |
-
//if(!$Node) return false;
|
46 |
-
//foreach($Node->children() as $item){
|
47 |
-
|
48 |
-
//if($this->isInteresting($item)){
|
49 |
-
$feedXml = $this->getFeedData();
|
50 |
-
Mage::log('Feed xml');
|
51 |
-
Mage::log($feedXml);
|
52 |
-
if ($feedXml && $feedXml->channel && $feedXml->channel->item) {
|
53 |
-
foreach ($feedXml->channel->item as $item) {
|
54 |
-
//$date = strtotime((string)$item->date);
|
55 |
-
//if(!Mage::getStoreConfig('demacall/install/run') || (Mage::getStoreConfig('demacall/install/run') < $date)){
|
56 |
-
Mage::log('item');
|
57 |
-
Mage::log($item);
|
58 |
-
$feedData[] = array(
|
59 |
-
'severity' => 3,
|
60 |
-
'date_added' => $this->getDate((string)$item->pubDate),
|
61 |
-
'title' => (string)$item->title,
|
62 |
-
'description' => (string)$item->description,
|
63 |
-
'url' => (string)$item->link,
|
64 |
-
);
|
65 |
-
//}
|
66 |
-
}
|
67 |
-
}
|
68 |
-
Mage::log('Feed Data');
|
69 |
-
Mage::log($feedData);
|
70 |
-
if ($feedData) {
|
71 |
-
Mage::getModel('adminnotification/inbox')->parse(($feedData));
|
72 |
-
}
|
73 |
-
|
74 |
-
Mage::app()->saveCache(time(), 'demac_all_updates_feed_lastcheck');
|
75 |
-
return true;
|
76 |
-
}catch(Exception $E){
|
77 |
-
return false;
|
78 |
-
}
|
79 |
-
}
|
80 |
-
|
81 |
-
|
82 |
-
public function isExtensionInstalled($code){
|
83 |
-
$modules = array_keys((array)Mage::getConfig()->getNode('modules')->children());
|
84 |
-
|
85 |
-
foreach ($modules as $moduleName) {
|
86 |
-
if($moduleName == $code){
|
87 |
-
return true;
|
88 |
-
}
|
89 |
-
}
|
90 |
-
return false;
|
91 |
-
}
|
92 |
-
|
93 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Demac/All/Model/Source/Updates/Type.php
DELETED
@@ -1,74 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Demac Media Inc.
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the EULA
|
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://ecommerce.aheadworks.com/LICENSE-M1.txt
|
11 |
-
*
|
12 |
-
* @category Demac
|
13 |
-
* @package Demac_All
|
14 |
-
* @copyright Copyright (c) 20010-2011 aheadWorks Co. (http://www.demacmedia.com)
|
15 |
-
* @license http://www.demacmedia.com/LICENSE.txt
|
16 |
-
*/
|
17 |
-
|
18 |
-
|
19 |
-
class Demac_All_Model_Source_Updates_Type extends Mage_Eav_Model_Entity_Attribute_Source_Abstract{
|
20 |
-
|
21 |
-
const TYPE_PROMO = 'PROMO';
|
22 |
-
const TYPE_NEW_RELEASE = 'NEW_RELEASE';
|
23 |
-
const TYPE_UPDATE_RELEASE = 'UPDATE_RELEASE';
|
24 |
-
const TYPE_INFO = 'INFO';
|
25 |
-
const TYPE_INSTALLED_UPDATE = 'INSTALLED_UPDATE';
|
26 |
-
|
27 |
-
|
28 |
-
public function toOptionArray(){
|
29 |
-
return array(
|
30 |
-
array('value' => self::TYPE_UPDATE_RELEASE, 'label' => Mage::helper('demacall')->__('Extensions updates')),
|
31 |
-
array('value' => self::TYPE_NEW_RELEASE, 'label' => Mage::helper('demacall')->__('New Releases')),
|
32 |
-
array('value' => self::TYPE_INFO, 'label' => Mage::helper('demacall')->__('Other information'))
|
33 |
-
);
|
34 |
-
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Retrive all attribute options
|
38 |
-
*
|
39 |
-
* @return array
|
40 |
-
*/
|
41 |
-
public function getAllOptions()
|
42 |
-
{
|
43 |
-
return $this->toOptionArray();
|
44 |
-
}
|
45 |
-
|
46 |
-
|
47 |
-
/**
|
48 |
-
* Returns label for value
|
49 |
-
* @param string $value
|
50 |
-
* @return string
|
51 |
-
*/
|
52 |
-
public function getLabel($value){
|
53 |
-
$options = $this->toOptionArray();
|
54 |
-
foreach($options as $v){
|
55 |
-
if($v['value'] == $value){
|
56 |
-
return $v['label'];
|
57 |
-
}
|
58 |
-
}
|
59 |
-
return '';
|
60 |
-
}
|
61 |
-
|
62 |
-
/**
|
63 |
-
* Returns array ready for use by grid
|
64 |
-
* @return array
|
65 |
-
*/
|
66 |
-
public function getGridOptions(){
|
67 |
-
$items = $this->getAllOptions();
|
68 |
-
$out = array();
|
69 |
-
foreach($items as $item){
|
70 |
-
$out[$item['value']] = $item['label'];
|
71 |
-
}
|
72 |
-
return $out;
|
73 |
-
}
|
74 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Demac/All/etc/adminhtml.xml
DELETED
@@ -1,49 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<config>
|
3 |
-
<layout>
|
4 |
-
<updates>
|
5 |
-
<demacall module="Demac_All">
|
6 |
-
<file>demac_all.xml</file>
|
7 |
-
</demacall>
|
8 |
-
</updates>
|
9 |
-
</layout>
|
10 |
-
|
11 |
-
<acl>
|
12 |
-
<resources>
|
13 |
-
<all>
|
14 |
-
<title>Allow Everything</title>
|
15 |
-
</all>
|
16 |
-
<admin>
|
17 |
-
<children>
|
18 |
-
<system>
|
19 |
-
<children>
|
20 |
-
<config>
|
21 |
-
<children>
|
22 |
-
<demacall>
|
23 |
-
<title>Demac - All</title>
|
24 |
-
</demacall>
|
25 |
-
</children>
|
26 |
-
</config>
|
27 |
-
</children>
|
28 |
-
</system>
|
29 |
-
</children>
|
30 |
-
</admin>
|
31 |
-
</resources>
|
32 |
-
</acl>
|
33 |
-
<events>
|
34 |
-
<controller_action_predispatch>
|
35 |
-
<observers>
|
36 |
-
<demacall_exts>
|
37 |
-
<type>singleton</type>
|
38 |
-
<class>demacall/feed_extensions</class>
|
39 |
-
<method>check</method>
|
40 |
-
</demacall_exts>
|
41 |
-
<demacall_upds>
|
42 |
-
<type>singleton</type>
|
43 |
-
<class>demacall/feed_updates</class>
|
44 |
-
<method>check</method>
|
45 |
-
</demacall_upds>
|
46 |
-
</observers>
|
47 |
-
</controller_action_predispatch>
|
48 |
-
</events>
|
49 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Demac/All/etc/config.xml
DELETED
@@ -1,119 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
|
3 |
-
|
4 |
-
<config>
|
5 |
-
<modules>
|
6 |
-
<Demac_All>
|
7 |
-
<version>1.0.0</version><platform>ce</platform>
|
8 |
-
</Demac_All>
|
9 |
-
</modules>
|
10 |
-
|
11 |
-
<global>
|
12 |
-
<blocks>
|
13 |
-
<demacall>
|
14 |
-
<class>Demac_All_Block</class>
|
15 |
-
</demacall>
|
16 |
-
<adminhtml>
|
17 |
-
<rewrite>
|
18 |
-
<notification_window>Demac_All_Block_Notification_Window</notification_window>
|
19 |
-
</rewrite>
|
20 |
-
</adminhtml>
|
21 |
-
</blocks>
|
22 |
-
<resources>
|
23 |
-
<demacall_setup>
|
24 |
-
<setup>
|
25 |
-
<module>Demac_All</module>
|
26 |
-
</setup>
|
27 |
-
<connection>
|
28 |
-
<use>core_setup</use>
|
29 |
-
</connection>
|
30 |
-
</demacall_setup>
|
31 |
-
<demacall_write>
|
32 |
-
<connection>
|
33 |
-
<use>core_write</use>
|
34 |
-
</connection>
|
35 |
-
</demacall_write>
|
36 |
-
<demacall_read>
|
37 |
-
<connection>
|
38 |
-
<use>core_read</use>
|
39 |
-
</connection>
|
40 |
-
</demacall_read>
|
41 |
-
</resources>
|
42 |
-
<models>
|
43 |
-
<demacall>
|
44 |
-
<class>Demac_All_Model</class>
|
45 |
-
</demacall>
|
46 |
-
</models>
|
47 |
-
|
48 |
-
<helpers>
|
49 |
-
<demacall>
|
50 |
-
<class>Demac_All_Helper</class>
|
51 |
-
</demacall>
|
52 |
-
</helpers>
|
53 |
-
</global>
|
54 |
-
|
55 |
-
<adminhtml>
|
56 |
-
<layout>
|
57 |
-
<updates>
|
58 |
-
<demacall module="Demac_All">
|
59 |
-
<file>Demac_All.xml</file>
|
60 |
-
</demacall>
|
61 |
-
</updates>
|
62 |
-
</layout>
|
63 |
-
|
64 |
-
<acl>
|
65 |
-
<resources>
|
66 |
-
<all>
|
67 |
-
<title>Allow Everything</title>
|
68 |
-
</all>
|
69 |
-
<admin>
|
70 |
-
<children>
|
71 |
-
<system>
|
72 |
-
<children>
|
73 |
-
<config>
|
74 |
-
<children>
|
75 |
-
<demacall>
|
76 |
-
<title>Demac - All</title>
|
77 |
-
</demacall>
|
78 |
-
</children>
|
79 |
-
</config>
|
80 |
-
</children>
|
81 |
-
</system>
|
82 |
-
</children>
|
83 |
-
</admin>
|
84 |
-
</resources>
|
85 |
-
</acl>
|
86 |
-
<events>
|
87 |
-
<controller_action_predispatch>
|
88 |
-
<observers>
|
89 |
-
<demacall_exts>
|
90 |
-
<type>singleton</type>
|
91 |
-
<class>demacall/feed_extensions</class>
|
92 |
-
<method>check</method>
|
93 |
-
</demacall_exts>
|
94 |
-
<demacall_check>
|
95 |
-
<type>singleton</type>
|
96 |
-
<class>demacall/feed_extensions</class>
|
97 |
-
<method>checkExtensions</method>
|
98 |
-
</demacall_check>
|
99 |
-
<demacall_upds>
|
100 |
-
<type>singleton</type>
|
101 |
-
<class>demacall/feed_updates</class>
|
102 |
-
<method>check</method>
|
103 |
-
</demacall_upds>
|
104 |
-
</observers>
|
105 |
-
</controller_action_predispatch>
|
106 |
-
</events>
|
107 |
-
</adminhtml>
|
108 |
-
<default>
|
109 |
-
<demacall>
|
110 |
-
<feed>
|
111 |
-
<url>ecommerce.aheadworks.com/blog/feed/?tag=feed&community=1</url>
|
112 |
-
<use_https>0</use_https>
|
113 |
-
<check_frequency>86400</check_frequency>
|
114 |
-
<enabled>1</enabled>
|
115 |
-
<interests>INFO,PROMO,UPDATE_RELEASE,NEW_RELEASE,INSTALLED_UPDATE</interests>
|
116 |
-
</feed>
|
117 |
-
</demacall>
|
118 |
-
</default>
|
119 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Demac/All/etc/system.xml
DELETED
@@ -1,53 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<config>
|
3 |
-
<tabs>
|
4 |
-
<demacall translate="label" module="demacall">
|
5 |
-
<label>Demac Media Extensions</label>
|
6 |
-
<sort_order>300</sort_order>
|
7 |
-
</demacall>
|
8 |
-
</tabs>
|
9 |
-
<sections>
|
10 |
-
<demacall translate="label" module="demacall">
|
11 |
-
<label>Info</label>
|
12 |
-
<tab>demacall</tab>
|
13 |
-
<frontend_type>text</frontend_type>
|
14 |
-
<sort_order>99999</sort_order>
|
15 |
-
<show_in_default>1</show_in_default>
|
16 |
-
<show_in_website>1</show_in_website>
|
17 |
-
<show_in_store>1</show_in_store>
|
18 |
-
<groups>
|
19 |
-
<extensions translate="label">
|
20 |
-
<label>Installed Demac Media Extensions</label>
|
21 |
-
<frontend_type>text</frontend_type>
|
22 |
-
<frontend_model>demacall/system_config_form_fieldset_demacall_extensions</frontend_model>
|
23 |
-
<sort_order>2</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 |
-
</extensions>
|
28 |
-
<feed>
|
29 |
-
<label>Notifications</label>
|
30 |
-
<frontend_type>text</frontend_type>
|
31 |
-
<sort_order>60</sort_order>
|
32 |
-
<show_in_default>1</show_in_default>
|
33 |
-
<show_in_website>1</show_in_website>
|
34 |
-
<show_in_store>1</show_in_store>
|
35 |
-
<fields>
|
36 |
-
<interests translate="label">
|
37 |
-
<label>I'd like to be informed by Demac Media about:</label>
|
38 |
-
<comment></comment>
|
39 |
-
<frontend_type>multiselect</frontend_type>
|
40 |
-
<sort_order>100</sort_order>
|
41 |
-
<show_in_default>1</show_in_default>
|
42 |
-
<show_in_website>1</show_in_website>
|
43 |
-
<show_in_store>1</show_in_store>
|
44 |
-
<can_be_empty>1</can_be_empty>
|
45 |
-
<source_model>demacall/source_updates_type</source_model>
|
46 |
-
</interests>
|
47 |
-
|
48 |
-
</fields>
|
49 |
-
</feed>
|
50 |
-
</groups>
|
51 |
-
</demacall>
|
52 |
-
</sections>
|
53 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/adminhtml/default/default/template/demac/catalog/product/edit.phtml
DELETED
@@ -1,134 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/afl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* DISCLAIMER
|
16 |
-
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
-
* versions in the future. If you wish to customize Magento for your
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
-
*
|
21 |
-
* @category design
|
22 |
-
* @package default_default
|
23 |
-
* @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
|
24 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
-
*/
|
26 |
-
?>
|
27 |
-
<?php
|
28 |
-
/**
|
29 |
-
* Template for Mage_Adminhtml_Block_Catalog_Product_Edit
|
30 |
-
*/
|
31 |
-
?>
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
<div class="content-header">
|
36 |
-
<h3 class="icon-head head-products"><?php echo $this->getHeader() ?></h3>
|
37 |
-
<p class="content-buttons form-buttons"><?php echo $this->getBackButtonHtml() ?>
|
38 |
-
<?php echo $this->getCancelButtonHtml() ?>
|
39 |
-
<?php if($this->getProductId()): ?>
|
40 |
-
<?php echo $this->getPreviewButtonHtml() ?>
|
41 |
-
<?php echo $this->getDeleteButtonHtml() ?>
|
42 |
-
<?php if($this->getProductSetId() && $this->getIsConfigured()): ?>
|
43 |
-
<?php echo $this->getDuplicateButtonHtml() ?>
|
44 |
-
<?php endif; ?>
|
45 |
-
<?php endif; ?>
|
46 |
-
<?php if($this->getProductSetId() && $this->getIsConfigured()): ?>
|
47 |
-
<?php echo $this->getSaveButtonHtml() ?>
|
48 |
-
<?php echo $this->getSaveAndEditButtonHtml() ?>
|
49 |
-
<?php endif; ?>
|
50 |
-
</p>
|
51 |
-
</div>
|
52 |
-
<form action="<?php echo $this->getSaveUrl() ?>" method="post" id="product_edit_form" enctype="multipart/form-data">
|
53 |
-
<?php echo $this->getBlockHtml('formkey')?>
|
54 |
-
<div style="display:none"></div>
|
55 |
-
</form>
|
56 |
-
<script type="text/javascript">
|
57 |
-
//<![CDATA[
|
58 |
-
var productTemplateSyntax = /(^|.|\r|\n)({{(\w+)}})/;
|
59 |
-
var productForm = new varienForm('product_edit_form', '<?php echo $this->getValidationUrl() ?>');
|
60 |
-
productForm._processValidationResult = function(transport) {
|
61 |
-
var response = transport.responseText.evalJSON();
|
62 |
-
if (response.error){
|
63 |
-
if (response.attribute && $(response.attribute)) {
|
64 |
-
$(response.attribute).setHasError(true, productForm);
|
65 |
-
Validation.ajaxError($(response.attribute), response.message);
|
66 |
-
if (!Prototype.Browser.IE){
|
67 |
-
$(response.attribute).focus();
|
68 |
-
}
|
69 |
-
}
|
70 |
-
else if ($('messages')) {
|
71 |
-
$('messages').innerHTML = '<ul class="messages"><li class="error-msg"><ul><li>' + response.message + '</li></ul></li></ul>';
|
72 |
-
}
|
73 |
-
}
|
74 |
-
else{
|
75 |
-
productForm._submit();
|
76 |
-
}
|
77 |
-
};
|
78 |
-
function saveAndContinueEdit(urlTemplate) {
|
79 |
-
var template = new Template(urlTemplate, productTemplateSyntax);
|
80 |
-
var url = template.evaluate({tab_id:product_info_tabsJsTabs.activeTab.id});
|
81 |
-
productForm.submit(url);
|
82 |
-
}
|
83 |
-
function setSettings(urlTemplate, setElement, typeElement) {
|
84 |
-
var template = new Template(urlTemplate, productTemplateSyntax);
|
85 |
-
setLocation(template.evaluate({attribute_set:$F(setElement),type:$F(typeElement)}));
|
86 |
-
}
|
87 |
-
|
88 |
-
function setSuperSettings(urlTemplate, attributesClass, validateField) {
|
89 |
-
var attributesFields = $$('.' + attributesClass);
|
90 |
-
var attributes = Form.serializeElements(attributesFields, true).attribute;
|
91 |
-
if(typeof attributes == 'string') {
|
92 |
-
attributes = [attributes];
|
93 |
-
}
|
94 |
-
|
95 |
-
if(!attributes) {
|
96 |
-
$(validateField).value = 'no-attributes';
|
97 |
-
} else {
|
98 |
-
$(validateField).value = 'has-attributes';
|
99 |
-
}
|
100 |
-
|
101 |
-
if (productForm.validator.validate()) {
|
102 |
-
var template = new Template(urlTemplate, productTemplateSyntax);
|
103 |
-
var url = template.evaluate({
|
104 |
-
attributes: encode_base64(attributes.join(',')).replace(new RegExp('/','g'),'%2F').replace(new RegExp('=','g'),'%3D')
|
105 |
-
});
|
106 |
-
setLocation(url);
|
107 |
-
}
|
108 |
-
}
|
109 |
-
|
110 |
-
function checkMaxLength(Object, MaxLen)
|
111 |
-
{
|
112 |
-
if (Object.value.length > MaxLen-1) {
|
113 |
-
Object.value = Object.value.substr(0, MaxLen);
|
114 |
-
}
|
115 |
-
return 1;
|
116 |
-
}
|
117 |
-
|
118 |
-
Event.observe(window, 'load', function() {
|
119 |
-
var objName = '<?php echo $this->getSelectedTabId() ?>';
|
120 |
-
if (objName) {
|
121 |
-
obj = $(objName);
|
122 |
-
//IE fix (bubbling event model)
|
123 |
-
product_info_tabsJsTabs.setSkipDisplayFirstTab();
|
124 |
-
product_info_tabsJsTabs.showTabContent(obj);
|
125 |
-
}
|
126 |
-
Product.AttributesBridge.setTabsObject(product_info_tabsJsTabs);
|
127 |
-
});
|
128 |
-
|
129 |
-
Validation.addAllThese([
|
130 |
-
['validate-super-product-attributes', '<?php echo Mage::helper('catalog')->__('Please select one or more attributes.') ?>', function(v) {
|
131 |
-
return (v != "no-attributes");
|
132 |
-
}]]);
|
133 |
-
//]]>
|
134 |
-
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/adminhtml/default/default/template/demac_all/notification/window.phtml
DELETED
@@ -1,75 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Demac Media Inc.
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the EULA
|
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://ecommerce.aheadworks.com/LICENSE-M1.txt
|
11 |
-
*
|
12 |
-
* @category Demac
|
13 |
-
* @package Demac_All
|
14 |
-
* @copyright Copyright (c) 20010-2011 aheadWorks Co. (http://www.demacmedia.com)
|
15 |
-
* @license http://www.demacmedia.com/LICENSE.txt
|
16 |
-
*/
|
17 |
-
|
18 |
-
?>
|
19 |
-
<div id="message-popup-window-mask" style="display:none;"></div>
|
20 |
-
|
21 |
-
<div style="position:relative;margin-left:-390px;">
|
22 |
-
<div id="demac_notif" class="notification" style="display:none;">
|
23 |
-
<div class="head">
|
24 |
-
<h3><?php echo $this->getHeaderText();?></h3>
|
25 |
-
<button type="button" class="close" onclick="closeMessagePopupWindow()"><span ><?php echo $this->getCloseText(); ?></span></button>
|
26 |
-
</div>
|
27 |
-
<div class="content">
|
28 |
-
<?php echo $this->getNoticeMessageText(); ?>
|
29 |
-
</div>
|
30 |
-
</div>
|
31 |
-
</div>
|
32 |
-
<script>
|
33 |
-
function showAwNotificator(){
|
34 |
-
openMessagePopupWindow();
|
35 |
-
Effect.Appear('demac_notif', { duration: 1.0 });
|
36 |
-
}
|
37 |
-
Event.observe(window, 'load', showAwNotificator);
|
38 |
-
|
39 |
-
|
40 |
-
function openMessagePopupWindow(){
|
41 |
-
var height = $('html-body').getHeight();
|
42 |
-
$('message-popup-window-mask').setStyle({'height':height+'px'});
|
43 |
-
toggleSelectsUnderBlock($('message-popup-window-mask'), false);
|
44 |
-
Element.show('message-popup-window-mask');
|
45 |
-
}
|
46 |
-
|
47 |
-
function closeMessagePopupWindow()
|
48 |
-
{
|
49 |
-
toggleSelectsUnderBlock($('message-popup-window-mask'), true);
|
50 |
-
Effect.Fade('demac_notif', { duration: 0.5 });
|
51 |
-
Element.hide('message-popup-window-mask');
|
52 |
-
}
|
53 |
-
|
54 |
-
|
55 |
-
function saveCloseMessagePopupWindow()
|
56 |
-
{
|
57 |
-
$('aw-save-button-content').innerHTML = '<?php echo $this->__("Saving, please wait...")?>';
|
58 |
-
$('aw-save-button').addClassName('disabled');
|
59 |
-
$('aw_firstrun').request({
|
60 |
-
onComplete: function(){
|
61 |
-
toggleSelectsUnderBlock($('message-popup-window-mask'), true);
|
62 |
-
Effect.Fade('demac_notif', { duration: 0.5 });
|
63 |
-
Element.hide('message-popup-window-mask');
|
64 |
-
}
|
65 |
-
})
|
66 |
-
|
67 |
-
}
|
68 |
-
|
69 |
-
</script>
|
70 |
-
|
71 |
-
|
72 |
-
<?php /*
|
73 |
-
|
74 |
-
|
75 |
-
*/?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/adminhtml/default/default/template/demac_all/notification/window/first-run.phtml
DELETED
@@ -1,59 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Demac Media Inc.
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the EULA
|
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://ecommerce.aheadworks.com/LICENSE-M1.txt
|
11 |
-
*
|
12 |
-
* @category Demac
|
13 |
-
* @package Demac_All
|
14 |
-
* @copyright Copyright (c) 20010-2011 aheadWorks Co. (http://www.demacmedia.com)
|
15 |
-
* @license http://www.demacmedia.com/LICENSE.txt
|
16 |
-
*/
|
17 |
-
|
18 |
-
?>
|
19 |
-
<form method="post" action="<?php echo $this->getUrl('adminhtml/system_config/save', array('section'=>'demacall'))?>" id="demac_firstrun">
|
20 |
-
<table class="form-list" cellspacing="0">
|
21 |
-
<colgroup class="label"/>
|
22 |
-
<colgroup class="value"/>
|
23 |
-
<tbody>
|
24 |
-
|
25 |
-
<tr>
|
26 |
-
<td class="label">
|
27 |
-
<label for="general_locale_timezone"><?php echo $this->__('I wish to be informed about')?>:</label>
|
28 |
-
</td>
|
29 |
-
<td class="value">
|
30 |
-
|
31 |
-
|
32 |
-
<select name="groups[feed][fields][interests][value][]" style="width:214px" size="6" multiple="multiple" id="interests">
|
33 |
-
<?php foreach(Mage::getModel('demacall/source_updates_type')->getGridOptions() as $k=>$v):?>
|
34 |
-
<option selected="selected" value="<?php echo $k?>"><?php echo $this->__($v)?></option>
|
35 |
-
<?php endforeach;?>
|
36 |
-
</select><br/>
|
37 |
-
<a href="#" onclick="$$($('interests').options).each(function(el){el.selected=1});return false;"><?php echo $this->__("Select all")?></a>
|
38 |
-
/
|
39 |
-
<a href="#" onclick="$('interests').selectedIndex = -1;return false;"><?php echo $this->__("Deselect all")?></a>
|
40 |
-
</td>
|
41 |
-
</tr>
|
42 |
-
<tr>
|
43 |
-
<td class="label"></td>
|
44 |
-
<td class="value">
|
45 |
-
<button id="demac-save-button" class="scalable save" style="" onclick="saveCloseMessagePopupWindow()" type="button">
|
46 |
-
<span id="demac-save-button-content"> <?php echo $this->__('Save & Close')?></span>
|
47 |
-
</button>
|
48 |
-
</td>
|
49 |
-
</tr>
|
50 |
-
<tr>
|
51 |
-
<td colspan="2" align="right">
|
52 |
-
<div style="width:365px"><small><?php echo $this->__("This message appears only once. At any time you can change these preferences
|
53 |
-
from System > Configuration > Demac Media extensions > Info. <br/><a href=\"%s\">Visit it now</a>", $this->getUrl('adminhtml/system_config/edit', array('section'=>'demacall')))?></small>
|
54 |
-
</div>
|
55 |
-
</td>
|
56 |
-
</tr>
|
57 |
-
</tbody>
|
58 |
-
</table>
|
59 |
-
</form>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/etc/modules/Demac_all.xml
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<config>
|
3 |
-
<modules>
|
4 |
-
<Demac_All>
|
5 |
-
<active>true</active>
|
6 |
-
<codePool>local</codePool>
|
7 |
-
</Demac_All>
|
8 |
-
</modules>
|
9 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
package.xml
CHANGED
@@ -1,18 +1,19 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Simple_Product_Preview</name>
|
4 |
-
<version>0.
|
5 |
<stability>stable</stability>
|
6 |
-
<license uri="http://www.opensource.org/licenses/
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
-
<summary>If you like Wordpress
|
10 |
-
<description
|
11 |
-
|
12 |
-
<
|
13 |
-
<
|
14 |
-
<
|
15 |
-
<
|
|
|
16 |
<compatible/>
|
17 |
-
<dependencies><required><php><min>5.2.0</min><max>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Simple_Product_Preview</name>
|
4 |
+
<version>0.2.0</version>
|
5 |
<stability>stable</stability>
|
6 |
+
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
+
<summary>If you like Wordpress "Preview Post" functionality, then this extension is for you.</summary>
|
10 |
+
<description><p>One thing we all absolutely love about Wordpress is the simple "Preview Post" link that is available on each post in the admin.  This extension adds a "Preview" product button to each product page in the backend of Magento.</p>
|
11 |
+
<p>This is largely an extension of convenience that came out of us not wanting to search for products on the front-end while we were editing them.</p></description>
|
12 |
+
<notes>Updated Release, Several Fixes including compatibility with CE 1.6 and Magento Connect 2.0</notes>
|
13 |
+
<authors><author><name>Demac Media</name><user>demacmedia</user><email>mbertulli@demacmedia.com</email></author></authors>
|
14 |
+
<date>2011-11-11</date>
|
15 |
+
<time>01:31:53</time>
|
16 |
+
<contents><target name="magelocal"><dir name="Demac"><dir name="Adminhtml"><dir name="Block"><dir name="Catalog"><dir name="Product"><file name="Edit.php" hash="692ca31b263d5f01efeb7e6053e795a1"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="050a4f7e61da7253a6c0cec0cb9351e3"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Demac_Adminhtml.xml" hash="b3eda708c1ba49ccc0550e8018463b32"/></dir></target></contents>
|
17 |
<compatible/>
|
18 |
+
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
19 |
</package>
|