public function generate()
	{
		$strType = $this->hideInput ? 'password' : 'text';

		if (!$this->multiple)
		{
			// Hide the Punycode format (see #2750)
			if ($this->rgxp == 'url')
			{
				try
				{
					$this->varValue = Idna::decodeUrl($this->varValue);
				}
				catch (\InvalidArgumentException $e) {}
			}
			elseif ($this->rgxp == 'email' || $this->rgxp == 'friendly')
			{
				$this->varValue = Idna::decodeEmail($this->varValue);
			}

			return sprintf('<input type="%s" name="%s" id="ctrl_%s" class="tl_text%s" value="%s"%s onfocus="Backend.getScrollOffset()">%s',
							$strType,
							$this->strName,
							$this->strId,
							(($this->strClass != '') ? ' ' . $this->strClass : ''),
							StringUtil::specialchars($this->varValue),
							$this->getAttributes(),
							$this->wizard);
		}

		// Return if field size is missing
		if (!$this->size)
		{
			return '';
		}

		if (!\is_array($this->varValue))
		{
			$this->varValue = array($this->varValue);
		}

		$arrFields = array();

		for ($i=0; $i<$this->size; $i++)
		{
			$arrFields[] = sprintf('<input type="%s" name="%s[]" id="ctrl_%s" class="tl_text_%s" value="%s"%s onfocus="Backend.getScrollOffset()">',
									$strType,
									$this->strName,
									$this->strId.'_'.$i,
									$this->size,
									StringUtil::specialchars(@$this->varValue[$i]), // see #4979
									$this->getAttributes());
		}

		return sprintf('<div id="ctrl_%s" class="tl_text_field%s">%s</div>%s',
						$this->strId,
						(($this->strClass != '') ? ' ' . $this->strClass : ''),
						implode(' ', $arrFields),
						$this->wizard);
	}
public function generate()
	{
		$strType = $this->hideInput ? 'password' : 'text';

		if (!$this->multiple)
		{
			
			if ($this->rgxp == 'url')
			{
				try
				{
					$this->varValue = Idna::decodeUrl($this->varValue);
				}
				catch (\InvalidArgumentException $e) {}
			}
			elseif ($this->rgxp == 'email' || $this->rgxp == 'friendly')
			{
				$this->varValue = Idna::decodeEmail($this->varValue);
			}

			return sprintf('<input type="%s" name="%s" id="ctrl_%s" class="tl_text%s" value="%s"%s onfocus="Backend.getScrollOffset()">%s',
							$strType,
							$this->strName,
							$this->strId,
							(($this->strClass != '') ? ' ' . $this->strClass : ''),
							StringUtil::specialchars($this->varValue),
							$this->getAttributes(),
							$this->wizard);
		}

		
		if (!$this->size)
		{
			return '';
		}

		if (!\is_array($this->varValue))
		{
			$this->varValue = array($this->varValue);
		}

		$arrFields = array();

		for ($i=0; $i<$this->size; $i++)
		{
			$arrFields[] = sprintf('<input type="%s" name="%s[]" id="ctrl_%s" class="tl_text_%s" value="%s"%s onfocus="Backend.getScrollOffset()">',
									$strType,
									$this->strName,
									$this->strId.'_'.$i,
									$this->size,
									StringUtil::specialchars(@$this->varValue[$i]), 
									$this->getAttributes());
		}

		return sprintf('<div id="ctrl_%s" class="tl_text_field%s">%s</div>%s',
						$this->strId,
						(($this->strClass != '') ? ' ' . $this->strClass : ''),
						implode(' ', $arrFields),
						$this->wizard);
	}
public function generate ( ) { $ strType = $ this -> hideInput ? 'password' : 'text' ; if ( ! $ this -> multiple ) { // Hide the Punycode format (see #2750) if ( $ this -> rgxp == 'url' ) { try { $ this -> varValue = Idna :: decodeUrl ( $ this -> varValue ) ; } catch ( \ InvalidArgumentException $ e ) { } } elseif ( $ this -> rgxp == 'email' || $ this -> rgxp == 'friendly' ) { $ this -> varValue = Idna :: decodeEmail ( $ this -> varValue ) ; } return sprintf ( '<input type="%s" name="%s" id="ctrl_%s" class="tl_text%s" value="%s"%s onfocus="Backend.getScrollOffset()">%s' , $ strType , $ this -> strName , $ this -> strId , ( ( $ this -> strClass != '' ) ? ' ' . $ this -> strClass : '' ) , StringUtil :: specialchars ( $ this -> varValue ) , $ this -> getAttributes ( ) , $ this -> wizard ) ; } // Return if field size is missing if ( ! $ this -> size ) { return '' ; } if ( ! \ is_array ( $ this -> varValue ) ) { $ this -> varValue = array ( $ this -> varValue ) ; } $ arrFields = array ( ) ; for ( $ i = 0 ; $ i < $ this -> size ; $ i ++ ) { $ arrFields [ ] = sprintf ( '<input type="%s" name="%s[]" id="ctrl_%s" class="tl_text_%s" value="%s"%s onfocus="Backend.getScrollOffset()">' , $ strType , $ this -> strName , $ this -> strId . '_' . $ i , $ this -> size , StringUtil :: specialchars ( @ $ this -> varValue [ $ i ] ) , // see #4979 $ this -> getAttributes ( ) ) ; } return sprintf ( '<div id="ctrl_%s" class="tl_text_field%s">%s</div>%s' , $ this -> strId , ( ( $ this -> strClass != '' ) ? ' ' . $ this -> strClass : '' ) , implode ( ' ' , $ arrFields ) , $ this -> wizard ) ; }
Generate the widget and return it as string

@return string
Generate the widget and return it as string