- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/smile.php
- Класс: CSmileSet
- Вызов: CSmileSet::update
static function update($id, $arFields)
{
global $DB, $CACHE_MANAGER;
$id = intval($id);
$arUpdate = Array();
if (isset($arFields['STRING_ID']))
$arUpdate['STRING_ID'] = "'".$DB->ForSql($arFields['STRING_ID'])."'";
if (isset($arFields['SORT']))
$arUpdate['SORT'] = intval($arFields['SORT']);
if (!empty($arUpdate))
$DB->Update("b_smile_set", $arUpdate, "WHERE ID = ".$id);
if (isset($arFields['LANG']))
{
$arLang = Array();
if (is_array($arFields['LANG']))
$arLang = $arFields['LANG'];
else
$arLang[LANG] = $arFields['LANG'];
$res = $DB->Query("SELECT TYPE FROM b_smile_set WHERE ID = ".$id);
$smileSet = $res->Fetch();
foreach ($arLang as $lang => $name)
{
$DB->Query("DELETE FROM b_smile_lang WHERE TYPE = '".$smileSet['TYPE']."' AND SID = ".$id." AND LID = '".$DB->ForSql(htmlspecialcharsbx($lang))."'", true);
$arInsert = array(
'TYPE' => $smileSet['TYPE'],
'SID' => $id,
'LID' => htmlspecialcharsbx($lang),
'NAME' => $name,
);
$DB->Add("b_smile_lang", $arInsert);
}
}
self::setLastUpdate();
$CACHE_MANAGER->CleanDir("b_smile");
return true;
}