9namespace Bitrix\Socialnetwork\Integration\Tasks;
11use Bitrix\Main\Application;
12use Bitrix\Main\DB\SqlExpression;
13use Bitrix\Main\Loader;
14use Bitrix\Main\UserCounterTable;
15use Bitrix\Socialnetwork\Livefeed\Provider;
17use Bitrix\Main\EventResult;
18use Bitrix\Socialnetwork\LogCommentTable;
19use Bitrix\Socialnetwork\LogTable;
27 $taskId = (int)
$event->getParameter(
'taskId');
30 if ($taskId <= 0 ||
$userId <= 0)
35 if (
$event->getParameter(
'isRealView'))
37 $liveFeedEntity = Provider::init([
38 'ENTITY_TYPE' => Provider::DATA_ENTITY_TYPE_TASKS_TASK,
39 'ENTITY_ID' => $taskId,
43 $liveFeedEntity->setContentView([
'user_id' =>
$userId]);
44 self::updateUserCounter([
46 'logId' => $liveFeedEntity->getLogId(),
51 return new EventResult(EventResult::SUCCESS, [],
'socialnetwork');
54 private static function updateUserCounter(
array $params = []): void
56 $logId = (int)(
$params[
'logId'] ?? 0);
68 UserCounterTable::delete([
71 'CODE' =>
'**L' . $logId,
74 $query = new \Bitrix\Main\Entity\Query(UserCounterTable::getEntity());
79 $query->registerRuntimeField(
86 [
'join_type' =>
'INNER' ]
90 $helper = Application::getConnection()->getSqlHelper();
91 $expression = $helper->getConcatFunction(
92 $helper->convertToDbString(
'**LC'),
93 $helper->convertToDbString(
'%s')
95 $query->whereExpr(
"%s = {$expression}", [
'CODE',
'comment.ID' ]);
98 while ($counterFields =
$res->fetch())
100 UserCounterTable::delete([
103 'CODE' => $counterFields[
'CODE'],
108 UserCounterTable::update([
120 EventResult::UNDEFINED,
125 $taskId = (int)
$event->getParameter(
'taskId');
128 $added =
$event->getParameter(
'added');
134 || !Loader::includeModule(
'tasks')
141 $provider = new \Bitrix\Socialnetwork\Livefeed\TasksTask();
145 '=SOURCE_ID' => $taskId
149 if ($logFields =
$res->fetch())
151 $logId = (int)$logFields[
'ID'];
161 \CSocNetLogFollow::delete(
$userId,
'L'.$logId);
162 $followDate = ConvertTimeStamp(time() + \CTimeZone::getOffset(),
'FULL',
SITE_ID);
165 \CSocNetLogFollow::set(
$userId,
'L'.$logId, ($added ?
'N' :
'Y'), $followDate);
168 EventResult::SUCCESS,
if(!Loader::includeModule('messageservice')) $provider
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static getList(array $parameters=array())
static onTaskUserOptionChanged(Event $event)
static onTaskUpdateViewed(Event $event)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']