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_Downloadable
23: * @copyright Copyright (c) 2012 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: * Adminhtml catalog product downloadable items tab and form
29: *
30: * @category Mage
31: * @package Mage_Downloadable
32: * @author Magento Core Team <core@magentocommerce.com>
33: */
34: class Mage_Downloadable_Block_Adminhtml_Catalog_Product_Edit_Tab_Downloadable
35: extends Mage_Adminhtml_Block_Widget implements Mage_Adminhtml_Block_Widget_Tab_Interface
36: {
37:
38: /**
39: * Reference to product objects that is being edited
40: *
41: * @var Mage_Catalog_Model_Product
42: */
43: protected $_product = null;
44:
45: protected $_config = null;
46:
47: /**
48: * Class constructor
49: *
50: */
51: public function __construct()
52: {
53: parent::__construct();
54: // $this->setSkipGenerateContent(true);
55: $this->setTemplate('downloadable/product/edit/downloadable.phtml');
56: }
57:
58: /**
59: * Get tab URL
60: *
61: * @return string
62: */
63: // public function getTabUrl()
64: // {
65: // return $this->getUrl('downloadable/product_edit/form', array('_current' => true));
66: // }
67:
68: /**
69: * Get tab class
70: *
71: * @return string
72: */
73: // public function getTabClass()
74: // {
75: // return 'ajax';
76: // }
77:
78: /**
79: * Check is readonly block
80: *
81: * @return boolean
82: */
83: public function isReadonly()
84: {
85: return $this->getProduct()->getDownloadableReadonly();
86: }
87:
88: /**
89: * Retrieve product
90: *
91: * @return Mage_Catalog_Model_Product
92: */
93: public function getProduct()
94: {
95: return Mage::registry('current_product');
96: }
97:
98: /**
99: * Get tab label
100: *
101: * @return string
102: */
103: public function getTabLabel()
104: {
105: return Mage::helper('downloadable')->__('Downloadable Information');
106: }
107:
108: /**
109: * Get tab title
110: *
111: * @return string
112: */
113: public function getTabTitle()
114: {
115: return Mage::helper('downloadable')->__('Downloadable Information');
116: }
117:
118: /**
119: * Check if tab can be displayed
120: *
121: * @return boolean
122: */
123: public function canShowTab()
124: {
125: return true;
126: }
127:
128: /**
129: * Check if tab is hidden
130: *
131: * @return boolean
132: */
133: public function isHidden()
134: {
135: return false;
136: }
137:
138: /**
139: * Render block HTML
140: *
141: * @return string
142: */
143: protected function _toHtml()
144: {
145: $accordion = $this->getLayout()->createBlock('adminhtml/widget_accordion')
146: ->setId('downloadableInfo');
147:
148: $accordion->addItem('samples', array(
149: 'title' => Mage::helper('adminhtml')->__('Samples'),
150: 'content' => $this->getLayout()
151: ->createBlock('downloadable/adminhtml_catalog_product_edit_tab_downloadable_samples')->toHtml(),
152: 'open' => false,
153: ));
154:
155: $accordion->addItem('links', array(
156: 'title' => Mage::helper('adminhtml')->__('Links'),
157: 'content' => $this->getLayout()->createBlock(
158: 'downloadable/adminhtml_catalog_product_edit_tab_downloadable_links',
159: 'catalog.product.edit.tab.downloadable.links')->toHtml(),
160: 'open' => true,
161: ));
162:
163: $this->setChild('accordion', $accordion);
164:
165: return parent::_toHtml();
166: }
167:
168: }
169: