3namespace Bitrix\Socialnetwork\Space\List\RecentActivity;
5use Bitrix\Main\ORM\Query\Filter\ConditionTree;
6use Bitrix\Main\ORM\Query\Query;
7use Bitrix\Main\Type\Collection;
8use Bitrix\Socialnetwork\Internals\Space\RecentActivity\SpaceUserRecentActivityTable;
9use Bitrix\Socialnetwork\Space\List\RecentActivity\Item\RecentActivityData;
16 'USER_ID' => $recentActivityData->
getUserId(),
17 'SPACE_ID' => $recentActivityData->
getSpaceId(),
18 'TYPE_ID' => $recentActivityData->
getTypeId(),
28 SpaceUserRecentActivityTable::merge($insertFields, $updateFields, SpaceUserRecentActivityTable::getUniqueFields());
30 $id = SpaceUserRecentActivityTable::query()
32 ->where(
'SPACE_ID', $recentActivityData->
getSpaceId())
33 ->where(
'TYPE_ID', $recentActivityData->
getTypeId())
34 ->where(
'ENTITY_ID', $recentActivityData->
getEntityId())
35 ->where(
'USER_ID', $recentActivityData->
getUserId())
39 $id = (int)($id[
'ID'] ??
null);
41 return $id > 0 ? $id :
null;
46 $idChunks = array_chunk($idsToDelete, 500);
48 foreach ($idChunks as $idChunk)
50 SpaceUserRecentActivityTable::deleteByFilter([
'ID' => $idChunk]);
56 $query = SpaceUserRecentActivityTable::query()
66 Collection::normalizeArrayValuesByInt(
$result);
75 $commonCondition = Query::filter()
76 ->where(
'TYPE_ID', $typeId)
79 $secondaryCondition = Query::filter()
87 ->logic(ConditionTree::LOGIC_OR)
88 ->where($commonCondition)
89 ->where($secondaryCondition)
96 ->where(
'TYPE_ID', $typeId)
104 $query = SpaceUserRecentActivityTable::query()
106 ->where(
'SPACE_ID', $spaceId)
114 Collection::normalizeArrayValuesByInt(
$result);
121 $queryResult = SpaceUserRecentActivityTable::query()
123 ->where(
'SPACE_ID', $spaceId)
125 ->addOrder(
'DATETIME',
'DESC')
130 $recentActivityData =
132 ->setSpaceId($spaceId)
136 if (empty($queryResult))
142 ->setId($queryResult[
'ID'] ??
null)
143 ->setTypeId($queryResult[
'TYPE_ID'] ??
null)
144 ->setEntityId($queryResult[
'ENTITY_ID'] ??
null)
145 ->setDateTime($queryResult[
'DATETIME'] ??
null)
146 ->setSecondaryEntityId($queryResult[
'SECONDARY_ENTITY_ID'] ??
null)
149 return $recentActivityData;
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
const COMMON_TO_COMMENT_ENTITY_TYPE
deleteMulti(array $idsToDelete)
getNewestActivity(int $userId, int $spaceId)
getIdsToDeleteBySpaceId(int $spaceId, string $typeId, int $entityId)
save(RecentActivityData $recentActivityData)
getIdsToDeleteByUserId(int $userId, string $typeId, int $entityId)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)