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_Catalog
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: * Product attribute source input types
29: *
30: * @category Mage
31: * @package Mage_Eav
32: * @author Magento Core Team <core@magentocommerce.com>
33: */class Mage_Catalog_Model_Product_Attribute_Source_Inputtype extends Mage_Eav_Model_Adminhtml_System_Config_Source_Inputtype
34: {
35: /**
36: * Get product input types as option array
37: *
38: * @return array
39: */
40: public function toOptionArray()
41: {
42: $inputTypes = array(
43: array(
44: 'value' => 'price',
45: 'label' => Mage::helper('catalog')->__('Price')
46: ),
47: array(
48: 'value' => 'media_image',
49: 'label' => Mage::helper('catalog')->__('Media Image')
50: )
51: );
52:
53: $response = new Varien_Object();
54: $response->setTypes(array());
55: Mage::dispatchEvent('adminhtml_product_attribute_types', array('response'=>$response));
56: $_disabledTypes = array();
57: $_hiddenFields = array();
58: foreach ($response->getTypes() as $type) {
59: $inputTypes[] = $type;
60: if (isset($type['hide_fields'])) {
61: $_hiddenFields[$type['value']] = $type['hide_fields'];
62: }
63: if (isset($type['disabled_types'])) {
64: $_disabledTypes[$type['value']] = $type['disabled_types'];
65: }
66: }
67:
68: if (Mage::registry('attribute_type_hidden_fields') === null) {
69: Mage::register('attribute_type_hidden_fields', $_hiddenFields);
70: }
71: if (Mage::registry('attribute_type_disabled_types') === null) {
72: Mage::register('attribute_type_disabled_types', $_disabledTypes);
73: }
74:
75: return array_merge(parent::toOptionArray(), $inputTypes);
76: }
77: }
78: