• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/smile.php
  • Класс: CSmile
  • Вызов: CSmile::getBySetId
static function getBySetId($type = self::TYPE_ALL, $setId = CSmileSet::SET_ID_BY_CONFIG, $lang = LANGUAGE_ID)
{
	$arFilter = array();
	if (in_array($type, array(self::TYPE_SMILE, self::TYPE_ICON)))
		$arFilter["TYPE"] = $type;

	$setId = intval($setId);

	if ($setId == CSmileSet::SET_ID_BY_CONFIG)
	{
		$arFilter['PARENT_ID'] = CSmileGallery::getDefaultId();
		$cacheSetId = 'p'.$arFilter['PARENT_ID'];
	}
	else
	{
		$cacheSetId = $setId;
		if ($setId != CSmileSet::SET_ID_ALL)
			$arFilter['SET_ID'] = $setId;
	}

	if ($lang <> '')
		$arFilter["LID"] = htmlspecialcharsbx($lang);

	global $CACHE_MANAGER;
	$cache_id = "b_smile_set_2_".$arFilter["TYPE"]."_".$cacheSetId."_".$lang;

	if (CACHED_b_smile !== false && $CACHE_MANAGER->Read(CACHED_b_smile, $cache_id, "b_smile"))
	{
		$arResult = $CACHE_MANAGER->Get($cache_id);
	}
	else
	{
		$arResult = self::getList(Array(
			'ORDER' => Array('SORT' => 'ASC'),
			'FILTER' => $arFilter,
		));

		if (CACHED_b_smile !== false)
			$CACHE_MANAGER->Set($cache_id, $arResult);
	}

	return $arResult;

}