| Server IP : 213.186.33.4 / Your IP : 216.73.216.193 Web Server : Apache System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : awebpaca ( 35430) PHP Version : 8.5.0 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/awebpaca/boutiques/app/code/core/Mage/Adminhtml/Block/Widget/ |
Upload File : |
<?php
/**
* Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magentocommerce.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magentocommerce.com for more information.
*
* @category Mage
* @package Mage_Adminhtml
* @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
/**
* Admin form widget
*
* @category Mage
* @package Mage_Adminhtml
* @author Magento Core Team <core@magentocommerce.com>
*/
class Mage_Adminhtml_Block_Widget_Form extends Mage_Adminhtml_Block_Widget
{
/**
* Form Object
*
* @var Varien_Data_Form
*/
protected $_form;
/**
* Class constructor
*
*/
protected function _construct()
{
parent::_construct();
$this->setTemplate('widget/form.phtml');
$this->setDestElementId('edit_form');
$this->setShowGlobalIcon(false);
}
/**
* Preparing global layout
*
* You can redefine this method in child classes for changin layout
*
* @return Mage_Core_Block_Abstract
*/
protected function _prepareLayout()
{
Varien_Data_Form::setElementRenderer(
$this->getLayout()->createBlock('adminhtml/widget_form_renderer_element')
);
Varien_Data_Form::setFieldsetRenderer(
$this->getLayout()->createBlock('adminhtml/widget_form_renderer_fieldset')
);
Varien_Data_Form::setFieldsetElementRenderer(
$this->getLayout()->createBlock('adminhtml/widget_form_renderer_fieldset_element')
);
return parent::_prepareLayout();
}
/**
* Get form object
*
* @return Varien_Data_Form
*/
public function getForm()
{
return $this->_form;
}
/**
* Get form object
*
* @deprecated deprecated since version 1.2
* @see getForm()
* @return Varien_Data_Form
*/
public function getFormObject()
{
return $this->getForm();
}
/**
* Get form HTML
*
* @return string
*/
public function getFormHtml()
{
if (is_object($this->getForm())) {
return $this->getForm()->getHtml();
}
return '';
}
/**
* Set form object
*
* @param Varien_Data_Form $form
* @return Mage_Adminhtml_Block_Widget_Form
*/
public function setForm(Varien_Data_Form $form)
{
$this->_form = $form;
$this->_form->setParent($this);
$this->_form->setBaseUrl(Mage::getBaseUrl());
return $this;
}
/**
* Prepare form before rendering HTML
*
* @return Mage_Adminhtml_Block_Widget_Form
*/
protected function _prepareForm()
{
return $this;
}
/**
* This method is called before rendering HTML
*
* @return Mage_Adminhtml_Block_Widget_Form
*/
protected function _beforeToHtml()
{
$this->_prepareForm();
$this->_initFormValues();
return parent::_beforeToHtml();
}
/**
* Initialize form fileds values
* Method will be called after prepareForm and can be used for field values initialization
*
* @return Mage_Adminhtml_Block_Widget_Form
*/
protected function _initFormValues()
{
return $this;
}
/**
* Set Fieldset to Form
*
* @param array $attributes attributes that are to be added
* @param Varien_Data_Form_Element_Fieldset $fieldset
* @param array $exclude attributes that should be skipped
*/
protected function _setFieldset($attributes, $fieldset, $exclude=array())
{
$this->_addElementTypes($fieldset);
foreach ($attributes as $attribute) {
/* @var $attribute Mage_Eav_Model_Entity_Attribute */
if (!$attribute || ($attribute->hasIsVisible() && !$attribute->getIsVisible())) {
continue;
}
if ( ($inputType = $attribute->getFrontend()->getInputType())
&& !in_array($attribute->getAttributeCode(), $exclude)
&& ('media_image' != $inputType)
) {
$fieldType = $inputType;
$rendererClass = $attribute->getFrontend()->getInputRendererClass();
if (!empty($rendererClass)) {
$fieldType = $inputType . '_' . $attribute->getAttributeCode();
$fieldset->addType($fieldType, $rendererClass);
}
$element = $fieldset->addField($attribute->getAttributeCode(), $fieldType,
array(
'name' => $attribute->getAttributeCode(),
'label' => $attribute->getFrontend()->getLabel(),
'class' => $attribute->getFrontend()->getClass(),
'required' => $attribute->getIsRequired(),
'note' => $attribute->getNote(),
)
)
->setEntityAttribute($attribute);
$element->setAfterElementHtml($this->_getAdditionalElementHtml($element));
if ($inputType == 'select' || $inputType == 'multiselect') {
$element->setValues($attribute->getSource()->getAllOptions(true, true));
} elseif ($inputType == 'date') {
$element->setImage($this->getSkinUrl('images/grid-cal.gif'));
$element->setFormat(Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT));
}
}
}
}
/**
* Add new element type
*
* @param Varien_Data_Form_Abstract $baseElement
*/
protected function _addElementTypes(Varien_Data_Form_Abstract $baseElement)
{
$types = $this->_getAdditionalElementTypes();
foreach ($types as $code => $className) {
$baseElement->addType($code, $className);
}
}
/**
* Retrieve predefined additional element types
*
* @return array
*/
protected function _getAdditionalElementTypes()
{
return array();
}
/**
* Enter description here...
*
* @param Varien_Data_Form_Element_Abstract $element
* @return string
*/
protected function _getAdditionalElementHtml($element)
{
return '';
}
}