/** * <p>Вывод информации о смайлах и иконках по ID галереи. Статичный метод.</p> * * * @param mixed $type = self::TYPE_ALL константа типа * * @param mixed $galleryId = CSmileGallery::GALLERY_DEFAULT идентификатор галереи (по умолчанию CSmileGallery::GALLERY_DEFAULT - все наборы) * * @param mixed $lang = LANGUAGE_ID идентификатор языка для получения локализации, по умолчанию * LANGUAGE_ID * * @return mixed * * @static * @link http://dev.1c-bitrix.ru/api_help/main/reference/csmile/getbygalleryid.php * @author Bitrix */ public 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; }