Server IP : 85.193.89.191 / Your IP : 18.222.118.105 Web Server : Apache System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64 User : bitrix ( 600) PHP Version : 8.1.27 Disable Function : NONE MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/bitrix/www/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"); } } }