- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/smile.php
- Класс: CSmileGallery
- Вызов: CSmileGallery::getSmilesWithSets
static function getSmilesWithSets($galleryId = self::GALLERY_DEFAULT, $options = [])
{
if ($galleryId == self::GALLERY_DEFAULT)
{
$galleryId = self::getDefaultId();
}
$result = array('SMILE' => Array(), 'SMILE_SET' => Array());
$smiles = CSmile::getByGalleryId(CSmile::TYPE_SMILE, $galleryId);
$smilesSet = CSmileSet::getListCache();
$fullTypings = isset($options['FULL_TYPINGS']) && $options['FULL_TYPINGS'] === 'Y';
$userSets = Array();
foreach ($smiles as $smile)
{
if ($smile['HIDDEN'] == 'Y')
continue;
$typing = explode(" ", $smile['TYPING']);
if (isset($result['SMILE'][$typing[0]]))
continue;
$result['SMILE'][] = Array(
'ID' => (int)$smile['ID'],
'SET_ID' => (int)$smile['SET_ID'],
'NAME' => $smile['NAME'],
'IMAGE' => CSmile::PATH_TO_SMILE.$smile["SET_ID"]."/".$smile["IMAGE"],
'TYPING' => $fullTypings? $smile['TYPING']: $typing[0],
'WIDTH' => (int)$smile['IMAGE_WIDTH'],
'HEIGHT' => (int)$smile['IMAGE_HEIGHT'],
'DEFINITION' => $smile['IMAGE_DEFINITION'],
);
$userSets[$smile['SET_ID']] = true;
}
foreach ($smilesSet as $key => $value)
{
if (!$userSets[$value['ID']])
continue;
if (empty($value['NAME']))
$value['NAME'] = GetMessage('MAIN_SMILE_SET_NAME', Array('#ID#' => $key));
$result['SMILE_SET'][] = Array(
'ID' => (int)$value['ID'],
'PARENT_ID' => (int)$value['PARENT_ID'],
'NAME' => $value['NAME'],
'TYPE' => $value['TYPE'],
);
}
return $result;
}