Beispiel #1
0
 /**
  * <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;
 }