- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/workgroupfavorites.php
- Класс: BitrixSocialnetworkWorkgroupFavoritesTable
- Вызов: WorkgroupFavoritesTable::set
static function set($params = array())
{
global $USER, $CACHE_MANAGER;
$res = false;
if (
!is_array($params)
|| !isset($params['GROUP_ID'])
|| intval($params['GROUP_ID']) <= 0
)
{
throw new MainSystemException("Empty groupId.");
}
$groupId = intval($params['GROUP_ID']);
$userId = (
isset($params['USER_ID'])
&& intval($params['USER_ID']) > 0
? intval($params['USER_ID'])
: $USER->getId()
);
if (intval($userId) <= 0)
{
throw new MainSystemException("Empty userId.");
}
$connection = BitrixMainApplication::getConnection();
$helper = $connection->getSqlHelper();
$insertFields = array(
"USER_ID" => $userId,
"GROUP_ID" => $groupId,
"DATE_ADD" => new BitrixMainDBSqlExpression($helper->getCurrentDateTimeFunction()),
);
$updateFields = array(
"DATE_ADD" => new BitrixMainDBSqlExpression($helper->getCurrentDateTimeFunction()),
);
$merge = $helper->prepareMerge(
static::getTableName(),
array("USER_ID", "GROUP_ID"),
$insertFields,
$updateFields
);
if ($merge[0] != "")
{
$res = $connection->query($merge[0]);
}
if(
$res
&& defined("BX_COMP_MANAGED_CACHE")
)
{
$CACHE_MANAGER->clearByTag("sonet_group_favorites_U".$userId);
}
return $res;
}