Get textarea field without model,
and with name and value.

@return string
963067
protected function getTextarea(): string
    {
        return Html::textarea($this->name, $this->value, $this->options);
    }
1315327
public function getWrapBefore ()
    {
        $dataFields = $this->getDataFieldsHTML();
        $errors     = join(array_map(function ($errorMsg) {
            return Form::renderFormError($errorMsg);
        }, $this->getFormErrors()));
        return "<form " . $this->getAttributesString() . ">" . $errors . $dataFields;
    }
648123
protected function getRawValue()
    {
        $value = null;

        $data = &$this->getForm()->getFormData();

        if ($this->autocomplete) {
            $id = $this->id;
            if (isset($data[$id]) && $data[$id] != '') {
                $value = $data[$id];
            }
        } else {
            if (isset($data[$this->id . '_nonce'])) {
                $id = $data[$this->id . '_nonce'];
                if (isset($data[$id]) && $data[$id] != '') {
                    $value = $data[$id];
                }
            }
        }

        return $value;
    }
674544
protected function getInput()
	{
		$html = array();
		$attr = '';

		// Initialize some field attributes.
		$attr .= $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : '';
		$attr .= ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : '';
		$attr .= $this->element['size'] ? ' size="' . (int) $this->element['size'] . '"' : '';
		$attr .= $this->multiple ? ' multiple="multiple"' : '';

		// Initialize JavaScript field attributes.
		$attr .= $this->element['onchange'] ? ' onchange="' . (string) $this->element['onchange'] . '"' : '';

		// Get the field groups.
		$groups = (array) $this->getGroups();

		// Create a read-only list (no name) with a hidden input to store the value.
		if ((string) $this->element['readonly'] == 'true')
		{
			$html[] = HtmlSelect::groupedlist(
				$groups,
				null,
				array(
					'list.attr' => $attr, 'id' => $this->id, 'list.select' => $this->value, 'group.items' => null, 'option.key.toHtml' => false,
					'option.text.toHtml' => false
				)
			);
			$html[] = '<input type="hidden" name="' . $this->name . '" value="' . $this->value . '"/>';
		}
		else
		// Create a regular list.
		{
			$html[] = HtmlSelect::groupedlist(
				$groups,
				$this->name,
				array(
					'list.attr' => $attr, 'id' => $this->id, 'list.select' => $this->value, 'group.items' => null, 'option.key.toHtml' => false,
					'option.text.toHtml' => false
				)
			);
		}

		return implode($html);
	}
72100
public final String getTextOrField() {
        final String text = getText();
        if (text == null) {
            return field.getName();
        }
        return text;
    }
350841
protected function getInput()
	{
		// Initialize variables.
		$html = array();
		$attr = '';

		// Initialize some field attributes.
		$attr .= $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : '';

		// To avoid user's confusion, readonly="true" should imply disabled="true".
		if ((string) $this->element['readonly'] == 'true' || (string) $this->element['disabled'] == 'true')
		{
			$attr .= ' disabled="disabled"';
		}

		$attr .= $this->element['size'] ? ' size="' . (int) $this->element['size'] . '"' : '';
		$attr .= $this->multiple ? ' multiple="multiple"' : '';

		// Initialize JavaScript field attributes.
		$attr .= $this->element['onchange'] ? ' onchange="' . (string) $this->element['onchange'] . '"' : '';

		// Get the field options.
		$options = (array) $this->getOptions();

		// Create a read-only list (no name) with a hidden input to store the value.
		if ((string) $this->element['readonly'] == 'true')
		{
			$html[] = Dropdown::genericlist($options, '', trim($attr), 'value', 'text', $this->value, $this->id);
			$html[] = '<input type="hidden" name="' . $this->name . '" value="' . htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8') . '" />';
		}
		// Create a regular list.
		else
		{
			$html[] = Dropdown::genericlist($options, $this->name, trim($attr), 'value', 'text', $this->value, $this->id);

			if ($this->element['option_other'])
			{
				$found = false;

				foreach ($options as $option)
				{
					if ($option->value == $this->value)
					{
						$found = true;
					}
				}
				$html[] = '<input type="text" name="' . $this->getName($this->fieldname . '_other') . '" value="' . ($found ? '' : htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8')) . '" placeholder="' . (empty($this->placeholder) ?  App::get('language')->txt('Other...') : htmlspecialchars($this->placeholder, ENT_COMPAT, 'UTF-8')) . '" />';
			}
		}

		return implode($html);
	}
1186433
public function outputElement() : string
    {
        $atts = [];
        foreach ($this->attributes as $name => $value) {
            $atts[] = $name . '="' . $value . '"';
        }
        $return = '<textarea ' . implode(' ', $atts) . '>' . "\n";
        $return .= $this->getValue();
        $return .= '</textarea>';
        return $return;
    }
128375
protected function getFormData()
    {
        $data = array();
        $inputTagNames = array('input', 'textarea', 'select');
        $skipNames = array('ext', 'form');

        /** @var DOMElement $element */
        $element = $this->xml->getElementsByTagName('form')->item(0);
        $elements = $element->getElementsByTagName('*');

        for ($i = 0; $i < $elements->length; $i++)
        {
            $element = $elements->item($i);

            $isElement = $element->nodeType == XML_ELEMENT_NODE;
            $isInputTag = $isElement && in_array($element->nodeName, $inputTagNames);

            if ($isInputTag)
            {
                $name = $element->getAttribute('name');
                if (in_array($name, $skipNames))
                {
                    continue;
                }
                if ($name)
                {
                    if ($element->getAttribute('type') == 'file')
                    {
                        $data[$name]['file'] = $_FILES[$name];
                    }
                    else
                    {
                        $data[$name]['data'] = arg($name);
                    }
                    $data[$name]['label'] = $this->getLabelAttr($element);
                    if (!$data[$name]['label'])
                    {
                        $data[$name]['label'] = $name;
                    }

                    switch ($element->nodeName)
                    {
                        case 'input':
                            switch ($element->getAttribute('type'))
                            {
                                case 'checkbox':
                                    $data[$name]['data'] = $data[$name]['data'] ? strYes : strNo;
                                    break;
                            }
                            break;
                    }
                }
            }
        }

        return $data;
    }
494639
public function textarea(String $name = NULL, String $value = NULL, Array $_attributes = [])
    {
        $this->setNameAttribute($name);

        $this->setValueAttribute($value);

        if( ! empty($this->settings['attr']['name']) )
        {
            $this->_postback($this->settings['attr']['name'], $value);

            # 5.8.2.8[added]
            $this->getVMethodMessages();

            # 5.4.2[added]
            $this->_validate($this->settings['attr']['name'], $this->settings['attr']['name']);
            
            # 5.4.2[added]|5.4.5|5.4.6[edited]
            $value = $this->_getrow('textarea', $value, $this->settings['attr']);
        }

        $this->commonMethodsForInputElements('textarea');

        $this->getPermAttribute($perm);

        $this->createTextareaElementByValueAndAttributes($value, $_attributes, $return);

        $this->createBootstrapFormInputElementByType('textarea', $return, $_attributes, $return);

        $this->outputElement .= $this->_perm($perm, $return);

        return $this;
    }
931438
public function textarea($name = null, $value = null) 
	{
		Argument::i()
			->test(1, 'string', 'null')
			->test(2, 'scalar', 'null');
			
		$field = Textarea::i();
		
		if(!is_null($name)) {
			$field->setName($name);
		}
		
		if(!is_null($value)) {
			$field->setValue($value);
		}
		
		return $field;
	}
441283
private function getValueFromField()
    {
        $position = $this->readUntil($this->boundary);

        # there is always a newline after the value and before the boundary
        # exclude that newline from the value
        $value = substr($this->buffer, 0, $position - 2);

        # update the buffer to exclude the value and the pre boundary newline
        $this->buffer = substr($this->buffer, $position);

        return $value;
    }
1008259
private function getFieldValue()
  {
    $model = $this->modelController->getModel();
    $fieldName = str_replace('model/','', $this->props->name);
    return $model->$fieldName;
  }
198672
protected function renderEmptyHiddenFields()
    {
        $result = '';
        if ($this->viewHelperVariableContainer->exists(\Neos\FluidAdaptor\ViewHelpers\FormViewHelper::class, 'emptyHiddenFieldNames')) {
            $emptyHiddenFieldNames = $this->viewHelperVariableContainer->get(\Neos\FluidAdaptor\ViewHelpers\FormViewHelper::class, 'emptyHiddenFieldNames');
            foreach ($emptyHiddenFieldNames as $hiddenFieldName => $disabled) {
                $disabledAttribute = $disabled !== false ? ' disabled="' . htmlspecialchars($disabled) . '"' : '';
                $result .= '<input type="hidden" name="' . htmlspecialchars($hiddenFieldName) . '" value=""' . $disabledAttribute . ' />' . chr(10);
            }
        }
        return $result;
    }
632682
private function getFieldName()
    {
        $environment   = $this->getEnvironment();
        $inputProvider = $environment->getInputProvider();

        $fieldName = $inputProvider->hasValue('name') ? $inputProvider->getValue('name') : null;
        if (null === $fieldName) {
            return $fieldName;
        }

        if (('select' !== $inputProvider->getParameter('act'))
            && ('edit' !== $inputProvider->getParameter('mode'))
        ) {
            return $fieldName;
        }

        $dataDefinition = $environment->getDataDefinition();
        $sessionStorage = $environment->getSessionStorage();

        $session = $sessionStorage->get($dataDefinition->getName() . '.' . $inputProvider->getParameter('select'));

        $originalPropertyName = null;
        foreach ($session['models'] as $modelId) {
            if (null !== $originalPropertyName) {
                break;
            }

            $propertyNamePrefix = \str_replace('::', '____', $modelId) . '_';
            if (0 !== strpos($fieldName, $propertyNamePrefix)) {
                continue;
            }

            $originalPropertyName = \substr($fieldName, \strlen($propertyNamePrefix));
        }

        if (!$originalPropertyName) {
            return $fieldName;
        }

        return $originalPropertyName;
    }
1079009
public function renderFields()
    {
        $result = '';
        foreach ($this->fields as $field => $value) {
            $result .= '<input type="hidden" name="' . $field . '" value="' . $value . '"/>' . "\r\n";
        }

        return $result;
    }
1157112
protected function getAttributeLatitude()
    {
        $attribute = array_get($this->formFieldData->options(), 'latitude_name', 'latitude');

        if ( ! $attribute) {
            $attribute = false;
        }

        return $attribute;
    }
22264
protected function SaveElement()
    {
        $this->textarea->SetLabel($this->Value('Label'));
        $this->textarea->SetName($this->Value('Name'));
        $this->textarea->SetValue($this->Value('Value'));
        $this->textarea->SetPattern($this->Value('Pattern'));
        $this->textarea->SetMinLength((int)$this->Value('MinLength'));
        $this->textarea->SetMaxLength((int)$this->Value('MaxLength'));
        $this->textarea->SetRequired((bool)$this->Value('Required'));
        $this->textarea->SetDisableFrontendValidation((bool)$this->Value('DisableFrontendValidation'));
        return $this->textarea;
    }