• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/smile.php
  • Класс: CSmile
  • Вызов: CSmile::deleteBySet
static function deleteBySet($id, $removeFile = true)
{
	global $DB, $CACHE_MANAGER;

	$id = intval($id);
	if ($id <= 0)
		return false;

	$arDelete = Array();
	$arSmiles = self::getList(Array(
		'SELECT' => Array('ID', 'SET_ID', 'TYPE', 'IMAGE'),
		'FILTER' => Array('SET_ID' => $id),
	));
	foreach ($arSmiles as $key => $arSmile)
	{
		$arDelete[] = intval($key);
	}

	if ($removeFile)
	{
		DeleteDirFilesEx(CSmile::PATH_TO_ICON.$id.'/');
		DeleteDirFilesEx(CSmile::PATH_TO_SMILE.$id.'/');
	}

	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;
}