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_XmlConnect
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: * Customer date field form xml renderer
29: *
30: * @category Mage
31: * @package Mage_XmlConnect
32: * @author Magento Core Team <core@magentocommerce.com>
33: */
34: class Mage_XmlConnect_Block_Customer_Form_Renderer_Date extends Enterprise_Customer_Block_Form_Renderer_Date
35: {
36: /**
37: * Field type
38: *
39: * @var string
40: */
41: protected $_filedType = 'date';
42:
43: /**
44: * Prepare values for renderer
45: *
46: * @return array
47: */
48: protected function _prepareValues()
49: {
50: return array('day' => array(
51: 'id' => $this->getHtmlId('day'),
52: 'title' => $this->__('Day'),
53: 'label' => $this->__('DD'),
54: 'value' => $this->getDay()
55: ), 'month' => array(
56: 'id' => $this->getHtmlId('month'),
57: 'title' => $this->__('Month'),
58: 'label' => $this->__('MM'),
59: 'value' => $this->getMonth()
60: ), 'year' => array(
61: 'id' => $this->getHtmlId('year'),
62: 'title' => $this->__('Year'),
63: 'label' => $this->__('YYYY'),
64: 'value' => $this->getYear()
65: ));
66: }
67:
68: /**
69: * Add date field to fieldset xml object
70: *
71: * @param Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $fieldsetXmlObj
72: * @return Mage_XmlConnect_Block_Customer_Form_Renderer_Date
73: */
74: public function addFieldToXmlObj(Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $fieldsetXmlObj)
75: {
76: $attributes = array(
77: 'label' => $this->getLabel(),
78: 'name' => $this->getFieldName(),
79: 'format'=> $this->getDateFormat(),
80: 'value' => $this->_prepareValues()
81: );
82:
83: $attributes += Mage::helper('xmlconnect/customer_form_renderer')
84: ->addTitleAndRequiredAttr($fieldsetXmlObj, $this);
85: $fieldXmlObj = $fieldsetXmlObj->addField($this->getHtmlId('full'), $this->_filedType, $attributes);
86: $validateRules = $this->getAttributeObject()->getValidateRules();
87:
88: if (!empty($validateRules)) {
89: $validatorXmlObj = $fieldXmlObj->addValidator();
90: if (!empty($validateRules['input_validation'])) {
91: $validatorXmlObj->addRule(array('type' => $validateRules['input_validation']));
92: }
93: }
94:
95: return $this;
96: }
97: }
98: