[TASK] Streamline phpdoc annotations in EXT:fluid
[Packages/TYPO3.CMS.git] / typo3 / sysext / fluid / Classes / ViewHelpers / Form / UploadViewHelper.php
index 4342441..09ea8f8 100644 (file)
@@ -1,25 +1,19 @@
 <?php
 namespace TYPO3\CMS\Fluid\ViewHelpers\Form;
 
-/*                                                                        *
- * This script is backported from the TYPO3 Flow package "TYPO3.Fluid".   *
- *                                                                        *
- * It is free software; you can redistribute it and/or modify it under    *
- * the terms of the GNU Lesser General Public License, either version 3   *
- *  of the License, or (at your option) any later version.                *
- *                                                                        *
- *                                                                        *
- * This script is distributed in the hope that it will be useful, but     *
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-    *
- * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser       *
- * General Public License for more details.                               *
- *                                                                        *
- * You should have received a copy of the GNU Lesser General Public       *
- * License along with the script.                                         *
- * If not, see http://www.gnu.org/licenses/lgpl.html                      *
- *                                                                        *
- * The TYPO3 project - inspiring people to share!                         *
- *                                                                        */
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
 /**
  * A view helper which generates an <input type="file"> HTML element.
  * Make sure to set enctype="multipart/form-data" on the form!
@@ -32,46 +26,47 @@ namespace TYPO3\CMS\Fluid\ViewHelpers\Form;
  * <output>
  * <input type="file" name="file" />
  * </output>
- *
- * @api
  */
-class UploadViewHelper extends \TYPO3\CMS\Fluid\ViewHelpers\Form\AbstractFormFieldViewHelper {
+class UploadViewHelper extends \TYPO3\CMS\Fluid\ViewHelpers\Form\AbstractFormFieldViewHelper
+{
+    /**
+     * @var string
+     */
+    protected $tagName = 'input';
 
-       /**
-        * @var string
-        */
-       protected $tagName = 'input';
+    /**
+     * Initialize the arguments.
+     */
+    public function initializeArguments()
+    {
+        parent::initializeArguments();
+        $this->registerTagAttribute('disabled', 'string', 'Specifies that the input element should be disabled when the page loads');
+        $this->registerTagAttribute('multiple', 'string', 'Specifies that the file input element should allow multiple selection of files');
+        $this->registerArgument('errorClass', 'string', 'CSS class to set if there are errors for this view helper', false, 'f3-form-error');
+        $this->registerUniversalTagAttributes();
+    }
 
-       /**
-        * Initialize the arguments.
-        *
-        * @return void
-        * @api
-        */
-       public function initializeArguments() {
-               parent::initializeArguments();
-               $this->registerTagAttribute('disabled', 'string', 'Specifies that the input element should be disabled when the page loads');
-               $this->registerArgument('errorClass', 'string', 'CSS class to set if there are errors for this view helper', FALSE, 'f3-form-error');
-               $this->registerUniversalTagAttributes();
-       }
+    /**
+     * Renders the upload field.
+     *
+     * @return string
+     */
+    public function render()
+    {
+        $name = $this->getName();
+        $allowedFields = ['name', 'type', 'tmp_name', 'error', 'size'];
+        foreach ($allowedFields as $fieldName) {
+            $this->registerFieldNameForFormTokenGeneration($name . '[' . $fieldName . ']');
+        }
+        $this->tag->addAttribute('type', 'file');
 
-       /**
-        * Renders the upload field.
-        *
-        * @return string
-        * @api
-        */
-       public function render() {
-               $name = $this->getName();
-               $allowedFields = array('name', 'type', 'tmp_name', 'error', 'size');
-               foreach ($allowedFields as $fieldName) {
-                       $this->registerFieldNameForFormTokenGeneration($name . '[' . $fieldName . ']');
-               }
-               $this->tag->addAttribute('type', 'file');
-               $this->tag->addAttribute('name', $name);
-               $this->setErrorClassAttribute();
-               return $this->tag->render();
-       }
-}
+        if (isset($this->arguments['multiple'])) {
+            $this->tag->addAttribute('name', $name . '[]');
+        } else {
+            $this->tag->addAttribute('name', $name);
+        }
 
-?>
\ No newline at end of file
+        $this->setErrorClassAttribute();
+        return $this->tag->render();
+    }
+}