- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/menu.php
- Класс: CMenu
- Вызов: CMenu::IsItemSelected
static function IsItemSelected($tested_link, $cur_page, $cur_page_no_index)
{
//"/admin/"
//"/admin/index.php"
//"/admin/index.php?module=mail"
if(mb_strpos($cur_page, $tested_link) === 0 || mb_strpos($cur_page_no_index, $tested_link) === 0)
return true;
if(($pos = mb_strpos($tested_link, "?")) !== false)
{
if(($s = mb_substr($tested_link, 0, $pos)) == $cur_page || $s == $cur_page_no_index)
{
$params = explode("&", mb_substr($tested_link, $pos + 1));
$bOK = true;
foreach($params as $param)
{
$eqpos = mb_strpos($param, "=");
$varvalue = "";
if($eqpos === false)
{
$varname = $param;
}
elseif($eqpos == 0)
{
continue;
}
else
{
$varname = mb_substr($param, 0, $eqpos);
$varvalue = urldecode(mb_substr($param, $eqpos + 1));
}
$globvarvalue = ($GLOBALS[$varname] ?? "");
if($globvarvalue != $varvalue)
{
$bOK = false;
break;
}
}
if($bOK)
return true;
}
}
return false;
}