- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/smile.php
- Класс: CSmile
- Вызов: CSmile::add
static function add($arFields)
{
global $DB, $CACHE_MANAGER;
if (!self::checkFields($arFields, self::CHECK_TYPE_ADD))
return false;
$arInsert = array(
'TYPE' => $arFields['TYPE'],
'SET_ID' => intval($arFields['SET_ID']),
'SORT' => intval($arFields['SORT']),
'IMAGE' => $arFields['IMAGE'],
'IMAGE_WIDTH' => intval($arFields['IMAGE_WIDTH']),
'IMAGE_HEIGHT' => intval($arFields['IMAGE_HEIGHT']),
);
if (isset($arFields['IMAGE_DEFINITION']))
{
$arInsert['IMAGE_DEFINITION'] = $arFields['IMAGE_DEFINITION'];
if ($arInsert['IMAGE_DEFINITION'] == self::IMAGE_UHD)
{
$arInsert['IMAGE_WIDTH'] = $arInsert['IMAGE_WIDTH']/4;
$arInsert['IMAGE_HEIGHT'] = $arInsert['IMAGE_HEIGHT']/4;
}
else if ($arInsert['IMAGE_DEFINITION'] == self::IMAGE_HD)
{
$arInsert['IMAGE_WIDTH'] = $arInsert['IMAGE_WIDTH']/2;
$arInsert['IMAGE_HEIGHT'] = $arInsert['IMAGE_HEIGHT']/2;
}
}
if (isset($arFields['TYPING']))
$arInsert['TYPING'] = $arFields['TYPING'];
if (isset($arFields['CLICKABLE']))
$arInsert['CLICKABLE'] = $arFields['CLICKABLE'];
if (isset($arFields['HIDDEN']))
$arInsert['HIDDEN'] = $arFields['HIDDEN'];
$setId = intval($DB->Add("b_smile", $arInsert));
if ($setId && isset($arFields['LANG']))
{
$arLang = Array();
if (is_array($arFields['LANG']))
$arLang = $arFields['LANG'];
else
$arLang[LANG] = $arFields['LANG'];
foreach ($arLang as $lang => $name)
{
if (trim($name) <> '')
{
$arInsert = array(
'TYPE' => self::TYPE_SMILE,
'SID' => $setId,
'LID' => htmlspecialcharsbx($lang),
'NAME' => trim($name),
);
$DB->Add("b_smile_lang", $arInsert);
}
}
}
self::setLastUpdate();
$CACHE_MANAGER->CleanDir("b_smile");
return $setId;
}