Source of file FormFile.php
Size: 2,330 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Form/View/Helper/FormFile.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Form\View\Helper; use Zend\Form\ElementInterface; use Zend\Form\Exception; class FormFile extends FormInput { /** * Attributes valid for the input tag type="file" * * @var array */ protected $validTagAttributes = array( 'name' => true, 'accept' => true, 'autofocus' => true, 'disabled' => true, 'form' => true, 'multiple' => true, 'required' => true, 'type' => true, ); /** * Render a form <input> element from the provided $element * * @param ElementInterface $element * @throws Exception\DomainException * @return string */ public function render(ElementInterface $element) { $name = $element->getName(); if ($name === null || $name === '') { throw new Exception\DomainException(sprintf( '%s requires that the element has an assigned name; none discovered', __METHOD__ )); } $attributes = $element->getAttributes(); $attributes['type'] = $this->getType($element); $attributes['name'] = $name; if (array_key_exists('multiple', $attributes) && $attributes['multiple']) { $attributes['name'] .= '[]'; } $value = $element->getValue(); if (is_array($value) && isset($value['name']) && !is_array($value['name'])) { $attributes['value'] = $value['name']; } elseif (is_string($value)) { $attributes['value'] = $value; } return sprintf( '<input %s%s', $this->createAttributesString($attributes), $this->getInlineClosingBracket() ); } /** * Determine input type to use * * @param ElementInterface $element * @return string */ protected function getType(ElementInterface $element) { return 'file'; } } |