Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/components/bitrix/news/ |
Upload File : |
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) { die(); } use Bitrix\Main; use Bitrix\Iblock; class CNewsTools { public static function OnSearchGetURL($arFields) { global $BX_NEWS_DETAIL_URL, $BX_NEWS_SECTION_URL; static $arIBlockCache = []; if ($arFields["MODULE_ID"] !== "iblock" || mb_substr($arFields["URL"], 0, 1) !== "=") { return $arFields["URL"]; } if(!Main\Loader::includeModule('iblock')) { return ''; } $IBLOCK_ID = (int)($arFields["PARAM2"] ?? 0); if ($IBLOCK_ID <= 0) { return ''; } if (!isset($arIBlockCache[$IBLOCK_ID])) { $arIBlockCache[$IBLOCK_ID] = Iblock\IblockTable::getList([ 'select' => [ 'DETAIL_PAGE_URL', 'SECTION_PAGE_URL', 'IBLOCK_CODE' => 'CODE', 'IBLOCK_EXTERNAL_ID' => 'XML_ID', 'IBLOCK_TYPE_ID', ], 'filter' => [ '=ID' => $IBLOCK_ID, ], ])->fetch(); } if (!is_array($arIBlockCache[$IBLOCK_ID])) { return ''; } $arr = []; $arFields["URL"] = ltrim($arFields["URL"], " ="); parse_str($arFields["URL"], $arr); $arr = $arIBlockCache[$IBLOCK_ID] + $arr; $arr["LANG_DIR"] = $arFields["DIR"]; if(mb_substr($arFields["ITEM_ID"], 0, 1) !== 'S') { return CIBlock::ReplaceDetailUrl($BX_NEWS_DETAIL_URL, $arr, true, "E"); } else { return CIBlock::ReplaceDetailUrl($BX_NEWS_SECTION_URL, $arr, true, "S"); } } }