function _SetSelectedItems(&$arResult, $bMultiSelect = false) { /** @global CMain $APPLICATION */ global $APPLICATION; $cur_page = $APPLICATION->GetCurPage(true); $cur_page_no_index = $APPLICATION->GetCurPage(false); $cur_selected = -1; $cur_selected_len = -1; foreach ($arResult as $iMenuItem => $MenuItem) { $LINK = $MenuItem['LINK']; $ADDITIONAL_LINKS = $MenuItem['ADDITIONAL_LINKS']; $SELECTED = false; $all_links = array(); if (is_array($ADDITIONAL_LINKS)) { foreach ($ADDITIONAL_LINKS as $link) { $tested_link = trim($link); if (strlen($tested_link) > 0) { $all_links[] = $tested_link; } } } $all_links[] = $LINK; if ($MenuItem['PERMISSION'] != 'Z') { foreach ($all_links as $tested_link) { if ($tested_link == '') { continue; } $SELECTED = CMenu::IsItemSelected($tested_link, $cur_page, $cur_page_no_index); if ($SELECTED) { $arResult[$iMenuItem]['SELECTED'] = true; break; } } } if ($SELECTED && !$bMultiSelect) { /** @noinspection PhpUndefinedVariableInspection */ $new_len = strlen($tested_link); if ($new_len > $cur_selected_len) { if ($cur_selected !== -1) { $arResult[$cur_selected]['SELECTED'] = false; } $cur_selected = $iMenuItem; $cur_selected_len = $new_len; } elseif ($new_len > 1) { $arResult[$iMenuItem]['SELECTED'] = false; } } } }