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

		$arrFields = array();
		$arrOptions = array();

		foreach ($this->arrOptions as $strKey=>$arrOption)
		{
			if (isset($arrOption['value']))
			{
				$arrOptions[] = sprintf('<option value="%s"%s>%s</option>',
									   StringUtil::specialchars($arrOption['value']),
									   $this->optionSelected($arrOption['value'], $this->varValue[2]),
									   $arrOption['label']);
			}
			else
			{
				$arrOptgroups = array();

				foreach ($arrOption as $arrOptgroup)
				{
					$arrOptgroups[] = sprintf('<option value="%s"%s>%s</option>',
											   StringUtil::specialchars($arrOptgroup['value']),
											   $this->optionSelected($arrOptgroup['value'], $this->varValue[2]),
											   $arrOptgroup['label']);
				}

				$arrOptions[] = sprintf('<optgroup label="&nbsp;%s">%s</optgroup>', StringUtil::specialchars($strKey), implode('', $arrOptgroups));
			}
		}

		$arrFields[] = sprintf('<select name="%s[2]" id="ctrl_%s" class="tl_select_interval" onfocus="Backend.getScrollOffset()"%s>%s</select>',
								$this->strName,
								$this->strId.'_3',
								$this->getAttribute('disabled'),
								implode(' ', $arrOptions));

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

		return sprintf('<div id="ctrl_%s" class="tl_image_size%s">%s</div>%s',
						$this->strId,
						(($this->strClass != '') ? ' ' . $this->strClass : ''),
						implode(' ', $arrFields),
						$this->wizard);
	}
public function generate()
	{
		if (!\is_array($this->varValue))
		{
			$this->varValue = array($this->varValue);
		}

		$arrFields = array();
		$arrOptions = array();

		foreach ($this->arrOptions as $strKey=>$arrOption)
		{
			if (isset($arrOption['value']))
			{
				$arrOptions[] = sprintf('<option value="%s"%s>%s</option>',
									   StringUtil::specialchars($arrOption['value']),
									   $this->optionSelected($arrOption['value'], $this->varValue[2]),
									   $arrOption['label']);
			}
			else
			{
				$arrOptgroups = array();

				foreach ($arrOption as $arrOptgroup)
				{
					$arrOptgroups[] = sprintf('<option value="%s"%s>%s</option>',
											   StringUtil::specialchars($arrOptgroup['value']),
											   $this->optionSelected($arrOptgroup['value'], $this->varValue[2]),
											   $arrOptgroup['label']);
				}

				$arrOptions[] = sprintf('<optgroup label="&nbsp;%s">%s</optgroup>', StringUtil::specialchars($strKey), implode('', $arrOptgroups));
			}
		}

		$arrFields[] = sprintf('<select name="%s[2]" id="ctrl_%s" class="tl_select_interval" onfocus="Backend.getScrollOffset()"%s>%s</select>',
								$this->strName,
								$this->strId.'_3',
								$this->getAttribute('disabled'),
								implode(' ', $arrOptions));

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

		return sprintf('<div id="ctrl_%s" class="tl_image_size%s">%s</div>%s',
						$this->strId,
						(($this->strClass != '') ? ' ' . $this->strClass : ''),
						implode(' ', $arrFields),
						$this->wizard);
	}
public function generate ( ) { if ( ! \ is_array ( $ this -> varValue ) ) { $ this -> varValue = array ( $ this -> varValue ) ; } $ arrFields = array ( ) ; $ arrOptions = array ( ) ; foreach ( $ this -> arrOptions as $ strKey => $ arrOption ) { if ( isset ( $ arrOption [ 'value' ] ) ) { $ arrOptions [ ] = sprintf ( '<option value="%s"%s>%s</option>' , StringUtil :: specialchars ( $ arrOption [ 'value' ] ) , $ this -> optionSelected ( $ arrOption [ 'value' ] , $ this -> varValue [ 2 ] ) , $ arrOption [ 'label' ] ) ; } else { $ arrOptgroups = array ( ) ; foreach ( $ arrOption as $ arrOptgroup ) { $ arrOptgroups [ ] = sprintf ( '<option value="%s"%s>%s</option>' , StringUtil :: specialchars ( $ arrOptgroup [ 'value' ] ) , $ this -> optionSelected ( $ arrOptgroup [ 'value' ] , $ this -> varValue [ 2 ] ) , $ arrOptgroup [ 'label' ] ) ; } $ arrOptions [ ] = sprintf ( '<optgroup label="&nbsp;%s">%s</optgroup>' , StringUtil :: specialchars ( $ strKey ) , implode ( '' , $ arrOptgroups ) ) ; } } $ arrFields [ ] = sprintf ( '<select name="%s[2]" id="ctrl_%s" class="tl_select_interval" onfocus="Backend.getScrollOffset()"%s>%s</select>' , $ this -> strName , $ this -> strId . '_3' , $ this -> getAttribute ( 'disabled' ) , implode ( ' ' , $ arrOptions ) ) ; for ( $ i = 0 ; $ i < 2 ; $ i ++ ) { $ arrFields [ ] = sprintf ( '<input type="text" name="%s[%s]" id="ctrl_%s" class="tl_text_4 tl_imageSize_%s" value="%s"%s onfocus="Backend.getScrollOffset()">' , $ this -> strName , $ i , $ this -> strId . '_' . $ i , $ i , StringUtil :: specialchars ( @ $ this -> varValue [ $ i ] ) , // see #4979 $ this -> getAttributes ( ) ) ; } return sprintf ( '<div id="ctrl_%s" class="tl_image_size%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