- Модуль: 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;
}