InternalSelect::renderControlOptions: Bitrix method

      
<?php 
//  Bitrix\Bizproc\BaseType\InternalSelect :: renderControlOptions()
//  /dist/bitrix/modules/bizproc/lib/basetype/internalselect.php:30

    
public static function renderControlOptions(FieldType $fieldType$callbackFunctionName$value)
    {
        
$result '';
        
$selectedField $fieldType->getOptions();

        
$fields self::getDocumentSelectFields($fieldTypetrue);
        if (!empty(
$fields))
        {
            
$result .= '<select onchange="'.htmlspecialcharsbx($callbackFunctionName).'(this.options[this.selectedIndex].value)">';

            
$fieldsNames array_keys($fields);
            if (!
in_array($selectedField$fieldsNames))
                
$selectedField = isset($fieldsNames[0]) ? $fieldsNames[0] : '';

            foreach (
$fields as $name => $field)
            {
                
$result .= '<option value="'.htmlspecialcharsbx($name).'"'.(($selectedField == $name) ? " selected" "").'>'
                    
.htmlspecialcharsbx($field["Name"]).'</option>';
            }
            
$result .= '</select>';
        }
        
$result .= '<!--__defaultOptionsValue:'.$selectedField.'--><!--__modifyOptionsPromt:'.Loc::getMessage('BPDT_INTERNALSELECT_OPT_LABEL').'-->';
        
$fieldType->setOptions($selectedField);

        return 
$result;
    }