167 $arFields1 = Util::getEqualityFields(
$arFields);
174 while ($eventFields =
$res->fetch())
196 foreach ($arSiteID as $v)
199 $str_SiteID .=
", '".$DB->ForSql($v).
"'";
203 $strUpdate =
$DB->PrepareUpdate(
"b_sonet_log",
$arFields);
204 Util::processEqualityFieldsToUpdate($arFields1, $strUpdate);
206 if ($strUpdate !==
'')
209 "UPDATE b_sonet_log SET ".
211 "WHERE ID = ".$ID.
" ";
214 if (!empty($arSiteID))
216 $strSql =
"DELETE FROM b_sonet_log_site WHERE LOG_ID=".$ID;
219 $strSql = $helper->getInsertIgnore(
"b_sonet_log_site",
"(LOG_ID, SITE_ID)",
220 "SELECT " .
$ID .
", LID " .
222 "WHERE LID IN (" . $str_SiteID .
") "
230 'itemType' => LogTagTable::ITEM_TYPE_LOG,
238 if (defined(
"BX_COMP_MANAGED_CACHE"))
244 $cache->
CleanDir(
"/sonet/log/" . (
int)(
$ID / 1000) .
"/" .
$ID .
"/comments/");
254 while ($arEvent = $events->Fetch())
264 LogIndex::setIndex(
array(
265 'itemType' => LogIndexTable::ITEM_TYPE_LOG,
273 || !empty($arFields1[
'LOG_UPDATE'])
280 'select' =>
array(
'LOG_UPDATE')
283 ($logFields =
$res->fetch())
284 && !empty($logFields[
'LOG_UPDATE'])
287 LogRightTable::setLogUpdate(
array(
289 'value' => $logFields[
'LOG_UPDATE']
291 LogIndexTable::setLogUpdate(
array(
293 'value' => $logFields[
'LOG_UPDATE']
299 $log = LogTable::query()
300 ->setSelect([
'EVENT_ID'])
301 ->where(
'ID', (
int)
$ID)
305 EventDictionary::EVENT_SPACE_LIVEFEED_POST_UPD,
307 'SONET_LOG_ID' => (
int)
$ID,
308 'EVENT_ID' => $log[
'EVENT_ID'] ??
null,
309 'LOG_RIGHTS_BEFORE_UPDATE' => $logRightsBeforeUpdate,
342 $arSocNetAllowedSubscribeEntityTypesDesc = CSocNetAllowed::GetAllowedEntityTypesDesc();
345 $obUserFieldsSql->
SetEntity(
"SONET_LOG",
"L.ID");
346 $obUserFieldsSql->SetSelect($arSelectFields);
348 $obUserFieldsSql->SetOrder($arOrder);
350 if (
count($arSelectFields) <= 0)
352 $arSelectFields =
array(
353 "ID",
"TMP_ID",
"ENTITY_TYPE",
"ENTITY_ID",
"USER_ID",
"EVENT_ID",
"LOG_DATE",
"LOG_UPDATE",
"TITLE_TEMPLATE",
"TITLE",
"MESSAGE",
"TEXT_MESSAGE",
"URL",
"MODULE_ID",
"CALLBACK_FUNC",
"EXTERNAL_ID",
"SITE_ID",
"PARAMS",
354 "COMMENTS_COUNT",
"ENABLE_COMMENTS",
"SOURCE_ID",
355 "GROUP_NAME",
"GROUP_OWNER_ID",
"GROUP_INITIATE_PERMS",
"GROUP_VISIBLE",
"GROUP_OPENED",
"GROUP_IMAGE_ID",
356 "USER_NAME",
"USER_LAST_NAME",
"USER_SECOND_NAME",
"USER_LOGIN",
"USER_PERSONAL_PHOTO",
"USER_PERSONAL_GENDER",
357 "CREATED_BY_NAME",
"CREATED_BY_LAST_NAME",
"CREATED_BY_SECOND_NAME",
"CREATED_BY_LOGIN",
"CREATED_BY_PERSONAL_PHOTO",
"CREATED_BY_PERSONAL_GENDER",
358 "RATING_TYPE_ID",
"RATING_ENTITY_ID",
"RATING_TOTAL_VALUE",
"RATING_TOTAL_VOTES",
"RATING_TOTAL_POSITIVE_VOTES",
"RATING_TOTAL_NEGATIVE_VOTES",
"RATING_USER_VOTE_VALUE",
366 $arSelectFields[] =
"FAVORITES_USER_ID";
370 static $arFields1 =
array(
371 "ID" => Array(
"FIELD" =>
"L.ID",
"TYPE" =>
"int"),
372 "TMP_ID" => Array(
"FIELD" =>
"L.TMP_ID",
"TYPE" =>
"int"),
373 "SOURCE_ID" => Array(
"FIELD" =>
"L.SOURCE_ID",
"TYPE" =>
"int"),
374 "ENTITY_TYPE" => Array(
"FIELD" =>
"L.ENTITY_TYPE",
"TYPE" =>
"string"),
375 "ENTITY_ID" => Array(
"FIELD" =>
"L.ENTITY_ID",
"TYPE" =>
"int"),
376 "USER_ID" => Array(
"FIELD" =>
"L.USER_ID",
"TYPE" =>
"int"),
377 "EVENT_ID" => Array(
"FIELD" =>
"L.EVENT_ID",
"TYPE" =>
"string"),
378 "LOG_DATE" => Array(
"FIELD" =>
"L.LOG_DATE",
"TYPE" =>
"datetime"),
379 "LOG_DATE_TS" => Array(
"FIELD" =>
"UNIX_TIMESTAMP(L.LOG_DATE)",
"TYPE" =>
"int"),
380 "LOG_UPDATE" => Array(
"FIELD" =>
"L.LOG_UPDATE",
"TYPE" =>
"datetime"),
381 "TITLE_TEMPLATE" => Array(
"FIELD" =>
"L.TITLE_TEMPLATE",
"TYPE" =>
"string"),
382 "TITLE" => Array(
"FIELD" =>
"L.TITLE",
"TYPE" =>
"string"),
383 "MESSAGE" => Array(
"FIELD" =>
"L.MESSAGE",
"TYPE" =>
"string"),
384 "TEXT_MESSAGE" => Array(
"FIELD" =>
"L.TEXT_MESSAGE",
"TYPE" =>
"string"),
385 "URL" => Array(
"FIELD" =>
"L.URL",
"TYPE" =>
"string"),
386 "MODULE_ID" => Array(
"FIELD" =>
"L.MODULE_ID",
"TYPE" =>
"string"),
387 "CALLBACK_FUNC" => Array(
"FIELD" =>
"L.CALLBACK_FUNC",
"TYPE" =>
"string"),
388 "EXTERNAL_ID" => Array(
"FIELD" =>
"L.EXTERNAL_ID",
"TYPE" =>
"string"),
389 "PARAMS" => Array(
"FIELD" =>
"L.PARAMS",
"TYPE" =>
"string"),
390 "COMMENTS_COUNT" => Array(
"FIELD" =>
"L.COMMENTS_COUNT",
"TYPE" =>
"int"),
391 "ENABLE_COMMENTS" => Array(
"FIELD" =>
"L.ENABLE_COMMENTS",
"TYPE" =>
"string"),
392 "SOURCE_TYPE" => Array(
"FIELD" =>
"L.SOURCE_TYPE",
"TYPE" =>
"string"),
393 "INACTIVE" => Array(
"FIELD" =>
"L.INACTIVE",
"TYPE" =>
"string"),
394 "CONTENT" => Array(
"FIELD" =>
"LI.CONTENT",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_sonet_log_index LI ON (LI.LOG_ID = L.ID)"),
395 "CONTENT_LOG_UPDATE" => Array(
"FIELD" =>
"LI.LOG_UPDATE",
"TYPE" =>
"datetime",
"FROM" =>
"INNER JOIN b_sonet_log_index LI ON (LI.LOG_ID = L.ID)"),
396 "CONTENT_ITEM_TYPE" => Array(
"FIELD" =>
"LI.ITEM_TYPE",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_sonet_log_index LI ON (LI.LOG_ID = L.ID)"),
397 "CONTENT_ITEM_ID" => Array(
"FIELD" =>
"LI.ITEM_ID",
"TYPE" =>
"int",
"FROM" =>
"INNER JOIN b_sonet_log_index LI ON (LI.LOG_ID = L.ID)"),
398 "CONTENT_DATE_CREATE" => Array(
"FIELD" =>
"LI.DATE_CREATE",
"TYPE" =>
"datetime",
"FROM" =>
"INNER JOIN b_sonet_log_index LI ON (LI.LOG_ID = L.ID)"),
399 "GROUP_NAME" => Array(
"FIELD" =>
"G.NAME",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_sonet_group G ON (L.ENTITY_TYPE = 'G' AND L.ENTITY_ID = G.ID)"),
400 "GROUP_OWNER_ID" => Array(
"FIELD" =>
"G.OWNER_ID",
"TYPE" =>
"int",
"FROM" =>
"LEFT JOIN b_sonet_group G ON (L.ENTITY_TYPE = 'G' AND L.ENTITY_ID = G.ID)"),
401 "GROUP_INITIATE_PERMS" => Array(
"FIELD" =>
"G.INITIATE_PERMS",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_sonet_group G ON (L.ENTITY_TYPE = 'G' AND L.ENTITY_ID = G.ID)"),
402 "GROUP_VISIBLE" => Array(
"FIELD" =>
"G.VISIBLE",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_sonet_group G ON (L.ENTITY_TYPE = 'G' AND L.ENTITY_ID = G.ID)"),
403 "GROUP_OPENED" => Array(
"FIELD" =>
"G.OPENED",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_sonet_group G ON (L.ENTITY_TYPE = 'G' AND L.ENTITY_ID = G.ID)"),
404 "GROUP_IMAGE_ID" => Array(
"FIELD" =>
"G.IMAGE_ID",
"TYPE" =>
"int",
"FROM" =>
"LEFT JOIN b_sonet_group G ON (L.ENTITY_TYPE = 'G' AND L.ENTITY_ID = G.ID)"),
405 "USER_NAME" => Array(
"FIELD" =>
"U.NAME",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U ON (L.ENTITY_TYPE = 'U' AND L.ENTITY_ID = U.ID)"),
406 "USER_LAST_NAME" => Array(
"FIELD" =>
"U.LAST_NAME",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U ON (L.ENTITY_TYPE = 'U' AND L.ENTITY_ID = U.ID)"),
407 "USER_SECOND_NAME" => Array(
"FIELD" =>
"U.SECOND_NAME",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U ON (L.ENTITY_TYPE = 'U' AND L.ENTITY_ID = U.ID)"),
408 "USER_LOGIN" => Array(
"FIELD" =>
"U.LOGIN",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U ON (L.ENTITY_TYPE = 'U' AND L.ENTITY_ID = U.ID)"),
409 "USER_PERSONAL_PHOTO" => Array(
"FIELD" =>
"U.PERSONAL_PHOTO",
"TYPE" =>
"int",
"FROM" =>
"LEFT JOIN b_user U ON (L.ENTITY_TYPE = 'U' AND L.ENTITY_ID = U.ID)"),
410 "USER_PERSONAL_GENDER" => Array(
"FIELD" =>
"U.PERSONAL_GENDER",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U ON (L.ENTITY_TYPE = 'U' AND L.ENTITY_ID = U.ID)"),
411 "CREATED_BY_NAME" => Array(
"FIELD" =>
"U1.NAME",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U1 ON L.USER_ID = U1.ID"),
412 "CREATED_BY_LAST_NAME" => Array(
"FIELD" =>
"U1.LAST_NAME",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U1 ON L.USER_ID = U1.ID"),
413 "CREATED_BY_SECOND_NAME" => Array(
"FIELD" =>
"U1.SECOND_NAME",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U1 ON L.USER_ID = U1.ID"),
414 "CREATED_BY_LOGIN" => Array(
"FIELD" =>
"U1.LOGIN",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U1 ON L.USER_ID = U1.ID"),
415 "CREATED_BY_PERSONAL_PHOTO" => Array(
"FIELD" =>
"U1.PERSONAL_PHOTO",
"TYPE" =>
"int",
"FROM" =>
"LEFT JOIN b_user U1 ON L.USER_ID = U1.ID"),
416 "CREATED_BY_PERSONAL_GENDER" => Array(
"FIELD" =>
"U1.PERSONAL_GENDER",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U1 ON L.USER_ID = U1.ID"),
417 "USER_ID|COMMENT_USER_ID" => Array(
"FIELD" =>
"L.USER_ID|LC.USER_ID",
"WHERE" =>
array(
"CSocNetLog",
"GetSimpleOrQuery"),
"FROM" =>
"LEFT JOIN b_sonet_log_comment LC ON LC.LOG_ID = L.ID"),
421 "RATING_TYPE_ID" => Array(
"FIELD" =>
"L.RATING_TYPE_ID",
"TYPE" =>
"string"),
422 "RATING_ENTITY_ID" => Array(
"FIELD" =>
"L.RATING_ENTITY_ID",
"TYPE" =>
"int"),
423 "RATING_TOTAL_VALUE" => Array(
"FIELD" =>
$DB->IsNull(
'RG.TOTAL_VALUE',
'0'),
"TYPE" =>
"double",
"FROM" =>
"LEFT JOIN b_rating_voting RG ON L.RATING_TYPE_ID = RG.ENTITY_TYPE_ID AND L.RATING_ENTITY_ID = RG.ENTITY_ID"),
424 "RATING_TOTAL_VOTES" => Array(
"FIELD" =>
$DB->IsNull(
'RG.TOTAL_VOTES',
'0'),
"TYPE" =>
"double",
"FROM" =>
"LEFT JOIN b_rating_voting RG ON L.RATING_TYPE_ID = RG.ENTITY_TYPE_ID AND L.RATING_ENTITY_ID = RG.ENTITY_ID"),
425 "RATING_TOTAL_POSITIVE_VOTES" => Array(
"FIELD" =>
$DB->IsNull(
'RG.TOTAL_POSITIVE_VOTES',
'0'),
"TYPE" =>
"int",
"FROM" =>
"LEFT JOIN b_rating_voting RG ON L.RATING_TYPE_ID = RG.ENTITY_TYPE_ID AND L.RATING_ENTITY_ID = RG.ENTITY_ID"),
426 "RATING_TOTAL_NEGATIVE_VOTES" => Array(
"FIELD" =>
$DB->IsNull(
'RG.TOTAL_NEGATIVE_VOTES',
'0'),
"TYPE" =>
"int",
"FROM" =>
"LEFT JOIN b_rating_voting RG ON L.RATING_TYPE_ID = RG.ENTITY_TYPE_ID AND L.RATING_ENTITY_ID = RG.ENTITY_ID"),
432 "FIELD" =>
$DB->IsNull(
'RV.VALUE',
'0'),
434 "FROM" =>
"LEFT JOIN b_rating_vote RV ON L.RATING_TYPE_ID = RV.ENTITY_TYPE_ID AND L.RATING_ENTITY_ID = RV.ENTITY_ID AND RV.USER_ID = " . (
int)
$USER->GetID()
443 $field_value =
$DB->IsNull(
"SLF.USER_ID",
"0");
447 if (mb_strpos(
$key,
"FAVORITES_USER_ID") !==
false)
449 $join_type =
"INNER";
450 $field_value =
"SLF.USER_ID";
456 "FIELD" => $field_value,
458 "FROM" => $join_type .
" JOIN b_sonet_log_favorites SLF ON L.ID = SLF.LOG_ID AND SLF.USER_ID = " . (int)
$USER->GetID(),
468 $field_value =
$DB->IsNull(
"SLP.USER_ID",
"0");
474 && mb_strpos(
$key,
"PINNED_USER_ID") !==
false
477 $join_type =
"INNER";
478 $field_value =
"SLP.USER_ID";
479 $arOrder[
'PINNED_DATE'] =
'DESC';
484 $arFields[
"PINNED_USER_ID"] = Array(
"FIELD" => $field_value,
"TYPE" =>
"double",
"FROM" => $join_type.
" JOIN b_sonet_log_pinned SLP ON L.ID = SLP.LOG_ID AND SLP.USER_ID = " . (
int)
$USER->GetID());
485 $arFields[
"PINNED_DATE"] = Array(
"FIELD" =>
"SLP.PINNED_DATE",
"TYPE" =>
"datetime",
"FROM" => $join_type.
" JOIN b_sonet_log_pinned SLP ON L.ID = SLP.LOG_ID AND SLP.USER_ID = " . (
int)
$USER->GetID());
492 &&
$USER->IsAuthorized()
495 $default_follow = CSocNetLogFollow::GetDefaultValue(
$USER->GetID());
496 $default_field = ($default_follow ==
"Y" ?
"LOG_UPDATE" :
"LOG_DATE");
500 WHEN LFW.USER_ID IS NULL
501 THEN L.".$default_field.
"
502 WHEN LFW.FOLLOW_DATE IS NOT NULL
508 "TYPE" =>
"datetime",
509 "FROM" =>
"LEFT JOIN b_sonet_log_follow LFW ON LFW.USER_ID = ".$USER->GetID().
" AND LFW.REF_ID = L.ID AND LFW.CODE = ".
$DB->Concat(
"'L'",
"L.ID")
514 WHEN LFW.USER_ID IS NULL
515 THEN '".$default_follow.
"'
519 "FROM" =>
"LEFT JOIN b_sonet_log_follow LFW ON LFW.USER_ID = ".$USER->GetID().
" AND LFW.REF_ID = L.ID AND LFW.CODE = ".
$DB->Concat(
"'L'",
"L.ID")
522 if (!in_array(
"FOLLOW", $arSelectFields))
524 $arSelectFields[] =
"FOLLOW";
541 "FIELD" =>
"SLS.SITE_ID",
543 "FROM" =>
"LEFT JOIN b_sonet_log_site SLS ON L.ID = SLS.LOG_ID"
549 foreach (
$arFilter[
"SITE_ID"] as $site_id_tmp)
557 $strDistinct = ($site_cnt > 1 ?
" DISTINCT " :
" ");
564 foreach ($arSelectFields as
$i => $strFieldTmp)
566 if ($strFieldTmp ==
"SITE_ID")
568 unset($arSelectFields[
$i]);
572 foreach ($arOrder as $by =>
$order)
574 if (!in_array($by, $arSelectFields))
576 $arSelectFields[] = $by;
582 $arFields[
"SITE_ID"] = Array(
"FIELD" =>
"L.SITE_ID",
"TYPE" =>
"string");
591 $arCBFilterEntityType =
array();
592 foreach ($arSocNetAllowedSubscribeEntityTypesDesc as $entity_type_tmp =>
$arEntityTypeTmp)
599 $arCBFilterEntityType[] = $entity_type_tmp;
604 is_array($arCBFilterEntityType)
605 &&
count($arCBFilterEntityType) > 0
608 $arFilter[
"ENTITY_TYPE"] = $arCBFilterEntityType;
621 $Rights[] = trim(
$str);
636 || !is_array($Rights)
641 "FIELD" =>
"SLR0.GROUP_CODE",
643 "FROM" =>
"INNER JOIN b_sonet_log_right SLR0 ON L.ID = SLR0.LOG_ID"
649 "FIELD" =>
"SLR0.LOG_UPDATE",
650 "TYPE" =>
"datetime",
651 "FROM" =>
"INNER JOIN b_sonet_log_right SLR0 ON L.ID = SLR0.LOG_ID"
656 if (!empty($arOrder[
'LOG_UPDATE']))
658 $arOrder[
'SLR_LOG_UPDATE'] = $arOrder[
'LOG_UPDATE'];
659 unset($arOrder[
'LOG_UPDATE']);
662 if (!empty($arOrder[
'ID']))
665 "FIELD" =>
"SLR0.LOG_ID",
667 "FROM" =>
"INNER JOIN b_sonet_log_right SLR0 ON L.ID = SLR0.LOG_ID"
669 $arOrder[
'SLR_LOG_ID'] = $arOrder[
'ID'];
670 unset($arOrder[
'ID']);
677 &&
count($Rights) > 1
680 $strDistinct =
" DISTINCT ";
691 "FIELD" =>
"SLT.NAME",
693 "FROM" =>
"INNER JOIN b_sonet_log_tag SLT ON L.ID = SLT.LOG_ID"
696 $strDistinct =
" DISTINCT ";
699 isset(
$arFilter[
'USER_ID|COMMENT_USER_ID'])
704 $strDistinct =
" DISTINCT ";
718 while ($arEvent = $events->Fetch())
725 $arSqls = CSocNetGroup::PrepareSql(
$arFields, $arOrder,
$arFilter, $arGroupBy, $arSelectFields, $obUserFieldsSql);
728 while ($arEvent = $listEvents->Fetch())
733 $strSqlUFFilter =
"";
734 $r = $obUserFieldsSql->GetFilter();
737 $strSqlUFFilter =
" (".$r.
") ";
740 $arSqls[
"RIGHTS"] =
"";
741 $arSqls[
"VIEW"] =
"";
742 $arSqls[
"CRM_RIGHTS"] =
"";
770 && ((
$arParams[
'CHECK_CRM_RIGHTS'] ??
'') !==
'Y')
783 || (
$arParams[
"USE_FOLLOW"] ??
'') ==
"Y"
787 if (!isset(
$arParams[
'SUBSCRIBE_USER_ID']))
808 $arMyEntities =
array();
809 foreach ($arSocNetAllowedSubscribeEntityTypesDesc as $entity_type_tmp =>
$arEntityTypeTmp)
823 $arParams[
"MY_ENTITIES"] = $arMyEntities;
837 $arSqls[
"RIGHTS"] =
"EXISTS ( SELECT SLR.ID FROM b_sonet_log_right SLR
838 LEFT JOIN b_user_access UA ON (UA.ACCESS_CODE = SLR.GROUP_CODE AND UA.USER_ID = " . (int)
$USER->GetID() .
")
839 WHERE L.ID = SLR.LOG_ID ".
842 $USER->IsAuthorized()
848 (SLR.GROUP_CODE LIKE 'SG%' AND (UA.ACCESS_CODE = SLR.GROUP_CODE AND UA.USER_ID = " . (
int)
$USER->GetID() .
"))
849 OR SLR.GROUP_CODE = 'U" . (
int)
$USER->GetID() .
"'
854 (is_object(
$USER) && CSocNetUser::IsCurrentUserModuleAdmin() ?
" OR SLR.GROUP_CODE = 'SA'" :
"").
855 (is_object(
$USER) &&
$USER->IsAuthorized() ?
" OR (SLR.GROUP_CODE = 'AU')" :
"").
856 " OR (SLR.GROUP_CODE = 'G2')".
861 &&
$USER->IsAuthorized()
862 ?
" OR (SLR.GROUP_CODE LIKE 'OSG%')"
865 (!empty(
$arFilter[
'LOG_RIGHTS_SG']) && !is_array(
$arFilter[
'LOG_RIGHTS_SG']) ?
" OR (SLR.GROUP_CODE = '".
$DB->ForSQL(
$arFilter[
'LOG_RIGHTS_SG']).
"')" :
"").
866 (is_object(
$USER) &&
$USER->IsAuthorized() ?
" OR (UA.ACCESS_CODE = SLR.GROUP_CODE AND UA.USER_ID = ". (
int)
$USER->GetID() .
")" :
"").
"
879 $arSqls[
"VIEW"] =
"NOT EXISTS ( SELECT SLV.USER_ID FROM b_sonet_log_view SLV
881 L.EVENT_ID = SLV.EVENT_ID
882 AND SLV.USER_ID = ". (int)
$arParams[
"USER_ID"] .
"
895 'ALIAS_PREFIX' =>
'L',
896 'PERM_TYPE' =>
'READ',
897 'FILTER_PARAMS' => (
$arParams[
'CUSTOM_FILTER_PARAMS'] ?? []),
899 'ENTITY_TYPE_COLUMN' =>
'ENTITY_TYPE',
900 'IDENTITY_COLUMN' =>
'ENTITY_ID'
906 while ($arEvent = $events->Fetch())
911 if (!empty($altPerms))
913 foreach ($altPerms as $permSql)
915 if ($permSql ===
false)
923 if (is_string($permSql) && $permSql !==
'')
925 if ($arSqls[
'CRM_RIGHTS'] !==
'')
927 $arSqls[
'CRM_RIGHTS'] .=
' AND ';
930 $arSqls[
'CRM_RIGHTS'] = $permSql;
939 && (
int)
$arParams[
"SUBSCRIBE_USER_ID"] > 0
951 $arSqls[
"SELECT"] = str_replace(
"%%_DISTINCT_%%", $strDistinct, $arSqls[
"SELECT"]);
954 if (is_array($arGroupBy) &&
count($arGroupBy)==0)
957 "SELECT ".$arSqls[
"SELECT"].
" ".
958 $obUserFieldsSql->GetSelect().
" ".
959 "FROM b_sonet_log L ".
961 " ".$arSqls[
"FROM"].
" ".
962 $obUserFieldsSql->GetJoin(
"L.ID").
" ";
964 $bWhereStarted =
false;
966 if (($arSqls[
"WHERE"] ??
'') <>
'')
968 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
969 $bWhereStarted =
true;
972 if ($strSqlUFFilter <>
'')
974 $strSql .= ($bWhereStarted ?
" AND " :
" WHERE ").$strSqlUFFilter.
" ";
975 $bWhereStarted =
true;
978 if (($arSqls[
"RIGHTS"] ??
'') <>
'')
980 $strSql .= ($bWhereStarted ?
" AND " :
" WHERE ").$arSqls[
"RIGHTS"].
" ";
981 $bWhereStarted =
true;
984 if (($arSqls[
"VIEW"] ??
'') <>
'')
986 $strSql .= ($bWhereStarted ?
" AND " :
" WHERE ").$arSqls[
"VIEW"].
" ";
987 $bWhereStarted =
true;
990 if (($arSqls[
"CRM_RIGHTS"] ??
'') <>
'')
992 $strSql .= ($bWhereStarted ?
" AND " :
" WHERE ").$arSqls[
"CRM_RIGHTS"].
" ";
993 $bWhereStarted =
true;
996 if (($arSqls[
"SUBSCRIBE"] ??
'') <>
'')
998 $strSql .= ($bWhereStarted ?
" AND " :
" WHERE ").
"(".$arSqls[
"SUBSCRIBE"].
") ";
1000 if (($arSqls[
"GROUPBY"] ??
'') <>
'')
1002 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
1018 && is_array(
$arParams[
"FILTER_BY_CONTENT"])
1022 "CONTENT" =>
array(
"FIELD" =>
"CONTENT",
"TYPE" =>
"string"),
1023 "DATE_CREATE" =>
array(
"FIELD" =>
"LI.DATE_CREATE",
"TYPE" =>
"datetime"),
1025 $tmpFilter =
$arParams[
"FILTER_BY_CONTENT"];
1028 $strMinIDJoin =
"INNER JOIN (
1029 SELECT LOG_ID, MAX(ITEM_TYPE) as ITEM_TYPE, MAX(ITEM_ID) as ITEM_ID
1030 FROM b_sonet_log_index TLI
1032 ".CSqlUtil::PrepareWhere($tmpFields, $tmpFilter, $tmpJoin).
"
1034 ) as TLI ON (TLI.LOG_ID = L.ID)
1035 INNER JOIN b_sonet_log_index LI ON (LI.ITEM_TYPE = TLI.ITEM_TYPE AND LI.ITEM_ID = TLI.ITEM_ID)";
1037 $arSqls[
"SELECT"] .=
',LI.ITEM_TYPE as CONTENT_ITEM_TYPE';
1038 $arSqls[
"SELECT"] .=
',LI.ITEM_ID as CONTENT_ITEM_ID';
1039 $arSqls[
"SELECT"] .=
',LI.LOG_UPDATE as CONTENT_LOG_UPDATE_X1';
1040 $arSqls[
"SELECT"] .=
','.$DB->DateToCharFunction(
'LI.LOG_UPDATE').
' as CONTENT_LOG_UPDATE';
1041 $arSqls[
"SELECT"] .=
',LI.DATE_CREATE as CONTENT_DATE_CREATE_X1';
1042 $arSqls[
"SELECT"] .=
','.$DB->DateToCharFunction(
'LI.DATE_CREATE').
' as CONTENT_DATE_CREATE';
1044 if (!empty(
$arParams[
"FILTER_BY_CONTENT_DATE"]))
1046 $tmpFilter =
$arParams[
"FILTER_BY_CONTENT_DATE"];
1047 $arSqls[
"WHERE"] .= (!empty($arSqls[
"WHERE"]) ?
" AND " :
"").
CSqlUtil::PrepareWhere($tmpFields, $tmpFilter, $tmpJoin);
1050 if (empty($arSqls[
"ORDERBY"]))
1052 $arSqls[
"ORDERBY"] =
" CONTENT_LOG_UPDATE_X1 DESC ";
1056 $arSqls[
"ORDERBY"] =
" CONTENT_LOG_UPDATE_X1 DESC, ".$arSqls[
"ORDERBY"];
1061 "SELECT ".$arSqls[
"SELECT"].
" ".
1062 $obUserFieldsSql->GetSelect().
" ".
1063 "FROM b_sonet_log L ".
1065 " ".$arSqls[
"FROM"].
" ".
1066 $obUserFieldsSql->GetJoin(
"L.ID").
" ";
1068 $bWhereStarted =
false;
1070 if ($arSqls[
"WHERE"] <>
'')
1072 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
1073 $bWhereStarted =
true;
1076 if ($strSqlUFFilter <>
'')
1078 $strSql .= ($bWhereStarted ?
" AND " :
" WHERE ").$strSqlUFFilter.
" ";
1079 $bWhereStarted =
true;
1082 if ($arSqls[
"RIGHTS"] <>
'')
1084 $strSql .= ($bWhereStarted ?
" AND " :
" WHERE ").$arSqls[
"RIGHTS"].
" ";
1085 $bWhereStarted =
true;
1088 if ($arSqls[
"VIEW"] <>
'')
1090 $strSql .= ($bWhereStarted ?
" AND " :
" WHERE ").$arSqls[
"VIEW"].
" ";
1091 $bWhereStarted =
true;
1095 isset($arSqls[
"CRM_RIGHTS"])
1096 && $arSqls[
"CRM_RIGHTS"] <>
''
1099 $strSql .= ($bWhereStarted ?
" AND " :
" WHERE ").$arSqls[
"CRM_RIGHTS"].
" ";
1100 $bWhereStarted =
true;
1103 if (isset($arSqls[
"SUBSCRIBE"]) && $arSqls[
"SUBSCRIBE"] <>
'')
1105 $strSql .= ($bWhereStarted ?
" AND " :
" WHERE ").
"(".$arSqls[
"SUBSCRIBE"].
") ";
1108 if ($arSqls[
"GROUPBY"] <>
'')
1110 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
1113 if ($arSqls[
"ORDERBY"] <>
'')
1115 $strSql .=
"ORDER BY ".$arSqls[
"ORDERBY"].
" ";
1119 is_array($arNavStartParams)
1120 && (
int) ($arNavStartParams[
"nTopCount"] ?? 0) <= 0
1124 isset($arNavStartParams[
"nRecordCount"])
1125 && (
int)$arNavStartParams[
"nRecordCount"] > 0
1128 $cnt = (int)$arNavStartParams[
"nRecordCount"];
1133 "SELECT COUNT('x') as CNT ".
1134 $obUserFieldsSql->GetSelect().
" ".
1135 "FROM b_sonet_log L ".
1137 " ".$arSqls[
"FROM"].
" ".
1138 $obUserFieldsSql->GetJoin(
"L.ID").
" ";
1140 $bWhereStarted =
false;
1142 if ($arSqls[
"WHERE"] <>
'')
1144 $strSql_tmp .=
"WHERE ".$arSqls[
"WHERE"].
" ";
1145 $bWhereStarted =
true;
1148 if ($strSqlUFFilter <>
'')
1150 $strSql_tmp .= ($bWhereStarted ?
" AND " :
" WHERE ").$strSqlUFFilter.
" ";
1151 $bWhereStarted =
true;
1154 if (($arSqls[
"RIGHTS"] ??
'') <>
'')
1156 $strSql_tmp .= ($bWhereStarted ?
" AND " :
" WHERE ").$arSqls[
"RIGHTS"].
" ";
1157 $bWhereStarted =
true;
1160 if (($arSqls[
"CRM_RIGHTS"] ??
'') <>
'')
1162 $strSql_tmp .= ($bWhereStarted ?
" AND " :
" WHERE ").$arSqls[
"CRM_RIGHTS"].
" ";
1163 $bWhereStarted =
true;
1166 if (($arSqls[
"SUBSCRIBE"] ??
'') <>
'')
1168 $strSql_tmp .= ($bWhereStarted ?
" AND " :
" WHERE ").
"(".$arSqls[
"SUBSCRIBE"].
") ";
1170 if (($arSqls[
"GROUPBY"] ??
'') <>
'')
1172 $strSql_tmp .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
1179 if ($arSqls[
"GROUPBY"] ==
'')
1189 $cnt =
$dbRes->SelectedRowsCount();
1194 ($arNavStartParams[
"bSkipPageReset"] ??
null)
1195 && $arNavStartParams[
"nPageSize"] >= $cnt
1198 $cnt = $arNavStartParams[
"nPageSize"] + $cnt;
1206 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
1210 if (is_array($arNavStartParams) && (
int)$arNavStartParams[
"nTopCount"] > 0)
1212 $strSql .=
"LIMIT ". (int)$arNavStartParams[
"nTopCount"];