1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- /*
- * This file is part of the symfony package.
- * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- /**
- * sfWidgetFormInputCheckbox represents an HTML checkbox tag.
- *
- * @package symfony
- * @subpackage widget
- * @author Fabien Potencier <fabien.potencier@symfony-project.com>
- * @version SVN: $Id: sfWidgetFormInputCheckbox.class.php 11279 2008-09-01 13:33:04Z nicolas $
- */
- class sfWidgetFormInputCheckbox extends sfWidgetFormInput
- {
- /**
- * Constructor.
- *
- * Available options:
- *
- * - value_attribute_value: The "value" attribute value to set for the checkbox
- *
- * @param array $options An array of options
- * @param array $attributes An array of default HTML attributes
- *
- * @see sfWidgetFormInput
- */
- public function __construct($options = array(), $attributes = array())
- {
- $this->addOption('value_attribute_value');
- parent::__construct($options, $attributes);
- }
- /**
- * @param array $options An array of options
- * @param array $attributes An array of default HTML attributes
- *
- * @see sfWidgetFormInput
- */
- protected function configure($options = array(), $attributes = array())
- {
- parent::configure($options, $attributes);
- $this->setOption('type', 'checkbox');
- if (isset($attributes['value']))
- {
- $this->setOption('value_attribute_value', $attributes['value']);
- }
- }
- /**
- * @param string $name The element name
- * @param string $value The this widget is checked if value is not null
- * @param array $attributes An array of HTML attributes to be merged with the default HTML attributes
- * @param array $errors An array of errors for the field
- *
- * @return string An HTML tag string
- *
- * @see sfWidgetForm
- */
- public function render($name, $value = null, $attributes = array(), $errors = array())
- {
- if (!is_null($value) && $value !== false)
- {
- $attributes['checked'] = 'checked';
- }
- if (!isset($attributes['value']) && !is_null($this->getOption('value_attribute_value')))
- {
- $attributes['value'] = $this->getOption('value_attribute_value');
- }
- return parent::render($name, null, $attributes, $errors);
- }
- }
|