20 if (!\
Bitrix\
Main\Loader::includeModule(
'bitrix24'))
28 $scope == Type::SCOPE_CODE_KNOWLEDGE ||
29 $scope == Type::SCOPE_CODE_GROUP
34 $availableCount = Feature::getVariable(
35 'landing_dynamic_blocks'
37 if ($availableCount <= 0)
42 static $dynamicBlocks =
null;
43 $targetBlockId = isset(
$params[
'targetBlockId'])
44 ? intval(
$params[
'targetBlockId'])
48 if ($dynamicBlocks ===
null)
55 B.PARENT_ID as PARENT_ID,
56 B.DATE_MODIFY as DATE_MODIFY,
77 S.TYPE NOT IN (\'KNOWLEDGE\', \'GROUP\')
78 GROUP BY B.ID, S.ID, FB.BLOCK_ID, L.DELETED
79 ORDER BY B.DATE_MODIFY ASC;';
81 $res = Application::getConnection()->query($sql);
82 while ($row =
$res->fetch())
84 $dynamicBlocks[$row[
'ID']] = $row;
87 foreach ($dynamicBlocks as $dynamicBlock)
90 $dynamicBlock[
'PARENT_ID'] &&
91 isset($dynamicBlocks[$dynamicBlock[
'PARENT_ID']])
94 unset($dynamicBlocks[$dynamicBlock[
'PARENT_ID']]);
100 $dynamicBlocks = array_slice($dynamicBlocks, 0, $availableCount,
true);
101 foreach ($dynamicBlocks as $dynamicBlock)
104 $dynamicBlock[
'ID'] == $targetBlockId ||
105 $dynamicBlock[
'PARENT_ID'] == $targetBlockId