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

	$galleryId = intval($galleryId);
	if ($galleryId == CSmileGallery::GALLERY_DEFAULT)
		$galleryId = CSmileGallery::getDefaultId();

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

	global $CACHE_MANAGER;
	$cache_id = "b_smile_gallery_".$arFilter["TYPE"]."_".$galleryId."_".$arFilter["LID"];

	if (CACHED_b_smile !== false && $CACHE_MANAGER->Read(CACHED_b_smile, $cache_id, "b_smile"))
	{
		$arResult = $CACHE_MANAGER->Get($cache_id);
	}
	else
	{
		$arSets = CSmileSet::getList(Array(
			'FILTER' => Array('PARENT_ID' => $galleryId)
		));
		foreach ($arSets as $set)
		{
			$arFilter['SET_ID'][] = $set['ID'];
		}

		$arResult = self::getList(Array(
			'ORDER' => Array('SORT' => 'ASC'),
			'FILTER' => $arFilter,
		));

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

	return $arResult;
}