- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/smile.php
- Класс: CSmile
- Вызов: CSmile::deleteByGallery
static function deleteByGallery($id, $removeFile = true)
{
global $DB, $CACHE_MANAGER;
$id = intval($id);
if ($id <= 0)
return false;
$arDelete = Array();
$arDir = Array();
$arSmiles = self::getList(Array(
'SELECT' => Array('ID', 'SET_ID', 'TYPE', 'IMAGE'),
'FILTER' => Array('PARENT_ID' => $id),
));
foreach ($arSmiles as $key => $arSmile)
{
$arDelete[] = intval($key);
$arDir[$arSmile['SET_ID']] = ($arSmile['TYPE'] == CSmile::TYPE_ICON? CSmile::PATH_TO_ICON: CSmile::PATH_TO_SMILE).$arSmile['SET_ID'].'/';
}
if ($removeFile)
{
foreach ($arDir as $path)
{
DeleteDirFilesEx($path);
}
}
if (!empty($arDelete))
{
$DB->Query("DELETE FROM b_smile WHERE ID IN (".implode(',', $arDelete).")", true);
$DB->Query("DELETE FROM b_smile_lang WHERE TYPE = '".self::TYPE_SMILE."' AND SID IN (".implode(',', $arDelete).")", true);
self::setLastUpdate();
$CACHE_MANAGER->CleanDir("b_smile");
}
return true;
}