- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/controller/workgroup.php
- Класс: BitrixSocialnetworkControllerWorkgroup
- Вызов: Workgroup::updateAction
public function updateAction(int $groupId, array $fields = []): ?bool
{
if (!HelperWorkgroupAccess::canModify([
'groupId' => $groupId,
'checkAdminSession' => ($this->getScope() !== Controller::SCOPE_REST),
]))
{
$this->addError(new Error(
Loc::getMessage('SONET_CONTROLLER_WORKGROUP_EMPTY'),
'SONET_CONTROLLER_WORKGROUP_EMPTY')
);
return null;
}
$whiteList = [
'KEYWORDS',
];
foreach ($fields as $key => $value)
{
if (!in_array($key, $whiteList, true))
{
unset($fields[$key]);
}
}
if (
empty($fields)
)
{
$this->addError(new Error(
Loc::getMessage('SONET_CONTROLLER_WORKGROUP_ACTION_FAILED'),
'SONET_CONTROLLER_WORKGROUP_ACTION_FAILED')
);
return null;
}
try
{
$result = CSocNetGroup::update($groupId, $fields);
}
catch (Exception $e)
{
$this->addError(new Error($e->getMessage(), $e->getCode()));
return null;
}
if (!$result)
{
$this->addError(new Error(
Loc::getMessage('SONET_CONTROLLER_WORKGROUP_ACTION_FAILED'),
'SONET_CONTROLLER_WORKGROUP_ACTION_FAILED')
);
return null;
}
return true;
}