- Модуль: vote
- Путь к файлу: ~/bitrix/modules/vote/classes/general/answer.php
- Класс: CAllVoteAnswer
- Вызов: CAllVoteAnswer::CheckFields
static function CheckFields($ACTION, &$arFields, $ID = 0)
{
global $APPLICATION;
global $USER;
$aMsg = [];
$ID = intval($ID);
$ACTION = ($ID > 0 && $ACTION == 'UPDATE' ? 'UPDATE' : 'ADD');
unset($arFields['ID']);
if (isset($arFields['QUESTION_ID']) || $ACTION == 'ADD'):
$arFields['QUESTION_ID'] = intval($arFields['QUESTION_ID'] ?? 0);
if ($arFields['QUESTION_ID'] <= 0):
$aMsg[] = [
'id' => 'QUESTION_ID',
'text' => GetMessage('VOTE_FORGOT_QUESTION_ID')
];
endif;
endif;
if (isset($arFields['MESSAGE']) || $ACTION == 'ADD')
{
$arFields['MESSAGE'] = ($arFields['MESSAGE'] ?? '');
if (!$USER || $USER->CanDoOperation('edit_php') !== true)
{
$arFields['MESSAGE'] = VoteInnerSanitizer::cleanText($arFields['MESSAGE']);
}
if ($arFields['MESSAGE'] === '')
{
$aMsg[] = ['id' => 'MESSAGE', 'text' => GetMessage('VOTE_FORGOT_MESSAGE')];
}
}
if (array_key_exists('IMAGE_ID', $arFields))
{
if (!is_array($arFields['IMAGE_ID']))
{
$arFields['IMAGE_ID'] = intval($arFields['IMAGE_ID']);
}
else if ($arFields['IMAGE_ID']['name'] == '' && $arFields['IMAGE_ID']['del'] == '')
{
unset($arFields['IMAGE_ID']);
}
else if ($str = CFile::CheckImageFile($arFields['IMAGE_ID']))
{
$aMsg[] = array(
'id' => 'IMAGE_ID',
'text' => 'Answer: '.$str);
}
else
{
$arFields['IMAGE_ID']['MODULE_ID'] = 'vote';
}
}
unset($arFields['TIMESTAMP_X']);
if (isset($arFields['ACTIVE']) || $ACTION == 'ADD') $arFields['ACTIVE'] = (($arFields['ACTIVE'] ?? 'Y') == 'N' ? 'N' : 'Y');
if (isset($arFields['C_SORT']) || $ACTION == 'ADD') $arFields['C_SORT'] = intval($arFields['C_SORT'] ?? 100);
if (isset($arFields['COUNTER']) || $ACTION == 'ADD') $arFields['COUNTER'] = intval($arFields['COUNTER'] ?? 0);
if (isset($arFields['FIELD_TYPE']) || $ACTION == 'ADD') $arFields['FIELD_TYPE'] = intval($arFields['FIELD_TYPE'] ?? 0);
if (isset($arFields['FIELD_WIDTH']) || $ACTION == 'ADD') $arFields['FIELD_WIDTH'] = intval($arFields['FIELD_WIDTH'] ?? 0);
if (isset($arFields['FIELD_HEIGHT']) || $ACTION == 'ADD') $arFields['FIELD_HEIGHT'] = intval($arFields['FIELD_HEIGHT'] ?? 0);
if (isset($arFields['FIELD_PARAM']))
{
$arFields['FIELD_PARAM'] = ((!$USER || $USER->CanDoOperation('edit_php') !== true)
? '' : trim($arFields['FIELD_PARAM']))
;
}
if (isset($arFields['COLOR']) || $ACTION == 'ADD') $arFields['COLOR'] = mb_substr(trim($arFields['COLOR'] ?? ''), 0, 7);
if (!empty($aMsg))
{
$e = new CAdminException(array_reverse($aMsg));
$APPLICATION->ThrowException($e);
return false;
}
return true;
}