BoolType :: extractValue: Bitrix method

      
<?php 
//  Bitrix\Bizproc\BaseType\BoolType :: extractValue()
//  /dist/bitrix/modules/bizproc/lib/basetype/booltype.php:161

    
protected static function extractValue(FieldType $fieldType, array $field, array $request)
    {
        
$value parent::extractValue($fieldType$field$request);

        if (
$value !== null && $value !== 'Y' && $value !== 'N')
        {
            if (
is_bool($value))
            {
                
$value $value 'Y' 'N';
            }
            elseif (
is_string($value) && strlen($value) > 0)
            {
                
$value strtolower($value);
                if (
in_array($value, array('y''yes''true''1')))
                {
                    
$value 'Y';
                }
                elseif (
in_array($value, array('n''no''false''0')))
                {
                    
$value 'N';
                }
                else
                {
                    
$value null;
                    static::
addError(array(
                        
'code' => 'ErrorValue',
                        
'message' => Loc::getMessage('BPDT_BOOL_INVALID'),
                        
'parameter' => static::generateControlName($field),
                    ));
                }
            }
            else
            {
                
$value null;
            }
        }

        return 
$value;
    }