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->isSelected($arrOption), $arrOption['label']);
} else {
$arrOptgroups = array();
foreach ($arrOption as $arrOptgroup) {
$arrOptgroups[] = sprintf('<option value="%s"%s>%s</option>', \StringUtil::specialchars($arrOptgroup['value']), $this->isSelected($arrOptgroup), $arrOptgroup['label']);
}
$arrOptions[] = sprintf('<optgroup label=" %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);
}