Contao\ImageSize::generate PHP Method

generate() public method

Generate the widget and return it as string
public generate ( ) : string
return string
    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="&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);
    }