• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/basetype/booltype.php
  • Класс: BitrixBizprocBaseTypeBoolType
  • Вызов: BoolType::extractValue
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) && $value <> '')
		{
			$value = mb_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;
}