- Модуль: learning
- Путь к файлу: ~/bitrix/modules/learning/classes/general/clearnsharedargmanager.php
- Класс: can
- Вызов: can::CheckParseParams
protected function CheckParseParams ($arParseParams)
{
if ( ! is_array($arParseParams) )
throw new Exception();
$arMandatoryFields = array (
'type' => array('boolean', 'integer', 'strictly_castable_to_integer', 'string'),
'mandatory' => array(true, false)
);
foreach ($arParseParams as $key => $element)
{
if ( ! is_array($element) )
throw new Exception();
// check mandatory fields
foreach ($arMandatoryFields as $mandatoryField => $mandatoryFieldAllowedValues)
{
if ( ! array_key_exists($mandatoryField, $element) )
throw new Exception();
// check allowed values
if (is_array($mandatoryFieldAllowedValues))
if ( ! in_array($element[$mandatoryField], $mandatoryFieldAllowedValues, true) )
throw new Exception();
}
// if exists $element['default_value'] => $element['mandatory'] must be FALSE
// because if mandatory is TRUE => value must be set and no default value available
if (array_key_exists('default_value', $element) && ($element['mandatory'] !== false))
throw new Exception('"default_value" incompatibily with enabled "mandatory" flag');
}
}