- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/component/workgroupform.php
- Класс: BitrixSocialnetworkComponentWorkgroupForm
- Вызов: WorkgroupForm::getThemePickerData
protected function getThemePickerData(array &$result = []): void
{
global $USER;
$groupId = (isset($this->arParams['GROUP_ID']) ? (int)$this->arParams['GROUP_ID'] : 0);
if (
SITE_TEMPLATE_ID !== 'bitrix24'
|| !Loader::includeModule('intranet')
)
{
return;
}
$result['showThemePicker'] = (
$result['IS_IFRAME']
&& (empty($result['TAB']) || $result['TAB'] === 'edit')
&& ($this->arParams['THEME_ENTITY_TYPE'] ?? null) === 'SONET_GROUP'
);
$result['themePickerData'] = [];
if (!$result['showThemePicker'])
{
return;
}
if ($groupId > 0)
{
$themePicker = new ThemePicker(SITE_TEMPLATE_ID, false, $USER->getId(), ThemePicker::ENTITY_TYPE_SONET_GROUP, $groupId);
$themeId = $themePicker->getCurrentThemeId();
$themeUserId = false;
if ($themeId)
{
$res = ThemeTable::getList([
'filter' => [
'=ENTITY_TYPE' => $themePicker->getEntityType(),
'ENTITY_ID' => $themePicker->getEntityId(),
'=CONTEXT' => $themePicker->getContext(),
],
'select' => [ 'USER_ID' ],
]);
if (
($themeFields = $res->fetch())
&& (int)$themeFields['USER_ID'] > 0
)
{
$themeUserId = (int)$themeFields['USER_ID'];
}
}
$result['themePickerData'] = $themePicker->getTheme($themeId, $themeUserId);
}
elseif ($themePicker = new ThemePicker(SITE_TEMPLATE_ID))
{
$themesList = $themePicker->getPatternThemes();
$result['themePickerData'] = $themesList[array_rand($themesList)];
}
}