- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/component/loglist/processor.php
- Класс: BitrixSocialnetworkComponentLogListProcessor
- Вызов: Processor::getSmiles
public function getSmiles(&$result): void
{
global $CACHE_MANAGER;
if (!empty($this->getComponent()->getErrors()))
{
return;
}
if (Loader::includeModule('forum'))
{
$result['Smiles'] = Option::get('forum', 'smile_gallery_id', 0);
}
else
{
$cacheId = 'b_sonet_smile_'.LANGUAGE_ID;
if ($CACHE_MANAGER->read(604800, $cacheId))
{
$result['Smiles'] = $CACHE_MANAGER->get($cacheId);
}
else
{
$result['Smiles'] = [];
$res = CSocNetSmile::getList(
[ 'SORT' => 'ASC' ],
[
'SMILE_TYPE' => 'S',
'LANG_LID' => LANGUAGE_ID
],
false,
false,
[ 'ID', 'IMAGE', 'DESCRIPTION', 'TYPING', 'SMILE_TYPE', 'SORT', 'LANG_NAME' ]
);
while ($smileFields = $res->fetch())
{
[$type] = explode(' ', $smileFields['TYPING']);
$smileFields['TYPE'] = str_replace("'", "'", $type);
$smileFields['TYPE'] = str_replace("\", "\\", $smileFields['TYPE']);
$smileFields['NAME'] = $smileFields['LANG_NAME'];
$smileFields['IMAGE'] = '/bitrix/images/socialnetwork/smile/'.$smileFields['IMAGE'];
$result['Smiles'][] = $smileFields;
}
$CACHE_MANAGER->set($cacheId, $result['Smiles']);
}
}
}